⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Feb 15, 2015:

10:20 PM Changeset in webkit [180138] by fpizlo@apple.com
  • 2 edits in trunk/LayoutTests

js/regress/script-tests/elidable-new-object-roflcopter.js should tier up sooner so that it's more likely to test things
https://bugs.webkit.org/show_bug.cgi?id=141633

Reviewed by Michael Saboff.

More function invocations, fewer loop iterations, but otherwise keep the number of
allocations the same.

  • js/regress/script-tests/elidable-new-object-roflcopter.js:
10:19 PM Changeset in webkit [180137] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Rare case profiling should actually work
https://bugs.webkit.org/show_bug.cgi?id=141632

Reviewed by Michael Saboff.

This simple adjustment appears to be a 2% speed-up on Octane. Over time, the slow case
heuristic has essentially stopped working because the typical execution count threshold for a
bytecode instruction is around 66 while the slow case threshold is 100: virtually
guaranteeing that the DFG will never think that a bytecode instruction has taken the slow
case even if it took it every single time. So, this changes the slow case threshold to 20.

I checked if we could lower this down further, like to 10. That is worse than 20, and about
as bad as 100.

  • runtime/Options.h:
8:52 PM Changeset in webkit [180136] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Mark 5 form tests and an accessibility test to failure.

  • platform/efl/TestExpectations:
8:13 PM Changeset in webkit [180135] by ddkilzer@apple.com
  • 5 edits in trunk

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

Source/WebCore:

This should fix the build, but leaves a FIXME list in
WebCore.unexp.

  • Configurations/WebCore.unexp: Add weak externals with a FIXME

statement so they can be removed later. It's more important to
fix the build first.

  • Configurations/WebCore.xcconfig: Change XCODE_VERSION_MINOR to

XCODE_VERSION_MAJOR since the internal bots use version 5.1.1
which still has the error.

Tools:

  • Scripts/check-for-weak-vtables-and-externals: Ignore weak

externals in Source/WebCore/Configurations/WebCore.unexp when
building with Xcode 5.x.
(readXcode5SymbolsToIgnore): Add.

7:13 PM Changeset in webkit [180134] by hyuki.kim@samsung.com
  • 2 edits in trunk/Tools

[EFL] fix Evas GL engine error.
https://bugs.webkit.org/show_bug.cgi?id=141621

Reviewed by Gyuyoung Kim.

As new elm engine api was added from efl 1.10, replace elm_config_preferred_engine_set with elm_config_accel_preference_set.

  • MiniBrowser/efl/main.c:

(elm_main):

6:21 PM Changeset in webkit [180133] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebCore

Web Inspector: remove unused XHR replay code
https://bugs.webkit.org/show_bug.cgi?id=141622

Patch by Brian J. Burg <Brian Burg> on 2015-02-15
Reviewed by Timothy Hatcher.

XHR Replay functionality became unused with the last frontend rewrite.
Remove instrumentation and data storage classes only used by this feature.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHRImpl): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoadingImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHR): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoading): Deleted.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::didFinishXHRLoading):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::willLoadXHR): Deleted.
(WebCore::InspectorResourceAgent::didFailXHRLoading): Deleted.
(WebCore::InspectorResourceAgent::replayXHR): Deleted.

  • inspector/InspectorResourceAgent.h:
  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::clear):
(WebCore::XHRReplayData::create): Deleted.
(WebCore::XHRReplayData::XHRReplayData): Deleted.
(WebCore::NetworkResourcesData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::setXHRReplayData): Deleted.
(WebCore::NetworkResourcesData::reuseXHRReplayData): Deleted.

  • inspector/NetworkResourcesData.h:

(WebCore::XHRReplayData::method): Deleted.
(WebCore::XHRReplayData::url): Deleted.
(WebCore::XHRReplayData::async): Deleted.
(WebCore::XHRReplayData::formData): Deleted.
(WebCore::XHRReplayData::headers): Deleted.
(WebCore::XHRReplayData::includeCredentials): Deleted.
(WebCore::NetworkResourcesData::ResourceData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::ResourceData::setXHRReplayData): Deleted.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::loadRequest):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::sendForInspectorXHRReplay): Deleted.

  • xml/XMLHttpRequest.h:
6:17 PM Changeset in webkit [180132] by Brian Burg
  • 17 edits in trunk/Source

Web Inspector: remove unused XHR replay code
https://bugs.webkit.org/show_bug.cgi?id=141622

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Network.json: remove XHR replay methods.

Source/WebCore:

XHR Replay functionality became unused with the last frontend rewrite.
Remove instrumentation and data storage classes only used by this feature.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHRImpl): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoadingImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHR): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoading): Deleted.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::didFinishXHRLoading):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::willLoadXHR): Deleted.
(WebCore::InspectorResourceAgent::didFailXHRLoading): Deleted.
(WebCore::InspectorResourceAgent::replayXHR): Deleted.

  • inspector/InspectorResourceAgent.h:
  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::clear):
(WebCore::XHRReplayData::create): Deleted.
(WebCore::XHRReplayData::XHRReplayData): Deleted.
(WebCore::NetworkResourcesData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::setXHRReplayData): Deleted.
(WebCore::NetworkResourcesData::reuseXHRReplayData): Deleted.

  • inspector/NetworkResourcesData.h:

(WebCore::XHRReplayData::method): Deleted.
(WebCore::XHRReplayData::url): Deleted.
(WebCore::XHRReplayData::async): Deleted.
(WebCore::XHRReplayData::formData): Deleted.
(WebCore::XHRReplayData::headers): Deleted.
(WebCore::XHRReplayData::includeCredentials): Deleted.
(WebCore::NetworkResourcesData::ResourceData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::ResourceData::setXHRReplayData): Deleted.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::loadRequest):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::sendForInspectorXHRReplay): Deleted.

  • xml/XMLHttpRequest.h:

Source/WebInspectorUI:

  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:
  • Versions/Inspector-iOS-8.0.json:
6:16 PM Changeset in webkit [180131] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Mark fixed position tests to failure.

  • platform/efl/TestExpectations: Rearrange tests order as well.
6:11 PM Changeset in webkit [180130] by ddkilzer@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

More work towards fixing the Mavericks Debug build.

  • inspector/ScriptDebugServer.h:

(Inspector::ScriptDebugServer::Task):

  • inspector/agents/InspectorDebuggerAgent.h:

(Inspector::InspectorDebuggerAgent::Listener):

  • Remove subclass exports. They did not help.
  • runtime/JSCJSValue.h:

(JSC::JSValue::toFloat): Do not mark inline method for export.

6:08 PM Changeset in webkit [180129] by Said Abou-Hallawa
  • 6 edits in trunk

Crash when accessing an item in SVGTransformList and then removing a previous item from this list.
https://bugs.webkit.org/show_bug.cgi?id=141550.

Reviewed by Darin Adler.

Source/WebCore:

Tests: LayoutTests/svg/dom/SVGTransformList-basics.xhtml: This test is modified to
include a new test case.

  • svg/properties/SVGMatrixTearOff.h: m_value of SVGMatrixTearOff will be a null

pointer. There is no point in having SVGMatrixTearOff points to the parent and
the property of the parent at the same time.

(WebCore::SVGMatrixTearOff::create): SVGMatrixTearOff will hold a pointer to
the parent SVGPropertyTearOff<SVGTransform>. But it should overrides setValue()
and propertyReference() so it can set and get the SVGMatrix from the SVGTransform
parent.

(WebCore::SVGMatrixTearOff::SVGMatrixTearOff): Pass a nullptr to the base class.
SVGMatrixTearOff will act as a proxy of the parent. It does not hold any data by
itself but it knows what property to set and get from the parent.

  • svg/properties/SVGPropertyTearOff.h:

(WebCore::SVGPropertyTearOff::create): Add a create method which can take a pointer value.

(WebCore::SVGPropertyTearOff::propertyReference):
(WebCore::SVGPropertyTearOff::setValue): Make these functions virtual so concrete classes
like SVGMatrixTearOff can override them.

(WebCore::SVGPropertyTearOff::SVGPropertyTearOff): Add a new constructor.

LayoutTests:

  • svg/dom/SVGTransformList-basics-expected.txt:
  • svg/dom/SVGTransformList-basics.xhtml: Add a new test case to this test. Have a

reference to an SVGMatrix of the last SVGTransform of an SVGTransformList and then
remove the items of this list from the beginning till the end.

4:13 PM Changeset in webkit [180128] by Said Abou-Hallawa
  • 5 edits in trunk

Crash when accessing an item in SVGLengthList and then replacing it with a previous item in the list.
https://bugs.webkit.org/show_bug.cgi?id=141552.

Reviewed by Darin Adler.

Source/WebCore:

Tests: LayoutTests/svg/dom/SVGLengthList-basics.xhtml: This test is modified to
include a new test case.

  • svg/properties/SVGListPropertyTearOff.h: Commit the removal of the replacing item

before trying to detach the wrapper of the item which going to be replaced.

LayoutTests:

  • svg/dom/SVGLengthList-basics-expected.txt:
  • svg/dom/SVGLengthList-basics.xhtml: Add a new test case to this test. Have a

reference to an SVGLength in an SVGLengthList and then replace this SVGLength
with another one which comes before it in the SVGLengthList.

12:44 PM Changeset in webkit [180127] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

CoreText only needs to be soft-linked on Windows

More work towards the Maverick Debug build fix:

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

  • page/CaptionUserPreferencesMediaAF.cpp:
12:09 AM Changeset in webkit [180126] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

More build fixing.

  • platform/cocoa/TelephoneNumberDetectorCocoa.cpp:

Feb 14, 2015:

11:52 PM Changeset in webkit [180125] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

More internal build fixing.

DDDFACache.h is not an actual private header, so we were using open source
redeclaration of DDDFACacheRef with an internal function prototype from DDDFAScanner.h.

  • platform/cocoa/TelephoneNumberDetectorCocoa.cpp:

(WebCore::TelephoneNumberDetector::phoneNumbersScanner):

11:16 PM Changeset in webkit [180124] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix after <http://trac.webkit.org/changeset/180122>

  • Platform/mac/StringUtilities.mm:
10:11 PM Changeset in webkit [180123] by benjamin@webkit.org
  • 4 edits
    22 adds in trunk

Add the initial matching implementation for attribute selectors with case-insensitive value
https://bugs.webkit.org/show_bug.cgi?id=141615

Reviewed by Andreas Kling.

Source/WebCore:

Tests: fast/css/case-insensitive-attribute-selector-specificity.html

fast/css/case-insensitive-attribute-selector-styling-html-1.html
fast/css/case-insensitive-attribute-selector-styling-html-2.html
fast/css/case-insensitive-attribute-selector-styling-html-3.html
fast/css/case-insensitive-attribute-selector-styling-xhtml-1.xhtml
fast/css/case-insensitive-attribute-selector-styling-xhtml-2.xhtml
fast/css/case-insensitive-attribute-selector-styling-xhtml-3.xhtml
fast/selectors/case-insensitive-attribute-bascis.html
fast/selectors/case-insensitive-attribute-matching-style-attribute.html
fast/selectors/case-insensitive-attribute-style-update.html
fast/selectors/case-insensitive-attribute-with-case-sensitive-name.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
We already had case-insensitive value matching due to some legacy HTML
behaviors where some attribute values would be matched case-insensitively
depending on the attribute name.

For this patch, I just re-use the same mechanism. I used branches to try
to convey the idea that matching is case sensitive by default unless
the selector has a flag or we are in the weird HTML exception.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::constructFragmentsInternal):
Disable that case in the CSS JIT for now, I'll implement it later.

LayoutTests:

This covers the basics. I will add some more cases as I do the follow up patches.

I avoided the problem of non-ASCII characters, this will need its own follow up
patch that fixes all attribute matching.

  • fast/css/case-insensitive-attribute-selector-specificity-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-specificity.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-1-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-1.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-2-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-2.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-3-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-3.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-1-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-1.xhtml: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-2-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-2.xhtml: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-3-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-3.xhtml: Added.
  • fast/selectors/case-insensitive-attribute-bascis-expected.txt: Added.
  • fast/selectors/case-insensitive-attribute-bascis.html: Added.
  • fast/selectors/case-insensitive-attribute-matching-style-attribute-expected.txt: Added.
  • fast/selectors/case-insensitive-attribute-matching-style-attribute.html: Added.
  • fast/selectors/case-insensitive-attribute-style-update-expected.txt: Added.
  • fast/selectors/case-insensitive-attribute-style-update.html: Added.
  • fast/selectors/case-insensitive-attribute-with-case-sensitive-name-expected.txt: Added.
  • fast/selectors/case-insensitive-attribute-with-case-sensitive-name.html: Added.
9:31 PM Changeset in webkit [180122] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Declare soft-linked functions with extern "C" linkage

More work towards the Maverick Debug build fix:

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

  • platform/mac/SoftLinking.h: Try declaring soft-linked

functions with extern "C" linkage to see if they stop appearing
as weak externals. This has the added benefit that if the
function signature changes, we'll get a build failure.

9:14 PM Changeset in webkit [180121] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Mac] RetainPtr member cleanup, possible leaks
https://bugs.webkit.org/show_bug.cgi?id=141616

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-14
Reviewed by Andreas Kling.

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(-[WebSpeechSynthesisWrapper speakUtterance:]):
Adopt the allocated object to avoid a possible leak.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
Adopt to avoid unnecessary retain/autorelease.

9:08 PM Changeset in webkit [180120] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Build URL on new perf dashboard doesn't resolve $builderName
https://bugs.webkit.org/show_bug.cgi?id=141583

Reviewed by Darin Adler.

Support $builderName in the build URL template.

  • public/js/helper-classes.js:

(TestBuild.buildUrl): Replaced $builderName with the builder name.

  • public/v2/manifest.js:

(App.Metric.fullName): Fixed the typo. We need &ni, not &in.
(App.BuilderurlFromBuildNumber): Replaced $builderName with the builder name.

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

[Mac] Possible DDActionContext leaks, RetainPtr cleanup
https://bugs.webkit.org/show_bug.cgi?id=141613

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-14
Reviewed by Tim Horton.

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::WebEditorClient):
Avoid unnecessary retain/autorelease by adopting.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForDataDetectableLink]):
Adopt the allocated object.

Source/WebKit2:

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
Adopt the allocated object.

8:44 PM Changeset in webkit [180118] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

IncompleteMetaDataCue leak seen on leaks bot
https://bugs.webkit.org/show_bug.cgi?id=141611

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-14
Reviewed by Eric Carlson.

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:

(WebCore::IncompleteMetaDataCue::IncompleteMetaDataCue): Deleted.
(WebCore::IncompleteMetaDataCue::~IncompleteMetaDataCue): Deleted.
(WebCore::IncompleteMetaDataCue::cueData): Deleted.
(WebCore::IncompleteMetaDataCue::startTime): Deleted.
Convert to a struct and hold a list of structs instead of pointers.

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:

(WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
(WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
(WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):
Update use of IncompleteMetaDataCue and modernize related code.

6:42 PM Changeset in webkit [180117] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove specificity approximation
https://bugs.webkit.org/show_bug.cgi?id=141600

Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):

3:25 PM Changeset in webkit [180116] by Brian Burg
  • 100 edits in trunk/Source

Web Inspector: remove some unnecessary Inspector prefixes from class names in Inspector namespace
https://bugs.webkit.org/show_bug.cgi?id=141372

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::addToFrontend):
(Inspector::ConsoleMessage::updateRepeatCountInConsole):

  • inspector/ConsoleMessage.h:
  • inspector/InspectorAgentBase.h:
  • inspector/InspectorAgentRegistry.cpp:

(Inspector::AgentRegistry::AgentRegistry):
(Inspector::AgentRegistry::append):
(Inspector::AgentRegistry::appendExtraAgent):
(Inspector::AgentRegistry::didCreateFrontendAndBackend):
(Inspector::AgentRegistry::willDestroyFrontendAndBackend):
(Inspector::AgentRegistry::discardAgents):
(Inspector::InspectorAgentRegistry::InspectorAgentRegistry): Deleted.
(Inspector::InspectorAgentRegistry::append): Deleted.
(Inspector::InspectorAgentRegistry::appendExtraAgent): Deleted.
(Inspector::InspectorAgentRegistry::didCreateFrontendAndBackend): Deleted.
(Inspector::InspectorAgentRegistry::willDestroyFrontendAndBackend): Deleted.
(Inspector::InspectorAgentRegistry::discardAgents): Deleted.

  • inspector/InspectorAgentRegistry.h:
  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::BackendDispatcher::CallbackBase::CallbackBase):
(Inspector::BackendDispatcher::CallbackBase::isActive):
(Inspector::BackendDispatcher::CallbackBase::sendFailure):
(Inspector::BackendDispatcher::CallbackBase::sendIfActive):
(Inspector::BackendDispatcher::create):
(Inspector::BackendDispatcher::registerDispatcherForDomain):
(Inspector::BackendDispatcher::dispatch):
(Inspector::BackendDispatcher::sendResponse):
(Inspector::BackendDispatcher::reportProtocolError):
(Inspector::BackendDispatcher::getInteger):
(Inspector::BackendDispatcher::getDouble):
(Inspector::BackendDispatcher::getString):
(Inspector::BackendDispatcher::getBoolean):
(Inspector::BackendDispatcher::getObject):
(Inspector::BackendDispatcher::getArray):
(Inspector::BackendDispatcher::getValue):
(Inspector::InspectorBackendDispatcher::CallbackBase::CallbackBase): Deleted.
(Inspector::InspectorBackendDispatcher::CallbackBase::isActive): Deleted.
(Inspector::InspectorBackendDispatcher::CallbackBase::sendFailure): Deleted.
(Inspector::InspectorBackendDispatcher::CallbackBase::sendIfActive): Deleted.
(Inspector::InspectorBackendDispatcher::create): Deleted.
(Inspector::InspectorBackendDispatcher::registerDispatcherForDomain): Deleted.
(Inspector::InspectorBackendDispatcher::dispatch): Deleted.
(Inspector::InspectorBackendDispatcher::sendResponse): Deleted.
(Inspector::InspectorBackendDispatcher::reportProtocolError): Deleted.
(Inspector::InspectorBackendDispatcher::getInteger): Deleted.
(Inspector::InspectorBackendDispatcher::getDouble): Deleted.
(Inspector::InspectorBackendDispatcher::getString): Deleted.
(Inspector::InspectorBackendDispatcher::getBoolean): Deleted.
(Inspector::InspectorBackendDispatcher::getObject): Deleted.
(Inspector::InspectorBackendDispatcher::getArray): Deleted.
(Inspector::InspectorBackendDispatcher::getValue): Deleted.

  • inspector/InspectorBackendDispatcher.h:

(Inspector::SupplementalBackendDispatcher::SupplementalBackendDispatcher):
(Inspector::SupplementalBackendDispatcher::~SupplementalBackendDispatcher):
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher): Deleted.
(Inspector::InspectorSupplementalBackendDispatcher::~InspectorSupplementalBackendDispatcher): Deleted.

  • inspector/InspectorFrontendChannel.h:

(Inspector::FrontendChannel::~FrontendChannel):
(Inspector::InspectorFrontendChannel::~InspectorFrontendChannel): Deleted.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
(Inspector::JSGlobalObjectInspectorController::dispatchMessageFromFrontend):
(Inspector::JSGlobalObjectInspectorController::appendExtraAgent):

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

(Inspector::InspectorAgent::didCreateFrontendAndBackend):
(Inspector::InspectorAgent::willDestroyFrontendAndBackend):

  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::didCreateFrontendAndBackend):
(Inspector::InspectorConsoleAgent::willDestroyFrontendAndBackend):

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

(Inspector::InspectorDebuggerAgent::didCreateFrontendAndBackend):
(Inspector::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::pause):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::breakProgram):
(Inspector::InspectorDebuggerAgent::clearBreakDetails):

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

(Inspector::InspectorRuntimeAgent::willDestroyFrontendAndBackend):

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

(Inspector::JSGlobalObjectRuntimeAgent::didCreateFrontendAndBackend):
(Inspector::JSGlobalObjectRuntimeAgent::willDestroyFrontendAndBackend):

  • inspector/agents/JSGlobalObjectRuntimeAgent.h:
  • inspector/augmentable/AlternateDispatchableAgent.h:
  • inspector/augmentable/AugmentableInspectorController.h:
  • inspector/remote/RemoteInspectorDebuggable.h:
  • inspector/remote/RemoteInspectorDebuggableConnection.h:
  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_type_for_formal_out_parameter):
(CppGenerator.cpp_type_for_stack_out_parameter):

  • inspector/scripts/codegen/cpp_generator_templates.py:

(AlternateBackendDispatcher):
(Alternate):
(void):
(AlternateInspectorBackendDispatcher): Deleted.
(AlternateInspector): Deleted.

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:

(CppBackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains.Alternate):
(CppBackendDispatcherHeaderGenerator._generate_dispatcher_declaration_for_command):
(CppBackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains.AlternateInspector): Deleted.

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator._generate_handler_class_destructor_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_large_dispatcher_switch_implementation_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator._generate_event):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • runtime/JSGlobalObjectDebuggable.cpp:

(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::disconnect):

  • runtime/JSGlobalObjectDebuggable.h:

Source/WebCore:

  • WebCore.exp.in:
  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):

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

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::show):
(WebCore::InspectorController::close):
(WebCore::InspectorController::dispatchMessageFromFrontend):

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

(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:

(WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorDatabaseResource.h:
  • inspector/InspectorForwarding.h:
  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
(WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
(WebCore::InspectorReplayAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
(WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::styleWithProperties):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
(WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):

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

(WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):

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

(WebCore::WorkerInspectorController::~WorkerInspectorController):
(WebCore::WorkerInspectorController::connectFrontend):
(WebCore::WorkerInspectorController::disconnectFrontend):

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

(WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):

  • inspector/WorkerRuntimeAgent.h:
  • loader/EmptyClients.h:
  • page/PageDebuggable.cpp:

(WebCore::PageDebuggable::connect):
(WebCore::PageDebuggable::disconnect):

  • page/PageDebuggable.h:
  • testing/Internals.cpp:

(WebCore::Internals::closeDummyInspectorFrontend):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::disconnectFromInspector):

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController destroyInspectorView:]):

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorFrontendClient::destroyInspectorView):

Source/WebKit2:

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::remoteFrontendDisconnected):

2:56 PM Changeset in webkit [180115] by Beth Dakin
  • 5 edits in trunk/Source/WebKit2

REGRESSION: Page opens with enlarged font after visiting PDF, navigating back,
then doing a process swap
https://bugs.webkit.org/show_bug.cgi?id=141584
-and corresponding-
rdar://problem/18167729

Reviewed by Tim Horton.

This patch keeps the plugin zoom/scale factors separate from page zoom/scale
factors in the UI process since they are used for slightly different purposes for
plugins (i.e., PDFs) than they are for normal pages. Keeping track of the right
factor for the right type of document will ensure that we don’t use the wrong one.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::pageZoomFactor):
(WebKit::WebPageProxy::pageScaleFactor):
(WebKit::WebPageProxy::pluginScaleFactorDidChange):
(WebKit::WebPageProxy::pluginZoomFactorDidChange):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::pageZoomFactorDidChange): Deleted.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::pageZoomFactor): Deleted.
(WebKit::WebPageProxy::pageScaleFactor): Deleted.

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setPageScaleFactor):

1:52 PM Changeset in webkit [180114] by ddkilzer@apple.com
  • 11 edits in trunk/Source

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

Work towards fixing the Mavericks Debug build.

Source/JavaScriptCore:

  • inspector/ScriptDebugServer.h:

(Inspector::ScriptDebugServer::Task): Export class.

  • inspector/agents/InspectorDebuggerAgent.h:

(Inspector::InspectorDebuggerAgent::Listener): Export class.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::setConsoleClient): Do not mark inline
method for export.

Source/WebCore:

  • dom/Document.h:

(WebCore::Document::setAnnotatedRegionsDirty):

  • dom/Event.h:

(WebCore::Event::create):

  • dom/Node.h:

(WebCore::Node::hasEditableStyle):

  • dom/Position.h:

(WebCore::Position::Position):

  • editing/FrameSelection.h:

(WebCore::DragCaretController::clear):

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::originalRequest):

  • Do not mark inline methods for export.
12:41 PM Changeset in webkit [180113] by commit-queue@webkit.org
  • 4 edits in trunk

Web Inspector: Symbol RemoteObject should not send sub-type
https://bugs.webkit.org/show_bug.cgi?id=141604

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-14
Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

LayoutTests:

  • inspector/model/remote-object-expected.txt:
11:34 AM Changeset in webkit [180112] by Brian Burg
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r179573): Web Inspector toolbar is completely messed up on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=141555

Reviewed by Joseph Pecoraro.

The old WKView-based code called _setDrawsBackground:NO on the WKView for Mavericks.
Simulate this old behavior by calling WebPageProxy::setDrawsBackground(false).

WKWebView's setOpaque:BOOL gives a flat background color instead of the intended
gradient, so we can't use that method.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

10:59 AM Changeset in webkit [180111] by ap@apple.com
  • 2 edits in trunk/LayoutTests

After updating tests to use kerning, ligatures, and printer fonts, some tests fail
https://bugs.webkit.org/show_bug.cgi?id=139968

Re-adding the test to expectations, it fails flakily (perhaps it's order dependent).

  • platform/mac/TestExpectations:
10:16 AM Changeset in webkit [180110] by ap@apple.com
  • 12 edits
    6 adds in trunk

rel="noreferrer" should make window.opener null
https://bugs.webkit.org/show_bug.cgi?id=141579

Reviewed by Darin Adler.

Source/WebCore:

Tests: http/tests/navigation/target-blank-opener-post.html

http/tests/navigation/target-blank-opener.html

We used to avoid passing window.opener policy by temporarily storing it in a FrameLoader
member variable. This works for some clients - ones that invoke delegate callbacks
synchronously - but not in the general case.

So, changed to passing the policy explicitly.

  • WebCore.exp.in:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):

  • loader/FrameLoader.h:

(WebCore::FrameLoader::suppressOpenerInNewFrame): Deleted.

  • loader/FrameLoaderTypes.h:
  • loader/NavigationScheduler.cpp:
  • page/ContextMenuController.cpp:

(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected):

Source/WebKit/ios:

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]): Updated for a new WebCore
function signature. There is no rel="noreferrer" in PDF, so we can just always allow.

Source/WebKit/mac:

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]): Updated for a new WebCore
function signature. There is no rel="noreferrer" in PDF, so we can just always allow.

LayoutTests:

Unfortunately, these tests are not quite real, because they pass even without the
fix. There reason is that delegates respond synchronously in WKTR and DRT.

But if there is any large refactoring, there is a non-zero chance that the tests
will catch future mistakes.

  • http/tests/navigation/resources/target-blank-opener-post-window.php: Added.
  • http/tests/navigation/resources/target-blank-opener-window.php: Added.
  • http/tests/navigation/target-blank-opener-expected.txt: Added.
  • http/tests/navigation/target-blank-opener-post-expected.txt: Added.
  • http/tests/navigation/target-blank-opener-post.html: Added.
  • http/tests/navigation/target-blank-opener.html: Added.
9:16 AM Changeset in webkit [180109] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r180082): WebCore build on Mountain Lion fails due to weak export for i386
<rdar://problem/19838127>

  • Configurations/WebCore.unexp: Add missing symbol.
8:05 AM Changeset in webkit [180108] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Re-ordering expectations.

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-02-14

  • platform/mac/TestExpectations:
8:01 AM Changeset in webkit [180107] by mmaxfield@apple.com
  • 58 edits in trunk/LayoutTests

[Mac] Cleanup after r177774
https://bugs.webkit.org/show_bug.cgi?id=141590

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-02-14
Reviewed by Zalan Bujtas.

Test expected results simply need to be updated.

  • platform/mac/TestExpectations:
  • platform/mac/accessibility/content-editable-as-textarea-expected.txt:
  • platform/mac/accessibility/press-targets-center-point-expected.txt: Added.
  • platform/mac/accessibility/table-attributes-expected.txt:
  • platform/mac/accessibility/table-cell-spans-expected.txt:
  • platform/mac/accessibility/table-detection-expected.txt:
  • platform/mac/accessibility/table-one-cell-expected.txt:
  • platform/mac/accessibility/table-sections-expected.txt:
  • platform/mac/accessibility/table-with-rules-expected.txt:
  • platform/mac/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Added.
  • platform/mac/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
  • platform/mac/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
  • platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
  • platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
  • platform/mac/css1/box_properties/acid_test-expected.txt:
  • platform/mac/css2.1/t09-c5526c-display-00-e-expected.txt:
  • platform/mac/editing/selection/5057506-2-expected.txt:
  • platform/mac/editing/selection/5057506-expected.txt:
  • platform/mac/editing/selection/5825350-2-expected.txt:
  • platform/mac/editing/selection/mixed-editability-10-expected.txt:
  • platform/mac/fast/block/basic/011-expected.txt:
  • platform/mac/fast/block/basic/minheight-expected.txt:
  • platform/mac/fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt: Added.
  • platform/mac/fast/css/002-expected.txt:
  • platform/mac/fast/forms/basic-textareas-expected.txt:
  • platform/mac/fast/frames/frame-scrolling-attribute-expected.txt:
  • platform/mac/fast/invalid/008-expected.txt:
  • platform/mac/fast/overflow/003-expected.txt:
  • platform/mac/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/mac/fast/repaint/selection-rl-expected.txt:
  • platform/mac/fast/repaint/selection-ruby-rl-expected.txt: Added.
  • platform/mac/fast/sub-pixel/inline-block-with-padding-expected.txt: Added.
  • platform/mac/fast/table/col-and-colgroup-offsets-expected.txt: Added.
  • platform/mac/fast/text/atsui-pointtooffset-calls-cg-expected.txt:
  • platform/mac/fast/text/basic/generic-family-reset-expected.txt:
  • platform/mac/fast/text/international/vertical-text-metrics-test-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/js/dom/dom-static-property-for-in-iteration-expected.txt: Added.
  • platform/mac/media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Added.
  • platform/mac/platform/mac/accessibility/aria-columnrowheaders-expected.txt: Copied from LayoutTests/platform/mac/accessibility/table-cell-spans-expected.txt.
  • platform/mac/platform/mac/accessibility/bounds-for-range-expected.txt: Added.
  • platform/mac/platform/mac/accessibility/document-links-expected.txt: Added.
  • platform/mac/platform/mac/accessibility/internal-link-anchors-expected.txt: Added.
  • platform/mac/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
  • platform/mac/svg/batik/text/textEffect2-expected.txt:
  • platform/mac/svg/batik/text/textEffect3-expected.txt:
  • platform/mac/svg/batik/text/textProperties-expected.txt:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
  • platform/mac/svg/custom/text-filter-expected.txt:
  • platform/mac/svg/filters/feColorMatrix-values-expected.txt: Added.
  • platform/mac/svg/filters/filter-on-filter-for-text-expected.txt:
  • platform/mac/svg/filters/filter-on-tspan-expected.txt:
  • platform/mac/svg/filters/sourceAlpha-expected.txt:
  • platform/mac/svg/repaint/text-mask-update-expected.txt: Added.
  • platform/mac/tables/mozilla/bugs/bug131020-expected.txt:
12:56 AM Changeset in webkit [180106] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[buildbot] Enable run-api-tests on release Mac bots
https://bugs.webkit.org/show_bug.cgi?id=141518

Reviewed by Darin Adler.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunUnitTests):
(BuildFactory.init):
(TestFactory.init):
(BuildAndTestFactory.init):
(RunUnitTests.start): Deleted.
(unitTestsSupported): Deleted.

Feb 13, 2015:

10:37 PM Changeset in webkit [180105] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/xmlhttprequest/event-listener-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33342

Reviewed by Darin Adler.

Instead of using a zero delay timer, which can be legitimately delayed for dozens
of milliseconds, perform the collection in a second load event handler. GC code
has changed so much that I cannot confirm that the test still verifies the fix,
however we collect after returning for the function and unwinding the stack, so it should.

Also, clear the JS variable for a good measure.

  • http/tests/xmlhttprequest/event-listener-gc.html:
10:20 PM Changeset in webkit [180104] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update fast/canvas/canvas-measureText-ideographicSpace.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141595

Reviewed by Zalan Bujtas.

  • fast/canvas/canvas-measureText-ideographicSpace.html:
  • platform/mac/TestExpectations:
9:16 PM Changeset in webkit [180103] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Mark font & text tests to failure.

  • platform/efl/TestExpectations:
9:16 PM Changeset in webkit [180102] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Attempt to fix 32bits build after r180098

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-13

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

I copied the attribute from the MathObject version of that function when I moved
it over. DFG has no version of a function call taking those attributes.

8:59 PM Changeset in webkit [180101] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

JSContext Inspector: Do not stash console messages for non-debuggable JSContext
https://bugs.webkit.org/show_bug.cgi?id=141589

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-13
Reviewed by Timothy Hatcher.

Consider developer extras disabled for JSContext inspection if the
RemoteInspector server is not enabled (typically a non-debuggable
process rejected by webinspectord) or if remote debugging on the
JSContext was explicitly disabled via SPI.

When developer extras are disabled, console message will not be stashed.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::developerExtrasEnabled):

  • inspector/JSGlobalObjectInspectorController.h:
8:53 PM Changeset in webkit [180100] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. 3 inspector tests are marked to failure.

  • platform/efl/TestExpectations:
8:23 PM Changeset in webkit [180099] by Lucas Forschler
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merge r179768. rdar://problem/19733844.

8:20 PM Changeset in webkit [180098] by benjamin@webkit.org
  • 25 edits
    4 adds in trunk/Source/JavaScriptCore

Add a DFG node for the Pow Intrinsics
https://bugs.webkit.org/show_bug.cgi?id=141540

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

Add a DFG Node for PowIntrinsic. This patch covers the basic cases
need to avoid massive regression. I will iterate over the node to cover
the missing types.

With this patch I get the following progressions on benchmarks:
-LongSpider's math-partial-sums: +5%.
-Kraken's imaging-darkroom: +17%
-AsmBench's cray.c: +6.6%
-CompressionBench: +2.2% globally.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
Cover a couple of trivial cases:
-If the exponent is zero, the result is always one, regardless of the base.
-If both arguments are constants, compute the result at compile time.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
We only support 2 basic cases at this time:
-Math.pow(double, int)
-Math.pow(double, double).

I'll cover Math.pow(int, int) in a follow up.

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToArithSqrt):
(JSC::DFG::Node::arithNodeFlags):

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

(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doDoubleVoting):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::compileArithPowIntegerFastPath):
(JSC::DFG::SpeculativeJIT::compileArithPow):

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStrengthReductionPhase.cpp:

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

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithPow):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::doublePow):
(JSC::FTL::Output::doublePowi):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • runtime/MathObject.cpp:

(JSC::mathProtoFuncPow):
(JSC::isDenormal): Deleted.
(JSC::isEdgeCase): Deleted.
(JSC::mathPow): Deleted.

  • tests/stress/math-pow-basics.js: Added.
  • tests/stress/math-pow-integer-exponent-fastpath.js: Added.
  • tests/stress/math-pow-nan-behaviors.js: Added.
  • tests/stress/math-pow-with-constants.js: Added.

Start some basic testing of Math.pow().
Due to the various transform, the value change when the code tiers up,
I covered this by checking for approximate values.

8:16 PM Changeset in webkit [180097] by Lucas Forschler
  • 12 edits
    8 copies in branches/safari-600.1.4.15-branch

Merged r174823. rdar://problem/19733844

8:00 PM Changeset in webkit [180096] by Lucas Forschler
  • 20 edits
    5 copies in branches/safari-600.1.4.15-branch

Merged r174402. rdar://problem/19733844

7:55 PM Changeset in webkit [180095] by Brent Fulgham
  • 7 edits
    2 adds in branches/safari-600.5-branch

Source/WebCore: Merge r173806. <rdar://problem/19830405>

2014-09-22 Mihnea Ovidenie <mihnea@adobe.com>

[CSS Regions] Assertion failure and null dereference crash when using animations and regions
https://bugs.webkit.org/show_bug.cgi?id=136918

Reviewed by Andrei Bucur.

In some situations, for instance when an image has an attached animation, the style change caused by the animation
triggers a geometry update for the backing store associated with the image's layer. This may occur before
the layout for the image has finished.

Moreover, if the image in such situation - having a composited layer - is displayed in a region,
sicne the layout did not finish yet, the mappings between the layers of the elements collected in the named flow
and the regions associated with the named flow are not updated and cannot be used.

Therefore in those situations, we have to bail out early and use these mappings only after the layout has finished.

This patch also changes RenderLayerBacking method updateAfterDescendents -> updateAfterDescendants.

Test: fast/regions/animated-image-in-region.html

  • rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateAfterDescendants):
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):

LayoutTests: Merge r173806. <rdar://problem/19830405>

2014-09-22 Mihnea Ovidenie <mihnea@adobe.com>

[CSS Regions] Assertion failure and null dereference crash when using animations and regions
https://bugs.webkit.org/show_bug.cgi?id=136918

Reviewed by Andrei Bucur.

  • fast/regions/animated-image-in-region-expected.txt: Added.
  • fast/regions/animated-image-in-region.html: Added.
5:25 PM Changeset in webkit [180094] by Simon Fraser
  • 8 edits in trunk/Source/WebKit2

Crash closing a tab when a context or popup menu is open
https://bugs.webkit.org/show_bug.cgi?id=141582
rdar://problem/17700475

Reviewed by Anders Carlsson.

If a context menu or a popup menu is open when a tab is programmatically closed,
then we'd crash because both the WebContextMenuProxyMac/WebPopupMenuProxyMac
and the WebPageProxy would be deleted while still in use, via messages
handled via the nested event tracking runloop.

Fix by protecting those things while showing the popup. Also programmatically
dismiss the popup when closing the WebPageProxy.

  • UIProcess/WebContextMenuProxy.h:

(WebKit::WebContextMenuProxy::cancelTracking):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::showPopupMenu): Clean up some EFL-related confusion that we don't need.
Retaining |this| will also retain m_activePopupMenu.
(WebKit::WebPageProxy::hidePopupMenu):
(WebKit::WebPageProxy::showContextMenu):
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPopupMenuProxy.h:

(WebKit::WebPopupMenuProxy::cancelTracking):

  • UIProcess/mac/WebContextMenuProxyMac.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::showContextMenu):
(WebKit::WebContextMenuProxyMac::cancelTracking):

  • UIProcess/mac/WebPopupMenuProxyMac.h: For popups, we need to remember if we were

canceled to avoid trying to send events after closing.

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
(WebKit::WebPopupMenuProxyMac::showPopupMenu):
(WebKit::WebPopupMenuProxyMac::cancelTracking):

5:20 PM Changeset in webkit [180093] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WTF

[EFL] Enable bmalloc for EFL port
https://bugs.webkit.org/show_bug.cgi?id=141459

Reviewed by Csaba Osztrogonác.

  • wtf/CMakeLists.txt: Remove TCSystemAlloc.cpp/h.
  • wtf/FastMalloc.cpp: Enable BMALLOC for EFL port.
5:09 PM Changeset in webkit [180092] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix after r179591.

  • public/api/commits.php:
4:59 PM Changeset in webkit [180091] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

The status of a A/B testing request always eventually becomes "Failed"
https://bugs.webkit.org/show_bug.cgi?id=141523

Reviewed by Andreas Kling.

The bug was caused by /api/build-requests always setting the status of a build request to 'failed' when
'failedIfNotCompleted' was sent by the buildbot sync'er.

Fixed the bug by only setting the status to 'failed' if it wasn't set to 'completed'.

  • public/api/build-requests.php:

(main):

4:37 PM Changeset in webkit [180090] by Chris Dumez
  • 3 edits
    2 adds in trunk

RenderListItem resets its marker's style on style change even if the diff is StyleDifferenceEqual
https://bugs.webkit.org/show_bug.cgi?id=141572
<rdar://problem/19759818>

Reviewed by Simon Fraser.

Source/WebCore:

Do not unnecessarily update the marker's style in RenderListItem::styleDidChange()
if the RenderStyle diff is StyleDifferenceEqual. Doing so can cause unnecessary
layouts.

This was causing high cpu usage on
http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html because there
is an animation that changes the style every second (but the diff is equal) and the
RenderListItem keeps resetting its marker's margin, which triggers a layout and the
RenderListMarker re-computes its margin during layout and updates its style again.

With this change, CPU usage on the page goes from 150% to 20%. There is only a style
recalc happening every second, no more relayouts and repaints.

Test: fast/repaint/list-item-equal-style-change-no-repaint.html

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::styleDidChange):

LayoutTests:

Add a layout test to make sure that an animation causing a style change
with StyleDifferenceEqual diff does not cause a repaint.

  • fast/repaint/list-item-equal-style-change-no-repaint-expected.txt: Added.
  • fast/repaint/list-item-equal-style-change-no-repaint.html: Added.
4:15 PM Changeset in webkit [180089] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix the iOS build.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::removeSwipeSnapshot):

  • UIProcess/mac/ViewGestureController.h:

This code is never used on iOS.

4:06 PM Changeset in webkit [180088] by timothy_horton@apple.com
  • 14 edits in trunk/Source

Make WebCore::IOSurface have single ownership instead of refcounting
https://bugs.webkit.org/show_bug.cgi?id=141578

Reviewed by Anders Carlsson.

In the interests of making it harder to misuse and to make it more like
ImageBuffer, our IOSurface wrapper should have single ownership.

This will also allow future changes which depend on temporarily
consuming an IOSurface to more easily enforce correct usage.

  • WebCore.exp.in:
  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::takeSurface):
(WebCore::IOSurfacePool::addSurface):
(WebCore::IOSurfacePool::insertSurfaceIntoPool):
(WebCore::IOSurfacePool::tryEvictInUseSurface):
(WebCore::IOSurfacePool::tryEvictOldestCachedSurface):
(WebCore::IOSurfacePool::collectInUseSurfaces):

  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::create):
(IOSurface::createFromSendRight):
(IOSurface::createFromSurface):
(IOSurface::createFromImage):
Make IOSurface::create()s return a unique_ptr, and adjust everywhere.

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::Buffer::discard):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _takeViewSnapshot]):

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):

  • UIProcess/mac/ViewSnapshotStore.h:
  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshot::create):
(WebKit::ViewSnapshot::ViewSnapshot):
(WebKit::ViewSnapshot::hasImage):
Adjust to the single-ownership model.

3:44 PM Changeset in webkit [180087] by enrica@apple.com
  • 6 edits in trunk

Additional emoji group support.
https://bugs.webkit.org/show_bug.cgi?id=141539
rdar://problem/19727527

Reviewed by Sam Weinig.

Source/WebCore:

Adding some new emoji ligatures.
Updated existing test to include the new sequences.

  • platform/text/TextBreakIterator.cpp:

(WebCore::cursorMovementIterator):

  • rendering/RenderText.cpp:

(WebCore::isEmojiGroupCandidate):

LayoutTests:

Updating test to reflect the new emoji ligatures supported.

  • editing/deleting/delete-emoji-expected.txt:
  • editing/deleting/delete-emoji.html:
3:27 PM Changeset in webkit [180086] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit2

[iOS] Unreviewed build fix after r180076.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters): We do not
want to do this on iOS.

  • UIProcess/WebPageProxy.h: No need to expose function

on iOS (only Mac).

3:08 PM Changeset in webkit [180085] by benjamin@webkit.org
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

ArithSqrt should not be conditional on supportsFloatingPointSqrt
https://bugs.webkit.org/show_bug.cgi?id=141546

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-13
Reviewed by Geoffrey Garen and Filip Pizlo.

Just fallback to the function call in the DFG codegen.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithSqrt):

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • tests/stress/math-sqrt-basics.js: Added.

Basic coverage.

  • tests/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js: Added.

Same tests but forcing the function call.

2:57 PM Changeset in webkit [180084] by Lucas Forschler
  • 7 edits
    4 copies
    2 deletes in branches/safari-600.1.4.15-branch

Merged r179933. rdar://problem/19812665

2:46 PM Changeset in webkit [180083] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r180060) New js/regress-141098 test crashes when LLInt is disabled.
https://bugs.webkit.org/show_bug.cgi?id=141577

Reviewed by Benjamin Poulain.

Changed the prologue of the baseline JIT to check for stack space for all
types of code blocks. Previously, it was only checking Function. Now
it checks Program and Eval as well.

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

2:40 PM Changeset in webkit [180082] by achristensen@apple.com
  • 2 edits
    1 add in trunk/Source/WebCore

Really stop using export files.
https://bugs.webkit.org/show_bug.cgi?id=141521

Reviewed by Mark Rowe.

  • Configurations/WebCore.xcconfig:

Don't use exported symbols files.

  • Configurations/WebCore.unexp:

Added list of symbols not to export (needed by Xcode 5.0.2).

2:18 PM Changeset in webkit [180081] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simplify ASSERT in lastRubyRun().
https://bugs.webkit.org/show_bug.cgi?id=141574

Reviewed by Daniel Bates.

r180064 made some of the conditions in the ASSERT redundant.

Covered by existing tests.

  • rendering/RenderRuby.cpp:

(WebCore::lastRubyRun):

2:17 PM Changeset in webkit [180080] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

2:15 PM Changeset in webkit [180079] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.5

New tag.

2:11 PM Changeset in webkit [180078] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document some debug asserts in Accessibility (Windows) tests.

  • platform/win/TestExpectations:
2:00 PM Changeset in webkit [180077] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r179772. rdar://problem/19719078

1:56 PM Changeset in webkit [180076] by Brent Fulgham
  • 10 edits in trunk/Source

[Mac, iOS] Adjust pagination behavior for Mail.app printing use
https://bugs.webkit.org/show_bug.cgi?id=141569
<rdar://problem/14912763>

Reviewed by Anders Carlsson.

Source/WebCore:

  • page/Settings.in: Add new pagination setting flag.
  • rendering/RenderBlockFlow.cpp:

(WebCore::messageContainerName): Added.
(WebCore::needsPaginationQuirk): Added.
(WebCore::RenderBlockFlow::adjustLinePositionForPagination): Don't move the message content
div to a new page when using this special printing mode.

Source/WebKit2:

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode): Add new flag.
(WebKit::WebPageCreationParameters::decode): Ditto.

  • Shared/WebPageCreationParameters.h: Ditto.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters): Set new page construction flag.

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

(WebKit::WebPageProxy::paginationQuirkEnabled): Ask for new pagination flag
when running as a Mail client.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Set up pagination based on desired settings.

1:54 PM Changeset in webkit [180075] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Generate incq instead of addq when the immediate value is one
https://bugs.webkit.org/show_bug.cgi?id=141548

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-13
Reviewed by Gavin Barraclough.

JSC emits "addq #1 (rXX)" *a lot*.
This patch replace that by incq, which is one byte shorter
and is the adviced form.

Sunspider: +0.47%
Octane: +0.28%
Kraken: +0.44%
AsmBench, CompressionBench: neutral.

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::add64):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::incq_m):

1:48 PM Changeset in webkit [180074] by benjamin@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Little clean up of Bytecode Generator's Label
https://bugs.webkit.org/show_bug.cgi?id=141557

Reviewed by Michael Saboff.

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

Label was a friend of BytecodeGenerator in order to access
m_instructions. There is no need for that, BytecodeGenerator
has a public getter.

  • bytecompiler/Label.h:

(JSC::Label::Label):
(JSC::Label::setLocation):
(JSC::BytecodeGenerator::newLabel):
Make it explicit that the generator must exist.

1:35 PM Changeset in webkit [180073] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

1:33 PM Changeset in webkit [180072] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.9

New tag.

1:25 PM Changeset in webkit [180071] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

[iOS] DumpRenderTree.app fails to link due to undefined classes
<rdar://problem/19831228>

Following r179945, DumpRenderTree.app fails to link due to undefined symbols:

Undefined symbols for architecture x86_64:

"_OBJC_CLASS_$_WebEvent", referenced from:

objc-class-ref in libDumpRenderTree.a(EventSendingController.o)

"_OBJC_CLASS_$_WebUndefined", referenced from:

objc-class-ref in libDumpRenderTree.a(ObjCController.o)

We need to export the classes WebScriptObject and WebEvent.

  • bindings/objc/WebScriptObject.h:
  • platform/ios/WebEvent.h:
12:40 PM Changeset in webkit [180070] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r180053. rdar://problem/19812624

12:37 PM Changeset in webkit [180069] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r179737. rdar://problem/19812624

12:30 PM Changeset in webkit [180068] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

CachedResource::clearLoader() should self-destruct if nothing else retains the CachedResource.
<https://webkit.org/b/141568>
<rdar://problem/19800310>

Reviewed by Antti Koivisto.

Anything that may cause CachedResource::canDelete() to return true must also make sure
to call CachedResource::deleteIfPossible(), or we risk leaking the CachedResource.
This is because CachedResource employs an extremely convoluted lifetime mechanism that
depends on its presence in a number of collections, as well as internal counters and
state.

This is a speculative fix for a potential CachedResource leak that I'm not sure exists
in practice, but let's be good citizens here.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::clearLoader):

11:57 AM Changeset in webkit [180067] by timothy@apple.com
  • 1 edit
    1 add in trunk/Source/WebInspectorUI

Web Inspector: support better git diff of localizedStrings.js
https://bugs.webkit.org/show_bug.cgi?id=137237

Reviewed by Joseph Pecoraro.

  • .gitattributes: Added.
11:52 AM Changeset in webkit [180066] by andersca@apple.com
  • 4 edits in trunk

Add a move constructor and move assignment operator to Deque
https://bugs.webkit.org/show_bug.cgi?id=141571

Reviewed by Andreas Kling.

Source/WTF:

  • wtf/Deque.h:

(WTF::inlineCapacity>::Deque):
(WTF::=): Deleted.

Tools:

  • TestWebKitAPI/Tests/WTF/Deque.cpp:

(TestWebKitAPI::TEST):

11:50 AM Changeset in webkit [180065] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] Crash at WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset + 2357
https://bugs.webkit.org/show_bug.cgi?id=141566
rdar://problem/19826075

Reviewed by Andreas Kling.

Null check m_mediaSource before dereferencing.

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

(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):

11:28 AM Changeset in webkit [180064] by Alan Bujtas
  • 3 edits
    2 adds in trunk

REGRESSION (r174761): Invalid cast in WebCore::lastRubyRun / WebCore::RenderRubyAsBlock::addChild
https://bugs.webkit.org/show_bug.cgi?id=137929
rdar://problem/18723492

Reviewed by Chris Dumez.

Ensure that the child renderer is a RenderRubyRun.

Source/WebCore:

Test: fast/ruby/crash-with-before-after-on-ruby.html

  • rendering/RenderRuby.cpp:

(WebCore::lastRubyRun):

LayoutTests:

  • fast/ruby/crash-with-before-after-on-ruby-expected.txt: Added.
  • fast/ruby/crash-with-before-after-on-ruby.html: Added.
11:04 AM Changeset in webkit [180063] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Crashes under RenderLayer::hitTestLayer under determinePrimarySnapshottedPlugIn()
https://bugs.webkit.org/show_bug.cgi?id=141551

Reviewed by Zalan Bujtas.

It's possible for a layout to dirty the parent frame's state, via the calls to
ownerElement()->scheduleSetNeedsStyleRecalc() that RenderLayerCompositor does when
iframes toggle their compositing mode.

That could cause FrameView::updateLayoutAndStyleIfNeededRecursive() to fail to
leave all the frames in a clean state. Later on, we could enter hit testing,
which calls document().updateLayout() on each frame's document. Document::updateLayout()
does layout on all ancestor documents, so in the middle of hit testing, we could
layout a subframe (dirtying an ancestor frame), then layout another frame, which
would forcing that ancestor to be laid out while we're hit testing it, thus
corrupting the RenderLayer tree while it's being iterated over.

Fix by having FrameView::updateLayoutAndStyleIfNeededRecursive() do a second
layout after laying out subframes, which most of the time will be a no-op.

Also add a stronger assertion, that this frame and all subframes are clean
at the end of FrameView::updateLayoutAndStyleIfNeededRecursive() for the
main frame.

Various existing frames tests hit the new assertion if the code change is removed,
so this is covered by existing tests.

  • page/FrameView.cpp:

(WebCore::FrameView::needsStyleRecalcOrLayout):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

  • page/FrameView.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::willBeDestroyed):

11:04 AM Changeset in webkit [180062] by Simon Fraser
  • 7 edits in trunk/Source

determinePrimarySnapshottedPlugIn() should only traverse visible Frames
https://bugs.webkit.org/show_bug.cgi?id=141547
Part of rdar://problem/18445733.

Reviewed by Anders Carlsson.
Source/WebCore:

There's an expectation from clients that FrameView::updateLayoutAndStyleIfNeededRecursive()
updates layout in all frames, but it uses the widget tree, so only hits frames
that are parented via renderers (i.e. not display:none frames or their descendants).

Moving towards a future where we remove Widgets, fix by adding a FrameTree
traversal function that only finds rendered frames (those with an ownerRenderer).

Not testable.

  • page/FrameTree.cpp:

(WebCore::FrameTree::firstRenderedChild):
(WebCore::FrameTree::nextRenderedSibling):
(WebCore::FrameTree::traverseNextRendered):
(printFrames):

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

(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

Source/WebKit2:

Use FrameTree::traverseNextRendered() to avoid doing things in unrendered frames
which are not guaranteed to have been laid out.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

11:01 AM Changeset in webkit [180061] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests --remote should skip profiler tests
https://bugs.webkit.org/show_bug.cgi?id=141470

Reviewed by Filip Pizlo.

  • Scripts/run-jsc-stress-tests:
10:57 AM Changeset in webkit [180060] by msaboff@apple.com
  • 6 edits
    3 adds in trunk

Google doc spreadsheet reproducibly crashes when sorting
https://bugs.webkit.org/show_bug.cgi?id=141098

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Moved the stack check to before the callee registers are allocated in the
prologue() by movving it from the functionInitialization() macro. This
way we can check the stack before moving the stack pointer, avoiding a
crash during a "call" instruction. Before this change, we weren't even
checking the stack for program and eval execution.

Made a couple of supporting changes.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::llint_stack_check): We can't just go up one frame as we
may be processing an exception to an entry frame.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

(llint_throw_from_slow_path_trampoline): Changed method to get the vm
from the code block to not use the codeBlock, since we may need to
continue from an exception in a native function.

LayoutTests:

New test.

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

(probeAndRecurse):

10:46 AM Changeset in webkit [180059] by andersca@apple.com
  • 4 edits in trunk

Add an initializer list constructor to Deque
https://bugs.webkit.org/show_bug.cgi?id=141565

Reviewed by Andreas Kling.

Source/WTF:

  • wtf/Deque.h:

(WTF::inlineCapacity>::Deque):

Tools:

  • TestWebKitAPI/Tests/WTF/Deque.cpp:

(TestWebKitAPI::TEST):

10:28 AM Changeset in webkit [180058] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

TimerBase::m_heapInsertionOrder calculation is racy
https://bugs.webkit.org/show_bug.cgi?id=141554

Reviewed by Anders Carlsson.

Use an atomic increment.

  • platform/Timer.cpp: (WebCore::TimerBase::setNextFireTime):
10:08 AM Changeset in webkit [180057] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch

Merge r179771. rdar://problem/19395131

10:08 AM Changeset in webkit [180056] by matthew_hanson@apple.com
  • 7 edits
    2 adds in branches/safari-600.1.4.15-branch

Merge r179994. rdar://problem/19711488

10:05 AM Changeset in webkit [180055] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Re-indent Deque.h

Rubber-stamped by Antti Koivisto.

  • wtf/Deque.h:
9:50 AM Changeset in webkit [180054] by Antti Koivisto
  • 20 edits in trunk/Source/WebKit2

WorkQueue should support concurrent queues
https://bugs.webkit.org/show_bug.cgi?id=141559

Reviewed by Anders Carlsson.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::DatabaseProcess):

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::open):

  • Platform/WorkQueue.cpp:

(WorkQueue::create):

Also make create return a Ref.

(WorkQueue::WorkQueue):

  • Platform/WorkQueue.h:

Add queue type enum.

  • Platform/efl/WorkQueueEfl.cpp:

(WorkQueue::platformInitialize):

  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::platformInitialize):

  • Platform/mac/WorkQueueMac.cpp:

(WorkQueue::platformInitialize):

  • Shared/mac/SecItemShim.cpp:

(WebKit::SecItemShim::initializeConnection):

  • Shared/mac/SecItemShim.h:
  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::processLauncherWorkQueue):

  • UIProcess/mac/SecItemShimProxy.cpp:

(WebKit::SecItemShimProxy::initializeConnection):

  • UIProcess/mac/SecItemShimProxy.h:
  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::initializeConnection):

  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::initializeConnection):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/ViewUpdateDispatcher.h:
9:38 AM Changeset in webkit [180053] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Refine GC behavior in response to process suspension and memory pressure.
<https://webkit.org/b/141543>
<rdar://problem/19738024>

Reviewed by Geoffrey Garen.

Do an immediate full garbage collection when the web process is about to
be suspended (when another tab is moving to the foreground on iOS.)
This ensures that we make a best effort to reduce the process footprint
before we lose the ability to execute code.

When receiving a memory pressure warning, tell the garbage collector to
accelerate its next collection (by calling garbageCollectSoon().)
This gives us some confidence that a collection will happen within a
reasonable timeframe, but doesn't risk dooming us to a loop of endless
garbage collections.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::platformReleaseMemory):

9:35 AM Changeset in webkit [180052] by andersca@apple.com
  • 4 edits
    1 move in trunk/Source/WebKit2

Clean up the framework postprocessing phase
https://bugs.webkit.org/show_bug.cgi?id=141544

Reviewed by Dan Bernstein.

Rename WK_API_AVAILABILITY_ENABLED to WK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED to better match what
it is we're doing. Also, rename the associated script. Remove a couple of now unnecessary #defines, and
change everything we can to be feature-based instead of OS based.

  • Configurations/WebKit.xcconfig:
  • Shared/API/Cocoa/WKFoundation.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • mac/postprocess-framework-headers.sh: Renamed from Source/WebKit2/mac/rewrite-availability-macros.sh.
9:32 AM Changeset in webkit [180051] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Add some RELEASE_ASSERTs to try to catch crashes in StyleResolver::loadPendingImages
https://bugs.webkit.org/show_bug.cgi?id=141561

Reviewed by Simon Fraser.

One possibility is that loads triggered by loadPendingImages end up synchronously destroying or re-entering
style resolver. Try to catch these in release builds.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::~StyleResolver):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::loadPendingImages):

  • css/StyleResolver.h:
9:15 AM Changeset in webkit [180050] by ChangSeok Oh
  • 4 edits
    2 adds in trunk

Div having contentEditable and display:grid cannot be edited if it is empty.
https://bugs.webkit.org/show_bug.cgi?id=141465

Reviewed by Ryosuke Niwa.

Source/WebCore:

This bug is quite similar to webkit.org/b/141218. RenderGrid should be also treated as a candidate
for visible position as like RenderFlexibleBox. The only different situation between them is
that RenderGrid has a bug setting "0px" for logicalHeight when it is empty. RenderGrid should also have
a minimum height of a single line if it is editable as well as RenderFlexibleBox does.

Test: fast/events/key-events-in-editable-gridbox.html

  • dom/Position.cpp:

(WebCore::Position::isCandidate):
(WebCore::Position::isRenderedCharacter):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutGridItems):

LayoutTests:

This tests if an editable grid box can be reedited after erasing all texts in it.

  • fast/events/key-events-in-editable-gridbox-expected.txt: Added.
  • fast/events/key-events-in-editable-gridbox.html: Added.
9:10 AM Changeset in webkit [180049] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip accessibility tests failing due to debug assertions.

  • platform/win/TestExpectations:
9:02 AM Changeset in webkit [180048] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-600.1.4.15-branch

Merge r179771. rdar://problem/19395131

9:02 AM Changeset in webkit [180047] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merge r179750. rdar://problem/19719085

9:02 AM Changeset in webkit [180046] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.1.4.15-branch

Merge r179706. rdar://problem/19719085

8:43 AM Changeset in webkit [180045] by matthew_hanson@apple.com
  • 7 edits in branches/safari-600.1.4.15-branch/Source

Merge r179580. rdar://problem/19709200

8:15 AM Changeset in webkit [180044] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merge r180031. rdar://problem/19432928

8:15 AM Changeset in webkit [180043] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merge r179885. rdar://problem/19812617

8:15 AM Changeset in webkit [180042] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merge r179847. rdar://problem/19711485

8:15 AM Changeset in webkit [180041] by matthew_hanson@apple.com
  • 6 edits
    2 adds in branches/safari-600.1.4.15-branch

Merge r179691. rdar://problem/19719089

8:15 AM Changeset in webkit [180040] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebKit/ios

Merge r174284. rdar://problem/19812620

6:37 AM Changeset in webkit [180039] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[buildbot] Remove buildJSCTool cruft from master.cfg
https://bugs.webkit.org/show_bug.cgi?id=141513

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunJavaScriptCoreTests):
(RunJavaScriptCoreTests.start):
(RunWebKitTests):
(RunWebKitTests.start):
(TestFactory.init):
(TestLeaksFactory.init):
(RunJavaScriptCoreTests.init): Deleted.
(RunWebKitTests.init): Deleted.

4:48 AM Changeset in webkit [180038] by Alan Bujtas
  • 7 edits
    2 adds in trunk

REGRESSION (r176262): Invalid cast in WebCore`WebCore::RootInlineBox::selectionTop
https://bugs.webkit.org/show_bug.cgi?id=138992

Reviewed by Dave Hyatt.

RenderRubyText requires the ancestor chain to be (RenderRubyAsInline | RenderRubyAsBlock) -> RenderRubyRun -> RenderRubyText.
This patch ensures that we create RenderRubyText for an <rt> element only when
the expected ancestor chain is guaranteed.

Source/WebCore:

Test: fast/ruby/crash-when-ruby-is-set-to-inline-block.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor): treat inline-block <ruby> as block.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRubyInline):
(WebCore::RenderObject::isRubyBlock):
(WebCore::RenderObject::isRuby): Deleted.

  • rendering/RenderRuby.cpp:

(WebCore::isAnonymousRubyInlineBlock):

  • rendering/RenderRuby.h: add support for is<RenderRubyAsBlock>(renderer) and for is<RenderRubyAsInline>(renderer)

The isRuby() method does not follow the is*() -> maps to one class pattern.
(WebCore::isRuby):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::staticCreateRubyRun):

LayoutTests:

  • fast/ruby/crash-when-ruby-is-set-to-inline-block-expected.txt: Added.
  • fast/ruby/crash-when-ruby-is-set-to-inline-block.html: Added.
1:43 AM Changeset in webkit [180037] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/bmalloc

[BMalloc] Add a FIXME comment for memory alignas
https://bugs.webkit.org/show_bug.cgi?id=141556

Reviewed by Csaba Osztrogonác.

  • bmalloc/Chunk.h: Add a FIXME comment.
  • bmalloc/LargeChunk.h: ditto.
1:19 AM Changeset in webkit [180036] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the gperf related build issue on the WinCairo bot
https://bugs.webkit.org/show_bug.cgi?id=141507

Reviewed by Alex Christensen.

  • platform/ColorData.gperf: Modified property svn:eol-style.
1:15 AM Changeset in webkit [180035] by Csaba Osztrogonác
  • 6 edits
    92 deletes in trunk

Unreviewed, remove empty directories.

.:

  • ManualTests/qt: Removed.

Source/WebCore:

  • loader/icon/wince: Removed.
  • platform/graphics/wince: Removed.
  • storage/wince: Removed.

Tools:

  • DumpRenderTree/gtk: Removed.
  • DumpRenderTree/gtk/fonts: Removed.
  • DumpRenderTree/unix: Removed.
  • DumpRenderTree/unix/TestNetscapePlugin: Removed.
  • GtkLauncher: Removed.
  • TestWebKitAPI/Tests/WebKitGtk: Removed.
  • TestWebKitAPI/Tests/WebKitGtk/resources: Removed.
  • WebKitTestRunner/WebKitTestRunnerAppTests: Removed.
  • WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj: Removed.

Websites/perf.webkit.org:

  • public/data: Removed.

Websites/webkit.org:

  • blog/wp-includes/js/codepress: Removed.

LayoutTests:

  • fast/forms/date-multiple-fields: Removed.
  • fast/forms/datetimelocal-multiple-fields: Removed.
  • fast/forms/month-multiple-fields: Removed.
  • fast/forms/time-multiple-fields: Removed.
  • fast/forms/week-multiple-fields: Removed.
  • fast/js: Removed.
  • http/tests/inspector-enabled: Removed.
  • http/tests/inspector-enabled/resources: Removed.
  • http/tests/inspector/appcache: Removed.
  • http/tests/inspector/appcache/resources: Removed.
  • http/tests/inspector/audits: Removed.
  • http/tests/inspector/audits/resources: Removed.
  • http/tests/inspector/indexeddb: Removed.
  • http/tests/inspector/indexeddb/resources: Removed.
  • http/tests/inspector/network: Removed.
  • http/tests/inspector/network/resources: Removed.
  • http/tests/inspector/resource-tree: Removed.
  • http/tests/inspector/resource-tree/resources: Removed.
  • http/tests/inspector/resources: Removed.
  • http/tests/inspector/search: Removed.
  • http/tests/inspector/search/resources: Removed.
  • http/tests/inspector/stacktraces: Removed.
  • http/tests/inspector/stacktraces/resources: Removed.
  • http/tests/inspector/styles: Removed.
  • http/tests/inspector/styles/resources: Removed.
  • http/tests/inspector/websocket: Removed.
  • http/tests/webgl/1.0.1: Removed.
  • inspector-protocol/heap-profiler: Removed.
  • inspector-protocol/heap-profiler/resources: Removed.
  • inspector/console: Removed.
  • inspector/console/resources: Removed.
  • inspector/elements: Removed.
  • inspector/elements/resources: Removed.
  • inspector/profiler: Removed.
  • inspector/runtime: Removed.
  • inspector/styles: Removed.
  • inspector/styles/resources: Removed.
  • js/regress/resources: Removed.
  • media/track/opera/track/webvtt/rendering/reftest/media: Removed.
  • networkinformation: Removed.
  • networkinformation/resources: Removed.
  • networkinformation/script-tests: Removed.
  • platform/efl-wk2/dom: Removed.
  • platform/efl-wk2/dom/xhtml: Removed.
  • platform/efl-wk2/inspector: Removed.
  • platform/efl-wk2/tables: Removed.
  • platform/efl-wk2/tables/mozilla: Removed.
  • platform/gtk-wk1: Removed.
  • platform/gtk-wk1/fast: Removed.
  • platform/gtk-wk1/fast/css: Removed.
  • platform/gtk-wk1/fast/loader: Removed.
  • platform/gtk-wk1/fast/media: Removed.
  • platform/gtk-wk1/fast/writing-mode: Removed.
  • platform/gtk-wk1/http: Removed.
  • platform/gtk-wk1/http/tests: Removed.
  • platform/gtk-wk1/http/tests/cache: Removed.
  • platform/gtk-wk1/http/tests/security: Removed.
  • platform/gtk-wk1/http/tests/security/contentSecurityPolicy: Removed.
  • platform/gtk-wk1/js: Removed.
  • platform/gtk-wk1/js/dom: Removed.
  • platform/gtk-wk1/loader: Removed.
  • platform/gtk-wk1/scrollingcoordinator: Removed.
  • platform/gtk-wk2/accessibility: Removed.
  • platform/gtk-wk2/fast: Removed.
  • platform/gtk-wk2/fast/events: Removed.
  • platform/gtk-wk2/http: Removed.
  • platform/gtk-wk2/http/tests: Removed.
  • platform/gtk-wk2/http/tests/loading: Removed.
  • platform/gtk-wk2/http/tests/misc: Removed.
  • platform/gtk-wk2/http/tests/misc/authentication-redirect-1: Removed.
  • platform/gtk-wk2/http/tests/misc/authentication-redirect-2: Removed.
  • platform/gtk-wk2/http/tests/misc/authentication-redirect-4: Removed.
  • platform/gtk-wk2/http/tests/security: Removed.
  • platform/gtk-wk2/http/tests/security/401-logout: Removed.
  • platform/gtk-wk2/http/tests/xmlhttprequest: Removed.
  • platform/gtk-wk2/js: Removed.
  • platform/gtk-wk2/js/dom: Removed.
  • platform/gtk-wk2/plugins: Removed.
  • platform/gtk-wk2/plugins/npruntime: Removed.
  • platform/gtk/platform: Removed.
  • platform/ios-simulator/editing/editability: Removed.
  • platform/ios-simulator/editing/input: Removed.
  • platform/ios-simulator/editing/secure-input: Removed.
  • platform/ios-simulator/editing/shadow: Removed.
  • platform/ios-simulator/editing/spelling: Removed.
  • platform/ios-simulator/editing/text-iterator: Removed.
  • platform/ios-simulator/editing/undo: Removed.
  • platform/ios-simulator/editing/unsupported-content: Removed.
  • platform/ios-simulator/fast/canvas/webgl: Removed.
  • platform/ios-simulator/fast/css-grid-layout: Removed.
  • platform/ios-simulator/fast/css/content: Removed.
  • platform/ios-simulator/fast/css/image-orientation: Removed.
  • platform/ios-simulator/fast/css/image-resolution: Removed.
  • platform/ios-simulator/fast/css/style-scoped: Removed.
  • platform/ios-simulator/fast/css3-text/css3-text-indent: Removed.
  • platform/ios-simulator/fast/css3-text/css3-text-indent/getComputedStyle: Removed.
  • platform/ios-simulator/fast/dom/Document: Removed.
  • platform/ios-simulator/fast/dom/Document/CaretRangeFromPoint: Removed.
  • platform/ios-simulator/fast/dom/Geolocation: Removed.
  • platform/ios-simulator/fast/dom/HTMLAnchorElement: Removed.
  • platform/ios-simulator/fast/dom/HTMLImageElement/sizes: Removed.
  • platform/ios-simulator/fast/dom/MutationObserver: Removed.
  • platform/ios-simulator/fast/dom/NavigatorContentUtils: Removed.
  • platform/ios-simulator/fast/dom/Orientation: Removed.
  • platform/ios-simulator/fast/dom/custom: Removed.
  • platform/ios-simulator/fast/events/constructors: Removed.
  • platform/ios-simulator/fast/events/scoped: Removed.
  • platform/iphone-simulator: Removed.
  • platform/iphone-simulator/fast: Removed.
  • platform/iphone-simulator/fast/events: Removed.
  • platform/mac-mavericks/fast/borders: Removed.
  • platform/mac-wk2/fast/writing-mode: Removed.
  • platform/mac-wk2/http/tests/plugins: Removed.
  • platform/mac-wk2/js: Removed.
  • platform/mac-wk2/js/dom: Removed.
  • platform/mac-wk2/tiled-drawing/fixed: Removed.
  • platform/mac-wk2/tiled-drawing/fixed-background: Removed.
  • platform/mac-wk2/tiled-drawing/sticky: Removed.
  • platform/mac/dom: Removed.
  • platform/mac/dom/xhtml: Removed.
  • platform/mac/fast/backgrounds/resources: Removed.
  • platform/mac/media/W3C/audio: Removed.
  • platform/mac/media/W3C/audio/canPlayType: Removed.
  • platform/mac/platform/mac-wk2: Removed.
  • platform/mac/platform/mac/editing/spelling: Removed.
  • platform/mac/platform/mac/fast/forms: Removed.
  • platform/win-wk2: Removed.
  • platform/win-wk2/fast: Removed.
  • platform/win-wk2/http: Removed.
  • platform/win-wk2/platform: Removed.
  • platform/win-wk2/svg: Removed.
  • platform/win/canvas: Removed.
  • platform/win/fast/xmlhttprequest: Removed.
  • platform/win/loader: Removed.
  • platform/wk2/tables: Removed.
12:48 AM Changeset in webkit [180034] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Remove Windows cruft from Tools/Scripts/build-webkittestrunner
https://bugs.webkit.org/show_bug.cgi?id=141519

Reviewed by Alexey Proskuryakov.

  • Scripts/build-webkittestrunner:

Feb 12, 2015:

11:15 PM Changeset in webkit [180033] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r180028. rdar://problem/19180955

11:14 PM Changeset in webkit [180032] by bshafiei@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebCore

Merged r180028. rdar://problem/19180955

10:48 PM Changeset in webkit [180031] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

Crash removing RemoteLayerTreeDisplayRefreshMonitor from the drawing area's map
https://bugs.webkit.org/show_bug.cgi?id=141545
<rdar://problem/17712200>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::windowScreenDidChange):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

windowScreenDidChange should take uint32_t, since that's what PlatformDisplayID is.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
RemoteLayerTreeDisplayRefreshMonitor is driven by the page's
RemoteLayerTreeDrawingArea. Because of this, we cannot have the same
sharing of DisplayRefreshMonitors that other platforms use.
In order to ensure that we get a unique DisplayRefreshMonitor
per-DrawingArea, give each page a unique DisplayID derived
from WebPage's unique ID.

10:03 PM Changeset in webkit [180030] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark some debug assertions.

  • platform/win/TestExpectations: Mark several debug assertions so

we don't end testing early.

9:53 PM Changeset in webkit [180029] by Brent Fulgham
  • 2 edits
    2 adds in trunk/LayoutTests

[Win] More media rebaselining.

  • platform/win/TestExpectations:
  • platform/win/fast/css/focus-ring-exists-for-search-field-expected.png: Added.
  • platform/win/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.
7:59 PM Changeset in webkit [180028] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Crashes under detectItemAroundHitTestResult when DataDetectors is not available
https://bugs.webkit.org/show_bug.cgi?id=141549
<rdar://problem/19180955>

Reviewed by Dan Bernstein.

  • editing/mac/DataDetection.mm:

(WebCore::DataDetection::detectItemAroundHitTestResult):
Bail out from data detection if either of the relevant frameworks aren't loaded.

6:30 PM Changeset in webkit [180027] by commit-queue@webkit.org
  • 31 edits
    3 adds in trunk/LayoutTests

[EFL] Need to have new baseline for some tests of fast/ruby since r172874
https://bugs.webkit.org/show_bug.cgi?id=141462

Unreviewed, EFL gardening. Rebaseline after r172874

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-02-12

  • platform/efl/TestExpectations:
  • platform/efl/fast/ruby/bopomofo-expected.png: Added.
  • platform/efl/fast/ruby/bopomofo-expected.txt:
  • platform/efl/fast/ruby/bopomofo-letter-spacing-expected.png: Added.
  • platform/efl/fast/ruby/bopomofo-letter-spacing-expected.txt:
  • platform/efl/fast/ruby/bopomofo-rl-expected.png: Added.
  • platform/efl/fast/ruby/bopomofo-rl-expected.txt:
  • platform/efl/fast/ruby/ruby-beforeafter-expected.png:
  • platform/efl/fast/ruby/ruby-beforeafter-expected.txt:
  • platform/efl/fast/ruby/ruby-length-expected.png:
  • platform/efl/fast/ruby/ruby-length-expected.txt:
  • platform/efl/fast/ruby/ruby-run-break-expected.png:
  • platform/efl/fast/ruby/ruby-run-break-expected.txt:
  • platform/efl/fast/ruby/ruby-runs-expected.png:
  • platform/efl/fast/ruby/ruby-runs-expected.txt:
  • platform/efl/fast/ruby/ruby-runs-spans-expected.png:
  • platform/efl/fast/ruby/ruby-runs-spans-expected.txt:
  • platform/efl/fast/ruby/ruby-trailing-expected.png:
  • platform/efl/fast/ruby/ruby-trailing-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-insert-rt-expected.png:
  • platform/efl/fast/ruby/rubyDOM-insert-rt-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-insert-text1-expected.png:
  • platform/efl/fast/ruby/rubyDOM-insert-text1-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-insert-text2-expected.png:
  • platform/efl/fast/ruby/rubyDOM-insert-text2-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-insert-text3-expected.png:
  • platform/efl/fast/ruby/rubyDOM-insert-text3-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-remove-rt1-expected.png:
  • platform/efl/fast/ruby/rubyDOM-remove-rt1-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-remove-rt2-expected.png:
  • platform/efl/fast/ruby/rubyDOM-remove-rt2-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-remove-text1-expected.png:
  • platform/efl/fast/ruby/rubyDOM-remove-text1-expected.txt:
5:23 PM Changeset in webkit [180026] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

5:21 PM Changeset in webkit [180025] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.6

New tag.

5:04 PM Changeset in webkit [180024] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS Media] Audio should hide timeline scrubber until playback starts
https://bugs.webkit.org/show_bug.cgi?id=141542
<rdar://problem/19820685>

Reviewed by Eric Carlson.

We regressed from the system behaviour in iOS 7, where the timeline
scrubber for an audio element is not shown until the user starts
playback.

  • Modules/mediacontrols/mediaControlsiOS.css:

(video::-webkit-media-controls-panel): Fix the alignment of the flexbox.
(audio::-webkit-media-controls-status-display): Add the style for the status display.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.configureInlineControls): Start hidden if we are an <audio>.
(ControllerIOS.prototype.configureFullScreenControls): Drive by comment change.
(ControllerIOS.prototype.setPlaying): Unhide the timeline.

5:00 PM Changeset in webkit [180023] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed updates to test expectations to reduce failures on Windows bots.

  • platform/win/TestExpectations: Mark a number of time-outs for Media tests.
4:49 PM Changeset in webkit [180022] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash under RemoteLayerTreeDrawingArea::flushLayers() when closing a tab
https://bugs.webkit.org/show_bug.cgi?id=141541

Reviewed by Benjamin Poulain.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
The WebPage pointer can become stale between when it is retrieved
and dereferenced. Retrieve it by ID inside the dispatch_async block
instead of outside of it.

4:13 PM Changeset in webkit [180021] by Beth Dakin
  • 6 edits in trunk/LayoutTests

Re-baselines after http://trac.webkit.org/changeset/180018

  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
3:23 PM Changeset in webkit [180020] by Chris Dumez
  • 11 edits in trunk

Drop the quirks-mode exception for CSS MIME types
https://bugs.webkit.org/show_bug.cgi?id=141501

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Drop the quirks-mode exception for CSS MIME types.
This matches Firefox's behavior.

This patch is based on the following Blink revision:
http://src.chromium.org/viewvc/blink?view=revision&revision=189669

Tests:

  • http/tests/misc/css-accept-any-type.html
  • http/tests/security/cross-origin-css.html
  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::parseAuthorStyleSheet):

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::setCSSStyleSheet):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::sheetText):
(WebCore::CachedCSSStyleSheet::canUseSheet):

  • loader/cache/CachedCSSStyleSheet.h:

LayoutTests:

Update a couple of layout tests now that we dropped the quirks-mode
exception for CSS MIME types.

  • http/tests/misc/css-accept-any-type-expected.txt:
  • http/tests/misc/css-accept-any-type.html:
  • http/tests/security/cross-origin-css-expected.txt:
  • http/tests/security/cross-origin-css.html:
3:10 PM Changeset in webkit [180019] by Brent Fulgham
  • 2 edits in branches/safari-600.5-branch/Tools

Merge r179996 to correct test system failures.

2015-02-12 Brent Fulgham <Brent Fulgham>

[Win] Test bot infrastructure should not try to find/use old Safari DLLs
https://bugs.webkit.org/show_bug.cgi?id=141517

Reviewed by Anders Carlsson.

We do not need to locate or use the DLL's that came with Safari, so stop
failing when we cannot find them. Also remove some old Qt cruft from this
script.

  • BuildSlaveSupport/built-product-archive: (archiveBuiltProduct): (extractBuiltProduct):
3:09 PM Changeset in webkit [180018] by Beth Dakin
  • 3 edits
    2 adds in trunk

REGRESSION: Should not send wheel events with a delta of 0
https://bugs.webkit.org/show_bug.cgi?id=141537
-and corresponding-
rdar://problem/18903118

Reviewed by Simon Fraser.

Source/WebCore:

This code should not have been removed entirely to accommodate rubber-banding, it
just needs to return false instead of true in order to allow the MayBegin and
Ended phases to be handled by the ElasticityController.

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):

LayoutTests:

  • platform/mac-wk2/tiled-drawing/scrolling/wheel-events-with-no-delta-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/wheel-events-with-no-delta.html: Added.
3:08 PM Changeset in webkit [180017] by Lucas Forschler
  • 5 edits in branches/safari-600.1.17-branch/Source

Versioning.

3:07 PM Changeset in webkit [180016] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.17.9

New Tag.

3:07 PM Changeset in webkit [180015] by Brent Fulgham
  • 4 edits in branches/safari-600.5-branch

[Win] Unreviewed branch build fix.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Fix

symbol export definition.

Tools:

  • DumpRenderTree/AccessibilityUIElement.cpp:

(AccessibilityUIElement::setValue): This needs a default body.

2:24 PM Changeset in webkit [180014] by Brent Fulgham
  • 1 edit
    1 add in branches/safari-600.5-branch/Source/JavaScriptCore

Correct merge error from r180011.

(DllMain):

2:20 PM Changeset in webkit [180013] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

[iOS Media] Implement 3-style media timeline (buffered, played, unavailable)
https://bugs.webkit.org/show_bug.cgi?id=141526
<rdar://problem/19603337>

Reviewed by Eric Carlson and Antoine Quint.

Implement a 3-style media scrubber for iOS. This draws white for
the region that has been played (before the playhead), black
for the region that is buffered, and is hollow for the rest.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.updateProgress): Update progress is now completely
shared between OS X and iOS. This calls the implementation specific
drawTimelineBackground.
(Controller.prototype.drawTimelineBackground): Move the OS X code to here.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-timeline): New styles for the timeline. Updated thumb image, etc.
(video::-webkit-media-controls-timeline::-webkit-slider-runnable-track):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb:active):
(video::-webkit-media-controls-time-remaining-display):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS): Create a globally unique canvas context name in the constructor.
(ControllerIOS.prototype.createControls): Set the background of the timeline to a canvas.
(ControllerIOS.prototype.addRoundedRect): Helper function.
(ControllerIOS.prototype.drawTimelineBackground): Draw the 3-style content.
(ControllerIOS.prototype.updateProgress): Deleted.

2:20 PM Changeset in webkit [180012] by benjamin@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Simplify the initialization of BytecodeGenerator a bit
https://bugs.webkit.org/show_bug.cgi?id=141505

Reviewed by Anders Carlsson.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/BytecodeGenerator.h:

Setup the default initialization at the declaration level
instead of the constructor.

Also made m_scopeNode and m_codeType const to make it explicit
that they are invariant after construction.

  • parser/Nodes.cpp:
  • runtime/Executable.cpp:

Remove 2 useless #includes.

2:19 PM Changeset in webkit [180011] by Brent Fulgham
  • 18 edits
    1 add in branches/safari-600.5-branch

Merge r179993. <rdar://problem/19813975>

2015-02-11 Brent Fulgham <Brent Fulgham>

[Win] [64-bit] Work around MSVC2013 Runtime Bug
https://bugs.webkit.org/show_bug.cgi?id=141498
<rdar://problem/19803642>

Reviewed by Anders Carlsson.

Disable FMA3 instruction use in the MSVC math library to
work around a VS2013 runtime crash. We can remove this
workaround when we switch to VS2015.

Source/JavaScriptCore:

  • API/tests/testapi.c: Call _set_FMA3_enable(0) to disable FMA3 support.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Add new files.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
  • JavaScriptCore.vcxproj/JavaScriptCoreDLL.cpp: Added.
  • JavaScriptCore.vcxproj/jsc/DLLLauncherMain.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.
  • jsc.cpp: Ditto.
  • testRegExp.cpp: Ditto.

Source/WebKit/win:

  • WebKitDLL.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj: Add new files.
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto.
  • wtf/win/WTFDLL.cpp: Added.

Tools:

  • DumpRenderTree/cg/ImageDiffCG.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.
  • DumpRenderTree/win/DumpRenderTree.cpp: Ditto.
  • DumpRenderTree/win/ImageDiffCairo.cpp: Ditto.
  • DumpRenderTree/win/TestRunnerWin.cpp: Ditto.
  • Scripts/webkitperl/httpd.pm: Ditto.
  • TestWebKitAPI/win/main.cpp: Ditto.
  • WinLauncher/Common.cpp: Ditto.
  • win/DLLLauncher/DLLLauncherMain.cpp: Ditto.
2:18 PM Changeset in webkit [180010] by benjamin@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Move the generators for GetScope and SkipScope to the common core in DFGSpeculativeJIT
https://bugs.webkit.org/show_bug.cgi?id=141506

Reviewed by Michael Saboff.

The generators for the nodes GetScope and SkipScope were
completely identical between 32 and 64bits.

This patch moves the duplicated code to DFGSpeculativeJIT.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetScope):
(JSC::DFG::SpeculativeJIT::compileSkipScope):

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

1:33 PM Changeset in webkit [180009] by Brent Fulgham
  • 2 edits in branches/safari-600.1.17-branch/Tools

Merge r179996.

2015-02-12 Brent Fulgham <Brent Fulgham>

[Win] Test bot infrastructure should not try to find/use old Safari DLLs
https://bugs.webkit.org/show_bug.cgi?id=141517

Reviewed by Anders Carlsson.

We do not need to locate or use the DLL's that came with Safari, so stop
failing when we cannot find them. Also remove some old Qt cruft from this
script.

  • BuildSlaveSupport/built-product-archive: (archiveBuiltProduct): (extractBuiltProduct):
1:31 PM Changeset in webkit [180008] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

WebKit persistent cache uses a lot of threads
https://bugs.webkit.org/show_bug.cgi?id=141520

Reviewed by Andreas Kling.

Parallel retrieves are limited but stores are not. We may end up with lots of backround io
dispatch queue threads if they don't complete fast enough.

This patch adds pending state for write operations similar to what retrieves already have
and limits to number of active operations.

  • NetworkProcess/cache/NetworkCacheStorage.h:

Combine StoreOperation and UpdateOperation and rename to WriteOperation.
Rename RetrieveOperation to ReadOperation.
The idea is to emphasize that these are disk operations.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::dispatchReadOperation):
(WebKit::NetworkCacheStorage::dispatchPendingReadOperations):
(WebKit::retrieveFromMemory):
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):
(WebKit::NetworkCacheStorage::dispatchPendingWriteOperations):

Only allow 3 parallel writes.

(WebKit::NetworkCacheStorage::dispatchFullWriteOperation):
(WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation):

More informative names.

(WebKit::NetworkCacheStorage::dispatchRetrieveOperation): Deleted.
(WebKit::NetworkCacheStorage::dispatchPendingRetrieveOperations): Deleted.
(WebKit::retrieveActive): Deleted.

1:18 PM Changeset in webkit [180007] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Fix some Mac linker warnings
https://bugs.webkit.org/show_bug.cgi?id=141522

Patch by Daniel Bates <dabates@apple.com> on 2015-02-12
Reviewed by Alex Christensen.

Following <https://trac.webkit.org/changeset/179945>, the linker warns about the following hidden WebCore symbols:

ld: warning: cannot export hidden symbol ZN7WebCore20LogNotYetImplementedE from /.../OpenSource/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/Logging.o
ld: warning: cannot export hidden symbol _wkCreateURLPasteboardFlavorTypeName from /.../OpenSource/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/WebCoreSystemInterface.o
ld: warning: cannot export hidden symbol _wkCreateURLNPasteboardFlavorTypeName from /.../OpenSource/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/WebCoreSystemInterface.o

  • WebCore.exp.in: Remove symbols for functions wkCreateURLPasteboardFlavorTypeName and wkCreateURLNPasteboardFlavorTypeName.
  • platform/Logging.h: Export WTFLogChannel for LogNotYetImplemented, which is referenced from

notImplementedLoggingChannel() in file NotImplemented.cpp. We make use of the associated
header, NotImplemented.h, in both WebKit and WebKit2.

  • platform/mac/WebCoreSystemInterface.mm: Remove declarations for functions

wkCreateURLPasteboardFlavorTypeName and wkCreateURLNPasteboardFlavorTypeName that
were inadvertently not removed in r25494.

1:13 PM Changeset in webkit [180006] by Brent Fulgham
  • 18 edits
    2 adds in branches/safari-600.1.17-branch

Merge r179993. <rdar://problem/19803642>

2015-02-11 Brent Fulgham <Brent Fulgham>

[Win] [64-bit] Work around MSVC2013 Runtime Bug
https://bugs.webkit.org/show_bug.cgi?id=141498
<rdar://problem/19803642>

Reviewed by Anders Carlsson.

Disable FMA3 instruction use in the MSVC math library to
work around a VS2013 runtime crash. We can remove this
workaround when we switch to VS2015.

Source/JavaScriptCore:

  • API/tests/testapi.c: Call _set_FMA3_enable(0) to disable FMA3 support.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Add new files.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
  • JavaScriptCore.vcxproj/JavaScriptCoreDLL.cpp: Added.
  • JavaScriptCore.vcxproj/jsc/DLLLauncherMain.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.
  • jsc.cpp: Ditto.
  • testRegExp.cpp: Ditto.

Source/WebKit/win:

  • WebKitDLL.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj: Add new files.
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto.
  • wtf/win/WTFDLL.cpp: Added.

Tools:

  • DumpRenderTree/cg/ImageDiffCG.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.
  • DumpRenderTree/win/DumpRenderTree.cpp: Ditto.
  • DumpRenderTree/win/ImageDiffCairo.cpp: Ditto.
  • DumpRenderTree/win/TestRunnerWin.cpp: Ditto.
  • TestWebKitAPI/win/main.cpp: Ditto.
  • WinLauncher/Common.cpp: Ditto.
  • win/DLLLauncher/DLLLauncherMain.cpp: Ditto.
12:47 PM Changeset in webkit [180005] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Web Inspector: Crash inspecting styles of element with mutated stylesheet
https://bugs.webkit.org/show_bug.cgi?id=141451

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-12
Reviewed by Timothy Hatcher.

Source/WebCore:

Test: inspector/css/stylesheet-with-mutations.html

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

(WebCore::CSSStyleSheet::CSSStyleSheet):
(WebCore::CSSStyleSheet::didMutateRules):
Keep a flag on the CSSStyleSheet to know when it has had a rule
mutation from the contents.

  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::reparseStyleSheet):
When completely replacing the stylesheet's contents, we will have
destroyed any previous rules, so clear the has mutations flag.

(WebCore::selectorsFromSource):
Previously there was a mismatch between the rules the parsed
SourceData had, and the actual CSSSelectors we were iterating.
We use the SourceData so we can get the exact user authored
text instead of generated longhands from actualy selector objects.
Add an ASSERT and bail to catch and more gracefully handle
any possible mismatches in the future.

(WebCore::InspectorStyleSheet::styleSheetMutated):
(WebCore::InspectorStyleSheet::ensureParsedDataReady):
When a CSSStyleSheet has been mutated beyond the inspector's
knowledge right now, fall back to readonly generated selectors.
We should better handle this in the future:
<https://webkit.org/b/141450> Web Inspector: Better support for CSSOM StyleSheet mutations (insertRule/deleteRule)

LayoutTests:

  • inspector/css/stylesheet-with-mutations-expected.txt: Added.
  • inspector/css/stylesheet-with-mutations.html: Added.

Previously this test would crash, or in debug builds show one
of the two selectors in the rule.

12:30 PM Changeset in webkit [180004] by Brian Burg
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: add keyboard shortcut to enable/disable all breakpoints
https://bugs.webkit.org/show_bug.cgi?id=141527

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel): Bind Command/Control + Y to toggle breakpoints button.

12:00 PM Changeset in webkit [180003] by commit-queue@webkit.org
  • 7 edits
    2 deletes in trunk

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

caused debug tests to fail (Requested by alexchristensen on
#webkit).

Reverted changeset:

"[CSS Grid Layout] Invalid initialization of track sizes with
non spanning grid items"
https://bugs.webkit.org/show_bug.cgi?id=140763
http://trac.webkit.org/changeset/179987

11:57 AM Changeset in webkit [180002] by achristensen@apple.com
  • 1 edit
    1 delete in trunk/Tools

Removed empty directory.

  • WinCELauncher: Removed.
11:00 AM Changeset in webkit [180001] by Brian Burg
  • 17 edits
    2 moves in trunk/Source/WebInspectorUI

Web Inspector: support adding and removing timelines to the timeline sidebar panel and overview
https://bugs.webkit.org/show_bug.cgi?id=138434

Reviewed by Timothy Hatcher.

A timeline recording's timelines should not be static. This patch adds relevant machinery to
dynamically add and remove timelines from the Timeline model object and its various views.

From the model side, this is a simple change that adds TimelineAdded and TimelineRemoved events.
The timeline views and timeline sidebar require more extensive changes to support this functionality.
Instead of keeping a fixed set of timeline tree elements, the sidebar view now adds and removes
tree elements to reflect the available timelines for the displayed timeline recording.

This change also includes several minor cleanups, such as appending 'Element' to view properties that
are DOM elements, and renaming TimelineContentView to TimelineRecordingContentView.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype._loadNewRecording):
Populate predefined network, layout, and script timelines here after constructing the recording.

  • UserInterface/Main.html:
  • UserInterface/Models/Timeline.js:

Move hardcoded class names and localized strings to these base class methods. This is not implemented
using overridden methods because not all timeline types have their own subclasses. Add a dummy
implementation of saveIdentityToCookie() to avoid warnings when saving sidebar panel selection state.

(WebInspector.Timeline.prototype.get type):
(WebInspector.Timeline.prototype.get displayName): Added.
(WebInspector.Timeline.prototype.get iconClassName): Added.
(WebInspector.Timeline.prototype.addRecord):

  • UserInterface/Models/TimelineRecording.js:

(WebInspector.TimelineRecording):
(WebInspector.TimelineRecording.prototype.addTimeline.set timeline): Added.
(WebInspector.TimelineRecording.prototype.addTimeline): Added.
(WebInspector.TimelineRecording.prototype.removeTimeline.get this): Added.
(WebInspector.TimelineRecording.prototype.removeTimeline): Added.

  • UserInterface/Views/ContentView.js:

(WebInspector.ContentView):

  • UserInterface/Views/LayoutTimelineView.css:

(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): Deleted.

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView.prototype._treeElementSelected):
(WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie): Fix error message formatting.
(WebInspector.NavigationSidebarPanel.prototype._updateFilter):

  • UserInterface/Views/NetworkTimelineView.css:

(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle): Deleted.

  • UserInterface/Views/NetworkTimelineView.js:

(WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):

  • UserInterface/Views/ScriptTimelineView.css:

(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): Deleted.

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype._treeElementSelected):
(WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):

  • UserInterface/Views/TimelineOverview.js:

Convert this class to use the representedObject class pattern. It manages its own mapping from timelines
to overview graph views. Append 'Element' to some properties holding DOM elements.
(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.get visibleDuration):
(WebInspector.TimelineOverview.prototype.reset):
(WebInspector.TimelineOverview.prototype.updateLayout):
(WebInspector.TimelineOverview.prototype._handleScrollEvent):
(WebInspector.TimelineOverview.prototype._handleWheelEvent):
(WebInspector.TimelineOverview.prototype._timelineRemoved):
(WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
(WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):

  • UserInterface/Views/TimelineRecordingContentView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/TimelineContentView.css.

Remove hard-coded top offsets and heights that need to be dynamically calculated.
(.content-view.timeline-recording > .timeline-overview):
(.content-view.timeline-recording > .view-container):
(.content-view.timeline-recording > .view-container > .timeline-view > .data-grid td):
(.content-view.timeline-recording > .view-container > .timeline-view > .data-grid table.data):

  • UserInterface/Views/TimelineRecordingContentView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/TimelineContentView.js.

Manage timeline views and path components dynamically. Adjust view heights as necessary. Append 'Element'
to some properties holding DOM elements.
(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype.showOverviewTimelineView):
(WebInspector.TimelineRecordingContentView.prototype.showTimelineViewForTimeline):
(WebInspector.TimelineRecordingContentView.prototype.get allowedNavigationSidebarPanels):
(WebInspector.TimelineRecordingContentView.prototype.get supportsSplitContentBrowser):
(WebInspector.TimelineRecordingContentView.prototype.get navigationItems):
(WebInspector.TimelineRecordingContentView.prototype.get currentTimelineView):
(WebInspector.TimelineRecordingContentView.prototype.shown):
(WebInspector.TimelineRecordingContentView.prototype.hidden):
(WebInspector.TimelineRecordingContentView.prototype.filterDidChange):
(WebInspector.TimelineRecordingContentView.prototype.updateLayout):
(WebInspector.TimelineRecordingContentView.prototype.saveToCookie):
(WebInspector.TimelineRecordingContentView.prototype.restoreFromCookie):
(WebInspector.TimelineRecordingContentView.prototype.get matchTreeElementAgainstCustomFilters.checkTimeBounds):
(WebInspector.TimelineRecordingContentView.prototype.get matchTreeElementAgainstCustomFilters):
(WebInspector.TimelineRecordingContentView.prototype._pathComponentSelected):
(WebInspector.TimelineRecordingContentView.prototype._timelineViewSelectionPathComponentsDidChange):
(WebInspector.TimelineRecordingContentView.prototype._showTimelineView):
(WebInspector.TimelineRecordingContentView.prototype._update):
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
(WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
(WebInspector.TimelineRecordingContentView.prototype._stopUpdatingCurrentTime):
(WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
(WebInspector.TimelineRecordingContentView.prototype._capturingStopped):
(WebInspector.TimelineRecordingContentView.prototype._debuggerPaused):
(WebInspector.TimelineRecordingContentView.prototype._debuggerResumed):
Fix a minor regression where we make a useless call to stop updating the time.

(WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
(WebInspector.TimelineRecordingContentView.prototype._clearTimeline):
(WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
(WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
(WebInspector.TimelineRecordingContentView.prototype._recordingReset):
(WebInspector.TimelineRecordingContentView.prototype._recordingUnloaded):
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):

  • UserInterface/Views/TimelineSidebarPanel.css:

(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content):
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content): Deleted.

  • UserInterface/Views/TimelineSidebarPanel.js:

Manage timeline tree elements dynamically. Adjust view heights as necessary. Append 'Element'
to some properties holding DOM elements. Keep track of the displayed recording and view explicitly.
(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.shown):
(WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looselyCompareRepresentedObjects):
(WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview):
(WebInspector.TimelineSidebarPanel.prototype.updateFilter):
(WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
(WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie):
(WebInspector.TimelineSidebarPanel.prototype.get if):
(WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
(WebInspector.TimelineSidebarPanel.prototype._recordingCountChanged):
(WebInspector.TimelineSidebarPanel.prototype._recordingSelected):
(WebInspector.TimelineSidebarPanel.prototype._recordingLoaded):
(WebInspector.TimelineSidebarPanel.prototype._timelineRemoved):
(WebInspector.TimelineSidebarPanel.prototype._timelineCountChanged):
(WebInspector.TimelineSidebarPanel.createTimelineTreeElement): Deleted.
(WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie):

  • UserInterface/Views/TimelineView.css:

(.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
(.panel.navigation.timeline.timeline-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.

10:50 AM Changeset in webkit [180000] by rniwa@webkit.org
  • 7 edits in trunk/Websites/perf.webkit.org

Perf dashboard should show the results of A/B testing
https://bugs.webkit.org/show_bug.cgi?id=141500

Reviewed by Chris Dumez.

Added the support for fetching test_runs for a specific test group in /api/runs/, and used it in the
analysis task page to fetch results for each test group.

Merged App.createChartData into App.Manifest.fetchRunsWithPlatformAndMetric so that App.BuildRequest
can use the formatter.

  • public/api/runs.php:

(fetch_runs_for_config_and_test_group): Added.
(fetch_runs_for_config): Just return the fetched rows since main will format them with RunsGenerator.
(main): Use fetch_runs_for_config_and_test_group to fetch rows when a test group id is specified. Also
use RunsGenerator to format results.
(RunsGenerator): Added.
(RunsGenerator::construct): Added.
(RunsGenerator::add_runs): Added.
(RunsGenerator::format_run): Moved.
(RunsGenerator::parse_revisions_array): Moved.

  • public/v2/analysis.js:

(App.TestGroup): Fixed a typo. The property on a test group that refers to an analysis task is "task".
(App.TestGroup._fetchChartData): Added. Fetches all A/B testing results for this group.
(App.BuildRequest.configLetter): Renamed from config since this returns a letter that identifies the
configuration associated with this build request such as "A" and "B".
(App.BuildRequest.statusLabel): Added the missing label for failed build requests.
(App.BuildRequest.url): Added. Returns the URL associated with this build request.
(App.BuildRequest._meanFetched): Added. Retrieve the mean and the build number for this request via
_fetchChartData.

  • public/v2/app.js:

(App.Pane._fetch): Set chartData directly here.
(App.Pane._updateMovingAverageAndEnvelope): Renamed from _computeChartData. No longer sets chartData
now that it's done in App.Pane._fetch.
(App.AnalysisTaskController._fetchedRuns): Updated per createChartData merge.

  • public/v2/data.js:

(Measurement.prototype.buildId): Added.
(TimeSeries.prototype.findPointByBuild): Added.

  • public/v2/index.html: Fixed a bug that build status URL was broken. We can't use link-to helper since

url is not an Ember routed path.

  • public/v2/manifest.js:

(App.Manifest.fetchRunsWithPlatformAndMetric): Takes testGroupId as the third argument. Merged
App.createChartData here so that App.BuildRequest can use the formatter

10:42 AM Changeset in webkit [179999] by Brian Burg
  • 9 edits in trunk/Source/WebInspectorUI

Web Inspector: Large background image fails to load in inspector
https://bugs.webkit.org/show_bug.cgi?id=141405

Reviewed by Timothy Hatcher.

Convert base64-encoded resource data to binary data using Uint8Array and Blobs.
Use object URLs for blobs instead of data URLs when setting image 'src' attribute
and in @font-face urls. This conversion happens when the backend indicates that
resource content is base64-encoded.

Update image and font clients of resource-fetching functionality so that they use
object URLs correctly. Add some plumbing so that Blobs can be constructed with
the correct mime-type.

  • UserInterface/Base/Utilities.js:

(decodeBase64ToBlob): Added.

  • UserInterface/Models/CSSStyleSheet.js:

(WebInspector.CSSStyleSheet.prototype.get mimeType): Added.

  • UserInterface/Models/Resource.js:

(WebInspector.Resource.prototype.createObjectURL): Added.
(WebInspector.Resource.prototype.getImageSize.imageDidLoad):
(WebInspector.Resource.prototype.getImageSize):
(WebInspector.Resource.prototype.get contentURL): Deleted.

  • UserInterface/Models/Script.js:

(WebInspector.Script.prototype.get mimeType): Added.

  • UserInterface/Models/SourceCode.js:

(WebInspector.SourceCode.prototype.get mimeType): Added.
(WebInspector.SourceCode.prototype._processContent):
(WebInspector.SourceCode.prototype.get contentIsBase64Encoded): Deleted.

  • UserInterface/Models/SourceCodeRevision.js:

(WebInspector.SourceCodeRevision):
(WebInspector.SourceCodeRevision.prototype.copy):
(WebInspector.SourceCodeRevision.prototype.get contentIsBase64Encoded): Deleted.
(WebInspector.SourceCodeRevision.prototype.set contentIsBase64Encoded): Deleted.

  • UserInterface/Views/FontResourceContentView.js:

(WebInspector.FontResourceContentView.prototype.hidden):
(WebInspector.FontResourceContentView.prototype.closed):

  • UserInterface/Views/ImageResourceContentView.js:

(WebInspector.ImageResourceContentView.prototype.contentAvailable):

10:35 AM Changeset in webkit [179998] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests --remote should be able add the necessary libraries to the bundle on Linux
https://bugs.webkit.org/show_bug.cgi?id=141202

Reviewed by Darin Adler.

  • Scripts/run-jsc-stress-tests:
10:21 AM Changeset in webkit [179997] by Brian Burg
  • 2 edits in trunk/Source/WebCore

REGRESSION(r178060): empty arguments are passed when logging to system console
https://bugs.webkit.org/show_bug.cgi?id=141511

Reviewed by Timothy Hatcher.

  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::messageWithTypeAndLevel): Change premature move to copyRef.

9:48 AM Changeset in webkit [179996] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Test bot infrastructure should not try to find/use old Safari DLLs
https://bugs.webkit.org/show_bug.cgi?id=141517

Reviewed by Anders Carlsson.

We do not need to locate or use the DLL's that came with Safari, so stop
failing when we cannot find them. Also remove some old Qt cruft from this
script.

  • BuildSlaveSupport/built-product-archive:

(archiveBuiltProduct):
(extractBuiltProduct):

9:44 AM Changeset in webkit [179995] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

<rdar://problem/17889529> CrashTracer: [USER] com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::SharedBuffer::createPurgeableBuffer const + 14

Reviewed by NOBODY (OOPS!).

Speculative fix for the above crash. The current theory is that a timer is being fired for a
CachedResource that has been freed. Add a marker field in CachedResource to do an early
return from CachedResource::makePurgeable() when this happens.

No new tests because I can't reproduce the crash.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::~CachedResource):
(WebCore::CachedResource::makePurgeable):

  • loader/cache/CachedResource.h:
9:37 AM Changeset in webkit [179994] by matthew_hanson@apple.com
  • 7 edits
    2 adds in branches/safari-600.5-branch

Merge r179883. rdar://problem/19790645

9:30 AM WebKitGTK/Eclipse edited by clopez@igalia.com
(diff)
9:20 AM Changeset in webkit [179993] by Brent Fulgham
  • 19 edits
    2 adds in trunk

[Win] [64-bit] Work around MSVC2013 Runtime Bug
https://bugs.webkit.org/show_bug.cgi?id=141498
<rdar://problem/19803642>

Reviewed by Anders Carlsson.

Disable FMA3 instruction use in the MSVC math library to
work around a VS2013 runtime crash. We can remove this
workaround when we switch to VS2015.

Source/JavaScriptCore:

  • API/tests/testapi.c: Call _set_FMA3_enable(0) to disable

FMA3 support.

to disable FMA3 support.

  • jsc.cpp: Ditto.
  • testRegExp.cpp: Ditto.

Source/WebKit/win:

  • WebKitDLL.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj: Add new files.
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto.
  • wtf/win/WTFDLL.cpp: Added.

Tools:

  • DumpRenderTree/cg/ImageDiffCG.cpp: Call _set_FMA3_enable(0) to

disable FMA3 support.

  • DumpRenderTree/win/DumpRenderTree.cpp: Ditto.
  • DumpRenderTree/win/ImageDiffCairo.cpp: Ditto.
  • DumpRenderTree/win/TestRunnerWin.cpp: Ditto.
  • Scripts/webkitperl/httpd.pm: Ditto.
  • TestWebKitAPI/win/main.cpp: Ditto.
  • WinLauncher/Common.cpp: Ditto.
  • win/DLLLauncher/DLLLauncherMain.cpp: Ditto.
9:12 AM Changeset in webkit [179992] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit

Merge r178470. rdar://problem/19739095

9:12 AM WebKitGTK/Eclipse edited by clopez@igalia.com
(diff)
8:48 AM Changeset in webkit [179991] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed debug build fix after r179980.

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::currentViewportSize):
Explicitly call constructor.

8:35 AM Changeset in webkit [179990] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Two tests have been failing since r148090.

  • platform/efl/TestExpectations: Skip 2 failure tests.
8:32 AM Changeset in webkit [179989] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

v2 UI should adjust the number of ticks on dashboards based on screen size
https://bugs.webkit.org/show_bug.cgi?id=141502

Reviewed by Chris Dumez.

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._updateDimensionsIfNeeded): Compute the number of ticks based on the
content size.

8:25 AM Changeset in webkit [179988] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening.

  • platform/efl/TestExpectations: Mark two tests failing since r177664.
8:14 AM Changeset in webkit [179987] by svillar@igalia.com
  • 7 edits
    2 adds in trunk

[CSS Grid Layout] Invalid initialization of track sizes with non spanning grid items
https://bugs.webkit.org/show_bug.cgi?id=140763

Reviewed by Antti Koivisto.

Source/WebCore:

Content sized tracks with non-spanning grid items were not
properly sized because the growth limit was sometimes infinity
(-1) after calling resolveContentBasedTrackSizingFunctions() when
it should not. This patch adds an special initialization phase for
non-spanning grid items as the new track sizing algorithm
describes.

Granted, that was handled in the old algorithm in
distributeSpaceToTracks() as a special case. The problem is that
it regressed after the optimization added in r173868 because that
method is no longer called when the space to distribute is 0.

That's why we could fix this by allowing calls to
distributeSpaceToTracks() with spaceToDistribute>=0 but by fixing
it with an explicit initialization our implementation becomes
closer to the new algorithm and the initialization is now explicit
in the code instead of a side effect of calling
distributeSpaceToTracks() with no space to be distributed. It also
brings a slight performance improvement as we save sorts and hash
lookups.

I also took the change to add caching to several GridTrackSize
methods that were hot on the profiler (each one accounted for ~1%
of the total time, now they account for ~0.3% each).

Test: fast/css-grid-layout/grid-initialize-span-one-items.html

  • rendering/RenderGrid.cpp:

(WebCore::GridItemWithSpan::span): New helper method for ASSERTs.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
Exclude non spanning grid items from the calls to
resolveContentBasedTrackSizingFunctionsForItems().
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems):
New method to resolve track sizes only using non-spanning grid
items.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
Ensure that it isn't called for non-spanning grid items.

  • rendering/RenderGrid.h:
  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::GridTrackSize): Cache return values.
(WebCore::GridTrackSize::setLength): Ditto.
(WebCore::GridTrackSize::setMinMax): Ditto.
(WebCore::GridTrackSize::cacheMinMaxTrackBreadthTypes): New method
that caches the return values for hasXXXTrackBreadth() methods.
(WebCore::GridTrackSize::hasMinOrMaxContentMinTrackBreadth): Use
the cached return value.
(WebCore::GridTrackSize::hasMaxContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinOrMaxContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMinTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMinTrackBreadthAndMinOrMaxContentMaxTrackBreadth):
Ditto.
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadthAndMaxContentMaxTrackBreadth):
Ditto.

LayoutTests:

  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:
  • fast/css-grid-layout/grid-initialize-span-one-items-expected.txt: Added.
  • fast/css-grid-layout/grid-initialize-span-one-items.html: Added.
8:08 AM Changeset in webkit [179986] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

run-jsc-stress-tests should accept remote host config from JSON file
https://bugs.webkit.org/show_bug.cgi?id=141509

Reviewed by Michael Saboff.

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests):

  • Scripts/run-jsc-stress-tests:
8:04 AM HackingWebInspector edited by Brian Burg
(diff)
6:25 AM Changeset in webkit [179985] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Remove the USE(ACCELERATED_COMPOSITING) guard from the
MediaPlayerPrivateGStreamerBase destructor.

The guard was removed in r163079. It was still defined through CMake
for the EFL and GTK ports when the guarded code was introduced in
r172828. In r171741 the macro was finally removed for the GTK and EFL
ports as well, but the guards for the affected code weren't updated
so TextureMapperPlatformLayer::Client::platformLayerWillBeDestroyed()
wasn't being called anymore.

Rubber-stamped by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):

5:54 AM WebKitGTK edited by clopez@igalia.com
(diff)
5:49 AM WebKitGTK/Eclipse edited by eocanha@igalia.com
(diff)
5:41 AM WebKitGTK/Eclipse created by clopez@igalia.com
5:11 AM WebKitGTK/Roadmap edited by tpopela@redhat.com
(diff)
3:29 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
2:48 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
12:50 AM Changeset in webkit [179984] by Carlos Garcia Campos
  • 12 edits
    5 adds in trunk

[GTK] Add API to allow overriding the default color chooser implementation
https://bugs.webkit.org/show_bug.cgi?id=98935

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add API to allow the user to override the default UI of color
chooser. Similar to the file chooser API, a new run-color-chooser
signal is added to WebKitWebView that passes a WebKitColorChooserRequest
parameter to the signal.

Initial patch by Arnaud Renevier <a.renevier@sisa.samsung.com>.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::createColorPicker): Create a
WebKitColorChooser is the view widget is a WebKitWebView or a
WebColorPicker otherwise,

  • UIProcess/API/gtk/WebKitColorChooser.cpp: Added.

(WebKit::WebKitColorChooser::create):
(WebKit::WebKitColorChooser::WebKitColorChooser):
(WebKit::WebKitColorChooser::~WebKitColorChooser):
(WebKit::WebKitColorChooser::endPicker): Chain up to parent class
when not having a request, or finish the request if we have one.
(WebKit::WebKitColorChooser::colorChooserRequestFinished):
(WebKit::WebKitColorChooser::colorChooserRequestRGBAChanged):
(WebKit::WebKitColorChooser::showColorPicker): Create a new
WebKitColorChooserRequest and emit WebKitWebView::run-color-chooser.
If the signal is not handled, fallback to the default color
chooser dialog implemented by the parent class.

  • UIProcess/API/gtk/WebKitColorChooser.h: Added.
  • UIProcess/API/gtk/WebKitColorChooserRequest.cpp: Added.

(webkitColorChooserRequestGetProperty):
(webkitColorChooserRequestSetProperty):
(webkit_color_chooser_request_class_init):
(webkit_color_chooser_request_set_rgba):
(webkit_color_chooser_request_get_rgba):
(webkit_color_chooser_request_get_element_rectangle):
(webkit_color_chooser_request_finish):
(webkit_color_chooser_request_cancel):
(webkitColorChooserRequestCreate):

  • UIProcess/API/gtk/WebKitColorChooserRequest.h: Added.
  • UIProcess/API/gtk/WebKitColorChooserRequestPrivate.h: Added.
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_class_init): Add run-color-chooser signal.
(webkitWebViewEmitRunColorChooser): Emit run-color-chooser signal.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for WebKitColorChooserRequest.
  • UIProcess/API/gtk/webkit2.h: Include WebKitColorChooserRequest.h

Tools:

Add a color chooser implementation for MiniBrowser using
GtkPopover when the GTK+ version is recent enough.
And a test case to check the new color chooser API.

  • MiniBrowser/gtk/BrowserWindow.c:

(colorChooserRGBAChanged):
(popoverColorClosed):
(colorChooserRequestFinished):
(runColorChooserCallback):
(browserWindowConstructed):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:

(testWebViewColorChooserRequest):
(beforeAll):

Feb 11, 2015:

11:08 PM Changeset in webkit [179983] by Chris Fleizach
  • 2 edits
    1 move in trunk/LayoutTests

AX: Undeprecate ios-simulator accessibility tests
https://bugs.webkit.org/show_bug.cgi?id=141407

Reviewed by Daniel Bates.

Undeprecate ios accessibility tests.
Modified one failing test (svg-group-element-with-title.html) slightly to get it to pass.

  • platform/ios-sim-deprecated/accessibility: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-aria-table-children-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-aria-table-children.html: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-crash-in-axcontainer-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-crash-in-axcontainer.html: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-hint-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-hint.html: Removed.
  • platform/ios-sim-deprecated/accessibility/aria-label-with-internal-text-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/aria-label-with-internal-text.html: Removed.
  • platform/ios-sim-deprecated/accessibility/aria-pressed-state-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/aria-pressed-state.html: Removed.
  • platform/ios-sim-deprecated/accessibility/centerpoint-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/centerpoint.html: Removed.
  • platform/ios-sim-deprecated/accessibility/disabled-states-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/disabled-states.html: Removed.
  • platform/ios-sim-deprecated/accessibility/dom-focus-fires-on-correct-element-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/dom-focus-fires-on-correct-element.html: Removed.
  • platform/ios-sim-deprecated/accessibility/element-paths-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/element-paths.html: Removed.
  • platform/ios-sim-deprecated/accessibility/file-upload-button-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/file-upload-button.html: Removed.
  • platform/ios-sim-deprecated/accessibility/focus-change-notifications-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/focus-change-notifications.html: Removed.
  • platform/ios-sim-deprecated/accessibility/header-elements-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/header-elements.html: Removed.
  • platform/ios-sim-deprecated/accessibility/identifier-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/identifier.html: Removed.
  • platform/ios-sim-deprecated/accessibility/internal-link-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/internal-link.html: Removed.
  • platform/ios-sim-deprecated/accessibility/landmark-type-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/landmark-type.html: Removed.
  • platform/ios-sim-deprecated/accessibility/link-with-images-text-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/link-with-images-text.html: Removed.
  • platform/ios-sim-deprecated/accessibility/link-with-only-image-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/link-with-only-image.html: Removed.
  • platform/ios-sim-deprecated/accessibility/math-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/math.html: Removed.
  • platform/ios-sim-deprecated/accessibility/mixed-checkboxes-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/mixed-checkboxes.html: Removed.
  • platform/ios-sim-deprecated/accessibility/no-child-link-header-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/no-child-link-header.html: Removed.
  • platform/ios-sim-deprecated/accessibility/non-contiguous-link-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/non-contiguous-link.html: Removed.
  • platform/ios-sim-deprecated/accessibility/out-of-bounds-child-access-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/out-of-bounds-child-access.html: Removed.
  • platform/ios-sim-deprecated/accessibility/password-value-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/password-value.html: Removed.
  • platform/ios-sim-deprecated/accessibility/placeholder-value-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/placeholder-value.html: Removed.
  • platform/ios-sim-deprecated/accessibility/popup-button-value-label-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/popup-button-value-label.html: Removed.
  • platform/ios-sim-deprecated/accessibility/progressbar-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/progressbar.html: Removed.
  • platform/ios-sim-deprecated/accessibility/radio-button-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/radio-button.html: Removed.
  • platform/ios-sim-deprecated/accessibility/secure-text-field-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/secure-text-field.html: Removed.
  • platform/ios-sim-deprecated/accessibility/selected-buttons-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/selected-buttons.html: Removed.
  • platform/ios-sim-deprecated/accessibility/selected-text-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/selected-text.html: Removed.
  • platform/ios-sim-deprecated/accessibility/svg-group-element-with-title-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/svg-group-element-with-title.html: Removed.
  • platform/ios-sim-deprecated/accessibility/svg-path-crash-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/svg-path-crash.html: Removed.
  • platform/ios-sim-deprecated/accessibility/tab-role-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/tab-role.html: Removed.
  • platform/ios-sim-deprecated/accessibility/table-cell-for-row-col-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/table-cell-for-row-col.html: Removed.
  • platform/ios-sim-deprecated/accessibility/table-cell-ranges-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/table-cell-ranges.html: Removed.
  • platform/ios-sim-deprecated/accessibility/table-with-mismatch-column-count-in-initial-section-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/tables-lists-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/tables-lists.html: Removed.
  • platform/ios-sim-deprecated/accessibility/text-line-no-ignored-elements-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/text-line-no-ignored-elements.html: Removed.
  • platform/ios-sim-deprecated/accessibility/text-marker-list-item-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/text-marker-list-item.html: Removed.
  • platform/ios-sim-deprecated/accessibility/text-marker-validation-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/text-marker-validation.html: Removed.
  • platform/ios-sim-deprecated/accessibility/text-role-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/text-role.html: Removed.
  • platform/ios-sim-deprecated/accessibility/textfield-in-axvalue-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/textfield-in-axvalue.html: Removed.
  • platform/ios-sim-deprecated/accessibility/toggle-button-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/toggle-button.html: Removed.
  • platform/ios-sim-deprecated/accessibility/url-test-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/url-test.html: Removed.
  • platform/ios-simulator/accessibility: Copied from LayoutTests/platform/ios-sim-deprecated/accessibility.
  • platform/ios-simulator/accessibility/svg-group-element-with-title.html:
9:09 PM Changeset in webkit [179982] by Darin Adler
  • 22 edits in trunk/Source/WebCore

Streamline and simplify SVGSVGElement and related classes
https://bugs.webkit.org/show_bug.cgi?id=141463

Reviewed by Antti Koivisto.

  • dom/Document.cpp: Removed unneeded include of SVGSVGElement.h.
  • loader/FrameLoader.cpp: Ditto.
  • rendering/RenderBoxModelObject.cpp: Ditto.
  • rendering/svg/RenderSVGForeignObject.cpp: Ditto.
  • svg/SVGImageElement.cpp: Ditto.
  • svg/SVGMarkerElement.cpp: Ditto.
  • svg/SVGPathElement.cpp: Ditto.
  • svg/SVGPatternElement.cpp: Ditto.
  • svg/SVGTransform.cpp: Ditto.
  • page/FrameView.cpp:

(WebCore::FrameView::scrollToAnchor): Updated to call the SVGSVGElement function
named scrollToAnchor (was setupInitialView). Also refactored to avoid repeating
the expression frame().document() so often.

  • platform/graphics/FloatSize.h: Added operator/.
  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::rootElement): Rearranged to use early return.
(WebCore::SVGDocument::zoomAndPanEnabled): Ditto.
(WebCore::SVGDocument::startPan): Ditto. Also used FloatPoint math instead
of breaking things apart into x and y.
(WebCore::SVGDocument::updatePan): Ditto.

  • svg/SVGDocument.h: Removed some unneeded includes and forward declarations.

Moved function bodies out of the class to make it more readable. Renamed
m_translate to m_panningOffset and made it a FloatSize instead of FloatPoint.

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::startAnimations): Use a modern for loop
and update since timeContainer() now returns a reference.

  • svg/SVGSVGElement.cpp: Removed many unneeded includes.

(WebCore::SVGSVGElement::SVGSVGElement): Moved initialization of scalars to
the class definition. Updated since m_timerContainer is a Ref (later should
change it to be a std::unique_ptr or just directly contained in SVGSVGElement).
(WebCore::SVGSVGElement::~SVGSVGElement): Removed comment that doesn't say much,
but is worded in a confusing way.
(WebCore::SVGSVGElement::contentScriptType): Use NeverDestroyed instead of
DEPRECATED_DEFINE_STATIC_LOCAL.
(WebCore::SVGSVGElement::contentStyleType): Ditto.
(WebCore::SVGSVGElement::viewport): Streamlined a bit.
(WebCore::SVGSVGElement::pixelUnitToMillimeterX): Ditto.
(WebCore::SVGSVGElement::pixelUnitToMillimeterY): Ditto.
(WebCore::SVGSVGElement::currentView): Changed to return a reference.
(WebCore::SVGSVGElement::frameForCurrentScale): Added. Helper for the two
functions below.
(WebCore::SVGSVGElement::currentScale): Updated to use frameForCurrentScale.
(WebCore::SVGSVGElement::setCurrentScale): Ditto.
(WebCore::SVGSVGElement::setCurrentTranslate): Optimized the case where there
is no change to the translation. Also changed the data member's name to
m_currentTranslate to more directly match the DOM API naming.
(WebCore::SVGSVGElement::parseAttribute): Simplified the parsing a bit, and
changed to pass a reference to SVGZoomAndPan::parseAttribute.
(WebCore::SVGSVGElement::svgAttributeChanged): Tweaked formatting and removed
code that converts the renderer pointer to a RenderObject* unnecessarily.
(WebCore::SVGSVGElement::suspendRedraw): Removed FIXME about implementing this,
since we don't really plan to do that.
(WebCore::SVGSVGElement::unsuspendRedraw): Ditto.
(WebCore::SVGSVGElement::unsuspendRedrawAll): Ditto.
(WebCore::SVGSVGElement::forceRedraw): Ditto.
(WebCore::SVGSVGElement::collectIntersectionOrEnclosureList): Changed return
type to Ref, and pass in a function instead of an enumeration value.
(WebCore::SVGSVGElement::getIntersectionList): Updated for above.
(WebCore::SVGSVGElement::getEnclosureList): Ditto.
(WebCore::SVGSVGElement::checkIntersection): Use && instead of early return
for the null check.
(WebCore::SVGSVGElement::checkEnclosure): Ditto.
(WebCore::SVGSVGElement::createSVGLength): Use initialization list syntax
for greater brevity.
(WebCore::SVGSVGElement::createSVGAngle): Ditto.
(WebCore::SVGSVGElement::createSVGPoint): Ditto.
(WebCore::SVGSVGElement::createSVGMatrix): Ditto.
(WebCore::SVGSVGElement::createSVGRect): Ditto.
(WebCore::SVGSVGElement::createSVGTransform): Removed unneeded explicit
constructor invocation.
(WebCore::SVGSVGElement::createSVGTransformFromMatrix): Removed unneeded cast.
(WebCore::SVGSVGElement::insertedInto): Updated since timeContainer() now
returns a reference.
(WebCore::SVGSVGElement::setCurrentTime): Use isfinite instead of isnan, so
we won't store infinity as the current time.
(WebCore::SVGSVGElement::currentViewBoxRect): Renamed locals and changed
to use initializer lists for brevity.
(WebCore::SVGSVGElement::currentViewportSize): Streamlined code by using
initializer lists, using local variables only for things used more than once,
and using the / operator defined above.
(WebCore::SVGSVGElement::viewBoxToViewTransform): Use the concatenate function
in a way that is more straightforward, rather than doing it with a temporary.
(WebCore::SVGSVGElement::scrollToAnchor): Renamed this from
setupInitialView.
(WebCore::SVGSVGElement::inheritViewAttributes): Changed this to work with
references rather than pointers.
(WebCore::SVGSVGElement::getElementById): Use getAllElementsById as the
FIXME comment suggested for better efficiency when there are a lot of descendants
of the <svg> element at the cost of making it less efficient if there are
a lot of elements all with the desired ID, but not inside the <svg> element.
(WebCore::SVGSVGElement::isValid): Moved here from the header.

  • svg/SVGSVGElement.h: Removed unneeded forward declarations. Moved the

animated properties to the top of the file, then other DOM, the other
public members. Changed return types to references and Ref. Moved
function bodies out of the class definition. Made createSVGNumber inline.

  • svg/SVGViewElement.cpp: Removed unneeded includes.

(WebCore::SVGViewElement::isSupportedAttribute): Deleted.
(WebCore::SVGViewElement::parseAttribute): Changed to not rely on
isSupportedAttribute. Eventually I will do this in all the SVG classes.

  • svg/SVGViewSpec.cpp: Removed unneeded include of SVGSVGElement.h.

(WebCore::SVGViewSpec::parseViewSpec): Updated for change in the name
of the parse function in the SVGZoomAndPan class.

  • svg/SVGZoomAndPan.cpp:

(WebCore::SVGZoomAndPan::isKnownAttribute): Deleted.
(WebCore::SVGZoomAndPan::addSupportedAttributes): Deleted.
(WebCore::SVGZoomAndPan::parse): Renamed from parseZoomAndPan since
this is a member of the SVGZoomAndPan class and also has an argument
of SVGZoomAndPanType.
(WebCore::SVGZoomAndPan::parseAttributeValue): Added. Helper so the
template function is not so big. Also write it in a simpler way.
(WebCore::SVGZoomAndPan::ref): Deleted.
(WebCore::SVGZoomAndPan::deref): Deleted.
(WebCore::SVGZoomAndPan::setZoomAndPan): Deleted.

  • svg/SVGZoomAndPan.h: Removed unneeded includes. Reformatted the enum.

Moved function bodies out of the class definition. Removed many unneeded
functions.

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::insertedInto): Updated since timeContainer
now returns a reference rather than a pointer.

8:37 PM Changeset in webkit [179981] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardenging. Need to mark pointer/hover media query tests as failure.
These tests have been failed since r179055.

  • platform/efl/TestExpectations:
7:53 PM Changeset in webkit [179980] by Darin Adler
  • 18 edits
    2 adds
    10 deletes in trunk

SVGUseElement follow-up improvements
https://bugs.webkit.org/show_bug.cgi?id=141382

Reviewed by Antti Koivisto.

Source/WebCore:

  • loader/cache/CachedSVGDocumentClient.h: Removed unneeded forward declaration.
  • page/EventHandler.cpp: Removed unneeded include of SVGUseElement.h.
  • rendering/svg/RenderSVGViewportContainer.cpp: Ditto.
  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::clearTargetDependencies): Removed too-specific
check that assumed that SVG elements in shadow trees are always for <use> elements.
This amounted to an unneeded optimization that could be removed with no bad effect.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::correspondingElement): Removed the assertions so this could
be used more freely outside of cases where the shadow tree state is fully consistent.
It's fine to have this just be a mechanical getter; there's nothing super-tricky
here that needs to be caught by the assertion.
(WebCore::SVGElement::title): Removed unneeded special handling for titles inside
the shadow tree.

  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::create): Added an overload that doesn't require explicitly
passing in the tag name.

  • svg/SVGGElement.h: Ditto.
  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::create): Ditto.

  • svg/SVGSVGElement.h: Ditto.
  • svg/SVGUseElement.cpp: Removed a lot of unneeded includes.

(WebCore::SVGUseElement::SVGUseElement): Removed code to initialize some booleans.
We do that in the class definition now.
(WebCore::SVGUseElement::create): Removed the code that calls the
ensureUserAgentShadowRoot function unconditionally. That's properly done when
needed; no need to do it here.
(WebCore::SVGUseElement::~SVGUseElement): Removed unneeded code to destroy the
shadow tree (that happens automatically) and simplified the code to stop loading
the external document.
(WebCore::SVGUseElement::isSupportedAttribute): Deleted.
(WebCore::SVGUseElement::parseAttribute): Simplified this. Removed assumptions
about the intersection of various sets of attributes, and also removed the
isSupportedAttribute function. This seems to serve no purpose here, or in any
other SVG element class. I plan to remove it everywhere over time.
(WebCore::isWellFormedDocument): Deleted.
(WebCore::SVGUseElement::insertedInto): Simplified code by removing all the
special cases during initial parsing, and did the invalidation here rather than
deferring it to didNotifySubtreeInsertions. Added a call to the new function,
updateExternalDocument, since that won't do anything when the element is not
in a document.
(WebCore::SVGUseElement::didNotifySubtreeInsertions): Deleted.
(WebCore::SVGUseElement::removedFrom): Added code to call clearShadowTree and
updateExternalDocument. Both are efficient when doing nothing, and both are
appropriate since the element is no longer in a document.
(WebCore::SVGUseElement::referencedDocument): Deleted. No longer needed.
(WebCore::SVGUseElement::externalDocument): Streamlined the logic here, removing
multiple unneeded checks.
(WebCore::SVGUseElement::transferSizeAttributesToTargetClone): Renamed since
"target clone" is clear enough within this class, without explicitly stating
"shadow tree". All the clones are in the shadow tree.
(WebCore::SVGUseElement::svgAttributeChanged): Removed unneeded code calling
isSupportedAttribute. Changed the code that detects changes in href to just
call updateExternalDocument (for the document URL) and invalidateShadowTree
(for the fragment). Also updated the transferSizeAttributesToTargetClone logic
to only trigger on width and height and updated names.
(WebCore::SVGUseElement::willAttachRenderers): Updated for the new name of
m_shouldRebuildShadowTree and added a call through to the base class.
(WebCore::createAllowedElementSet): Added. A more efficient way to implement
the initialization of the set for isDisallowedElement.
(WebCore::isDisallowedElement): Simplified this by using the function above,
and also overloaded for both SVGElement and Element for a tiny efficiency boost.
(WebCore::SVGUseElement::clearShadowTree): Renamed form clearResourceReferences.
This is a much more straightforward name. Also deleted the code that sets the
m_needsShadowTreeRecreation flag to false. That should be done by the build
function, not here.
(WebCore::SVGUseElement::buildPendingResource): Made this just invalidate the
shadow tree now instead of explicitly building it.
(WebCore::SVGUseElement::updateShadowTree): Moved the code to create a shadow
tree here from buildPendingResource. ALso changed the logic so that we
always blow away the old shadow tree. Moved the comment about rebuilding things
every time here. Updated the code to use the findTarget and cloneTarget functions,
eliminating the buildShadowTree function entirely. Moved the call to
transferSizeAttributesToShadowTreeTargetClone inside cloneTarget. Also updated
for the name change for m_shouldRebuildShadowTree.
(WebCore::SVGUseElement::targetClone): Renamed from shadowTreeTargetClone.
No need to emphasize "shadow tree" since that's where all clones are.
(WebCore::isDirectReference): Streamlined a bit using "using namespace".
(WebCore::SVGUseElement::toClipPath): Rewrote to use early return and updated
for name changes. Also used ASCIILiteral.
(WebCore::SVGUseElement::rendererClipChild): Changed local variable names.
(WebCore::removeDisallowedElementsFromSubtree): Wrote the iteration in a
slightly more idiomatic style.
(WebCore::SVGUseElement::findTarget): Added. This new function implements
the rule for finding a valid target for a use element. This replaces logic
that was duplicated in two different places and it also includes all the
rules that were formerly in the isValidTarget function. Also, this implements
a correct check for a cycle that handles cases the code in isValidTarget did not.
(WebCore::SVGUseElement::isValidTarget): Deleted.
(WebCore::SVGUseElement::cloneTarget): Added. Helper function used both when
cloning the target of the top level <use> elements and for other <use> elements
inside the shadow tree.
(WebCore::cloneDataAndChildren): Added. Helper function that allows both the
<use> and <symbol> element expanding functions to be shorter and share more code.
(WebCore::SVGUseElement::expandUseElementsInShadowTree): Removed unneeded checks
of cachedDocumentIsStillLoading. Used the new findTarget function, which handles
finding the target cross-document correctly. Removed the incorrect use of
referencedDocument when creating new elements and finding targets. Refactored
to use the new cloneDataAndChildren function and also moved the code that removes
the special attributes here, replacing the transferAttributesToShadowTreeReplacement
function. Made a few other simplifications.
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto, just like the
<use> changes only simpler.
(WebCore::SVGUseElement::transferEventListenersToShadowTree): Made this const.
Removed unneeded assertions.
(WebCore::SVGUseElement::invalidateShadowTree): Updated for name change.
(WebCore::SVGUseElement::invalidateDependentShadowTrees): Removed assertion.
(WebCore::SVGUseElement::transferAttributesToShadowTreeReplacement): Deleted.
(WebCore::SVGUseElement::selfHasRelativeLengths): Tweaked names.
(WebCore::SVGUseElement::notifyFinished): Removed the inDocument check, since
this function will only be called for elements that are in a document.
(WebCore::SVGUseElement::cachedDocumentIsStillLoading): Deleted.
(WebCore::SVGUseElement::finishParsingChildren): Removed the code that calls
buildPendingResource here. Shadow tree updating is driven solely by renderer
generation now.
(WebCore::SVGUseElement::updateExternalDocument): Replaced setCachedDocument
with this. This function knows how to load a different document if the URL
has changed, or leave it alone if not, and also stop the load if it should.
(WebCore::SVGUseElement::isValid): Moved this here from the header, since it's
always being called virtually.
(WebCore::SVGUseElement::haveLoadedRequiredResources): Ditto.
(WebCore::SVGUseElement::setHaveFiredLoadEvent): Ditto.
(WebCore::SVGUseElement::haveFiredLoadEvent): Ditto.
(WebCore::SVGUseElement::svgLoadEventTimer): Ditto.

  • svg/SVGUseElement.h: Removed unneeded include. Moved the animated properties

to the top of the class because they are public DOM API and so are logical to
list first. I'd like to do that for other classes too over time. Changed to
derive privately from CachedSVGDocumentClient. Made the function
invalidateDependentShadowTrees private. Removed didNotifySubtreeInsertions,
isSupportedAttribute, clearResourceReferences, buildShadowTree,
transferAttributesToShadowTreeReplacement, isParserInserted, and
m_wasInsertedByParser. Added updateExternalDocument, cloneTarget, targetClone,
updateShadowTree, and clearShadowTree. Also did a couple other renames,
including renaming m_cachedDocument to m_externalDocument.

  • svg/svgtags.in: Removed constructorNeedsCreatedByParser from the <use>

element since we don't have to handle constructing by the parser specially.

LayoutTests:

Modified some tests to be reference tests since the change in implementation slightly changed
the behavior, but not in a way that matters. Other similar updates.

  • TestExpectations: Expect a progression in imported/mozilla/svg/dynamic-use-02.svg.
  • platform/gtk/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.png: Removed.
  • platform/gtk/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Removed.
  • platform/gtk/svg/custom/use-property-synchronization-crash-expected.png: Removed.
  • platform/ios-sim-deprecated/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Removed.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.png: Removed.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Removed.
  • platform/mac/svg/custom/use-property-synchronization-crash-expected.png: Removed.
  • svg/animations/use-animate-width-and-height-expected.txt: Updated to expect the new expression

name from the modified test.

  • svg/animations/use-animate-width-and-height.html: THe state of the shadow root now depends on

layout, so force layout before inspecting it.

  • svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.xhtml: Added.
  • svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml: Made this no longer be a

repaint test. Not sure why we are using those in so many cases. Also made it be a reference test.

  • svg/custom/use-property-synchronization-crash-expected.svg: Added.
  • svg/custom/use-property-synchronization-crash-expected.txt: Removed.
7:46 PM Changeset in webkit [179979] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Mark multi-column failing tests to Failure.
Those tests have been failing since r167808.

  • platform/efl/TestExpectations:
6:33 PM Changeset in webkit [179978] by diorahman@rockybars.com
  • 3 edits
    2 adds in trunk

CSS selector JIT compilation support for :lang()
https://bugs.webkit.org/show_bug.cgi?id=140818

Reviewed by Benjamin Poulain.

Source/WebCore:

Add the JIT support for :lang(), to ensure :lang() no longer force the engine to
the slow path.

Test: fast/selectors/lang-chained-multiple.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
Get rid of the FunctionType::CannotCompile
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):

LayoutTests:

  • fast/selectors/lang-chained-multiple-expected.txt: Added.
  • fast/selectors/lang-chained-multiple.html: Added.
6:25 PM Changeset in webkit [179977] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix more weak external symbol errors.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • page/make_settings.pl:

(printGetterAndSetter):
Remove some WEBCORE_EXPORT macros.

5:46 PM Changeset in webkit [179976] by Lucas Forschler
  • 14 edits in branches/safari-600.5-branch

Merged r177377. rdar://problem/19526158

5:25 PM Changeset in webkit [179975] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

Unreviewed.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView inputAssistantItem]):
(-[WKContentView _inputAssistantItem]):

5:09 PM Changeset in webkit [179974] by achristensen@apple.com
  • 7 edits in trunk/Source/WebCore

Do not export functions defined in headers.
This prevents weak external symbol errors in some configurations.

  • dom/Range.h:

(WebCore::Range::startContainer):
(WebCore::Range::startOffset):
(WebCore::Range::endContainer):
(WebCore::Range::endOffset):

  • inspector/InspectorController.h:
  • page/Settings.h:

(WebCore::Settings::setMediaKeysStorageDirectory):

  • page/make_settings.pl:

(printGetterAndSetter):

  • platform/network/cocoa/ProtectionSpaceCocoa.h:

(WebCore::ProtectionSpace::encodingRequiresPlatformData):

  • platform/text/TextEncoding.h:

(WebCore::TextEncoding::decode):
Removed WEBCORE_EXPORT macros.

4:46 PM Changeset in webkit [179973] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: Clicking selected item in the sidebar second time should scroll to the corresponding line
https://bugs.webkit.org/show_bug.cgi?id=140280

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-02-11
Reviewed by Brian Burg.

  • UserInterface/Views/ContentViewContainer.js:

(WebInspector.ContentViewContainer.prototype.showContentView):
Perform scolling regardless of the navigation history. Since scrolling source code doesn't introduce a BackForwardEntry,
it's possible that the actual content view has a different scroll position.

3:57 PM Changeset in webkit [179972] by Chris Dumez
  • 16 edits in trunk/Source

[WK2] Add logging to validate the network cache efficacy (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=141345
<rdar://problem/19632080>

Reviewed by Sam Weinig.

Source/WebCore:

Add a few more diagnostic logging keys for the network cache efficacy
logging.

Source/WebKit2:

Add diagnostic logging messages to validate the network cache efficacy.
The following 4 messages are added:

  • networkCache / retrieval / success
  • networkCache / retrieval / unhandledRequestFailure
  • networkCache / retrieval / noLongerInCacheFailure
  • networkCache / retrieval / unusableCachedEntryFailure

The messages are sent via IPC from the NetworkProcess to the UIProcess,
where the WebPageProxy code already handles diagnostic messages sent by
the WebProcess.

3:40 PM Changeset in webkit [179971] by weinig@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION(r179166): Crash when accessing document.dir on a document with no elements
<rdar://problem/19804351>
https://bugs.webkit.org/show_bug.cgi?id=141480

Reviewed by Chris Dumez.

Source/WebCore:

Test: fast/dom/document-dir-empty-document-crash.html

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::dir):
Don't unnecessarily dereference the documentElement. is<HTMLHtmlElement>() will handle null just fine.

LayoutTests:

  • fast/dom/document-dir-empty-document-crash-expected.txt: Added.
  • fast/dom/document-dir-empty-document-crash.html: Added.
3:14 PM Changeset in webkit [179970] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/141492> extract-localizable-strings.pl shouldn't update the target file if the contents haven't changed

Avoid updating the target file if the contents haven't changed. This prevents Xcode from copying the identical
file into the framework and resigning it, which avoids the resulting relinking of all targets that depend on
the framework.

Reviewed by Dan Bernstein.

  • extract-localizable-strings.pl: Write our output to a temporary file. If the output differs from the

existing contents of the target file, move the temporary file over the target file. Otherwise, delete
the temporary file.

3:12 PM Changeset in webkit [179969] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179750. rdar://problem/19739067

3:06 PM Changeset in webkit [179968] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.5-branch

Merged r179706. rdar://problem/19739067

3:02 PM Changeset in webkit [179967] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

The callee frame helpers in DFG::SpeculativeJIT should be available to other JITs
https://bugs.webkit.org/show_bug.cgi?id=141493

Reviewed by Michael Saboff.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::calleeFrameSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeArgumentSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeFrameTagSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeFramePayloadSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeArgumentTagSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeArgumentPayloadSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeFrameCallerFrame): Deleted.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::calleeFrameSlot):
(JSC::AssemblyHelpers::calleeArgumentSlot):
(JSC::AssemblyHelpers::calleeFrameTagSlot):
(JSC::AssemblyHelpers::calleeFramePayloadSlot):
(JSC::AssemblyHelpers::calleeArgumentTagSlot):
(JSC::AssemblyHelpers::calleeArgumentPayloadSlot):
(JSC::AssemblyHelpers::calleeFrameCallerFrame):

3:01 PM Changeset in webkit [179966] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merge r179576, r179648. rdar://problem/19709578

2:56 PM Changeset in webkit [179965] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

New perf dashboard shows too much space around interesting data points
https://bugs.webkit.org/show_bug.cgi?id=141487

Reviewed by Chris Dumez.

Revise the y-axis range adjustment algorithm in r179913. Instead of showing the entire moving average,
show the current time series excluding points in the series outside the moving average envelope.

  • public/v2/app.js:

(App.Pane._computeChartData): Don't deal with missing moving average or enveloping strategy here.
(App.Pane._computeMovingAverageAndOutliers): Set isOutliner to true on all data points in the current
time series if the point lies outside the moving average envelope. Don't expose the moving average or
the envelope computed for this purpose if they're not set by the user.

  • public/v2/data.js:

(TimeSeries.prototype.minMaxForTimeRange): Takes a boolean argument, ignoreOutlier. When the flag is set
to true, min/max computation will ignore any point in the series with non-falsy "isOutliner" property.

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._constructGraphIfPossible): Unsupport hideMovingAverage and hideEnvelope.
(App.InteractiveChartComponent._computeYAxisDomain): Removed the commented out code. Also moved the code
to deal with showFullYAxis here.
(App.InteractiveChartComponent._minMaxForAllTimeSeries): Rewrote the code. Takes ignoreOutliners as an
argument instead of directly inspecting showFullYAxis.

2:51 PM Changeset in webkit [179964] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebKit/win

Merged r179841. rdar://problem/19771791

2:48 PM Changeset in webkit [179963] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.5-branch

Merged r179772. rdar://problem/19771772

2:48 PM Changeset in webkit [179962] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/win

[WinCairo] Accelerated compositing should be disabled when graphics card does not support it.
https://bugs.webkit.org/show_bug.cgi?id=140667

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-02-11
Reviewed by Alex Christensen.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::scrollNonCompositedContents):
(AcceleratedCompositingContext::acceleratedCompositingAvailable):

  • WebCoreSupport/AcceleratedCompositingContext.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

2:43 PM Changeset in webkit [179961] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r179736. rdar://problem/19771783

2:40 PM Changeset in webkit [179960] by Lucas Forschler
  • 1 edit in branches/safari-600.5-branch/Source/WebCore/rendering/RenderQuote.cpp

Clarify logic after r179959.

2:24 PM Changeset in webkit [179959] by Lucas Forschler
  • 6 edits
    2 copies in branches/safari-600.5-branch

Merged r179691. rdar://problem/19739061

2:15 PM Changeset in webkit [179958] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Turn recent assertions into release assertions to help track down crash in DocumentLoader::stopLoadingForPolicyChange()
https://bugs.webkit.org/show_bug.cgi?id=141484
<rdar://problem/13811738>

Reviewed by Andy Estes.

Turn recent assertions into release assertions to help track down crash in
DocumentLoader::stopLoadingForPolicyChange(). This should increase the
likelyhood of tripping them so that we better understand why this happens.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::detachFromFrame):

1:48 PM Changeset in webkit [179957] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

SetupVarargsFrame should not assume that an inline stack frame would have identical layout to a normal stack frame
https://bugs.webkit.org/show_bug.cgi?id=141485

Reviewed by Oliver Hunt.

The inlineStackOffset argument was meant to make it easy for the DFG to use this helper for
vararg calls from inlined code, but that doesn't work since the DFG inline call frame
doesn't actually put the argument count at the JSStack::ArgumentCount offset. In fact there
is really no such thing as an inlineStackOffset except when we OSR exit; while the code is
running the stack layout is compacted so that the stackOffset is not meaningful.

  • jit/JITCall.cpp:

(JSC::JIT::compileSetupVarargsFrame):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileSetupVarargsFrame):

  • jit/SetupVarargsFrame.cpp:

(JSC::emitSetupVarargsFrameFastCase):

  • jit/SetupVarargsFrame.h:
1:45 PM Changeset in webkit [179956] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] SampleMap::addRange() returns an inverted iterator_range, possibly causing a crash when that iterator_range is traversed.
https://bugs.webkit.org/show_bug.cgi?id=141479
rdar://problem/19067597

Reviewed by Chris Dumez.

When looking backwards through a presentationOrder map to find samples, we then reverse our iterators
and put them in an iterator_range to return to the caller. But in addition to reversing the iterators
themselves, we also need to put them in the iterator_range in reverse order, so that when the caller
iterates from iterator_range.first -> iterator_range.second, they don't end up off the end of the
the underlying storage.

  • Modules/mediasource/SampleMap.cpp:

(WebCore::PresentationOrderSampleMap::findSamplesWithinPresentationRangeFromEnd):

1:36 PM Changeset in webkit [179955] by timothy_horton@apple.com
  • 5 edits
    2 adds in trunk

REGRESSION (iOS 8): PDFs embedded in <object>/<embed> tag don't load at all
https://bugs.webkit.org/show_bug.cgi?id=141457
<rdar://problem/18221851>

Reviewed by Alexey Proskuryakov.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::objectContentType):
On iOS, if we don't know what to do with a PDF-in-object, treat it as an image.

  • TestExpectations:
  • fast/replaced/pdf-as-object-and-embed-expected.html: Added.
  • fast/replaced/pdf-as-object-and-embed.html: Added.
  • platform/ios-simulator-wk2/TestExpectations:

Add a test that ensures that WebKit2 on iOS treats <object>, <embed>,
and <img> the same when rendering a PDF.

1:33 PM Changeset in webkit [179954] by Lucas Forschler
  • 10 edits
    2 copies in branches/safari-600.5-branch

Merged r179627. rdar://problem/19720096

1:28 PM Changeset in webkit [179953] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.5-branch

Merged r179597. rdar://problem/19720061

1:14 PM Changeset in webkit [179952] by Lucas Forschler
  • 4 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r179586. rdar://problem/19771799

1:12 PM Changeset in webkit [179951] by Lucas Forschler
  • 1 edit
    1 copy in branches/safari-600.5-branch/LayoutTests

Merged r179587. rdar://problem/19709589

1:11 PM Changeset in webkit [179950] by Lucas Forschler
  • 7 edits
    1 copy in branches/safari-600.5-branch

Merged r179569. rdar://problem/19709589

1:00 PM Changeset in webkit [179949] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.5-branch

Merged r179711. rdar://problem/19709603

12:54 PM Changeset in webkit [179948] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179563. <rdar://problem/19739078>

12:34 PM Changeset in webkit [179947] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Improve the showFrameTree() output slightly
https://bugs.webkit.org/show_bug.cgi?id=141482

Reviewed by Zalan Bujtas.

Have showFrameTree() show the Frame's RenderView so it can be correlated with
layer dumps, and show styleRecalc and needsLayout state.

  • page/FrameTree.cpp:

(printFrames):

  • page/FrameView.cpp:

(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): Add an explanatory
comment about why we don't walk the Frame tree.

12:31 PM Changeset in webkit [179946] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Make run-jsc-stress-tests --remote work with make-based runner
https://bugs.webkit.org/show_bug.cgi?id=141079

Reviewed by Darin Adler.

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests): Pass through the --shell-runner and --make-runner arguments.

  • Scripts/run-jsc-stress-tests: Made the make-based runner the default runner,

except for remote testing on Darwin. Unified runShellTestRunner and runMakeTestRunner
to avoid code duplication.

12:29 PM Changeset in webkit [179945] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Stop using WebCore.exp.in on Mac and iOS.
https://bugs.webkit.org/show_bug.cgi?id=141413

Reviewed by Dan Bates.

  • Configurations/Base.xcconfig:

Make symbols hidden by default unless exported by WEBCORE_EXPORT macros.

  • platform/PlatformExportMacros.h:

Start using WEBCORE_EXPORT on Mac and iOS (but not Windows yet).

12:13 PM Changeset in webkit [179944] by ChangSeok Oh
  • 3 edits
    2 adds in trunk

Div having contentEditable and display:flex cannot be edited if it is empty.
https://bugs.webkit.org/show_bug.cgi?id=141218

Reviewed by Ryosuke Niwa.

Source/WebCore:

RenderFlexibleBox should be treated as a candidate for visible position. Visible selection
in an editable area is recalculated whenever an inner value of div is changed. If the inner value
is empty, the visible selection recalculated with DeleteSelectionCommand::m_endingPostion
is not correct. Because RenderBlockFlow is only considered but not RenderFlexibleBox
in Position::isCandidate so that a calculated ending VisiblePosition for an editable div
having "display : flex" goes weird and VisibleSelection is empty accordingly.

Test: fast/events/key-events-in-editable-flexbox.html

  • dom/Position.cpp:

(WebCore::Position::isCandidate):

LayoutTests:

This tests if an editable flexbox can be reedited after erasing all texts in it.

  • fast/events/key-events-in-editable-flexbox-expected.txt: Added.
  • fast/events/key-events-in-editable-flexbox.html: Added.
12:12 PM Changeset in webkit [179943] by clopez@igalia.com
  • 2 edits in trunk

[CMake] Don't set flag fuse-ld on the C/C++ compiler flags, but on the linker flags.
https://bugs.webkit.org/show_bug.cgi?id=141481

Reviewed by Csaba Osztrogonác.

  • Source/cmake/OptionsCommon.cmake: Move -fuse-ld=gold to the linker flags.
12:09 PM Changeset in webkit [179942] by ChangSeok Oh
  • 7 edits in trunk/Source

Activate ReliefLogger of a memory pressure handler for linux system.
https://bugs.webkit.org/show_bug.cgi?id=123611

Reviewed by Anders Carlsson.

Source/WebCore:

Put more logs for the time when a system goes under memory pressure or viceversa.

No new tests since no engine behavior changed.

  • platform/linux/MemoryPressureHandlerLinux.cpp:

(WebCore::MemoryPressureHandler::waitForMemoryPressureEvent): Wait a memory pressure event
from cgroup in a seperated thread. Once a pressure event happens, respondToMemoryPressure()
would be called to get back some resources.
(WebCore::MemoryPressureHandler::install): Install memoryPressureHandler module
to make it work.

Source/WebKit2:

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
Make the parameter, shouldEnableMemoryPressureReliefLogging shareable with COCOA else systems.
(WebKit::WebProcessCreationParameters::encode): ditto.
(WebKit::WebProcessCreationParameters::decode): ditto.

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess): Set shouldEnableMemoryPressureReliefLogging
to true for linux system.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Pass the shouldEnableMemoryPressureReliefLogging value
to MemoryPressureHandler::ReliefLogger::setLoggingEnabled().

11:44 AM Changeset in webkit [179941] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Final preparations to switch to WEBCORE_EXPORT.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:

Export the vtable and a function.

11:43 AM Changeset in webkit [179940] by Lucas Forschler
  • 5 edits in branches/safari-600.1.17-branch/Source

Versioning.

11:42 AM Changeset in webkit [179939] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.17.8

New Tag.

10:42 AM Changeset in webkit [179938] by Lucas Forschler
  • 2 edits in branches/safari-600.1.17-branch/Source/WebCore

Merged r174295.

10:36 AM Changeset in webkit [179937] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

performance.now can crash if accessed from a window that has navigated
<rdar://problem/16892506>
https://bugs.webkit.org/show_bug.cgi?id=141478

Reviewed by Alexey Proskuryakov.

Test: fast/performance/performance-now-crash-on-navigated-window.html

  • page/Performance.cpp:

(WebCore::Performance::now):
Check for a null frame, which can happen when the window has been navigated.

10:33 AM Changeset in webkit [179936] by weinig@apple.com
  • 1 edit
    5 adds in trunk/LayoutTests

performance.now can crash if accessed from a window that has navigated
<rdar://problem/16892506>
https://bugs.webkit.org/show_bug.cgi?id=141478

Reviewed by Alexey Proskuryakov.

  • fast/performance/performance-now-crash-on-navigated-window-expected.txt: Added.
  • fast/performance/performance-now-crash-on-navigated-window.html: Added.
  • fast/performance/resources: Added.
  • fast/performance/resources/initialFrame.html: Added.
  • fast/performance/resources/secondFrame.html: Added.

Add test for calling performance.now() on from a navigated window.

10:09 AM Changeset in webkit [179935] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:07 AM Changeset in webkit [179934] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.18

New tag.

10:03 AM Changeset in webkit [179933] by ap@apple.com
  • 7 edits
    4 adds
    2 deletes in trunk

URL::setUser and URL::setPass don't percent encode
https://bugs.webkit.org/show_bug.cgi?id=141453
rdar://problem/14844503&16551802&19623145

Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/url/url-credentials-escaping.html

http/tests/xmlhttprequest/basic-auth-credentials-escaping.html

Start adding some code that performs escaping in a way that matches the URL Standard.
Right now, it's only used where we failed to do any escaping at all, and over time,
we'll be moving towards a new implementation.

  • html/URLUtils.h:

(WebCore::URLUtils<T>::username):
(WebCore::URLUtils<T>::password):

  • platform/URL.cpp:

(WebCore::isSchemeFirstChar):
(WebCore::URL::user):
(WebCore::URL::pass):
(WebCore::URL::encodedUser):
(WebCore::URL::encodedPass):
(WebCore::URL::setUser):
(WebCore::URL::setPass):
(WebCore::encodeWithURLEscapeSequences):

  • platform/URL.h:

LayoutTests:

  • fast/url/url-credentials-escaping-expected.txt: Added.
  • fast/url/url-credentials-escaping.html: Added.

This change is most directly testable via URL API.

  • http/tests/xmlhttprequest/basic-auth-credentials-escaping-expected.txt: Added.
  • http/tests/xmlhttprequest/basic-auth-credentials-escaping.html: Added.

Verify that this doesn't break XMLHttpRequest authentication.

  • fast/dom/DOMURL/invalid-url-getters-expected.txt: Removed.
  • fast/dom/DOMURL/invalid-url-getters.html: Removed.
  • fast/dom/DOMURL/url-origin-expected.txt:
  • fast/dom/DOMURL/url-origin.html:

Removed tests for invalid URLs, there is no such thing with URL API.

9:58 AM Changeset in webkit [179932] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebKit2

[GTK][EFL] Suppress a warning of unused params
https://bugs.webkit.org/show_bug.cgi?id=141474

Reviewed by Darin Adler.

Drop unused argument name, directoryName.

  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):

9:41 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
9:31 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
9:11 AM Changeset in webkit [179931] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

run-jsc-stress tests should detect the number of processors on the remote machine too
https://bugs.webkit.org/show_bug.cgi?id=141196

Reviewed by Darin Adler.

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests): Pass through the --child-processes argument.

  • Scripts/run-jsc-stress-tests: Added determineNumberOfProcessors function

to detect the number of local and remote processors with the same algorithm.
Additionally introduced $numChildProcesses to emphasize it isn't necessarily
same as $numProcessors.

9:10 AM Changeset in webkit [179930] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests should pass JSC_timeout to remote hosts
https://bugs.webkit.org/show_bug.cgi?id=141164

Reviewed by Darin Adler.

Additonally removed IMPORTANT_ENVS, since JSC_timeout was the only one.

  • Scripts/run-jsc-stress-tests:
9:09 AM Changeset in webkit [179929] by achristensen@apple.com
  • 4 edits in trunk/Source/WebCore

Add a few more WEBCORE_EXPORT macros for debug and iOS builds.

  • page/EventHandler.h:
  • page/ios/WebEventRegion.h:
  • platform/sql/SQLiteDatabaseTracker.h:
8:41 AM Changeset in webkit [179928] by Darin Adler
  • 2 edits in trunk/Source/WebCore

REGRESSION(r179476): It broke the !ENABLE(PICTURE_SIZES) build
https://bugs.webkit.org/show_bug.cgi?id=141327

Reviewed by Csaba Osztrogonác.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
Put #if around use of m_sizesAttribute.

8:39 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
8:35 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
8:12 AM Changeset in webkit [179927] by Csaba Osztrogonác
  • 4 edits in trunk/Source/bmalloc

bmalloc buildfix on 32 bit Linux (x86/ARM)
https://bugs.webkit.org/show_bug.cgi?id=141472

Reviewed by Gyuyoung Kim.

  • bmalloc/Algorithm.h:

(bmalloc::roundUpToMultipleOf):

  • bmalloc/FixedVector.h:

(bmalloc::FixedVector::clear):

  • bmalloc/Sizes.h:

(bmalloc::Sizes::sizeClass):

7:34 AM Changeset in webkit [179926] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk

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

caused about 30 test failures on yosemite and mavericks
(Requested by alexchristensen on #webkit).

Reverted changeset:

"Div having contentEditable and display:flex cannot be edited
if it is empty."
https://bugs.webkit.org/show_bug.cgi?id=141218
http://trac.webkit.org/changeset/179921

7:05 AM Changeset in webkit [179925] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
5:54 AM Changeset in webkit [179924] by commit-queue@webkit.org
  • 6 edits
    10 adds in trunk/LayoutTests

Unreviewed GTK+ Gardening 11 February.

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-02-11

  • platform/gtk/TestExpectations:
  • platform/gtk/editing/pasteboard/onpaste-text-html-expected.txt: Rebaselined after r179168.
  • platform/gtk/fast/css/outline-auto-empty-rects-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/fast/css/pseudo-invalid-form-invalidation-optimization-expected.txt: Added. Rebaselined after r177664.
  • platform/gtk/fast/css/pseudo-valid-form-invalidation-optimization-expected.txt: Added. Rebaselined after r177664.
  • platform/gtk/fast/forms/basic-buttons-expected.txt: Rebaselined after r178078.
  • platform/gtk/fast/line-grid/line-align-right-edges-expected.txt: Rebaselined after r177128.
  • platform/gtk/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/fast/table/022-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/fast/text/wbr-pre-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/fast/text/whitespace/019-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/fast/text/whitespace/023-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt: Added. Rebaselined after r177490.
  • platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/svg/custom/glyph-selection-lang-attribute-expected.txt: Rebaselined after r177490.
4:50 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
4:15 AM Changeset in webkit [179923] by gyuyoung.kim@samsung.com
  • 20 edits
    1 add in trunk

[EFL][GTK] Use bmalloc instead of tcmalloc
https://bugs.webkit.org/show_bug.cgi?id=140162

Reviewed by Carlos Garcia Campos.

.:

Add bmalloc directory to build list.

  • CMakeLists.txt: Define BMALLOC_DIR directory.
  • Source/CMakeLists.txt: Add bmalloc path to sub-directories list.

Source/bmalloc:

Support to use bmalloc on EFL and GTK ports.

  • CMakeLists.txt: Added.
  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::allocate):

Fix unused return value caused by posix_memalign().

  • bmalloc/AsyncTask.h:
  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::clear):

  • bmalloc/Chunk.h:

Change Traits::Page with Traits::PageType in order to fix
-fpermitive build error on EFL and GTK port.

  • bmalloc/EndTag.h:

(bmalloc::EndTag::operator=):

  • bmalloc/Line.h: ditto.
  • bmalloc/MediumTraits.h:
  • bmalloc/Page.h: ditto.
  • bmalloc/PerThread.h:

EFL port doesn't support has_include definition yet.
Define HAVE_PTHREAD_MACHDEP_H according to check if
has_include is supported.

  • bmalloc/SmallTraits.h: ditto.
  • bmalloc/VMAllocate.h:

(bmalloc::vmDeallocatePhysicalPages):
(bmalloc::vmAllocatePhysicalPages):

  • bmalloc/Vector.h:

(bmalloc::Vector<T>::push):
(bmalloc::Vector<T>::reallocateBuffer):

Source/WTF:

  • wtf/CMakeLists.txt:
  • wtf/FastMalloc.cpp:

Enable bmalloc on GTK ports, but EFL port will enable it when bmalloc supports
memory statistics.

2:02 AM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)
1:03 AM Changeset in webkit [179922] by Carlos Garcia Campos
  • 9 edits
    4 adds in trunk

[GTK] Add default color chooser implementation using GtkColorChooserDialog
https://bugs.webkit.org/show_bug.cgi?id=141392

Reviewed by Gustavo Noronha Silva.

.:

Enable INPUT_TYPE_COLOR by default for GTK+ port.

  • Source/cmake/OptionsGTK.cmake:

Source/WebKit2:

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::createColorPicker): Call WebColorPickerGtk::create().

  • UIProcess/gtk/WebColorPickerGtk.cpp: Added.

(WebKit::WebColorPickerGtk::create):
(WebKit::WebColorPickerGtk::WebColorPickerGtk):
(WebKit::WebColorPickerGtk::~WebColorPickerGtk):
(WebKit::WebColorPickerGtk::cancel): Set initial color.
(WebKit::WebColorPickerGtk::endPicker): Destroy the color chooser dialog.
(WebKit::WebColorPickerGtk::didChooseColor): Notify the client.
(WebKit::WebColorPickerGtk::colorChooserDialogRGBAChangedCallback):
Update the selected color.
(WebKit::WebColorPickerGtk::colorChooserDialogResponseCallback):
Cancel or finish the operation depending on the dialog response.
(WebKit::WebColorPickerGtk::showColorPicker): Create a
GtkColorChooserDialog to handle the color picker operation.

  • UIProcess/gtk/WebColorPickerGtk.h: Added.

(WebKit::WebColorPickerGtk::initialColor):

Tools:

Enable INPUT_TYPE_COLOR by default for GTK+ port.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Unskip input color tests.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/forms/color/input-appearance-color-expected.txt: Added.
12:51 AM Changeset in webkit [179921] by ChangSeok Oh
  • 3 edits
    2 adds in trunk

Div having contentEditable and display:flex cannot be edited if it is empty.
https://bugs.webkit.org/show_bug.cgi?id=141218

Reviewed by Ryosuke Niwa.

Source/WebCore:

RenderFlexibleBox should be treated as a candidate for visible position. Visible selection
in an editable area is recalculated whenever an inner value of div is changed. If the inner value
is empty, the visible selection recalculated with DeleteSelectionCommand::m_endingPostion
is not correct. Because RenderBlockFlow is only considered but not RenderFlexibleBox
in Position::isCandidate so that a calculated ending VisiblePosition for an editable div
having "display : flex" goes weird and VisibleSelection is empty accordingly.

Test: fast/events/key-events-in-editable-flexbox.html

  • dom/Position.cpp:

(WebCore::Position::isCandidate):

LayoutTests:

This tests if an editable flexbox can be reedited after erasing all texts in it.

  • fast/events/key-events-in-editable-flexbox-expected.txt: Added.
  • fast/events/key-events-in-editable-flexbox.html: Added.
12:36 AM Changeset in webkit [179920] by dburkart@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/cache/disk-cache-validation.html generates a lot of Perl errors
https://bugs.webkit.org/show_bug.cgi?id=141393

Reviewed by Darin Adler.

  • http/tests/cache/resources/generate-response.cgi:
12:25 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
12:01 AM Changeset in webkit [179919] by commit-queue@webkit.org
  • 17 edits in trunk/Source

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

Caused assertions on debug bots (Requested by ap on #webkit).

Reverted changeset:

"[WK2] Add logging to validate the network cache efficacy
(Part 2)"
https://bugs.webkit.org/show_bug.cgi?id=141345
http://trac.webkit.org/changeset/179910

Feb 10, 2015:

10:16 PM Changeset in webkit [179918] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Tests of fast/ruby needs to have new baseline since r172874.

  • platform/efl/TestExpectations:
10:02 PM Changeset in webkit [179917] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Optimize MutableStyleProperties::removePropertiesInSet()
https://bugs.webkit.org/show_bug.cgi?id=141460

Reviewed by Andreas Kling.

Optimize MutableStyleProperties::removePropertiesInSet() by doing an
in-place removal of the vector properties, using the new and efficient
Vector::removalAllMatching().

I see a ~11% speed-up on CSS/CSSPropertySetterGetter.html performance
test.

This change was inspired by the following Blink revision:
https://src.chromium.org/viewvc/blink?view=rev&revision=189387

Test: PerformanceTests/CSS/CSSPropertySetterGetter.html

  • css/StyleProperties.cpp:

(WebCore::MutableStyleProperties::removePropertiesInSet):

9:48 PM Changeset in webkit [179916] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Fix debug build after r179807.
https://bugs.webkit.org/show_bug.cgi?id=141461

Reviewed by Benjamin Poulain.

  • dom/TypedElementDescendantIterator.h:

Explicitly call Iterator constructor to reduce complexity when iterating descendantsOfType.

8:54 PM Changeset in webkit [179915] by Darin Adler
  • 2 edits in trunk/Source/WTF

Add the crash-on-failure behavior to bmalloc-based fastMalloc
https://bugs.webkit.org/show_bug.cgi?id=141434

Reviewed by Alexey Proskuryakov.

  • wtf/FastMalloc.cpp: Removed unneeded includes.

(WTF::fastMalloc): Added null check and CRASH.
(WTF::fastCalloc): Added overflow checking, null check, and CRASH.
(WTF::fastRealloc): Added null check and CRASH.
(WTF::fastMallocSize): Added FIXME comment.
(WTF::fastMallocGoodSize): Added FIXME comment.
(WTF::fastAlignedMalloc): Added null check and CRASH.
(WTF::tryFastMalloc): Changed to call bmalloc directly instead of
calling fastMalloc, since fastMalloc will now crash on failure.
(WTF::tryFastRealloc): Changed to call bmalloc directly instead of
calling fastRealloc, since fastRealloc will now crash on failure.
(WTF::tryFastCalloc): Added overflow checking.
(WTF::fastMallocStatistics): Added FIXME comment.

8:01 PM Changeset in webkit [179914] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Some tests of imported/mozilla/svg/ have been failed since r177330.
Mark those tests to ImageOnlyFailure.

  • platform/efl/TestExpectations:
6:45 PM Changeset in webkit [179913] by rniwa@webkit.org
  • 6 edits in trunk/Websites/perf.webkit.org

New perf dashboard shouldn't always show outliners
https://bugs.webkit.org/show_bug.cgi?id=141445

Reviewed by Chris Dumez.

Use the simple moving average with an average difference envelope to compute the y-axis range to show
to avoid expanding it spuriously to show one off outlier.

  • public/v2/app.js:

(App.Pane): Don't show the full y-axis range by default.
(App.Pane._computeChartData): Use the first strategies for the moving average and the enveloping if
one is not specified by the user but without showing them in the charts.
(App.Pane._computeMovingAverage): Takes moving average and enveloping strategies as arguments instead
of retrieving via chosenMovingAverageStrategy and chosenEnvelopingStrategy.

(App.ChartsController._parsePaneList): Added showFullYAxis as a query string argument to each pane.
(App.ChartsController._serializePaneList): Ditto.

  • public/v2/chart-pane.css: Added a CSS rule for when y-axis is clickable.
  • public/v2/index.html: Pass in showFullYAxis as an argument to the main interactive chart.
  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._constructGraphIfPossible): Add an event listener on y-axis labels when
the chart is interactive so that toggle showFullYAxis. Also hide the moving average and/or the envelope
if they are not specified by the user (i.e. only used to adjust y-axis range).
(App.InteractiveChartComponent._updateDomain): Don't exit early if y-axis domains are different even if
x-axis domain remained the same. Without this change, the charts would never redraw.
(App.InteractiveChartComponent._minMaxForAllTimeSeries): Use the moving average instead of the current
time series to compute the y-axis range if showFullYAxis is false. When showFullYAxis is true, expand
y-axis all the way down to 0 or the minimum value in the current time series whichever is smaller.

  • public/v2/js/statistics.js:

(Statistics.MovingAverageStrategies): Use a wider window in Simple Moving Average by default.

6:41 PM Changeset in webkit [179912] by fpizlo@apple.com
  • 7 edits
    2 adds in trunk/Source/JavaScriptCore

Split FTL::JSCall into the part that knows about call inline caching and the part that interacts with LLVM patchpoints
https://bugs.webkit.org/show_bug.cgi?id=141455

Reviewed by Mark Lam.

The newly introduced FTL::JSCallBase can be used to build other things, like the FTL portion
of https://bugs.webkit.org/show_bug.cgi?id=141332.

(JSC::CallLinkInfo::specializationKindFor):
(JSC::CallLinkInfo::specializationKind):

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::JSCall):
(JSC::FTL::JSCall::emit): Deleted.
(JSC::FTL::JSCall::link): Deleted.

  • ftl/FTLJSCall.h:
  • ftl/FTLJSCallBase.cpp: Added.

(JSC::FTL::JSCallBase::JSCallBase):
(JSC::FTL::JSCallBase::emit):
(JSC::FTL::JSCallBase::link):

  • ftl/FTLJSCallBase.h: Added.
6:39 PM Changeset in webkit [179911] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Better handle unknown release versions
https://bugs.webkit.org/show_bug.cgi?id=141454

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-10
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Platform.js:

If given an unknown Mac OS X version, at least parse
the version number in WebInspector.Platform.

6:31 PM Changeset in webkit [179910] by Chris Dumez
  • 17 edits in trunk/Source

[WK2] Add logging to validate the network cache efficacy (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=141345
Source/WebCore:

Reviewed by Antti Koivisto.

Add a few more diagnostic logging keys for the network cache efficacy
logging.

Source/WebKit2:

<rdar://problem/19632080>

Reviewed by Antti Koivisto.

Add diagnostic logging messages to validate the network cache efficacy.
The following 4 messages are added:

  • networkCache / retrieval / success
  • networkCache / retrieval / unhandledRequestFailure
  • networkCache / retrieval / noLongerInCacheFailure
  • networkCache / retrieval / unusableCachedEntryFailure

The messages are sent via IPC from the NetworkProcess to the UIProcess,
where the WebPageProxy code already handles diagnostic messages sent by
the WebProcess.

6:08 PM Changeset in webkit [179909] by Conrad Shultz
  • 4 edits in trunk/Source/WebKit2

Clients need the ability to hook into immediate action lifecycle
https://bugs.webkit.org/show_bug.cgi?id=141449

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Expose new methods.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _prepareForImmediateActionAnimation]):
(-[WKView _cancelImmediateActionAnimation]):
(-[WKView _completeImmediateActionAnimation]):
Stub implementations.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
Send -_prepareForImmediateActionAnimation.
(-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
Send -_cancelImmediateActionAnimation.
(-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
Send -_completeImmediateActionAnimation.

5:50 PM Changeset in webkit [179908] by Lucas Forschler
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

5:42 PM Changeset in webkit [179907] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

broke linking debug builds (Requested by thorton on #webkit).

Reverted changeset:

"Stop using WebCore.exp.in on Mac and iOS."
https://bugs.webkit.org/show_bug.cgi?id=141413
http://trac.webkit.org/changeset/179896

5:33 PM Changeset in webkit [179906] by Lucas Forschler
  • 16 edits
    2 copies in branches/safari-600.5-branch

Merged r179722. rdar://problem/19670548

5:06 PM Changeset in webkit [179905] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r179843. rdar://problem/19432919

4:54 PM Changeset in webkit [179904] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/19770264> Starting a navigation gesture dismisses the keyboard

Reviewed by Tim Horton.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture): Reordered the view hierarchy changes,
such that m_liveSwipeView will not momentarily move out of the window, because that causes
the window’s first responder to be set to nil (if it was a descendant of m_liveSwipView).

4:19 PM Changeset in webkit [179903] by achristensen@apple.com
  • 20 edits in trunk/Source/WebCore

Fix bindings tests after r179886.

  • bindings/scripts/test/ObjC/DOMFloat64Array.h:
  • bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
  • bindings/scripts/test/ObjC/DOMTestCallback.h:
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
  • bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
  • bindings/scripts/test/ObjC/DOMTestEventTarget.h:
  • bindings/scripts/test/ObjC/DOMTestException.h:
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
  • bindings/scripts/test/ObjC/DOMTestInterface.h:
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
  • bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
  • bindings/scripts/test/ObjC/DOMTestNode.h:
  • bindings/scripts/test/ObjC/DOMTestNondeterministic.h:
  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/ObjC/DOMTestTypedefs.h:
  • bindings/scripts/test/ObjC/DOMattribute.h:
  • bindings/scripts/test/ObjC/DOMreadonly.h:
4:16 PM Changeset in webkit [179902] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r179578. rdar://problem/19709204

4:13 PM Changeset in webkit [179901] by Lucas Forschler
  • 27 edits in branches/safari-600.5-branch

Merged r177849. rdar://problem/19739101

4:12 PM Changeset in webkit [179900] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r179576, r179648. rdar://problem/19709260

4:10 PM Changeset in webkit [179899] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION(?): inspector/css/selector-dynamic-specificity.html sometimes crashes
https://bugs.webkit.org/show_bug.cgi?id=141118

  • platform/mac-wk2/TestExpectations: Skpping the test, I'm concerned that it may

be affecting other tests.

4:06 PM Changeset in webkit [179898] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix build.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

4:05 PM Changeset in webkit [179897] by Lucas Forschler
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r178298. rdar://problem/19526083

4:00 PM Changeset in webkit [179896] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Stop using WebCore.exp.in on Mac and iOS.
https://bugs.webkit.org/show_bug.cgi?id=141413

Reviewed by Dan Bates.

  • Configurations/Base.xcconfig:

Make symbols hidden by default unless exported by WEBCORE_EXPORT macros.

  • platform/PlatformExportMacros.h:

Start using WEBCORE_EXPORT on Mac and iOS (but not Windows yet).

3:59 PM Changeset in webkit [179895] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Add another assertion to help track down crash in DocumentLoader::stopLoadingForPolicyChange()
https://bugs.webkit.org/show_bug.cgi?id=141447
<rdar://problem/13811738>

Reviewed by Alexey Proskuryakov.

Add another assertion to help track down crash in
DocumentLoader::stopLoadingForPolicyChange().

The trace seems to hint that frameLoader() returns null when
stopLoadingForPolicyChange() is called. frameLoader() can only return
null after DocumentLoader::detachFromFrame() has been called.
Also, stopLoadingForPolicyChange() here is called from the
DocumentLoader::continueAfterContentPolicy() policy callback which
requires m_waitingForContentPolicy to be true. Therefore, we should
assert that m_waitingForContentPolicy is false when m_frame is cleared
in DocumentLoader::detachFromFrame().

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::detachFromFrame):

3:52 PM Changeset in webkit [179894] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r178571. rdar://problem/19670953

3:49 PM Changeset in webkit [179893] by bshafiei@apple.com
  • 3 edits
    4 copies in branches/safari-600.1.4.15-branch

Merged r178490. rdar://problem/19709240

3:45 PM Changeset in webkit [179892] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r178426. rdar://problem/19564743

3:42 PM Changeset in webkit [179891] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r176240. rdar://problem/19670909

3:33 PM Changeset in webkit [179890] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r179187. rdar://problem/19670901

3:27 PM Changeset in webkit [179889] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Make collapsed sidebars undraggable
https://bugs.webkit.org/show_bug.cgi?id=140664

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-02-10
Reviewed by Timothy Hatcher.

  • UserInterface/Views/Sidebar.css:

(.sidebar.collapsed):
(.sidebar.collapsed.right > .resizer): Deleted.
(.sidebar.collapsed.left > .resizer): Deleted.

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar):
(WebInspector.Sidebar.prototype._resizerMouseDown):
(WebInspector.Sidebar.prototype._resizerMouseMoved):
(WebInspector.Sidebar.prototype._resizerDoubleClicked): Deleted.

3:24 PM Changeset in webkit [179888] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r176083. rdar://problem/19670901

3:16 PM Changeset in webkit [179887] by fpizlo@apple.com
  • 18 edits
    1 add in trunk/Source/JavaScriptCore

op_call_varargs should only load the length once
https://bugs.webkit.org/show_bug.cgi?id=141440
rdar://problem/19761683

Reviewed by Michael Saboff.

Refactors the pair of calls that set up the varargs frame so that the first call returns the
length, and the second call uses the length returned by the first one. It turns out that this
gave me an opportunity to shorten a lot of the code.

  • interpreter/Interpreter.cpp:

(JSC::sizeFrameForVarargs):
(JSC::loadVarargs):
(JSC::setupVarargsFrame):
(JSC::setupVarargsFrameAndSetThis):

  • interpreter/Interpreter.h:

(JSC::calleeFrameForVarargs):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileSetupVarargsFrame):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileSetupVarargsFrame):

  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/SetupVarargsFrame.cpp:

(JSC::emitSetVarargsFrame):
(JSC::emitSetupVarargsFrameFastCase):

  • jit/SetupVarargsFrame.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::copyToArguments):

  • runtime/Arguments.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::copyToArguments):

  • runtime/JSArray.h:
  • runtime/VM.h:
  • tests/stress/call-varargs-length-effects.js: Added.

(foo):
(bar):

3:07 PM Changeset in webkit [179886] by achristensen@apple.com
  • 26 edits in trunk/Source/WebCore

Add more WEBCORE_EXPORT macros for iOS.
https://bugs.webkit.org/show_bug.cgi?id=141430

Reviewed by Tim Horton.

  • bindings/objc/WebScriptObject.h:
  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader):

  • dom/Event.h:
  • dom/Node.h:
  • editing/FrameSelection.h:
  • html/HTMLFormControlElement.h:
  • html/HTMLMediaSession.h:
  • page/Frame.h:
  • page/FrameView.h:
  • platform/ScrollView.h:
  • platform/ios/PasteboardIOS.mm:
  • platform/ios/wak/WAKAppKitStubs.h:
  • platform/ios/wak/WAKClipView.h:
  • platform/ios/wak/WAKScrollView.h:
  • platform/ios/wak/WAKView.h:
  • platform/ios/wak/WAKWindow.h:
  • platform/ios/wak/WAKWindow.mm:
  • platform/ios/wak/WKContentObservation.h:
  • platform/ios/wak/WKGraphics.h:
  • platform/ios/wak/WebCoreThread.h:
  • platform/ios/wak/WebCoreThread.mm:
  • platform/ios/wak/WebCoreThreadRun.h:
  • platform/ios/wak/WebCoreThreadSystemInterface.h:
  • platform/network/ios/QuickLook.h:
  • platform/text/TextBreakIterator.h:
3:02 PM Changeset in webkit [179885] by enrica@apple.com
  • 4 edits in trunk/Source/WebKit2

Hit testing is misplaced when selecting on wikipedia page.
https://bugs.webkit.org/show_bug.cgi?id=141410
rdar://problem/19768211

Reviewed by Simon Fraser.

When loading a new document into the same WebPage object, we need
to clear the assisted node, since there is no guarantee that the
node will be blurred. The bug was caused by the use of a stale
assisted node to constrain the point where the gesture occurs.
The node was still valid, since the previous page was in the cache.
I've added a ASSERT to check that, when constraining the point to
node rectangle, the node is in the same document as the one we
are performing hit test on. When the frame is detached, we clear
the assisted node if the node is part of the document is the frame
being detached.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::detachedFromParent2):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::constrainPoint):
(WebKit::WebPage::resetAssistedNodeForFrame):

2:40 PM Changeset in webkit [179884] by Lucas Forschler
  • 4 edits
    1 copy in branches/safari-600.5-branch

Merged r176899. rdar://problem/19739097

2:35 PM Changeset in webkit [179883] by hyatt@apple.com
  • 7 edits
    2 adds in trunk

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.
1:59 PM Changeset in webkit [179882] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Crash in JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq
https://bugs.webkit.org/show_bug.cgi?id=139398

Reviewed by Filip Pizlo.

Due to CFA analysis, the CompareStrictEq node was determined to be unreachable, but later
was determined to be reachable. When we go to lower to LLVM, the edges for the CompareStrictEq
node are UntypedUse which we can't compile. Fixed this by checking that the IR before
lowering can still be handled by the FTL.

Had to add GetArgument as a node that the FTL can compile as the SSA conversion phase converts
a SetArgument to a GetArgument. Before this change FTL::canCompile() would never see a GetArgument
node. With the check right before lowering, we see this node.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl): Added a final FTL::canCompile() check before lowering
to verify that after all the transformations we still have valid IR for the FTL.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile): Added GetArgument as a node the FTL can compile.

1:56 PM Changeset in webkit [179881] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix.

  • public/v2/app.js:

(set get App.Pane.Ember.Object.extend):

1:44 PM Changeset in webkit [179880] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Add assertion to help track down WebCore::DocumentLoader::stopLoadingForPolicyChange() crash
https://bugs.webkit.org/show_bug.cgi?id=141441
<rdar://problem/13811738>

Reviewed by Alexey Proskuryakov.

Add assertion to help track down a crash in
WebCore::DocumentLoader::stopLoadingForPolicyChange().

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::~DocumentLoader):
Make sure the DocumentLoader is not waiting for a content policy
response when it is destroyed. If this were to happen, then the
lambda function passed to PolicyChecker::checkContentPolicy()
would outlive the DocumentLoader. This is an issue because
that lambda function captures [this], which is the DocumentLoader.
This would cause DocumentLoader::continueAfterContentPolicy() to
be called after the DocumentLoader has been destroyed, which would
explain the crash.

1:41 PM Changeset in webkit [179879] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS Pretty Printing: still fails fails to put space between rgb(...) and numbers in minified gradients
https://bugs.webkit.org/show_bug.cgi?id=141411

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-10
Reviewed by Timothy Hatcher.

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • UserInterface/Views/CodeMirrorFormatters.js:

Token actually was "number m-css" so we should check token strings
more robustly, like elsewhere in the formatters.

1:39 PM Changeset in webkit [179878] by rniwa@webkit.org
  • 7 edits in trunk/Websites/perf.webkit.org

New perf dashboard should have the ability to overlay moving average with an envelope
https://bugs.webkit.org/show_bug.cgi?id=141438

Reviewed by Andreas Kling.

This patch adds three kinds of moving average strategies and two kinds of enveloping strategies:

Simple Moving Average - The moving average x̄_i of x_i is computed as the arithmetic mean of values
from x_(i - n) though x_(i + m) where n is a non-negative integer and m is a positive integer. It takes
n, backward window size, and m, forward window size, as an argument.

Cumulative Moving Average - x̄_i is computed as the arithmetic mean of all values x_0 though x_i.
That is, x̄_1 = x_1 and x̄_i = ((i - 1) * M_(i - 1) + x_i) / i for all i > 1.

Exponential Moving Average - x̄_i is computed as the weighted average of x_i and x̄_(i - 1) with α as
an argument specifying x_i's weight. To be precise, x̄_1 = x_1 and x̄_i = α * x_i + (α - 1) x̄_(i-1).

Average Difference - The enveloping delta d is computed as the arithmetic mean of the difference
between each x_i and x̄_i.

Moving Average Standard Deviation - d is computed like the standard deviation except the deviation
for each term is measured from the moving average instead of the sample arithmetic mean. i.e. it uses
the average of (x_i - x̄_i)2 as the "sample variance" instead of the conventional (x_i - x̄)2 where
x̄ is the sample mean of all x_i's. This change was necessary since our time series is non-stationary.

Each strategy is cloned for an App.Pane instance so that its parameterList can be configured per pane.
The configuration of the currently chosen strategies is saved in the query string for convenience.

Also added the "stat pane" to choose a moving average strategy and a enveloping strategy in each pane.

  • public/v2/app.css: Specify the fill color for all SVG groups in the pane toolbar icons.
  • public/v2/app.js:

(App.Pane._fetch): Delegate the creation of 'chartData' to _computeChartData.
(App.Pane.updateStatisticsTools): Added. Clones moving average and enveloping strategies for this pane.
(App.Pane._cloneStrategy): Added. Clones a strategy for a new pane.
(App.Pane._configureStrategy): Added. Finds and configures a strategy from the configuration retrieved
from the query string via ChartsController.
(App.Pane._computeChartData): Added. Creates chartData from fetchedData.
(App.Pane._computeMovingAverage): Added. Computes the moving average and the envelope.
(App.Pane._executeStrategy): Added.
(App.Pane._updateStrategyConfigIfNeeded): Pushes the strategy configurations to the query string via
ChartsController.
(App.ChartsController._parsePaneList): Merged the query string arguments for the range and point
selections, and added two new arguments for the moving average and the enveloping configurations.
(App.ChartsController._serializePaneList): Ditto.
(App.ChartsController._scheduleQueryStringUpdate): Observes strategy configurations.
(App.PaneController.actions.toggleBugsPane): Hides the stat pane.
(App.PaneController.actions.toggleSearchPane): Hides the stat pane.
(App.PaneController.actions.toggleStatPane): Added.

  • public/v2/chart-pane.css: Added CSS rules for the new stat pane. Also added .foreground class for the

current (as opposed to baseline and target) time series for when it's the most foreground graph without
moving average and its envelope overlapping on top of it.

  • public/v2/index.html: Added the templates for the stat pane and the corresponding icon (Σ).
  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent.chartDataDidChange): Unset _totalWidth and _totalHeight to avoid exiting
early inside _updateDimensionsIfNeeded when chartData changes after the initial layout.
(App.InteractiveChartComponent.didInsertElement): Attach event listeners here instead of inside
_constructGraphIfPossible since that could be called multiple times on the same SVG element.
(App.InteractiveChartComponent._constructGraphIfPossible): Clear down the old SVG element we created
but don't bother removing individual paths and circles. Added the code to show the moving average time
series when there is one. Also add "foreground" class on SVG elements for the current time series when
we're not showing the moving average. chart-pane.css has been updated to "dim down" the current time
series when "foreground" is not set.
(App.InteractiveChartComponent._minMaxForAllTimeSeries): Take the moving average time series into
account when computing the y-axis range.
(App.InteractiveChartComponent._brushChanged): Removed 'selectionIsLocked' argument as it's useless.

  • public/v2/js/statistics.js:

(Statistics.MovingAverageStrategies): Added.
(Statistics.EnvelopingStrategies): Added.

12:27 PM Changeset in webkit [179877] by Alan Bujtas
  • 3 edits
    2 adds in trunk

REGRESSION (r168046): Crash in WebCore::InlineBox::renderer / WebCore::RenderFlowThread::checkLinesConsistency
https://bugs.webkit.org/show_bug.cgi?id=133462

Reviewed by David Hyatt.

RenderFlowThread::m_lineToRegionMap stores pointers to the root inlineboxes in the block flow.
Normally root inlineboxes remove themselves from this map in their dtors. However when collapsing an anonymous block,
we detach the inline tree first and destroy them after. The detached root boxes can't access
the flowthread containing block and we end up with dangling pointers in this map.
Call removeFlowChildInfo() before detaching the subtree to ensure proper pointer removal.

Source/WebCore:

Test: fast/multicol/newmulticol/crash-when-switching-to-floating.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::collapseAnonymousBoxChild):

LayoutTests:

  • fast/multicol/newmulticol/crash-when-switching-to-floating-expected.txt: Added.
  • fast/multicol/newmulticol/crash-when-switching-to-floating.html: Added.
12:26 PM Changeset in webkit [179876] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

11:48 AM Changeset in webkit [179875] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove unused DFG::SpeculativeJIT::calleeFrameOffset().

Rubber stamped by Michael Saboff.

Not only was this not used, I believe that the math was wrong. The callee frame doesn't
actually land past m_nextMachineLocal; instead it lands just below wherever we put SP and
that decision is made elsewhere. Also, it makes no sense to subtract 1 from
m_nextMachineLocal when trying to deduce the number of in-use stack slots.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::calleeFrameOffset): Deleted.

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

[Cocoa] NSData over retain in WKBrowsingContextController loadData
https://bugs.webkit.org/show_bug.cgi?id=141437

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-10
Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
API::Data::createWithoutCopying will automatically do the retaining / releasing for us.

11:01 AM Changeset in webkit [179873] by saambarati1@gmail.com
  • 4 edits in trunk/Source/JavaScriptCore

Parser::parseVarDeclarationList gets the wrong JSToken for the last identifier
https://bugs.webkit.org/show_bug.cgi?id=141272

Reviewed by Oliver Hunt.

This patch fixes a bug where the wrong text location would be
assigned to a variable declaration inside a ForIn/ForOf loop.
It also fixes a bug in the type profiler where the type profiler
emits the wrong text offset for a ForIn loop's variable declarator
when it's not a pattern node.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ForInNode::emitLoopHeader):

  • parser/Parser.cpp:

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

  • tests/typeProfiler/loop.js:

(testForIn):
(testForOf):

9:28 AM Changeset in webkit [179872] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Gardening: fast/loader/subframe-navigate-during-main-frame-load.html crashes running all tests

  • platform/ios-simulator-wk2/TestExpectations: Mark

fast/loader/subframe-navigate-during-main-frame-load.html as
flakey.

9:05 AM Changeset in webkit [179871] by Anton Obzhirov
  • 4 edits
    2 adds in trunk

Render: properly update body's background image
https://bugs.webkit.org/show_bug.cgi?id=140183

When HTML and BODY renderers are both composited the
skipBodyBackground condition should also take into account
if the HTML's layer can draw its contents.

Patch by Julien Isorce <j.isorce@samsung.com> on 2015-02-10
Reviewed by Darin Adler.

Source/WebCore:

Test: animations/animation-background-image.html

  • rendering/RenderBox.cpp:

(WebCore::skipBodyBackground): Do not skip
if document's layer cannot draw its content.
Previously both body and html did not paint the background
when they are both composited.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::contentChanged): Also redisplay
the content.

LayoutTests:

  • compositing/backgrounds/background-image-with-negative-zindex-expected.html: Added.
  • compositing/backgrounds/background-image-with-negative-zindex.html: Added.
8:01 AM Changeset in webkit [179870] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebKit2

[WK2] Add support for registering url schemes to bypass Content Security Policy.
https://bugs.webkit.org/show_bug.cgi?id=140736

Patch by Zhuo Li <zachli@apple.com> on 2015-02-10
Reviewed by Anders Carlsson.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextRegisterURLSchemeAsBypassingContentSecurityPolicy):

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::registerURLSchemeAsBypassingContentSecurityPolicy):

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::registerURLSchemeAsBypassingContentSecurityPolicy):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
7:47 AM Changeset in webkit [179869] by eric.carlson@apple.com
  • 6 edits in trunk

[iOS] don't get out of sync when interrupt/resume calls are not balanced
https://bugs.webkit.org/show_bug.cgi?id=141310

Reviewed by Jer Noble.

Source/WebCore:

No new tests, updated media/video-interruption-with-resume-allowing-play.html.

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::beginInterruption): Count interruptions.
(WebCore::MediaSession::endInterruption): Ignore calls when m_interruptionCount is already zero.

  • platform/audio/MediaSession.h:

LayoutTests:

  • media/video-interruption-with-resume-allowing-play-expected.txt:
  • media/video-interruption-with-resume-allowing-play.html: Updated to test unbalanced calls

to begin/end interruption.

6:42 AM Changeset in webkit [179868] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK Gardening.

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-02-10

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/css/font-face-in-media-rule-expected.txt: Added. Rebaselined after r177774.
5:19 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
2:40 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
12:34 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
12:24 AM Changeset in webkit [179867] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Use a variable to set flicking time instead of hardcoding
https://bugs.webkit.org/show_bug.cgi?id=138950

Patch by Sanghyup Lee <sh53.lee@samsung.com> on 2015-02-10
Reviewed by Gyuyoung Kim.

Currently time of flick gesture animation is hardcoded as one second.
This patch added a static variable to increase readability.

  • UIProcess/API/efl/GestureRecognizer.cpp:

(WebKit::GestureHandler::GestureHandler):
(WebKit::GestureHandler::flickAnimatorCallback):
(WebKit::GestureHandler::handleFlick):

12:16 AM Changeset in webkit [179866] by Carlos Garcia Campos
  • 7 edits in trunk/Source

[GTK] GMutexLocker build issue
https://bugs.webkit.org/show_bug.cgi?id=141381

Reviewed by Žan Doberšek.

Source/WebCore:

Use always WTF::GMutexLocker because newer glib versions have a
GMutexLocker in the public API.

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:

(WebCore::AudioSourceProviderGStreamer::provideInput):
(WebCore::AudioSourceProviderGStreamer::handleAudioBuffer):
(WebCore::AudioSourceProviderGStreamer::clearAdapters):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockSampleMutex):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStart):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcGetProperty):
(webKitWebSrcStop):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekDataCb):
(webKitWebSrcSetMediaPlayer):
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

Source/WTF:

Remove using WTF::GMutexLocker from the header, since newer glib
versions have a GMutexLocker in the public API.

  • wtf/gobject/GMutexLocker.h:

Feb 9, 2015:

11:40 PM Changeset in webkit [179865] by saambarati1@gmail.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

JSC's Type Profiler doesn't profile the type of the looping variable in ForOf/ForIn loops
https://bugs.webkit.org/show_bug.cgi?id=141241

Reviewed by Filip Pizlo.

Type information is now recorded for ForIn and ForOf statements.
It was an oversight to not have these statements profiled before.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ForInNode::emitLoopHeader):
(JSC::ForOfNode::emitBytecode):

  • tests/typeProfiler/loop.js: Added.

(testForIn):
(testForOf):

11:09 PM Changeset in webkit [179864] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Activate media tests. (Unreviewed)

  • platform/win/TestExpectations: Activate tests.
8:46 PM Changeset in webkit [179863] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG::StackLayoutPhase should always set the scopeRegister to VirtualRegister() because the DFG doesn't do anything to make its value valid
https://bugs.webkit.org/show_bug.cgi?id=141412

Reviewed by Michael Saboff.

StackLayoutPhase was attempting to ensure that the register that
CodeBlock::scopeRegister() points to is the right one for the DFG. But the DFG did nothing
else to maintain the validity of the scopeRegister(). It wasn't captured as far as I can
tell. StackLayoutPhase didn't explicitly mark it live. PreciseLocalClobberize didn't mark
it as being live. So, by the time we got here the register referred to by
CodeBlock::scopeRegister() would have been junk. Moreover, CodeBlock::scopeRegister() was
not used for DFG code blocks, and was hardly ever used outside of bytecode generation.

So, this patch just removes the code to manipulate this field and replaces it with an
unconditional setScopeRegister(VirtualRegister()). Setting it to the invalid register
ensures that any attempst to read the scopeRegister in a DFG or FTL frame immediately
punts.

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

7:27 PM Changeset in webkit [179862] by fpizlo@apple.com
  • 21 edits
    2 adds in trunk/Source/JavaScriptCore

Varargs frame set-up should be factored out for use by other JITs
https://bugs.webkit.org/show_bug.cgi?id=141388

Reviewed by Michael Saboff.

Previously the code that dealt with varargs always assumed that we were setting up a varargs call
frame by literally following the execution semantics of op_call_varargs. This isn't how it'll
happen once the DFG and FTL do varargs calls, or when varargs calls get inlined. The DFG and FTL
don't literally execute bytecode; for example their stack frame layout has absolutely nothing in
common with what the bytecode says, and that will never change.

This patch makes two changes:

Setting up the varargs callee frame can be done in smaller steps: particularly in the case of a
varargs call that gets inlined, we aren't going to actually want to set up a callee frame in
full - we just want to put the arguments somewhere, and that place will not have much (if
anything) in common with the call frame format. This patch factors that out into something called
a loadVarargs. The thing we used to call loadVarargs is now called setupVarargsFrame. This patch
also separates loading varargs from setting this, since the fact that those two things are done
together is a detail made explicit in bytecode but it's not at all required in the higher-tier
engines. In the process of factoring this code out, I found a bunch of off-by-one errors in the
various calculations. I fixed them. The distance from the caller's frame pointer to the callee
frame pointer is always:

numUsedCallerSlots + argCount + 1 + CallFrameSize


where numUsedCallerSlots is toLocal(firstFreeRegister) - 1, which simplifies down to just
-firstFreeRegister. The code now speaks of numUsedCallerSlots rather than firstFreeRegister,
since the latter is a bytecode peculiarity that doesn't apply in the DFG or FTL. In the DFG, the
internally-computed frame size, minus the parameter slots, will be used for numUsedCallerSlots.
In the FTL, we will essentially compute numUsedCallerSlots dynamically by subtracting SP from FP.
Eventually, LLVM might give us some cleaner way of doing this, but it probably doesn't matter
very much.

The arguments forwarding optimization is factored out of the Baseline JIT: the DFG and FTL will
want to do this optimization as well, but it involves quite a bit of code. So, this code is now
factored out into SetupVarargsFrame.h|cpp, so that other JITs can use it. In the process of factoring
this code out I noticed that the 32-bit and 64-bit code is nearly identical, so I combined them.

(JSC::ExecState::r):
(JSC::ExecState::uncheckedR):

  • bytecode/VirtualRegister.h:

(JSC::VirtualRegister::operator+):
(JSC::VirtualRegister::operator-):
(JSC::VirtualRegister::operator+=):
(JSC::VirtualRegister::operator-=):

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

(JSC::sizeFrameForVarargs):
(JSC::loadVarargs):
(JSC::setupVarargsFrame):
(JSC::setupVarargsFrameAndSetThis):

  • interpreter/Interpreter.h:
  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitGetFromCallFrameHeaderPtr):
(JSC::AssemblyHelpers::emitGetFromCallFrameHeader32):
(JSC::AssemblyHelpers::emitGetFromCallFrameHeader64):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileSetupVarargsFrame):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileSetupVarargsFrame):

  • jit/JITInlines.h:

(JSC::JIT::callOperation):
(JSC::JIT::emitGetFromCallFrameHeaderPtr): Deleted.
(JSC::JIT::emitGetFromCallFrameHeader32): Deleted.
(JSC::JIT::emitGetFromCallFrameHeader64): Deleted.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/SetupVarargsFrame.cpp: Added.

(JSC::emitSetupVarargsFrameFastCase):

  • jit/SetupVarargsFrame.h: Added.
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::copyToArguments):

  • runtime/Arguments.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::copyToArguments):

  • runtime/JSArray.h:
5:21 PM Changeset in webkit [179861] by commit-queue@webkit.org
  • 68 edits in trunk/Source/WebCore

Update WEBCORE_EXPORT to prepare to start using it.
https://bugs.webkit.org/show_bug.cgi?id=141409

Patch by Alex Christensen <achristensen@webkit.org> on 2015-02-09
Reviewed by Tim Horton.

  • bindings/js/JSDOMGlobalObject.h:
  • bindings/objc/DOMInternal.h:
  • bindings/objc/ExceptionHandlers.mm:
  • bindings/objc/WebScriptObjectPrivate.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNondeterministic.h:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.h:
  • css/StyleProperties.h:
  • dom/DeviceMotionData.h:
  • dom/Node.h:
  • dom/Position.h:
  • dom/ScriptExecutionContext.h:
  • editing/Editor.h:
  • editing/htmlediting.h:
  • html/HTMLInputElement.h:
  • html/TimeRanges.h:
  • loader/FrameLoader.h:
  • loader/cache/CacheValidation.h:
  • loader/cache/MemoryCache.h:
  • loader/icon/IconDatabase.h:
  • page/DatabaseProvider.h:
  • page/DiagnosticLoggingKeys.h:
  • page/EventHandler.h:
  • page/FrameSnapshotting.h:
  • page/MainFrame.h:
  • page/PageConsoleClient.h:
  • page/PageOverlay.h:
  • platform/CrossThreadCopier.h:
  • platform/FileSystem.h:
  • platform/PlatformSpeechSynthesizer.h:
  • platform/RemoteCommandListener.h:
  • platform/RuntimeApplicationChecks.h:
  • platform/graphics/Font.h:
  • platform/graphics/FontCache.h:
  • platform/graphics/FontGlyphs.h:
  • platform/graphics/FontRanges.h:
  • platform/graphics/GeometryUtilities.h:
  • platform/graphics/GlyphPage.h:
  • platform/graphics/Region.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/TileController.h:
  • platform/graphics/transforms/TransformationMatrix.h:
  • platform/mac/WebCoreFullScreenWarningView.h:
  • platform/network/BlobDataFileReference.h:
  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.h:
  • platform/network/create-http-header-name-table:
  • platform/network/mac/WebCoreURLResponse.h:
  • platform/sql/SQLiteDatabaseTracker.h:
  • platform/sql/SQLiteStatement.h:
  • rendering/HitTestLocation.h:
  • rendering/HitTestResult.h:
  • storage/StorageEventDispatcher.h:

Added WEBCORE_EXPORT macros.

5:17 PM Changeset in webkit [179860] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Check for self-assignment in Length::operator=(const Length&)
https://bugs.webkit.org/show_bug.cgi?id=141402

Reviewed by Andreas Kling.

Check for self-assignment in Length::operator=(const Length&) as
calling memcpy() with the same source and destination addresses has
undefined behavior.

  • platform/Length.h:

(WebCore::Length::operator=):

5:02 PM Changeset in webkit [179859] by roger_fong@apple.com
  • 22 edits
    2 deletes in trunk

WebGL: Update 1.0.2 conformance layout tests and address new failure.
https://bugs.webkit.org/show_bug.cgi?id=141408.
<rdar://problem/19773236>

Reviewed by Dean Jackson.

Tests covered by updated 1.0.2 conformance tests.

  • html/canvas/WebGLRenderingContextBase.cpp:

Return null string instead of empty string if parameter validation fails.
(WebCore::WebGLRenderingContextBase::getProgramInfoLog):
(WebCore::WebGLRenderingContextBase::getShaderInfoLog):
(WebCore::WebGLRenderingContextBase::getShaderSource):

  • fast/canvas/webgl/bad-arguments-test-expected.txt: Removed.
  • fast/canvas/webgl/bad-arguments-test.html: Removed. Redundant test case.
  • webgl/1.0.2/resources/webgl_test_files/README.md:
  • webgl/1.0.2/resources/webgl_test_files/conformance/attribs/gl-disabled-vertex-attrib.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/context/context-creation-and-destruction.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-s3tc.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/extensions/webgl-debug-shaders.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/extensions/webgl-depth-texture.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/misc/bad-arguments-test.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/misc/webgl-specific.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/more/functions/uniformMatrixBadArgs.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/more/unit.js:
  • webgl/1.0.2/resources/webgl_test_files/conformance/more/util.js:

(VBO.prototype.use):

  • webgl/1.0.2/resources/webgl_test_files/conformance/rendering/multisample-corruption.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/resources/fragmentShader.frag:
  • webgl/1.0.2/resources/webgl_test_files/conformance/resources/glsl-generator.js:
  • webgl/1.0.2/resources/webgl_test_files/conformance/resources/vertexShader.vert:
  • webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test-utils.js:

(WebGLTestUtils):

  • webgl/1.0.2/resources/webgl_test_files/test-guidelines.md:
  • webgl/1.0.2/resources/webgl_test_files/webgl-conformance-tests.html:
4:43 PM Changeset in webkit [179858] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.17.1/Source/WebCore

Merged r179839. rdar://problem/19520735

4:32 PM Changeset in webkit [179857] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.17.1/Source

Versioning.

4:30 PM Changeset in webkit [179856] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.17.1

New tag.

4:12 PM Changeset in webkit [179855] by ap@apple.com
  • 2 edits in trunk/Source/WTF

REGRESSION: tryFastCalloc is no longer "try"
https://bugs.webkit.org/show_bug.cgi?id=141406

Reviewed by Darin Adler.

This causes crashes on some WebKit regression test bots.

  • wtf/FastMalloc.cpp: (WTF::tryFastCalloc): Fix what looks like a copy/paste mistake.
3:58 PM Changeset in webkit [179854] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.5

New tag.

3:48 PM Changeset in webkit [179853] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

3:43 PM Changeset in webkit [179852] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.17-branch/Source

Versioning.

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

DFG call codegen should resolve the callee operand as late as possible
https://bugs.webkit.org/show_bug.cgi?id=141398

Reviewed by Mark Lam.

This is mostly a benign restructuring to help with the implementation of
https://bugs.webkit.org/show_bug.cgi?id=141332.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

3:39 PM Changeset in webkit [179850] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Avoid using a HashMap for DisplayRefreshMonitorManager, which rarely has more than one item
https://bugs.webkit.org/show_bug.cgi?id=141353

Reviewed by Anders Carlsson.

No new tests, because there's no behavior change.

  • platform/graphics/DisplayRefreshMonitorManager.cpp:

(WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
(WebCore::DisplayRefreshMonitorManager::unregisterClient):
(WebCore::DisplayRefreshMonitorManager::displayDidRefresh):

  • platform/graphics/DisplayRefreshMonitorManager.h:

Use a Vector of RefPtr<DisplayRefreshMonitor> instead of a HashMap
from uint64_t to RefPtr<DisplayRefreshMonitor>. There's usually only one
display, so there's usually only one DisplayRefreshMonitor. Linear search
on the Vector will be faster than the hash lookup in all conceivable cases.
This also avoids the situation mentioned in the comments in DisplayRefreshMonitorManager.h
where we don't know enough about PlatformDisplayID to safely hash it.

3:26 PM Changeset in webkit [179849] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.17.7

New tag.

3:25 PM Changeset in webkit [179848] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.17-branch/Source/WebKit/win

Merged r179841. <rdar://problem/19772847>

3:19 PM Changeset in webkit [179847] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Selection flickers when trying to change size of selection.
https://bugs.webkit.org/show_bug.cgi?id=141404
rdar://problem/18824863

Reviewed by Benjamin Poulain.

When looking for the contracted range from the current range,
we were incorrectly choosing a selection whose rectangle is empty
as a best match candidate. This was throwing off all the logic
and producing a contracted range whose rectangle was bigger than the
expanded range, therefore producing a shrink threshold larger than the
growth one.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::contractedRangeFromHandle):

3:19 PM Changeset in webkit [179846] by Brian Burg
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught exception when reporting wrong backend command call signature
https://bugs.webkit.org/show_bug.cgi?id=141401

Reviewed by Joseph Pecoraro.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Command.prototype._invokeWithArguments): Fix wrong variable name.

3:09 PM Changeset in webkit [179845] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.4

New tag.

3:04 PM Changeset in webkit [179844] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.8

New tag.

2:57 PM Changeset in webkit [179843] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] Disable the currentTime estimation code in HTMLMediaElement for Yosemite+
https://bugs.webkit.org/show_bug.cgi?id=141399

Reviewed by Eric Carlson.

Apparenty -[AVPlayer rate] means different things for HLS and progressive content; for progressive,
the -rate is the actual rate of playback. For HLS, the -rate is the requested rate, and will return
the requested value even if time is not progressing.

We added the currentTime estimation engine because asking AVFoundation for its -currentTime used to
be expensive, but we've been assured that in recent iOS and OS X releases, -currentTime should be
very fast. That, in combination with the HLS behavior of -rate and how it breaks the currentTime
estimation, means we should probably turn it off for iOS and Yosemite.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:

(WebCore::MediaPlayerPrivateAVFoundationObjC::maximumDurationToCacheMediaTime): Move implementation to .mm.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::maximumDurationToCacheMediaTime): Disable on iOS and >=10.10.

12:50 PM Changeset in webkit [179842] by roger_fong@apple.com
  • 8 edits in trunk/Source/WebCore

WebGL 2: Texture call format, internal format, and type validation.
https://bugs.webkit.org/show_bug.cgi?id=141318.
<rdar://problem/19733828>

Reviewed by Brent Fulgham.

Tests will be covered by WebGL2 conformance tests.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter): Add missing ExceptionCode argument.
(WebCore::WebGL2RenderingContext::copyTexImage2D): Validate texture formats based on GLES3 spec.
(WebCore::WebGL2RenderingContext::texSubImage2DBase): Validate using internal format from texture target.
(WebCore::WebGL2RenderingContext::texSubImage2DImpl): Validate using internal format from texture target.
(WebCore::WebGL2RenderingContext::texSubImage2D): Validate using internal format from texture target.
(WebCore::WebGL2RenderingContext::validateTexFuncParameters): Do extra validation for copyTexImage2D.
(WebCore::WebGL2RenderingContext::validateTexFuncFormatAndType): Validate internal format, format and type combination.
(WebCore::WebGL2RenderingContext::validateTexFuncData): Validate new data types.
This method now accepts an internal format argument.
(WebCore::WebGL2RenderingContext::baseInternalFormatFromInternalFormat):
Helper method to convert internal format to base internal format.

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::copyTexImage2D): Moved from WebGLRenderingContextBase.
(WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
(WebCore::WebGLRenderingContext::validateTexFuncParameters): Ditto.
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): Ditto.
(WebCore::WebGLRenderingContext::validateTexFuncData): Ditto.

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::texImage2DBase):
(WebCore::WebGLRenderingContextBase::validateTexFunc):
(WebCore::WebGLRenderingContextBase::texImage2D):
(WebCore::WebGLRenderingContextBase::copyTexImage2D): Deleted.
(WebCore::WebGLRenderingContextBase::texSubImage2DBase): Deleted.
(WebCore::WebGLRenderingContextBase::texSubImage2DImpl): Deleted.
(WebCore::WebGLRenderingContextBase::texSubImage2D): Deleted.
(WebCore::WebGLRenderingContextBase::validateTexFuncFormatAndType): Deleted.
(WebCore::WebGLRenderingContextBase::validateTexFuncParameters): Deleted.
(WebCore::WebGLRenderingContextBase::validateTexFuncData): Deleted.

  • html/canvas/WebGLRenderingContextBase.h: Modify validation type enums to differentiate between CopyImage, TexImage and TexSubImage calls.

(WebCore::ScopedDrawingBufferBinder::ScopedDrawingBufferBinder): Moved from WebGLRenderingContextBase.
(WebCore::ScopedDrawingBufferBinder::~ScopedDrawingBufferBinder): Ditto.
(WebCore::clip1D): Ditto.
(WebCore::clip2D): Ditto.

  • platform/graphics/GraphicsContext3D.h: Rename a typo'ed enum.
12:27 PM Changeset in webkit [179841] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

AX: [Win] OBJID_CLIENT comparisons broken in 64-bit builds
https://bugs.webkit.org/show_bug.cgi?id=141391
<rdar://problem/19767342>

Reviewed by Anders Carlsson.

  • WebView.cpp:

(WebView::onGetObject): Cast lParam as LONG to ensure proper word size for
comparison against OBJID_CLIENT.

11:57 AM Changeset in webkit [179840] by fpizlo@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

DFG should only have two mechanisms for describing effectfulness of nodes; previously there were three
https://bugs.webkit.org/show_bug.cgi?id=141369

Reviewed by Michael Saboff.

We previously used the NodeMightClobber and NodeClobbersWorld NodeFlags to describe
effectfulness. Starting over a year ago, we introduced a more powerful mechanism - the
DFG::clobberize() function. Now we only have one remaining client of the old NodeFlags,
and everyone else uses DFG::clobberize(). We should get rid of those NodeFlags and
finally switch everyone over to DFG::clobberize().

Unfortunately there is still another place where effectfulness of nodes is described: the
AbstractInterpreter. This is because the AbstractInterpreter has special tuning both for
compile time performance and there are places where the AI is more precise than
clobberize() because of its flow-sensitivity.

This means that after this change there will be only two places, rather than three, where
the effectfulness of a node has to be described:

  • DFG::clobberize()
  • DFG::AbstractInterpreter
  • dfg/DFGClobberize.cpp:

(JSC::DFG::clobbersWorld):

  • dfg/DFGClobberize.h:
  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteLength):
(JSC::DFG::FixupPhase::convertToGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteOffset):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::isPredictedNumerical): Deleted.
(JSC::DFG::Graph::byValIsPure): Deleted.
(JSC::DFG::Graph::clobbersWorld): Deleted.

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToConstant):
(JSC::DFG::Node::convertToGetLocalUnlinked):
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToMultiGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::convertToMultiPutByOffset):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):

  • dfg/DFGNodeFlags.h:
  • dfg/DFGNodeType.h:
11:53 AM Changeset in webkit [179839] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

Caused slowdown in a WebKit client test scenario (Requested by
kling on #webkit).

Reverted changeset:

"[Cocoa] Make decoded image data purgeable ASAP."
https://bugs.webkit.org/show_bug.cgi?id=140298
http://trac.webkit.org/changeset/179494

11:45 AM Changeset in webkit [179838] by jer.noble@apple.com
  • 5 edits
    8 adds in trunk

[WebAudio] AudioBufferSourceNodes should accurately play backwards if given a negative playbackRate.
https://bugs.webkit.org/show_bug.cgi?id=140955

Reviewed by Eric Carlson.

Source/WebCore:

Tests: webaudio/audiobuffersource-negative-playbackrate-interpolated.html

webaudio/audiobuffersource-negative-playbackrate.html

Add support for playing an AudioBufferSourceNode at a negative playbackRate. Change the meaning of
start() to set the initial playback position at the end of the play range if the rate of playback
is negtive.

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::AudioBufferSourceNode): Allow the playbackRate AudioParam to range from [-32, 32].
(WebCore::AudioBufferSourceNode::renderFromBuffer): Change variable names from "start" and "end" to "min" and "max"

for clarity. Add a non-interpolated and interpolated render step for negative playback.

(WebCore::AudioBufferSourceNode::start): Drive-by fix: default value of grainDuration is not 0.02.
(WebCore::AudioBufferSourceNode::startPlaying): Start playing at the end of the buffer for negative playback.
(WebCore::AudioBufferSourceNode::totalPitchRate): Allow the pitch to be negative.

LayoutTests:

  • webaudio/audiobuffersource-negative-playbackrate-expected.txt: Added.
  • webaudio/audiobuffersource-negative-playbackrate-interpolated-expected.txt: Added.
  • webaudio/audiobuffersource-negative-playbackrate-interpolated-loop-expected.txt: Added.
  • webaudio/audiobuffersource-negative-playbackrate-interpolated-loop.html: Added.
  • webaudio/audiobuffersource-negative-playbackrate-interpolated.html:
  • webaudio/audiobuffersource-negative-playbackrate-loop-expected.txt: Added.
  • webaudio/audiobuffersource-negative-playbackrate-loop.html: Added.
  • webaudio/audiobuffersource-negative-playbackrate.html:
  • webaudio/resources/audiobuffersource-testing.js:

(createRamp):

Get rid of extra HRTF padding as it's now unnecessary.

  • webaudio/resources/note-grain-on-testing.js:

(createSignalBuffer):
(verifyStartAndEndFrames):

11:33 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
11:29 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
11:29 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
11:28 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
11:27 AM WebKitGTK/Gardening edited by clopez@igalia.com
(diff)
11:27 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
11:23 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
11:19 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
10:59 AM Changeset in webkit [179837] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Gardening: css3/masking/mask-repeat-space-padding.html

  • platform/ios-simulator-wk2/TestExpectations: Remove

expectation since this is covered in
platform/ios-simulator/TestExpectations as an ImageOnlyFailure.

10:53 AM Changeset in webkit [179836] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

[iOS] Gardening for editing/execCommand/remove-list-item-1.html

  • platform/ios-simulator-wk1/TestExpectations:

(editing/execCommand/remove-list-item-1.html): Mark as flakey.
When run (with or without --run-singly), this test always passes
the first time, but fails all subsequent times due to
EDITING DELEGATE: shouldChangeSelectedDOMRange:range
running in a different order.

  • platform/ios-simulator-wk2/editing/execCommand/remove-list-item-1-expected.txt: Update.
10:26 AM Changeset in webkit [179835] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r179809. rdar://problem/19711203

10:24 AM Changeset in webkit [179834] by bshafiei@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r179809. rdar://problem/19711203

10:23 AM Changeset in webkit [179833] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

10:22 AM Changeset in webkit [179832] by ddkilzer@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

REGRESSION (r179771): [iOS] Gardening for compositing/layer-creation/subpixel-adjacent-layers-overlap.html

Test recently added for:
Convert the compositing overlap map to use LayoutRects
<http://webkit.org/b/141346>

  • platform/ios-simulator/compositing/layer-creation/subpixel-adjacent-layers-overlap-expected.txt:

Add platform-specific results for ios-simulator.

10:07 AM Changeset in webkit [179831] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Fix the !ENABLE(DFG_JIT) build
https://bugs.webkit.org/show_bug.cgi?id=141387

Reviewed by Darin Adler.

  • jit/Repatch.cpp:
9:52 AM Changeset in webkit [179830] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests shell test runner should run tests in fixed order
https://bugs.webkit.org/show_bug.cgi?id=141383

Reviewed by Darin Adler.

  • Scripts/jsc-stress-test-helpers/shell-runner.sh:
9:15 AM Changeset in webkit [179829] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Try to fix build on platforms that use SVG "all in one" file (Windows).

  • svg/SVGAElement.cpp: Don't do "using namespace HTMLNames;" outside of

function boundaries, because that will be inherited by other files.
(WebCore::SVGAElement::isURLAttribute): Use XLinkNames directly here
instead of using HTMLNames implicitly.

  • svg/SVGElement.cpp: Don't do "using namespace HTMLNames;" outside of

function boundaries, because that will be inherited by other files.
(WebCore::populateAttributeNameToCSSPropertyIDMap): Instead do it in here.
(WebCore::populateAttributeNameToAnimatedPropertyTypeMap): And here.
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap): And here.
(WebCore::SVGElement::parseAttribute): And use HTMLNames directly here
instead of implicitly.

8:37 AM Changeset in webkit [179828] by Brian Burg
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r179705): 2nd-level inspector availability no longer controlled by DeveloperExtrasEnabled user default
https://bugs.webkit.org/show_bug.cgi?id=141343

Reviewed by Timothy Hatcher.

The regression was caused by the switch to using WKWebViewConfiguration and
its default WebPreferences object, which is used to populate the inspector page's
Settings object. This WebPreferences is initialized with no identifier, so
only preferences in the FOR_EACH_WEBKIT_DEBUG_*_PREFERENCE macros are populated
from NSUserDefaults.

The simplest fix is to move DeveloperExtrasEnabled into the DEBUG group.

Previously, each inspector level had a unique identifier such as
WebInspectorPageGroupLevelN, and the n+1 level inspector was enabled
by toggling WebInspectorPageGroupLevelN.WebKit2DeveloperExrasEnabled.
With the move to the DEBUG group, the preference becomes simply
WebKitDeveloperExtrasEnabled, which enables any level of inspector.
(This does not clash with Safari's "Show Develop Menu" preference, which uses
the key "WebKitDeveloperExtrasEnabledPreferenceKey")

  • Shared/WebPreferencesDefinitions.h:
8:22 AM Changeset in webkit [179827] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] exit from fullscreen when player view controller calls delegate
https://bugs.webkit.org/show_bug.cgi?id=141350

Reviewed by Jer Noble.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController playerViewControllerWillCancelOptimizedFullscree:]): New, ask delegate

to exit from fullscreen.

7:56 AM HackingWebInspector edited by Brian Burg
update NSUserDefaults keys after … (diff)
6:05 AM Changeset in webkit [179826] by svillar@igalia.com
  • 3 edits
    1 add in trunk

ASSERTION FAILED: resolvedInitialPosition <= resolvedFinalPosition in WebCore::GridSpan::GridSpan
https://bugs.webkit.org/show_bug.cgi?id=141328

Reviewed by Darin Adler.

.:

Added as manual test because it involves a huge grid allocation
which is very slow on Debug bots, the only ones capable to trigger
the assertion.

  • ManualTests/css-grid-layout-item-with-huge-span-crash.html: Added.

Source/WebCore:

Whenever
GridResolvedPosition::resolveGridPositionsFromAutoPlacementPosition()
was trying to place an item with span, it was completely ignoring
the resolvedInitialPosition returned by
GridResolvedPosition::resolveGridPositionAgainstOppositePosition()
and only using the finalResolvedPosition. This works with an
unlimited grid which can indefinitely grow. But if the item spans
over the grid track limits, then it might happen that the final
resolved position is placed before the initial resolved position,
something that is forbidden.

The solution is to directly use the GridSpan returned by
GridResolvedPosition::resolveGridPositionAgainstOppositePosition(), if the item
does not surpass the track limits then the returned initialResolvedPosition
is identical to the provided one, otherwise it's properly corrected to respect
track boundaries.

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::GridResolvedPosition::resolveGridPositionsFromAutoPlacementPosition):

5:18 AM Changeset in webkit [179825] by clopez@igalia.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK Gardening.

  • platform/gtk/TestExpectations: Mark new test failing
  • platform/gtk/css2.1/t1508-c527-font-00-b-expected.txt: Added. Rebaseline after r177774.
4:32 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
4:04 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
3:55 AM WebKitGTK/Gardening/Calendar created by clopez@igalia.com
3:55 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
3:54 AM WebKitGTK/Gardening edited by clopez@igalia.com
(diff)
3:52 AM WebKitGTK/Gardening/Howto created by clopez@igalia.com
3:34 AM Changeset in webkit [179824] by svillar@igalia.com
  • 6 edits in trunk

[CSS Grid Layout] Tracks' growth limits must be >= base sizes
https://bugs.webkit.org/show_bug.cgi?id=140540

Reviewed by Antti Koivisto.

Source/WebCore:

The track sizing algorithm is supposed to avoid those situations
but they easily (specially when we mix absolute lengths and
intrinsic lengths in min and max track sizing functions) and
frequently appear. In those cases the outcome from the algorithm
is wrong, tracks are not correctly sized.

In order to fulfill the restriction, m_usedBreadth and
m_maxBreadth are now private members of GridTrack and the class
now provides a couple of methods to modify them respecting the
growthLimit >= baseSize precondition.

Apart from that, the members and methods of GridTrack were also
renamed to match the ones used in the recent algorithm rewrite:
usedBreadth became baseSize and maxBreadth is now growthLimit.

Although the algorithm was not modified at all, this change
detected and fixed several invalid results (tracks and/or grids
bigger than expected).

  • rendering/RenderGrid.cpp:

(WebCore::GridTrack::GridTrack): Renamed fields and methods. Added
assertions.
(WebCore::GridTrack::baseSize): Renamed from usedBreadth.
(WebCore::GridTrack::growthLimit): Renamed from maxBreadth.
(WebCore::GridTrack::setBaseSize):
(WebCore::GridTrack::setGrowthLimit):
(WebCore::GridTrack::growBaseSize): Renamed from growUsedBreadth.
(WebCore::GridTrack::growGrowthLimit): Renamed from growMaxBreadth.
(WebCore::GridTrack::growthLimitIsInfinite): New helper method.
(WebCore::GridTrack::growthLimitIfNotInfinite): Renamed from
maxBreadthIfNotInfinite.
(WebCore::GridTrack::isGrowthLimitBiggerThanBaseSize): New helper
method to verify ASSERTs are true.
(WebCore::GridTrack::ensureGrowthLimitIsBiggerThanBaseSize): Ditto.
(WebCore::GridTrackForNormalization::GridTrackForNormalization):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::sortByGridTrackGrowthPotential):
(WebCore::RenderGrid::distributeSpaceToTracks):
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::populateGridPositions):
(WebCore::GridTrack::growUsedBreadth): Renamed to growBaseSize.
(WebCore::GridTrack::usedBreadth): Renamed to baseSize.
(WebCore::GridTrack::growMaxBreadth): Renamed to growGrowthLimit.
(WebCore::GridTrack::maxBreadthIfNotInfinite): Renamed to
growthLimitIfNotInfinite.

  • rendering/RenderGrid.h:

LayoutTests:

  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:
3:03 AM Changeset in webkit [179823] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Measure cache size more accurately
https://bugs.webkit.org/show_bug.cgi?id=141378
<rdar://problem/19760224>

Reviewed by Chris Dumez.

Estimate the cache disk space usage from the actual entry sizes instead of the item count.
This prevents large cache items from making the cache grow beyond its bounds.

  • NetworkProcess/cache/NetworkCacheStorage.h:
  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::initialize):
(WebKit::NetworkCacheStorage::removeEntry):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::clear):
(WebKit::NetworkCacheStorage::shrinkIfNeeded):

2:01 AM WebKitGTK/Gardening created by clopez@igalia.com
12:18 AM Changeset in webkit [179822] by gyuyoung.kim@samsung.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed, add new baseline since r179796.

New baseline was added by r179796. EFL port supports the test as well.
This patch adds new baseline based on EFL port.

  • platform/efl/fast/css/focus-ring-exists-for-search-field-expected.png: Added.
  • platform/efl/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.
12:02 AM Changeset in webkit [179821] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r179705): [GTK] The Web Inspector doesn't work after r179705
https://bugs.webkit.org/show_bug.cgi?id=141333

Reviewed by Žan Doberšek.

Create an initialize WebPreferences for the inspector page. This
was moved from cross-platform code to platform specific code.

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

Feb 8, 2015:

11:09 PM Changeset in webkit [179820] by Chris Fleizach
  • 10 edits
    2 adds in trunk

AX: VoiceOver appears unresponsive when JavaScript alerts are triggered via focus or blur events
https://bugs.webkit.org/show_bug.cgi?id=140485

Reviewed by Anders Carlsson.

Source/WebCore:

If setting an accessibility attribute results in a modal alert being displayed, it can cause VoiceOver
to hang. A simple solution is perform the actual work after a short delay, which will ensure the call
returns without hanging.

Test: platform/mac/accessibility/setting-attributes-is-asynchronous.html

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):

Tools:

Implement takeFocus() as a way to set focus through accessibility wrappers.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::takeFocus):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::takeFocus):

LayoutTests:

Modify tests that relied on setting behavior and immediately checking results. Those
tests now need to retrieve results after a short timeout.

  • accessibility/textarea-selected-text-range-expected.txt:
  • accessibility/textarea-selected-text-range.html:
  • platform/mac/accessibility/select-element-selection-with-optgroups.html:
  • platform/mac/accessibility/setting-attributes-is-asynchronous-expected.txt: Added.
  • platform/mac/accessibility/setting-attributes-is-asynchronous.html: Added.
7:44 PM Changeset in webkit [179819] by benjamin@webkit.org
  • 10 edits
    8 adds in trunk

Add parsing support for CSS Selector L4's case-insensitive attribute
https://bugs.webkit.org/show_bug.cgi?id=141373

Reviewed by Darin Adler.

Source/WebCore:

This patch adds parsing for the case-insensitive attribute value
matching of CSS Selectors Level 4: http://dev.w3.org/csswg/selectors-4/#attribute-case
Excuse of a grammar: http://dev.w3.org/csswg/selectors-4/#grammar

This patch also covers serialization for CSSOM. The serialization
is defined here: http://dev.w3.org/csswg/cssom/#serializing-selectors

Matching is completely ignored in this patch. All the simple selectors
are treated as regular attribute selectors.

Tests: fast/css/parsing-css-attribute-case-insensitive-value-1.html

fast/css/parsing-css-attribute-case-insensitive-value-2.html
fast/css/parsing-css-attribute-case-insensitive-value-3.html
fast/css/parsing-css-attribute-case-insensitive-value-4.html

  • css/CSSGrammar.y.in:
  • css/CSSParserValues.h:

(WebCore::CSSParserSelector::setAttributeValueMatchingIsCaseInsensitive):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:

(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::setAttributeValueMatchingIsCaseInsensitive):
(WebCore::CSSSelector::attributeValueMatchingIsCaseInsensitive):

LayoutTests:

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:

Basic round-trip serialization through CSSOM.

  • fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt: Added.
  • fast/css/parsing-css-attribute-case-insensitive-value-1.html: Added.

Simple cases by themself and used in complex selectors.

  • fast/css/parsing-css-attribute-case-insensitive-value-2-expected.txt: Added.
  • fast/css/parsing-css-attribute-case-insensitive-value-2.html: Added.

Less simple cases, all kinds of valid syntax for case-insensitive attributes.

  • fast/css/parsing-css-attribute-case-insensitive-value-3-expected.txt: Added.
  • fast/css/parsing-css-attribute-case-insensitive-value-3.html: Added.

Cases that must be treated as invalid selectors.

  • fast/css/parsing-css-attribute-case-insensitive-value-4-expected.txt: Added.
  • fast/css/parsing-css-attribute-case-insensitive-value-4.html: Added.

Verify that invalid rules do not affect surrounding valid rules.

6:56 PM Changeset in webkit [179818] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

[iOS] Skip js/dom/create-lots-of-workers.html on ios-simulator

Already skipped on mac; marked as flakey on efl and gtk.

Fix tracked by:
REGRESSION: js/dom/create-lots-of-workers.html frequently crashes (sometimes in js/dom/cross-frame-bad-time.html)
<http://webkit.org/b/129758>
<rdar://problem/19760988>

  • platform/ios-simulator/TestExpectations: Skip test.
  • platform/mac/TestExpectations: Add comment about skipping on

ios-simulator.

6:42 PM Changeset in webkit [179817] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove a few duplicate propagation steps from the DFG's PredictionPropagation phase
https://bugs.webkit.org/show_bug.cgi?id=141363

Reviewed by Darin Adler.

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):
Some blocks were duplicated, they probably evolved separately
to the same state.

6:40 PM Changeset in webkit [179816] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Remove useless declarations and a stale comment from DFGByteCodeParser.h
https://bugs.webkit.org/show_bug.cgi?id=141361

Reviewed by Darin Adler.

The comment refers to the original form of the ByteCodeParser:

parse(Graph&, JSGlobalData*, CodeBlock*, unsigned startIndex);

That form is long dead, the comment is more misleading than anything.

  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGByteCodeParser.h:
6:38 PM Changeset in webkit [179815] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Encapsulate DFG::Plan's beforeFTL timestamp
https://bugs.webkit.org/show_bug.cgi?id=141360

Reviewed by Darin Adler.

Make the attribute private, it is an internal state.

Rename beforeFTL->timeBeforeFTL for readability.

  • dfg/DFGPlan.cpp:

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

  • dfg/DFGPlan.h:
6:37 PM Changeset in webkit [179814] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove DFGNode::hasArithNodeFlags()
https://bugs.webkit.org/show_bug.cgi?id=141319

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasArithNodeFlags): Deleted.
Unused code is unused.

5:50 PM Changeset in webkit [179813] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix CMake-based build.

  • CMakeLists.txt: Added a dependency on the CMakeLists.txt itself, analogous

to the one I added in DerivedSources.make.

5:40 PM Changeset in webkit [179812] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix build.

  • bindings/js/JSEventListener.h: Removed a call to forwardEventListeners.
5:25 PM Changeset in webkit [179811] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fullscreen/full-screen-plugin.html is very flaky on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=141364

Reviewed by Sam Weinig.

Make the test wait for the plug-in to become available.

  • fullscreen/full-screen-plugin.html:
5:13 PM Changeset in webkit [179810] by Darin Adler
  • 88 edits
    4 deletes in trunk

Remove the SVG instance tree
https://bugs.webkit.org/show_bug.cgi?id=140602

Reviewed by Dean Jackson.

Source/WebCore:

  • CMakeLists.txt: Removed SVGElementInstance source files.
  • DerivedSources.cpp: Ditto.
  • DerivedSources.make: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSBindingsAllInOne.cpp: Ditto.
  • bindings/js/JSEventListener.cpp:

(WebCore::forwardsEventListeners): Deleted. Only returned true for JSSVGElementInstance.
(WebCore::correspondingElementWrapper): Deleted. Only used for JSSVGElementInstance.
(WebCore::createJSEventListenerForAttribute): Deleted. Argument type was JSSVGElementInstance.
(WebCore::createJSEventListenerForAdd): Removed most of the code; later we can delete this entirely.

  • bindings/js/JSEventListener.h: Removed the overload of createJSEventListenerForAttribute

that takes a JSSVGElementInstance.

  • bindings/js/JSSVGElementInstanceCustom.cpp: Removed.
  • dom/ContainerNodeAlgorithms.h: Updated comment to reflect the fact that

this code is really now only used for ContainerNode and no longer needs to
exist in a generic form.

  • dom/EventTarget.h: Removed forward declaration of SVGElementInstance.
  • svg/SVGElement.h: Ditto.
  • dom/EventTargetFactory.in: Removed SVGElementInstance.
  • svg/SVGElementInstance.cpp: Removed.
  • svg/SVGElementInstance.h: Removed.
  • svg/SVGElementInstance.idl: Removed.
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::insertedInto): Removed obsolete comment.
(WebCore::SVGUseElement::instanceTreeIsLoading): Deleted. Unused
function that I forgot to delete in my last patch. It also had a
glaring mistake, a missing "return" before the recursive call to
itself that would cause it to return false when it should return true.

  • svg/SVGUseElement.h: Removed instanceTreeIsLoading.
  • dom/EventDispatcher.cpp: Removed include of SVGElementInstance.h.
  • page/EventHandler.cpp: Ditto.
  • rendering/svg/RenderSVGViewportContainer.cpp: Ditto.
  • svg/SVGAElement.cpp: Ditto.
  • svg/SVGAllInOne.cpp: Ditto.
  • svg/SVGAnimateMotionElement.cpp: Ditto.
  • svg/SVGAnimatedTypeAnimator.h: Ditto.
  • svg/SVGAnimationElement.cpp: Ditto.
  • svg/SVGCircleElement.cpp: Ditto.
  • svg/SVGClipPathElement.cpp: Ditto.
  • svg/SVGComponentTransferFunctionElement.cpp: Ditto.
  • svg/SVGCursorElement.cpp: Ditto.
  • svg/SVGElement.cpp: Ditto.
  • svg/SVGEllipseElement.cpp: Ditto.
  • svg/SVGFEBlendElement.cpp: Ditto.
  • svg/SVGFEColorMatrixElement.cpp: Ditto.
  • svg/SVGFECompositeElement.cpp: Ditto.
  • svg/SVGFEConvolveMatrixElement.cpp: Ditto.
  • svg/SVGFEDiffuseLightingElement.cpp: Ditto.
  • svg/SVGFEDisplacementMapElement.cpp: Ditto.
  • svg/SVGFEDropShadowElement.cpp: Ditto.
  • svg/SVGFEGaussianBlurElement.cpp: Ditto.
  • svg/SVGFEImageElement.cpp: Ditto.
  • svg/SVGFELightElement.cpp: Ditto.
  • svg/SVGFEMergeNodeElement.cpp: Ditto.
  • svg/SVGFEMorphologyElement.cpp: Ditto.
  • svg/SVGFEOffsetElement.cpp: Ditto.
  • svg/SVGFESpecularLightingElement.cpp: Ditto.
  • svg/SVGFETileElement.cpp: Ditto.
  • svg/SVGFETurbulenceElement.cpp: Ditto.
  • svg/SVGFilterElement.cpp: Ditto.
  • svg/SVGFilterPrimitiveStandardAttributes.cpp: Ditto.
  • svg/SVGForeignObjectElement.cpp: Ditto.
  • svg/SVGGElement.cpp: Ditto.
  • svg/SVGGradientElement.cpp: Ditto.
  • svg/SVGGraphicsElement.cpp: Ditto.
  • svg/SVGImageElement.cpp: Ditto.
  • svg/SVGLineElement.cpp: Ditto.
  • svg/SVGLinearGradientElement.cpp: Ditto.
  • svg/SVGMarkerElement.cpp: Ditto.
  • svg/SVGMaskElement.cpp: Ditto.
  • svg/SVGPathElement.cpp: Ditto.
  • svg/SVGPatternElement.cpp: Ditto.
  • svg/SVGPolyElement.cpp: Ditto.
  • svg/SVGRadialGradientElement.cpp: Ditto.
  • svg/SVGRectElement.cpp: Ditto.
  • svg/SVGSVGElement.cpp: Ditto.
  • svg/SVGScriptElement.cpp: Ditto.
  • svg/SVGStopElement.cpp: Ditto.
  • svg/SVGSymbolElement.cpp: Ditto.
  • svg/SVGTRefElement.cpp: Ditto.
  • svg/SVGTextContentElement.cpp: Ditto.
  • svg/SVGTextElement.cpp: Ditto.
  • svg/SVGTextPathElement.cpp: Ditto.
  • svg/SVGTextPositioningElement.cpp: Ditto.

Tools:

  • Scripts/check-for-global-initializers: Removed special case for

SVGElementInstance.o.

LayoutTests:

Last step: Remove SVGElementInstance class itself.

  • js/dom/global-constructors-attributes-expected.txt: Removed SVGElementInstance.
  • platform/efl/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/ios-sim-deprecated/fast/dom/Window/window-property-descriptors-expected.txt: Ditto.
  • platform/ios-sim-deprecated/fast/js/global-constructors-expected.txt: Ditto.
  • platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/mac/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/win/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • svg/custom/global-constructors-expected.txt: Ditto.
  • svg/custom/script-tests/global-constructors.js: Ditto.
  • svg/dom/svg2-inheritance-expected.txt: Ditto.
  • svg/dom/svg2-inheritance.html: Ditto.
4:30 PM Changeset in webkit [179809] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Null deref in _clearImmediateActionState when closing a view with a DataDetectors popover open
https://bugs.webkit.org/show_bug.cgi?id=141377
<rdar://problem/19711203>

Reviewed by Darin Adler.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _clearImmediateActionState]):
We can have already detached the page when DataDetectors calls us back
in interactionStoppedHandler. While we have kept a strong reference to the
page in the interactionStoppedHandler block, _page is nulled out.
It's OK to avoid doing this work, in any case, because closing a page
tears down the TextIndicator anyway.

3:40 PM Changeset in webkit [179808] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Tweak inline playback controls to match system spec
https://bugs.webkit.org/show_bug.cgi?id=141375
<rdar://problem/19760754>

Reviewed by Sam Weinig.

Rework the UI of the inline media controls on iOS, to
better match the system specification. I've batched a
few changes into one patch because many of them are
inter-dependent, and not very aggressive. Changes are:

  • updated artwork for the buttons.
  • separate artwork for normal and active states.
  • background images are now explicitly sized and positioned in the middle of the element, allowing audio and video to use the same glyphs even though the elements are different sizes.
  • use plus-darker blend mode on the button glyphs.
  • rearranged some of the rules to group things in a logical order.
  • time should front-pad a "0" character, if less than 10.
  • no need for an "active" class on the Airplay button (although I won't be surprised if this changes back).
  • Modules/mediacontrols/mediaControlsiOS.css:

(::-webkit-media-controls):
(video::-webkit-media-controls-wireless-playback-picker-button.active): Deleted.
(audio::-webkit-media-controls-wireless-playback-picker-button.active): Deleted.
(audio::-webkit-media-controls-play-button:active): Deleted.
(audio::-webkit-media-controls-play-button.paused): Deleted.
(video::-webkit-media-controls-timeline): Deleted.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.updateWirelessPlaybackStatus): No need
for the "active" class.
(ControllerIOS.prototype.formatTime): Pad with a leading zero.

3:22 PM Changeset in webkit [179807] by Darin Adler
  • 9 edits
    9 adds
    50 deletes in trunk

Make SVGUseElement work without creating any SVGElementInstance objects
https://bugs.webkit.org/show_bug.cgi?id=141374

Reviewed by Sam Weinig.

Source/WebCore:

  • dom/ElementIterator.h: Changed the * and -> operators to be const.

There is no need for the iterator itself to be modified just to dereference it.

  • dom/TypedElementDescendantIterator.h: Added DoubleTypedElementDescendantIterator.

This allows callers to call descendantsOfType on two elements, as long as the caller
can guarantee that both have the same number of descendants of that type. It's handy
for walking a tree of cloned elements to set up something between each original and
its clone. In the future we might instead change the cloning machinery so it can do
this work as we clone, and if so, we could consider deleting this.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::correspondingElement): Made this const.
(WebCore::SVGElement::invalidateInstances): Got rid of the rule that said "this can
only be done for an element in a document", since it's useful to do this on an element
that has just been removed from a document. Removed the "updateStyleIfNeeded" call
here now that the other changes make it no longer needed. Removed an unimportant
assertion that we only invalidate use elements that are in a document; that's not
a necessary restriction. Streamlined the logic a bit.

  • svg/SVGElement.h: Made correspondingElement const.
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::insertedInto): Removed an assertion about
m_targetElementInstance since that's gone now.
(WebCore::SVGUseElement::svgAttributeChanged): Changed code that transfers
size attributes to the shadow tree to use shadowTreeTargetClone instead of
m_targetElementInstance.
(WebCore::SVGUseElement::clearResourceReferences): Removed code to detach
m_targetElementInstance, and also the call to removeAllTargetReferencesForElement,
because we no longer use those.
(WebCore::SVGUseElement::buildPendingResource): Moved the code to build the
shadow tree in here and deleted the buildShadowAndInstanceTree function.
Also changed logic so that we use a pending resource any time the target is not
a valid one. That helps us correctly handle cases where we initially have an
invalid target, but later get a value one
(WebCore::SVGUseElement::buildShadowAndInstanceTree): Deleted. The code here
was greatly simplified and moved into buildPendingResource.
(WebCore::SVGUseElement::buildInstanceTree): Deleted.
(WebCore::SVGUseElement::hasCycleUseReferencing): Deleted. Cycles are now
detected by the new isValidTarget function and so there's no need for a
separate explicit check for a cycle.
(WebCore::associateClonesWithOriginals): Added. Helper that makes
functions that build the shadow tree simpler and easier to read.
(WebCore::associateReplacementCloneWithOriginal): Added. Helper to
make associateReplacementClonesWithOriginals simple.
(WebCore::associateReplacementClonesWithOriginals): Added. Helper that
makes functions that build the shadow tree simpler and easier to read.
(WebCore::SVGUseElement::buildShadowTree): Call associateClonesWithOriginals
since associateInstancesWithShadowTreeElements no longer does this.
(WebCore::SVGUseElement::isValidTarget): Added. Covers all the different
reasons a target might not be valid: type of element, reference cycles, and
also "not in document" (refactored in here; not sure when that can happen
in practice, might be possible to remove it later).
(WebCore::SVGUseElement::expandUseElementsInShadowTree): Add checks for
documents that are still loading; this used to be checked when building the
instance tree. Added calls to associateReplacementClonesWithOriginals and
associateClonesWithOriginals; that used to be done by later in the
associateInstancesWithShadowTreeElements function. Use isValidTarget so
we handle cycles as well as invalid target types.
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Added a call to
associateReplacementClonesWithOriginals, since we can no longer do that in
associateInstancesWithShadowTreeElements.
(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements): Deleted.
(WebCore::SVGUseElement::instanceForShadowTreeElement): Deleted.
(WebCore::SVGUseElement::invalidateDependentShadowTrees): Removed a comment
that simply restated the name of the function.

  • svg/SVGUseElement.h: Removed instanceForShadowTreeElement,

buildShadowAndInstanceTree, detachInstance, buildInstanceTree,
hasCycleUseReferencing, associateInstancesWithShadowTreeElements,
instanceForShadowTreeElement, and m_targetElementInstance. Added isValidTarget.

LayoutTests:

Results changed on some tests that expected the old "remove all content if a cycle is detected"
behavior from the <use> element. The new behavior is to inhibit cycles, but render everything
else, which is much easier to implement correctly and also makes logical sense. Changed all
those tests to be reference tests, which makes sense since they are focusing on what gets
rendered in these complex cases, and the expected results are a lot easier to understand in
SVG form than they were in txt/png form. This also means we can remove a lot of platform-specific
results since reference tests aren't sensitive to small platform differences in rendering.

  • platform/efl/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.png: Removed.
  • platform/efl/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.png: Removed.
  • platform/efl/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.png: Removed.
  • platform/efl/svg/hixie/error/017-expected.png: Removed.
  • platform/gtk/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.png: Removed.
  • platform/gtk/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.png: Removed.
  • platform/gtk/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.png: Removed.
  • platform/gtk/svg/custom/use-on-disallowed-foreign-object-3-expected.png: Removed.
  • platform/gtk/svg/custom/use-on-disallowed-foreign-object-3-expected.txt: Removed.
  • platform/gtk/svg/custom/use-recursion-1-expected.png: Removed.
  • platform/gtk/svg/custom/use-recursion-1-expected.txt: Removed.
  • platform/gtk/svg/custom/use-recursion-2-expected.png: Removed.
  • platform/gtk/svg/custom/use-recursion-2-expected.txt: Removed.
  • platform/gtk/svg/custom/use-recursion-3-expected.png: Removed.
  • platform/gtk/svg/custom/use-recursion-3-expected.txt: Removed.
  • platform/gtk/svg/custom/use-recursion-4-expected.png: Removed.
  • platform/gtk/svg/custom/use-recursion-4-expected.txt: Removed.
  • platform/gtk/svg/hixie/error/017-expected.png: Removed.
  • platform/ios-sim-deprecated/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-on-disallowed-foreign-object-3-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-recursion-1-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-recursion-2-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-recursion-3-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-recursion-4-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/hixie/error/017-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-on-disallowed-foreign-object-3-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-recursion-1-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-recursion-2-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-recursion-3-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-recursion-4-expected.txt: Removed.
  • platform/mac-mountainlion/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.txt: Removed.
  • platform/mac-mountainlion/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.txt: Removed.
  • platform/mac-mountainlion/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-on-disallowed-foreign-object-3-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-recursion-1-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-recursion-2-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-recursion-3-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-recursion-4-expected.txt: Removed.
  • platform/mac-mountainlion/svg/hixie/error/017-expected.txt: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.txt: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.txt: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.txt: Removed.
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.png: Removed.
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt: Removed.
  • platform/mac/svg/custom/use-recursion-1-expected.png: Removed.
  • platform/mac/svg/custom/use-recursion-1-expected.txt: Removed.
  • platform/mac/svg/custom/use-recursion-2-expected.png: Removed.
  • platform/mac/svg/custom/use-recursion-2-expected.txt: Removed.
  • platform/mac/svg/custom/use-recursion-3-expected.png: Removed.
  • platform/mac/svg/custom/use-recursion-3-expected.txt: Removed.
  • platform/mac/svg/custom/use-recursion-4-expected.png: Removed.
  • platform/mac/svg/custom/use-recursion-4-expected.txt: Removed.
  • platform/mac/svg/hixie/error/017-expected.png: Removed.
  • platform/mac/svg/hixie/error/017-expected.txt: Removed.
  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.svg: Added. Made this be a reference test,

and made it expect more of the recursion to work.

  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.txt: Removed.
  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.svg: Added. More of the same.
  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.txt: Removed.
  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.svg: Added. More of the same.
  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.txt: Removed.
  • svg/custom/use-on-disallowed-foreign-object-3-expected.svg: Added. More of the same.
  • svg/custom/use-recursion-1-expected.svg: Added. More of the same.
  • svg/custom/use-recursion-2-expected.svg: Added. More of the same.
  • svg/custom/use-recursion-3-expected.svg: Added. More of the same.
  • svg/custom/use-recursion-4-expected.svg: Added. More of the same.
  • svg/hixie/error/017-expected.txt: Removed.
  • svg/hixie/error/017-expected.xml: Added. More of the same.
  • svg/in-html/defs-after-use.html: Updated incorrect bug number in this test.
3:21 PM Changeset in webkit [179806] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

Skip fast/parser/document-open-in-unload.html on all WK2 platforms

Tracked by:
[WK2] fast/parser/document-open-in-unload.html makes the following test crash
<http://webkit.org/b/98345>

  • platform/mac-wk2/TestExpectations: Move Skip expectation from here...
  • platform/wk2/TestExpectations: ...to here with updated bug number.
3:20 PM Changeset in webkit [179805] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

Update section headers for mac-wk2/TestExpectations

  • platform/mac-wk2/TestExpectations:
2:06 PM Changeset in webkit [179804] by Chris Dumez
  • 12 edits
    3 adds in trunk/Source

[WK2] Add logging to validate the network cache efficacy (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=141269
<rdar://problem/19632080>

Reviewed by Antti Koivisto.

Source/WebCore:

Export an extra symbol.

  • WebCore.exp.in:

Source/WebKit2:

Add console logging to validate the network cache efficacy. This will
tell us if how the network cache satisties requests, in particular:

  • Request cannot be handled by the cache
  • Entry was not in the cache but is no longer there (pruned)
  • Entry is in the cache but is not usable
  • Entry is in the cache and is used.

This patch introduces a SQLite-based network cache statistics storage
that is used to store requests we have seen before, and query if we
have seen a request before. The storage is lightweight as it only
stores hashes in the database, in a background thread.

The statistics cache is initially bootstapped from the network disk
cache so that we have data initially and get as accurate statistics
as possible from the start.

To maintain an acceptable level of performance, we have a hard limit
on the number of unique requests that are retained set to 100000.

Diagnostic logging for this will be added in a follow-up patch.

12:22 PM Changeset in webkit [179803] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Gardening: Some MathML tests crash in RenderMathMLOperator::advanceForGlyph() or boundsForGlyph()

Tracked by: <http://webkit.org/b/141371>

  • platform/ios-simulator-wk2/TestExpectations: Mark tests as

crashing.

12:22 PM Changeset in webkit [179802] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r179391): Remove references to deleted SVG tests

Fixes the following lint warnings:

--lint-test-files warnings:
LayoutTests/platform/ios-simulator-wk2/TestExpectations:412 Path does not exist. svg/custom/use-elementInstance-event-target.svg
LayoutTests/platform/ios-simulator-wk2/TestExpectations:413 Path does not exist. svg/custom/use-elementInstance-methods.svg
LayoutTests/platform/ios-simulator-wk2/TestExpectations:417 Path does not exist. svg/custom/use-instanceRoot-event-listeners.xhtml

  • platform/ios-simulator-wk2/TestExpectations: Remove deleted

tests.

12:00 PM Changeset in webkit [179801] by ap@apple.com
  • 1 edit in trunk/LayoutTests/ChangeLog

Removing an accidentally committed ChangeLog.

11:46 AM TestExpectations edited by ddkilzer@webkit.org
Fix new-run-webkit-tests to just run-webkit-tests. (diff)
11:33 AM Changeset in webkit [179800] by ap@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

AX: The input element with type="search" has no default focus outline
https://bugs.webkit.org/show_bug.cgi?id=140326

Adding results for Mavericks.

  • platform/mac-mavericks/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.
11:17 AM Changeset in webkit [179799] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/security/appcache-in-private-browsing.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141370

11:11 AM Changeset in webkit [179798] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Application cache abort() tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=87633

Moved expectations form Efl to root TestExpectations file. Also, removed Crash
expectation, as no bot hits that now.

Removed an erroneously added expectation for abort-cache-onchecking-resource-404.html -
this test doesn't happen to fail on the bots, although it also doesn't appear to
be very robust.

10:47 AM Changeset in webkit [179797] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/appcache/abort-cache-onchecking-resource-404.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141368

  • TestExpectations: This test is intrinsically unreliable, but at least it checks

that there is no crash is any of the code paths that it takes.

12:02 AM Changeset in webkit [179796] by Chris Fleizach
  • 3 edits
    3 adds in trunk

AX: The input element with type="search" has no default focus outline
https://bugs.webkit.org/show_bug.cgi?id=140326

Reviewed by Darin Adler.

Source/WebCore:

The platform RenderTheme takes care of the search field, and that code
was missing a check for whether the element was focused.

Test: fast/css/focus-ring-exists-for-search-field.html

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintSearchField):

LayoutTests:

  • fast/css/focus-ring-exists-for-search-field.html: Added.
  • platform/mac/fast/css/focus-ring-exists-for-search-field-expected.png: Added.
  • platform/mac/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.

Feb 7, 2015:

11:54 PM Changeset in webkit [179795] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

[ARM] GC sometimes stuck in an infinite loop if parallel GC is enabled
https://bugs.webkit.org/show_bug.cgi?id=141290

Reviewed by Anders Carlsson.

  • wtf/Platform.h:
9:24 PM Changeset in webkit [179794] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fullscreen/full-screen-plugin.html is very flaky on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=141364

Reviewed by Zalan Bujtas.

Speculative fix. Make sure that the plug-in has loaded before using it.

  • fullscreen/full-screen-plugin.html:
7:26 PM Changeset in webkit [179793] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

[iOS] run-webkit-tests fails due to simulator devices from previous SDK installs being marked as unavailable
<http://webkit.org/b/141365>

Reviewed by Daniel Bates.

  • Scripts/webkitpy/xcode/simulator.py:

(Simulator): Add unavailable_version_re precompiled regex.
(Simulator._parse_devices): Check for unavailable versions and
ignore them if found when parsing the output of
xcrun simctl list.

  • Scripts/webkitpy/xcode/simulator_unittest.py:

(test_unavailable_devices): Add test with output from
xcrun simctl list with unavailable runtimes that fails before
the fix.

6:43 PM Changeset in webkit [179792] by timothy_horton@apple.com
  • 7 edits
    12 adds in trunk

Add some dictionary lookup tests
https://bugs.webkit.org/show_bug.cgi?id=141355

Reviewed by Darin Adler.

Tests: platform/mac/editing/dictionary-lookup/dictionary-lookup-input.html

platform/mac/editing/dictionary-lookup/dictionary-lookup-inside-selection.html
platform/mac/editing/dictionary-lookup/dictionary-lookup-outside-selection.html
platform/mac/editing/dictionary-lookup/dictionary-lookup-rtl.html
platform/mac/editing/dictionary-lookup/dictionary-lookup.html

  • WebCore.exp.in:

Remove an unneeded export.

  • editing/mac/DictionaryLookup.h:

Use OBJC_CLASS instead of @class so that this can be included in pure-C++ files.

  • testing/Internals.cpp:

(WebCore::Internals::rangeForDictionaryLookupAtLocation):

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

Expose rangeForDictionaryLookupAtHitTestResult fairly directly to JavaScript.

  • platform/mac/editing/dictionary-lookup/dictionary-lookup-expected.txt: Added.
  • platform/mac/editing/dictionary-lookup/dictionary-lookup-input-expected.txt: Added.
  • platform/mac/editing/dictionary-lookup/dictionary-lookup-input.html: Added.
  • platform/mac/editing/dictionary-lookup/dictionary-lookup-inside-selection-expected.txt: Added.
  • platform/mac/editing/dictionary-lookup/dictionary-lookup-inside-selection.html: Added.
  • platform/mac/editing/dictionary-lookup/dictionary-lookup-outside-selection-expected.txt: Added.
  • platform/mac/editing/dictionary-lookup/dictionary-lookup-outside-selection.html: Added.
  • platform/mac/editing/dictionary-lookup/dictionary-lookup-rtl-expected.txt: Added.
  • platform/mac/editing/dictionary-lookup/dictionary-lookup-rtl.html: Added.
  • platform/mac/editing/dictionary-lookup/dictionary-lookup.html: Added.
  • platform/mac/editing/dictionary-lookup/lookup-test.js: Added.

(runTest):
Add tests for various cases that we've had trouble with in the past.

6:28 PM Changeset in webkit [179791] by Chris Dumez
  • 23 edits in trunk

Add Vector::removeFirstMatching() / removeAllMatching() methods taking lambda functions
https://bugs.webkit.org/show_bug.cgi?id=141321

Reviewed by Darin Adler.

Source/JavaScriptCore:

Use new Vector::removeFirstMatching() / removeAllMatching() methods.

Source/WebCore:

Use new Vector::removeFirstMatching() / removeAllMatching() methods.

Source/WebKit/win:

Use new Vector::removeFirstMatching() / removeAllMatching() methods.

Source/WebKit2:

Use new Vector::removeFirstMatching() / removeAllMatching() methods.

Source/WTF:

Add Vector::removeFirstMatching() / removeAllMatching() methods taking
lambda functions to match the element(s) to remove. This simplifies the
code a bit. Vector::removeAllMatching() is also more efficient than the
manual removal alternative.

  • wtf/Vector.h:

Tools:

Use new Vector::removeFirstMatching() / removeAllMatching() methods.

5:31 PM Changeset in webkit [179790] by Alan Bujtas
  • 1 edit
    8 deletes in trunk/LayoutTests

Unreviewed gardening.
Remove svg/custom/use-events-crash.svg. It has no value anymore.
See webkit.org/b/141108

  • platform/gtk/svg/custom/use-events-crash-expected.png: Removed.
  • platform/gtk/svg/custom/use-events-crash-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-events-crash-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-events-crash-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-events-crash-expected.txt: Removed.
  • platform/mac/svg/custom/use-events-crash-expected.png: Removed.
  • platform/mac/svg/custom/use-events-crash-expected.txt: Removed.
  • svg/custom/use-events-crash.svg: Removed.
4:53 PM Changeset in webkit [179789] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/xmlhttprequest/event-listener-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33342

Reviewed by Darin Adler.

This test relies on a zero-delay timer being a lot faster than fetching from network.
Force a layout before starting the test, because otherwise, the layout can significantly
delay the timer (I've seen 50-60 milliseconds being a common delay in debug builds).

Also, changed the resource URL to avoid Apache error log spew.

  • http/tests/xmlhttprequest/event-listener-gc.html:
4:44 PM Changeset in webkit [179788] by ddkilzer@apple.com
  • 4 edits
    1 add in trunk/Tools

[iOS] Make Simulator class testable
<http://webkit.org/b/141358>

Rubber-stamped by Darin Adler.

  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo.xcode_simctl_list): Move xcrun simctl list
command to here from Simulator.refresh() in xcode/simulator.py
so that the output of the command can be mocked.

  • Scripts/webkitpy/common/system/platforminfo_mock.py:

(MockPlatformInfo.init): Set self.expected_xcode_simctl_list
to None.
(MockPlatformInfo.xcode_simctl_list): Add method that returns
self.expected_xcode_simctl_list expectation.

  • Scripts/webkitpy/xcode/simulator.py: Add missing copyright

and license header.
(Simulator.init): Add optional 'host' parameter to make it
possible to pass in a mock object for testing. Set self._host
to 'host' parameter or create Host() object.
(Simulator.refresh): Call new PlatformInfo.xcode_simctl_list()
method.

  • Scripts/webkitpy/xcode/simulator_unittest.py: Add unit test

for current code.
(SimulatorTest):
(SimulatorTest.setUp):
(SimulatorTest._set_expected_xcrun_simctl_list):
(SimulatorTest.test_simulator_device_types):
(test_invalid_device_types_header):
(test_invalid_runtimes_header):
(test_invalid_devices_header):

4:32 PM Changeset in webkit [179787] by Chris Dumez
  • 4 edits in trunk/LayoutTests

fast/images/animated-gif-iframe-webkit-transform.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141323

Reviewed by Alexey Proskuryakov.

Use shouldBecomeEqual() instead of shouldBe() to check for initial test
conditions. This should address the flakiness.

  • fast/images/animated-gif-iframe-webkit-transform-expected.txt:
  • fast/images/animated-gif-iframe-webkit-transform.html:
  • platform/mac/TestExpectations:
3:46 PM Changeset in webkit [179786] by timothy_horton@apple.com
  • 8 edits
    1 add in trunk/Source/WebKit2

Add API::HistoryClient and split some things out of API::NavigationClient
https://bugs.webkit.org/show_bug.cgi?id=141264

Reviewed by Darin Adler.

  • UIProcess/API/APIHistoryClient.h: Added.

(API::HistoryClient::~HistoryClient):
(API::HistoryClient::didNavigateWithNavigationData):
(API::HistoryClient::didPerformClientRedirect):
(API::HistoryClient::didPerformServerRedirect):
(API::HistoryClient::didUpdateHistoryTitle):

  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::didNavigateWithNavigationData): Deleted.
(API::NavigationClient::didPerformClientRedirect): Deleted.
(API::NavigationClient::didPerformServerRedirect): Deleted.
(API::NavigationClient::didUpdateHistoryTitle): Deleted.

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::createHistoryClient):
(WebKit::NavigationState::HistoryClient::HistoryClient):
(WebKit::NavigationState::HistoryClient::~HistoryClient):
(WebKit::NavigationState::HistoryClient::didNavigateWithNavigationData):
(WebKit::NavigationState::HistoryClient::didPerformClientRedirect):
(WebKit::NavigationState::HistoryClient::didPerformServerRedirect):
(WebKit::NavigationState::HistoryClient::didUpdateHistoryTitle):
(WebKit::NavigationState::NavigationClient::didNavigateWithNavigationData): Deleted.
(WebKit::NavigationState::NavigationClient::didPerformClientRedirect): Deleted.
(WebKit::NavigationState::NavigationClient::didPerformServerRedirect): Deleted.
(WebKit::NavigationState::NavigationClient::didUpdateHistoryTitle): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setHistoryClient):
(WebKit::WebPageProxy::didNavigateWithNavigationData):
(WebKit::WebPageProxy::didPerformClientRedirect):
(WebKit::WebPageProxy::didPerformServerRedirect):
(WebKit::WebPageProxy::didUpdateHistoryTitle):

  • UIProcess/WebPageProxy.h:

Add a API::HistoryClient and move the few things that belong on it out of API::NavigationClient.
Adjust accordingly in WebPageProxy and NavigationState.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView setNavigationDelegate:]):
(-[WKWebView setUIDelegate:]):
(-[WKWebView _setHistoryDelegate:]):
Lazily push the NavigationState/UIDelegate clients down to WebPageProxy upon
installation of a delegate, so that alternative (C SPI) delegate setters can
be separately created.

  • WebKit2.xcodeproj/project.pbxproj:
3:17 PM Changeset in webkit [179785] by Darin Adler
  • 7 edits
    2 adds
    12 deletes in trunk

Source/WebCore:
Stop dispatching events to with SVGElementInstance objects as their targets
https://bugs.webkit.org/show_bug.cgi?id=141108

Reviewed by Anders Carlsson.

Test: svg/custom/use-event-retargeting.html

  • dom/EventDispatcher.cpp:

(WebCore::eventTargetRespectingTargetRules): Replaced the code that retargeted
events at SVGElementInstance objects with code that retargets them at the use
element instead. Also wrote the code in a simpler way.

LayoutTests:
Stop dispatching events with SVGElementInstance objects as their targets
https://bugs.webkit.org/show_bug.cgi?id=141108

Reviewed by Anders Carlsson.

Many tests are no longer relevant once we aren't doing this any more.

  • platform/gtk/svg/custom/use-instanceRoot-event-bubbling-expected.png: Removed.
  • platform/gtk/svg/custom/use-instanceRoot-modifications-expected.png: Removed.
  • platform/gtk/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
  • platform/mac/svg/custom/use-instanceRoot-event-bubbling-expected.png: Removed.
  • platform/mac/svg/custom/use-instanceRoot-modifications-expected.png: Removed.
  • platform/mac/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
  • svg/custom/use-instanceRoot-modifications.svg: Removed.
  • svg/custom/use-instanceRoot-with-use-removed-expected.txt: Removed.
  • svg/custom/use-instanceRoot-with-use-removed.svg: Removed.
  • svg/custom/resources/use-instanceRoot-event-bubbling.js: Updated this test to expect

the events to be dispatched with the SVGUseElement as the target. I talked this over with
Sam Weinig and we decided this is good behavior for now, and it almost matches what the
spec says. Might be worth refining later.

  • svg/custom/use-instanceRoot-event-bubbling-expected.txt: Updated expected results.
  • svg/custom/use-instanceRoot-event-bubbling.xhtml: Tweaked the test a little. It still

could use improvement; it's like half a "repaint test", which is strange.

  • svg/custom/use-event-retargeting-expected.txt: Added. Got this test from Blink.
  • svg/custom/use-event-retargeting.html: Added. Ditto.
  • svg/custom/use-events-crash.svg: Added some more events, a second click, so that we

don't hang with the context menu up when running this. Also converted line endings to
use LF instead of CRLF.

2:48 PM Changeset in webkit [179784] by jer.noble@apple.com
  • 6 edits in trunk/Source/WebCore

[Mac] Set -contentsScale on AVPlayerLayer to allow AVPlayer to select the appropriate HLS variant.
https://bugs.webkit.org/show_bug.cgi?id=141354
rdar://problem/19717591

Reviewed by Darin Adler.

AVPlayer will try to determine the correct HLS variant based on the bounds of an AVPlayerLayer.
When not in a layer tree, AVFoundation is not able to determine the correct mapping from logical
units to pixel values. To provide AVPlayer with that scaling value, set -contentsScale based on
both the current device scale and the current page scale.

Since this needs to be set at initialization time, before the AVPlayer is has any AVPlayerItems,
add some plumbing up from MediaPlayer to as the HTMLMediaElement for the appropriate contents
scale.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerContentsScale):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerContentsScale):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateContentsScale):

12:21 PM Changeset in webkit [179783] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

ASan complains about plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html
https://bugs.webkit.org/show_bug.cgi?id=141352
rdar://problem/19717490

Reviewed by Anders Carlsson.

  • dom/Document.cpp: (WebCore::Document::ensurePlugInsInjectedScript): This string

is not null terminated.

11:50 AM Changeset in webkit [179782] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

And as a further followup restore the 8bit test too.

  • NetworkProcess/cache/NetworkCacheKey.cpp:

(WebKit::hashString):

11:45 AM Changeset in webkit [179781] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

Use longer hashes for cache keys
https://bugs.webkit.org/show_bug.cgi?id=141356

Rubber-stamped by Darin Adler.

Folloup and build fix.

  • NetworkProcess/cache/NetworkCacheCoders.h:
  • NetworkProcess/cache/NetworkCacheKey.cpp:

(WebKit::hashString):

Use containsOnlyASCII instead of is8Bit so both paths always compute the same hash.

  • NetworkProcess/cache/NetworkCacheKey.h:
11:19 AM Changeset in webkit [179780] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Remove a printf.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::retrieve):

11:18 AM Changeset in webkit [179779] by Antti Koivisto
  • 8 edits in trunk/Source/WebKit2

Use longer hashes for cache keys
https://bugs.webkit.org/show_bug.cgi?id=141356

Reviewed by Darin Adler.

The current key hashes are 32bit. We should use longer hashes to eliminate collisions.

This patch switches us to using MD5 digests for the cache key hashes. As a result the file names for the cache
entries grow from 8 to 32 character.

Note that we don't need a cryptographic hash (full cache keys are verified against the entries).
MD5 just happens to be fast, convenient and available.

The patch also moves the whole cache hierarchy down to a versioned subdirectory ("WebKitCache/Version 2")
and deletes any old style cache files if they exist.

  • NetworkProcess/cache/NetworkCacheCoders.cpp:

(WebKit::NetworkCacheCoder<MD5::Digest>::encode):
(WebKit::NetworkCacheCoder<MD5::Digest>::decode):

  • NetworkProcess/cache/NetworkCacheCoders.h:
  • NetworkProcess/cache/NetworkCacheKey.cpp:

(WebKit::NetworkCacheKey::NetworkCacheKey):
(WebKit::hashString):
(WebKit::NetworkCacheKey::computeHash):
(WebKit::NetworkCacheKey::hashAsString):
(WebKit::NetworkCacheKey::stringToHash):

  • NetworkProcess/cache/NetworkCacheKey.h:

(WebKit::NetworkCacheKey::shortHash):
(WebKit::NetworkCacheKey::toShortHash):

32bit hash to use in the bloom filter.

(WebKit::NetworkCacheKey::hashStringLength):

  • NetworkProcess/cache/NetworkCacheStorage.h:

Bump the version.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::traverseCacheFiles):
(WebKit::makeVersionedDirectoryPath):
(WebKit::NetworkCacheStorage::NetworkCacheStorage):
(WebKit::NetworkCacheStorage::initialize):
(WebKit::NetworkCacheStorage::removeEntry):
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):
(WebKit::NetworkCacheStorage::shrinkIfNeeded):
(WebKit::NetworkCacheStorage::deleteOldVersions):

Wipe out the version 1 cache.

9:01 AM Changeset in webkit [179778] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests --remote should use the default ssh port
https://bugs.webkit.org/show_bug.cgi?id=141287

Reviewed by Darin Adler.

  • Scripts/run-jsc-stress-tests: Extended URI module to be able to handle ssh scheme with the default 22 port number.
12:32 AM Changeset in webkit [179777] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (OS X 10.10.2): http/tests/media/video-query-url.html frequently times out
https://bugs.webkit.org/show_bug.cgi?id=141085

  • platform/mac-wk2/TestExpectations: Added an expectation.

Feb 6, 2015:

8:35 PM Changeset in webkit [179776] by Alan Bujtas
  • 3 edits
    2 adds in trunk

ASSERT repaintContainer->hasLayer() in WebCore::RenderObject::repaintUsingContainer
https://bugs.webkit.org/show_bug.cgi?id=140750

Reviewed by Simon Fraser.

There's a short period of time when RenderObject::layer() still returns a valid pointer
even though we already cleared the hasLayer() flag.
Do not use the layer as repaint container in such cases.

Source/WebCore:

Test: compositing/repaint-container-assertion-when-toggling-compositing.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::enclosingLayer):

LayoutTests:

  • compositing/repaint-container-assertion-when-toggling-compositing-expected.txt: Added.
  • compositing/repaint-container-assertion-when-toggling-compositing.html: Added.
8:35 PM Changeset in webkit [179775] by dburkart@apple.com
  • 2 edits in trunk/Tools

dashboard: BuildbotTesterQueueView crashesOnly logic is wrong
https://bugs.webkit.org/show_bug.cgi?id=141349

Reviewed by Alexey Proskuryakov.

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

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
(BuildbotTesterQueueView.prototype.update):

7:06 PM Changeset in webkit [179774] by Chris Dumez
  • 5 edits in trunk/Source

Have SQLiteStatement::database() return a reference
https://bugs.webkit.org/show_bug.cgi?id=141348

Reviewed by Andreas Kling.

Have SQLiteStatement::database() return a reference as it can never
return null.

Source/WebCore:

  • loader/icon/IconDatabase.cpp:

(WebCore::readySQLiteStatement):

  • platform/sql/SQLiteStatement.h:

(WebCore::SQLiteStatement::database):

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::SQLiteIDBCursor::internalAdvanceOnce):

5:38 PM Changeset in webkit [179773] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Add youtube-nocookie URL to isYouTubeURL predicate
https://bugs.webkit.org/show_bug.cgi?id=141347
<rdar://problem/19430657>

Reviewed by Eric Carlson.

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::isYouTubeURL): Update for additional youtube-nocookie site.

5:24 PM Changeset in webkit [179772] by Said Abou-Hallawa
  • 5 edits
    2 adds in trunk
5:11 PM Changeset in webkit [179771] by Simon Fraser
  • 4 edits
    2 adds in trunk

Convert the compositing overlap map to use LayoutRects
https://bugs.webkit.org/show_bug.cgi?id=141346
Source/WebCore:

rdar://problem/18206365

Reviewed by Zalan Bujtas.

If two compositing layers were adjoining but not overlapping, but happened to
have non-integral offsets, then using enclosing IntRects in the overlap map
would cause us to think they are overlapping, and create unnecessary backing store.

Fix by converting the overlap map to use LayoutRects.

Test: compositing/layer-creation/subpixel-adjacent-layers-overlap.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::OverlapMapContainer::add):
(WebCore::OverlapMapContainer::overlapsLayers):
(WebCore::RenderLayerCompositor::OverlapMap::add):
(WebCore::RenderLayerCompositor::OverlapMap::overlapsLayers):
(WebCore::RenderLayerCompositor::OverlapMap::RectList::append):
(WebCore::RenderLayerCompositor::OverlapMap::RectList::intersects):
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

  • rendering/RenderLayerCompositor.h:

LayoutTests:

Reviewed by Zalan Bujtas.

Test with adjacent layers on non-pixel boundaries.

  • compositing/layer-creation/subpixel-adjacent-layers-overlap-expected.txt: Added.
  • compositing/layer-creation/subpixel-adjacent-layers-overlap.html: Added.
5:08 PM Changeset in webkit [179770] by akling@apple.com
  • 31 edits in trunk/Source

Ref-ify various getters that return HTMLCollection.
<https://webkit.org/b/141336>

Reviewed by Anders Carlsson.

Make all the getters that return HTMLCollection objects (and never return nullptr)
return Ref instead of RefPtr.

Removed a couple of useless null checks that were exposed by this change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::getDocumentLinks):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::namedItemGetter):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::nameGetter):

  • dom/Document.cpp:

(WebCore::Document::ensureCachedCollection):
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):
(WebCore::Document::all):
(WebCore::Document::windowNamedItems):
(WebCore::Document::documentNamedItems):
(WebCore::Document::iconURLs):

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::ensureCachedHTMLCollection):

  • dom/Element.h:
  • html/ColorInputType.cpp:

(WebCore::ColorInputType::suggestions):

  • html/HTMLDataListElement.cpp:

(WebCore::HTMLDataListElement::options):

  • html/HTMLDataListElement.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::children):

  • html/HTMLElement.h:
  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::elements):

  • html/HTMLFieldSetElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::elements):

  • html/HTMLFormElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setupDateTimeChooserParameters):

  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::areas):

  • html/HTMLMapElement.h:
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::selectedOptions):
(WebCore::HTMLSelectElement::options):

  • html/HTMLSelectElement.h:
  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::rows):
(WebCore::HTMLTableElement::tBodies):

  • html/HTMLTableElement.h:
  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::insertCell):
(WebCore::HTMLTableRowElement::deleteCell):
(WebCore::HTMLTableRowElement::cells):

  • html/HTMLTableRowElement.h:
  • html/HTMLTableSectionElement.cpp:

(WebCore::HTMLTableSectionElement::insertRow):
(WebCore::HTMLTableSectionElement::deleteRow):
(WebCore::HTMLTableSectionElement::rows):

  • html/HTMLTableSectionElement.h:
  • html/RangeInputType.cpp:

(WebCore::RangeInputType::updateTickMarkValues):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintSliderTicks):

4:45 PM Changeset in webkit [179769] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.7

New tag.

4:39 PM Changeset in webkit [179768] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[iOS] Implement audio track selection in fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=131236
<rdar://problem/16552632>

Reviewed by Eric Carlson.

  • platform/ios/WebVideoFullscreenModelVideoElement.h:
  • platform/ios/WebVideoFullscreenModelVideoElement.mm:

(WebVideoFullscreenModelVideoElement::selectAudioMediaOption): Provide implementation.
(WebVideoFullscreenModelVideoElement::updateLegibleOptions): Add audio track information
to menu displayed to user.

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

DFG SSA shouldn't have SetArgument nodes
https://bugs.webkit.org/show_bug.cgi?id=141342

Reviewed by Mark Lam.

I was wondering why we kept the SetArgument around for captured
variables. It turns out we did so because we thought we had to, even
though we didn't have to. The node is meaningless in SSA.

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

3:31 PM Changeset in webkit [179766] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

The delta value in the chart pane sometimes doens't show '+' for a positive delta
https://bugs.webkit.org/show_bug.cgi?id=141340

Reviewed by Andreas Kling.

The bug was caused by computeStatus prefixing the value delta with '+' if it's greater than 0 after
it had already been formatted. Fixed the bug by using a formatter that always emits a sign symbol.

  • public/v2/app.js:

(App.Pane.computeStatus):
(App.createChartData):

2:55 PM Changeset in webkit [179765] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix. currentPoint wasn't defined when selectedPoints was used to find points.

  • public/v2/app.js:

(App.PaneController._updateDetails):

2:47 PM Changeset in webkit [179764] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed. Commit the forgotten change.

  • public/include/manifest.php:
2:43 PM Changeset in webkit [179763] by rniwa@webkit.org
  • 8 edits in trunk/Websites/perf.webkit.org

New perf dashboard should have multiple dashboard pages
https://bugs.webkit.org/show_bug.cgi?id=141339

Reviewed by Chris Dumez.

Added the support for multiple dashboard pages. Also added the status of the latest data point.
e.g. "5% better than target"

  • public/v2/app.css: Tweaked the styles to work around the fact Ember.js creates empty script elements.

Also hid the border lines around charts on the dashboard page for a cleaner look.

  • public/v2/app.js:

(App.IndexRoute): Added. Navigate to /dashboard/<defaultDashboardName> once the manifest.json is loaded.
(App.IndexRoute.beforeModel): Added.
(App.DashboardRoute): Added.
(App.DashboardRoute.model): Added. Return the dashboard specified by the name.
(App.CustomDashboardRoute): Added. This route is used for a customized dashboard specified by "grid".
(App.CustomDashboardRoute.model): Create a dashboard model from "grid" query parameter.
(App.CustomDashboardRoute.renderTemplate): Use the dashboard template.
(App.DashboardController): Renamed from App.IndexController.
(App.DashboardController.modelChanged): Renamed from gridChanged. Removed the code to deal with "grid"
and "defaultDashboard" as these are taken care of by newly added routers.
(App.DashboardController.computeGrid): Renamed from updateGrid. No longer updates "grid" since this is
now done in actions.toggleEditMode.
(App.DashboardController.actions.toggleEditMode): Navigate to CustomDashboardRoute when start editing
an existing dashboard.

(App.Pane.computeStatus): Moved from App.PaneController so that to be called in App.Pane.latestStatus.
Also moved the code to compute the delta with respect to the previous data point from _updateDetails.
(App.Pane._relativeDifferentToLaterPointInTimeSeries): Ditto.
(App.Pane.latestStatus): Added. Used by the dashboard template to show the status of the latest result.

(App.createChartData): Added deltaFormatter to show less significant digits for differences.

(App.PaneController._updateDetails): Updated per changes to computeStatus.

  • public/v2/chart-pane.css: Added style rules for the status labels on the dashboard.
  • public/v2/data.js:

(TimeSeries.prototype.lastPoint): Added.

  • public/v2/index.html: Prefetch manifest.json as soon as possible, show the latest data points' status

on the dashboard, and enumerate all predefined dashboards.

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._relayoutDataAndAxes): Slightly adjust the offset at which we show unit
for the dashboard page.

  • public/v2/manifest.js:

(App.Dashboard): Inherit from App.NameLabelModel now that each predefined dashboard has a name.
(App.MetricSerializer.normalizePayload): Parse all predefined dashboards instead of a single dashboard.
IDs are generated for each dashboard for forward compatibility.
(App.Manifest):
(App.Manifest.dashboardByName): Added.
(App.Manifest.defaultDashboardName): Added.
(App.Manifest._fetchedManifest): Create dashboard model objects for all predefined ones.

2:14 PM Changeset in webkit [179762] by commit-queue@webkit.org
  • 8 edits
    1 copy
    1 add in trunk

[MSE] Implement Append Error algorithm.
https://bugs.webkit.org/show_bug.cgi?id=139439

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-02-06
Reviewed by Jer Noble.

If Source Buffer has not received first init segment, then it shall call endOfStream after receiving
Media Segment, as per Media Source spec. (from 17 July 2014) in paragraph 3.5.1 point 6.1.
Source/WebCore:

Based this change on Editor's Draft 12 December 2014, as it clarifies order of events.

Test: media/media-source/media-source-append-media-segment-without-init.html

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::streamEndedWithError):

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::validateInitializationSegment):
(WebCore::SourceBuffer::appendError):

  • Modules/mediasource/SourceBuffer.h:

LayoutTests:

Added test which after creating SourceBuffer sends media sample, without any init segments.
Updated existing tests, so they correctly expect updateend and error as per Append Error algorithm.

  • media/media-source/media-source-append-failed-expected.txt:
  • media/media-source/media-source-append-failed.html:
  • media/media-source/media-source-append-media-segment-without-init-expected.txt: Added.
  • media/media-source/media-source-append-media-segment-without-init.html: Added.
  • media/media-source/media-source-multiple-initialization-segments-expected.txt:
  • media/media-source/media-source-multiple-initialization-segments.html:
2:08 PM Changeset in webkit [179761] by bshafiei@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179758. rdar://problem/19738407

2:05 PM Changeset in webkit [179760] by bshafiei@apple.com
  • 3 edits in branches/safari-600.4-branch/Source/WebCore

Merged r179758. rdar://problem/19738407

2:01 PM Changeset in webkit [179759] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

1:54 PM Changeset in webkit [179758] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION: Lookup doesn't work in RTL
https://bugs.webkit.org/show_bug.cgi?id=141338
<rdar://problem/19738407>

Reviewed by Dan Bernstein.

  • editing/Editor.cpp:

(WebCore::Editor::scanSelectionForTelephoneNumbers):

  • editing/mac/DictionaryLookup.mm:

(WebCore::rangeExpandedAroundPositionByCharacters):
Positions are independent of writing direction, so we don't
need to (and shouldn't) do anything special for RTL here.

1:48 PM Changeset in webkit [179757] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Correct expectations for inspector/css/selector-dynamic-specificity.html.

"Slow Pass Timeout" is not currently valid - if we expect a flaky timeout, we need
to expect it within the regular period of time with "Pass Timeout".

  • platform/mac-wk2/TestExpectations:
1:39 PM Changeset in webkit [179756] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

It should be possible to use the DFG SetArgument node to indicate that someone set the value of a local out-of-band
https://bugs.webkit.org/show_bug.cgi?id=141337

Reviewed by Mark Lam.

This mainly involved ensuring that SetArgument behaves just like SetLocal from a CPS standpoint, but with a special case for those SetArguments that
are associated with the prologue.

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::canonicalizeSet):
(JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock):
(JSC::DFG::CPSRethreadingPhase::specialCaseArguments):
(JSC::DFG::CPSRethreadingPhase::canonicalizeSetLocal): Deleted.
(JSC::DFG::CPSRethreadingPhase::canonicalizeSetArgument): Deleted.

1:33 PM Changeset in webkit [179755] by jonowells@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: CSS Resource appears as empty after editing it via Styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=140586

Reviewed by Timothy Hatcher.

Update SourceCode#_processContent to properly handle the promise returned from CSSAgent so that the content
will properly update when a style has changed. Properly clear the existing _requestContentPromise on the
stylesheet so that the content will update correctly.

  • UserInterface/Controllers/CSSStyleManager.js: Drive-by style updates.

(WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets):

  • UserInterface/Models/CSSStyleSheet.js: Drive-by inheritance style update.

(WebInspector.CSSStyleSheet.prototype.requestContentFromBackend): Remove unnecessary backend promise function call.

  • UserInterface/Models/Resource.js: Drive-by removal of unused variable.
  • UserInterface/Models/SourceCode.js:

(WebInspector.SourceCode.prototype.markContentAsStale): Clear _requestContentPromise.
(WebInspector.SourceCode.prototype._processContent): Handle parameters.text correctly.

1:21 PM Changeset in webkit [179754] by ap@apple.com
  • 8 edits in trunk

Report network process crashes during layout tests
https://bugs.webkit.org/show_bug.cgi?id=139646

Reviewed by Anders Carlsson.

Source/WebKit2:

Added a way to get network process pid, modeled after how we do this for web process.

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextGetNetworkProcessIdentifier):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::networkProcessCrashed): Don't reset m_networkProcess until
after calling the client, so that the client could retrieve its pid.
(WebKit::WebProcessPool::networkProcessIdentifier):

  • UIProcess/WebProcessPool.h:

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):
(WTR::TestController::networkProcessName):
(WTR::TestController::networkProcessDidCrash):

  • WebKitTestRunner/TestController.h:
12:57 PM Changeset in webkit [179753] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

MachineThreads should be ref counted.
<https://webkit.org/b/141317>

Reviewed by Filip Pizlo.

The VM's MachineThreads registry object is being referenced from other
threads as a raw pointer. In a scenario where the VM is destructed on
the main thread, there is no guarantee that another thread isn't still
holding a reference to the registry and will eventually invoke
removeThread() on it on thread exit. Hence, there's a possible use
after free scenario here.

The fix is to make MachineThreads ThreadSafeRefCounted, and have all
threads that references keep a RefPtr to it to ensure that it stays
alive until the very last thread is done with it.

  • API/tests/testapi.mm:

(useVMFromOtherThread): - Renamed to be more descriptive.
(useVMFromOtherThreadAndOutliveVM):

  • Added a test that has another thread which uses the VM outlive the VM to confirm that there is no crash.

However, I was not actually able to get the VM to crash without this
patch because I wasn't always able to the thread destructor to be
called. With this patch applied, I did verify with some logging that
the MachineThreads registry is only destructed after all threads
have removed themselves from it.

(threadMain): Deleted.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::~Heap):
(JSC::Heap::gatherStackRoots):

  • heap/Heap.h:

(JSC::Heap::machineThreads):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::Thread::Thread):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeCurrentThread):

  • heap/MachineStackMarker.h:
12:46 PM Changeset in webkit [179752] by timothy@apple.com
  • 5 edits in trunk/Source/WebKit2

Support overriding the deviceScaleFactor per WKWebView/WKView
https://bugs.webkit.org/show_bug.cgi?id=141311

Reviewed by Tim Horton.

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

(-[WKWebView _setOverrideDeviceScaleFactor:]):
(-[WKWebView _overrideDeviceScaleFactor]):

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

(-[WKView _intrinsicDeviceScaleFactor]):
(-[WKView _setOverrideDeviceScaleFactor:]):
(-[WKView _overrideDeviceScaleFactor]):

12:25 PM Changeset in webkit [179751] by commit-queue@webkit.org
  • 7 edits in trunk/Source

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

caused missing symbols in non-WebKit clients of WTF::Vector
(Requested by kling on #webkit).

Reverted changeset:

"Remove WTF::fastMallocGoodSize()."
https://bugs.webkit.org/show_bug.cgi?id=141020
http://trac.webkit.org/changeset/179743

10:56 AM Changeset in webkit [179750] by mjs@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r179706): Caused memory corruption on some tests (Requested by _ap_ on #webkit).
https://bugs.webkit.org/show_bug.cgi?id=141324

Reviewed by Alexey Proskuryakov.

No new tests. This is caught by existing tests under ASAN, and I don't know how to reproduce
it without ASAN.

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): Give up
and just always invalidate the next line. It's too hard to come up
with the condition that catches all needed cases, doesn't itself
cause a crash, and isn't overzealous. And we do this for the
previous line anyway. Also clean up the code a bit since it
confusingly reuses a variable, and declares it uninitialized, for
no good reason.

10:50 AM Changeset in webkit [179749] by ap@apple.com
  • 3 edits in trunk/LayoutTests

http/tests/xmlhttprequest/event-listener-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33342

Tweaked test output a little, hopefully this will shed some light on what happens in failure case.

  • http/tests/xmlhttprequest/event-listener-gc-expected.txt:
  • http/tests/xmlhttprequest/event-listener-gc.html:
9:58 AM Changeset in webkit [179748] by matthew_hanson@apple.com
  • 14 edits in branches/safari-600.5-branch

Rollout r179133. rdar://problem/19526158

8:27 AM Changeset in webkit [179747] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests --remote should create remote directory before copying the bundle
https://bugs.webkit.org/show_bug.cgi?id=141329

Reviewed by Michael Saboff.

  • Scripts/run-jsc-stress-tests:
8:04 AM Changeset in webkit [179746] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Remove BytecodeGenerator::preserveLastVar() and replace it with a more robust mechanism for preserving non-temporary registers
https://bugs.webkit.org/show_bug.cgi?id=141211

Reviewed by Mark Lam.

Previously, the way non-temporary registers were preserved (i.e. not reclaimed anytime
we did newTemporary()) by calling preserveLastVar() after all non-temps are created. It
would raise the refcount on the last (highest-numbered) variable created, and rely on
the fact that register reclamation started at higher-numbered registers and worked its
way down. So any retained register would block any lower-numbered registers from being
reclaimed.

Also, preserveLastVar() sets a thing called m_firstConstantIndex. It's unused.

This removes preserveLastVar() and makes addVar() retain each register it creates. This
is more explicit, since addVar() is the mechanism for creating non-temporary registers.

To make this work I had to remove an assertion that Register::setIndex() can only be
called when the refcount is zero. This method might be called after a var is created to
change its index. This previously worked because preserveLastVar() would be called after
we had already made all index changes, so the vars would still have refcount zero. Now
they have refcount 1. I think it's OK to lose this assertion; I can't remember this
assertion ever firing in a way that alerted me to a serious issue.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::preserveLastVar): Deleted.

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::addVar):

  • bytecompiler/RegisterID.h:

(JSC::RegisterID::setIndex):

6:50 AM Changeset in webkit [179745] by Carlos Garcia Campos
  • 11 edits in trunk

[GTK] Remove WebKitWebView::close-notification signal
https://bugs.webkit.org/show_bug.cgi?id=141330

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

In favor of a WebKitNotification::closed signal and
webkit_notification_close() method that both applications and
WebKit can use to close a notification. This also fixes the
onclose event that was not fired when the notification was
closed. It also brings back padding space in WebKitWebViewClass.

  • UIProcess/API/gtk/WebKitNotification.cpp:

(webkit_notification_class_init): Add WebKitNotification::closed signal.
(webkit_notification_close): Emit WebKitNotification::closed.

  • UIProcess/API/gtk/WebKitNotification.h:
  • UIProcess/API/gtk/WebKitNotificationProvider.cpp:

(WebKitNotificationProvider::notificationCloseCallback): Callback
for WebKitNotification::closed signal that notifies the WebProcess
and removes the notification from the map.
(WebKitNotificationProvider::show): Connect to WebKitNotification::closed.
(WebKitNotificationProvider::cancelNotificationByID): Call webkit_notification_close().

  • UIProcess/API/gtk/WebKitNotificationProvider.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(notifyNotificationClosed): The user closed the annotation, call
webkit_notification_close().
(webNotificationClosed): The WebKitNotification has been closed,
close the libnotify notification if it hasn't been closed yet.
(webkitWebViewShowNotification): Create the libnotifiy
notification if needed and associate it to the WebKitNotification
as user data. Connect to the closed signal of both, the libnotifiy
notification and the WebKit notification.
(webkitWebViewCloseNotification): Deleted.
(webkit_web_view_class_init): Remove close-notification signal and
the default hanlder.
(webkitWebViewEmitCloseNotification): Deleted.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add webkit_notification_close.

Tools:

Update notifications unit tests according to the API changes, and
add a test case to check that onclose event is fired when a
notification is closed by the user.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewNotification):

6:46 AM Changeset in webkit [179744] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

ASSERTION FAILED: !m_adoptionIsRequired in WTF::RefCountedBase::ref
https://bugs.webkit.org/show_bug.cgi?id=141035

Reviewed by Sergio Villar Senin.

Rename PrinterListGtk::singleton() as PrinterListGtk::getOrCreate(), and
make it return nullptr when the shared PrinterListGtk object is
still being created. This can happen if the nested loop used by
gtk_enumerate_printers dispatches a GSource that starts a new
synchronous print operation. In that case we just ignore the
second print operation, since there's already one ongoing.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::print): Return early if
PrinterListGtk::getOrCreate() return nullptr.

  • WebProcess/WebPage/gtk/PrinterListGtk.cpp:

(WebKit::PrinterListGtk::getOrCreate): Return nullptr if the
PrinterListGtk is still enumerating the printers.
(WebKit::PrinterListGtk::PrinterListGtk): Initialize
m_enumeratingPrinters to true before calling
gtk_enumerate_printers, and to false once it finishes.
(WebKit::PrinterListGtk::singleton): Deleted.
(WebKit::PrinterListGtk::enumeratePrintersFunction): Deleted.

  • WebProcess/WebPage/gtk/PrinterListGtk.h:
  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Add an

assertion here since PrinterListGtk::getOrCreate() should never
return nullptr at this point.

2:03 AM Changeset in webkit [179743] by akling@apple.com
  • 7 edits in trunk/Source

Remove WTF::fastMallocGoodSize().
<https://webkit.org/b/141020>

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • assembler/AssemblerBuffer.h:

(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerData::grow):

Source/WTF:

bmalloc's good-size API just returns exactly whatever you pass it,
so it's of no utility to us anymore.

This gets rid of a bunch of pointless out-of-line calls in Vector
construction and growth.

  • wtf/Compression.cpp:

(WTF::GenericCompressedData::create):

  • wtf/FastMalloc.cpp:

(WTF::fastMallocGoodSize): Deleted.

  • wtf/FastMalloc.h:
  • wtf/Vector.h:

(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):

12:31 AM Changeset in webkit [179742] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-abortedonmain.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141325

  • platform/mac-wk2/TestExpectations: Mark it as such.
12:14 AM Changeset in webkit [179741] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector/css/selector-dynamic-specificity.html is very slow on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=141252

  • platform/mac-wk2/TestExpectations: Add weaker expectations for debug builds.

Feb 5, 2015:

8:32 PM Changeset in webkit [179740] by ap@apple.com
  • 4 edits in trunk/LayoutTests

Test gardening for issues uncovered by disabling retries on debug bots.

  • TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
8:07 PM Changeset in webkit [179739] by diorahman@rockybars.com
  • 2 edits in trunk/Source/WebCore

Remove duplicate loop after r179532
https://bugs.webkit.org/show_bug.cgi?id=141300

Reviewed by Benjamin Poulain.

No new tests, no behavior changed.

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesLangPseudoClass):

7:55 PM Changeset in webkit [179738] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk

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

caused 2 layout tests to fail (Requested by zalan on #webkit).

Reverted changeset:

"[MSE] Implement Append Error algorithm."
https://bugs.webkit.org/show_bug.cgi?id=139439
http://trac.webkit.org/changeset/179725

7:14 PM Changeset in webkit [179737] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Run a full garbage collection on memory warning.
<https://webkit.org/b/141313>
<rdar://problem/19738024>

Reviewed by Chris Dumez.

Make sure that we run a full GC when trying to free up memory, as this might
be our last chance to execute before the kernel suspends this process.

This aligns WebKit2 with the old WebKit1 behavior.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::platformReleaseMemory):

6:21 PM Changeset in webkit [179736] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Null deref in ViewGestureController::beginSwipeGesture when swiping while script is navigating
https://bugs.webkit.org/show_bug.cgi?id=141308
<rdar://problem/18460046>

Reviewed by Simon Fraser.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::trackSwipeGesture):
If script navigates (history.back, probably other cases too) while in the middle of
building up enough scroll events to start a swipe, it can destroy the history item
that we were planning to swipe to. If this happens, bail from the swipe.

6:04 PM Changeset in webkit [179735] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r179567. rdar://problem/19432892

5:40 PM Changeset in webkit [179734] by Lucas Forschler
  • 12 edits in branches/safari-600.1.4.15-branch

Merge patch from rdar://problem/19432653.

5:34 PM Changeset in webkit [179733] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Unskip 4 passing tests regarding webgl.

Those tests were marked with *CRASH* on r179465 though, it looks
wrong.

  • platform/efl/TestExpectations:
5:24 PM Changeset in webkit [179732] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

Don't pass architecture to development plug-in XPC services
https://bugs.webkit.org/show_bug.cgi?id=141309

Reviewed by Anders Carlsson.

We now have separate services for 32-bit and 64-bit.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:

(WebKit::reexec):
(WebKit::XPCServiceEventHandler):

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToReExecService):

5:23 PM Changeset in webkit [179731] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Move commits viewer to the end of details view
https://bugs.webkit.org/show_bug.cgi?id=141315

Rubber-stamped by Andreas Kling.

Show the difference instead of the old value per kling's request.

  • public/v2/app.js:

(App.PaneController._updateDetails):

  • public/v2/index.html:
5:15 PM Changeset in webkit [179730] by Lucas Forschler
  • 5 edits
    2 deletes in branches/safari-600.1.4.15-branch

Rollout r179711 (179657 on trunk).

5:14 PM Changeset in webkit [179729] by rniwa@webkit.org
  • 5 edits in trunk/Websites/perf.webkit.org

Move commits viewer to the end of details view
https://bugs.webkit.org/show_bug.cgi?id=141315

Reviewed by Andreas Kling.

Improved the way list of commits are shown per kling's request.

  • public/v2/app.js:

(App.PaneController._updateDetails): Always show the old value even when a single point is selected.

  • public/v2/chart-pane.css: Updated the style for the commits viewer.
  • public/v2/commits-viewer.js:

(App.CommitsViewerComponent): Added "visible" property to hide the list of commits.
(App.CommitsViewerComponent.actions.toggleVisibility): Added. Toggles "visible" property.

  • public/v2/index.html: Updated the template for commits viewer to support "visible" property. Also

moved the commits viewers out of the details tables so that they don't interleave revision data.

5:12 PM Changeset in webkit [179728] by msaboff@apple.com
  • 15 edits
    1 delete in trunk/Source/JavaScriptCore

CodeCache is not thread safe when adding the same source from two different threads
https://bugs.webkit.org/show_bug.cgi?id=141275

Reviewed by Mark Lam.

The issue for this bug is that one thread, takes a cache miss in CodeCache::getGlobalCodeBlock,
but in the process creates a cache entry with a nullptr UnlinkedCodeBlockType* which it
will fill in later in the function. During the body of that function, it allocates
objects that may garbage collect. During that garbage collection, we drop the all locks.
While the locks are released by the first thread, another thread can enter the VM and might
have exactly the same source and enter CodeCache::getGlobalCodeBlock() itself. When it
looks up the code block, it sees it as a cache it and uses the nullptr UnlinkedCodeBlockType*
and crashes. This fixes the problem by not dropping the locks during garbage collection.
There are other likely scenarios where we have a data structure like this code cache in an
unsafe state for arbitrary reentrance.

Moved the functionality of DelayedReleaseScope directly into Heap. Changed it into
a simple list that is cleared with the new function Heap::releaseDelayedReleasedObjects.
Now we accumulate objects to be released and release them when all locks are dropped or
when destroying the Heap. This eliminated the dropping and reaquiring of locks associated
with the old scope form of this list.

Given that all functionality of DelayedReleaseScope is now used and referenced by Heap
and the lock management no longer needs to be done, just made the list a member of Heap.
We do need to guard against the case that releasing an object can create more objects
by calling into JS. That is why releaseDelayedReleasedObjects() is written to remove
an object to release so that we aren't recursively in Vector code. The other thing we
do in releaseDelayedReleasedObjects() is to guard against recursive calls to itself using
the m_delayedReleaseRecursionCount. We only release at the first entry into the function.
This case is already tested by testapi.mm.

  • heap/DelayedReleaseScope.h: Removed file
  • API/JSAPIWrapperObject.mm:
  • API/ObjCCallbackFunction.mm:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doSweep):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::tryAllocate):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::sweep):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::lastChanceToFinalize):
(JSC::MarkedSpace::didFinishIterating):

  • heap/MarkedSpace.h:
  • heap/Heap.cpp:

(JSC::Heap::collectAllGarbage):
(JSC::Heap::zombifyDeadObjects):
Removed references to DelayedReleaseScope and DelayedReleaseScope.h.

  • heap/Heap.cpp:

(JSC::Heap::Heap): Initialized m_delayedReleaseRecursionCount.
(JSC::Heap::lastChanceToFinalize): Call releaseDelayedObjectsNow() as the VM is going away.
(JSC::Heap::releaseDelayedReleasedObjects): New function that released the accumulated
delayed release objects.

  • heap/Heap.h:

(JSC::Heap::m_delayedReleaseObjects): List of objects to be released later.
(JSC::Heap::m_delayedReleaseRecursionCount): Counter to indicate that
releaseDelayedReleasedObjects is being called recursively.

  • heap/HeapInlines.h:

(JSC::Heap::releaseSoon): Changed location of list to add delayed release objects.

  • runtime/JSLock.cpp:

(JSC::JSLock::willReleaseLock):
Call Heap::releaseDelayedObjectsNow() when releasing the lock.

5:07 PM Changeset in webkit [179727] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Use deleteEmptyDirectory() in NetworkCacheStorage::clear()
https://bugs.webkit.org/show_bug.cgi?id=141314

Reviewed by Antti Koivisto.

Use deleteEmptyDirectory() in NetworkCacheStorage::clear() to simplify
the code a little bit.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::clear):

5:05 PM Changeset in webkit [179726] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix ASSERTION FAILED: !root->needsLayout() in FrameView::layout()
https://bugs.webkit.org/show_bug.cgi?id=141032

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-02-05
Reviewed by Darin Adler.

This patch moves the !root->needsLayout() assert statement above
updateLayerPositionsAfterLayout() that can modify dirty bit system
when we have RenderMarquee.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

4:57 PM Changeset in webkit [179725] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[MSE] Implement Append Error algorithm.
https://bugs.webkit.org/show_bug.cgi?id=139439

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-02-05
Reviewed by Jer Noble.

If Source Buffer has not received first init segment, then it shall call endOfStream after receiving
Media Segment, as per Media Source spec. (from 17 July 2014) in paragraph 3.5.1 point 6.1.
Source/WebCore:

Based this change on Editor's Draft 12 December 2014, as it clarifies order of events.

Test: media/media-source/media-source-append-media-segment-without-init.html

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::streamEndedWithError):

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::validateInitializationSegment):
(WebCore::SourceBuffer::appendError):

  • Modules/mediasource/SourceBuffer.h:

LayoutTests:

Added test which after creating SourceBuffer sends media sample, without any init segments.

  • media/media-source/media-source-append-media-segment-without-init-expected.txt: Added.
  • media/media-source/media-source-append-media-segment-without-init.html: Added.
4:53 PM Changeset in webkit [179724] by Lucas Forschler
  • 10 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r179627. rdar://problem/19432897

4:33 PM Changeset in webkit [179723] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.
Mark inspector/css/selector-specificity.html flaky with Crash too (already marked with Timeout).

  • platform/mac/TestExpectations:
4:32 PM Changeset in webkit [179722] by Lucas Forschler
  • 16 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r179366. rdar://problem/19432900

4:30 PM Changeset in webkit [179721] by ap@apple.com
  • 2 edits in trunk/Tools

Dashboard doesn't consider building ASan a productive step
https://bugs.webkit.org/show_bug.cgi?id=141312

Reviewed by Simon Fraser.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
3:47 PM Changeset in webkit [179720] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS] Remove False Positive dispatch_source Leak in WebMemoryPressureHandler singleton
https://bugs.webkit.org/show_bug.cgi?id=141307

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-05
Reviewed by Anders Carlsson.

  • UIProcess/ios/WebMemoryPressureHandlerIOS.h:
  • UIProcess/ios/WebMemoryPressureHandlerIOS.mm:

(WebKit::WebMemoryPressureHandler::WebMemoryPressureHandler):
We want to keep the dispatch_source around, so just tie it to the
singleton so that it is not reported as a leak.

3:36 PM Changeset in webkit [179719] by ap@apple.com
  • 2 edits in trunk/LayoutTests

TestExpectations gardening.

  • platform/win/TestExpectations: These two canvas tests fail on Windows only.
3:35 PM Changeset in webkit [179718] by ap@apple.com
  • 2 edits in trunk/LayoutTests

TestExpectations gardening.

3:27 PM Changeset in webkit [179717] by ap@apple.com
  • 2 edits in trunk/LayoutTests

TestExpectations gardening.

  • platform/mac/TestExpectations: Updated expectatiosn for tests that sometimes pass.
3:15 PM Changeset in webkit [179716] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS] webkitpy.xcode.simulator.Runtime.from_identifier() returns wrong result for non-existent runtime
https://bugs.webkit.org/show_bug.cgi?id=141306

Reviewed by Alexey Proskuryakov.

The function webkitpy.xcode.simulator.Runtime.from_identifier always returns a Runtime object
corresponding to the last-most runtime parsed from the output of simctl list for any non-
existent runtime.

  • Scripts/webkitpy/xcode/simulator.py:

(Runtime.from_identifier):

3:01 PM Changeset in webkit [179715] by ap@apple.com
  • 2 edits in trunk/LayoutTests

<rdar://problem/18216390> ASSERTION FAILED: !m_visibleDescendantStatusDirty in WebCore::RenderLayer::isVisuallyNonEmpty()

fullscreen/full-screen-iframe-legacy.html is another affected test.

2:58 PM Changeset in webkit [179714] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] 64-bit build fix after r179702 and r179709

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
2:47 PM Changeset in webkit [179713] by jonowells@apple.com
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: Inline SourceMap resources show empty content when opened.
https://bugs.webkit.org/show_bug.cgi?id=141225

Reviewed by Timothy Hatcher.

Change WebInspector.SourceMapResource.prototype.requestContentFromBackend to correctly and consistently handle
calls to NetworkAgent. The helper function sourceMapResourceLoaded will now properly handle parameters as a single
payload, including manual calls in the case where the source map content is in a data URI. Also
WebInspector.SourceCode.prototype._processContent now properly handles an error string used for displaying
resource loading error messages in the resource content view.

  • UserInterface/Models/Resource.js: drive-by style fix.
  • UserInterface/Models/SourceCode.js:

(WebInspector.SourceCode.prototype._processContent):
Properly handle error string.

  • UserInterface/Models/SourceMapResource.js:

(WebInspector.SourceMapResource.prototype.requestContentFromBackend):
(WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
Formerly sourceMapResourceLoadError, now handles parameters from the NetworkAgent correctly.

(WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoadError):
This function now handles NetworkAgent errors only.

2:46 PM Changeset in webkit [179712] by dbates@webkit.org
  • 3 edits in trunk/Tools

LayoutTestRelay does not install DumpRenderTree.app/WebKitTestRunnerApp.app
https://bugs.webkit.org/show_bug.cgi?id=139746
<rdar://problem/19283658>

Reviewed by Alexey Proskuryakov.

Fixes an issues where LayoutTestRelay may fail to install DumpRenderTree.app/WebKitTestRunnerApp.app
if the simulator device is not in state Booted.

Currently run-webkit-test --ios-sim executes LayoutTestRelay immediately after
launching/relaunching the iOS Simulator app and a simulator app can only be installed
on a device that is in the Booted state. LayoutTestRelay may run before the
device is booted and hence fail to install DumpRenderTree.app/WebKitTestRunnerApp.app.
We should defer executing LayoutTestRelay until the simulator device booted by
iOS Simulator is in the Booted state.

  • Scripts/webkitpy/port/ios.py: Import webkitpy.xcode.simulator.Simulator to avoid prefixing

Simulator methods with the module name, simulator.
(IOSSimulatorPort.setup_test_run): Wait for the simulator device to be in the Booted state
after launching iOS Simulator. Also, wait until the simulator device is in the Shutdown state
before launching iOS Simulator to boot it.
(IOSSimulatorPort.testing_device): Fix up caller since we now import webkitpy.xcode.simulator.Simulator.
(IOSSimulatorPort.simulator_path): Deleted; moved this function to class Simulator and renamed to device_directory().

  • Scripts/webkitpy/xcode/simulator.py:

(Device.init): Remove parameter state and an instance variable of the same name, which represented
the state of the device when we created this object as part of parsing the output of simctl list. Callers
interested in the state of the device are more likely interested in the current state of the device as
opposed to the state of the device when the Device object was created.
(Device.state): Added; turn around and call Simulator.device_state() for the current state of the device.
(Device.path): Extracted implementation into Simulator.device_directory() so that it can be called
from both this function and Simulator.device_state().
(Device.create): Use Simulator.wait_until_device_is_in_state() to simplify the implementation of this function.
(Simulator.DeviceState): Added; class of constants.
(Simulator.wait_until_device_is_in_state): Added; this function does not return until the specified
device is in the specified state.
(Simulator.device_state): Added; parses the state of the device from the appropriate CoreSimulator device.plist file.
(Simulator.device_directory): Added.
(Simulator._parse_devices): Do not pass argument state to Device constructor as it no longer accepts it.

2:35 PM Changeset in webkit [179711] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r179567. rdar://problem/19432892

2:34 PM Changeset in webkit [179710] by rniwa@webkit.org
  • 7 edits in trunk/Websites/perf.webkit.org

New perf dashboard should compare results to baseline and target
https://bugs.webkit.org/show_bug.cgi?id=141286

Reviewed by Chris Dumez.

Compare the selected value against baseline and target values as done in v1. e.g. "5% below target"
Also use d3.format to format the selected value to show four significant figures.

  • public/v2/app.js:

(App.Pane.searchCommit):
(App.Pane._fetch): Create time series here via createChartData so that _computeStatus can use them
to compute the status text without having to recreate them.
(App.createChartData): Added.
(App.PaneController._updateDetails): Use 3d.format on current and old values.
(App.PaneController._computeStatus): Added. Computes the status text.
(App.PaneController._relativeDifferentToLaterPointInTimeSeries): Added.
(App.AnalysisTaskController._fetchedManifest): Use createChartData as done in App.Pane._fetch. Also
format the values using chartData.formatter.

  • public/v2/chart-pane.css: Enlarge the status text. Show the status text in red if it's worse than

the baseline and in blue if it's better than the target.

  • public/v2/data.js:

(TimeSeries.prototype.findPointAfterTime): Added.

  • public/v2/index.html: Added a new tbody for the status text and the selected value. Also fixed

the bug that we were not showing the old value's unit.

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._constructGraphIfPossible): Use chartData.formatter. Also cleaned up
the code to show the baseline and the target lines.

  • public/v2/manifest.js:

(App.Manifest.fetchRunsWithPlatformAndMetric): Added smallerIsBetter.

2:17 PM Changeset in webkit [179709] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed attempt to fix Windows build after r179702.

Export a couple of extra symbols.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
2:17 PM Changeset in webkit [179708] by Antti Koivisto
  • 6 edits in trunk/Source/WebKit2

Switch to file backed buffer when resource is cached to disk
https://bugs.webkit.org/show_bug.cgi?id=141295

Reviewed by Chris Dumez.

Wire the DidCacheResource mechanism to the new disk cache.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFinishLoading):

Send DidCacheResource message to the web process so it can switch the resource to file backing.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::store):
(WebKit::NetworkCache::update):

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::DispatchPtr::DispatchPtr):

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::Data::Data):
(WebKit::mapFile):
(WebKit::decodeEntry):
(WebKit::retrieveActive):
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):

Map files larger than a memory page after a successful store.

(WebKit::NetworkCacheStorage::update):
(WebKit::encodeEntry): Deleted.

2:13 PM Changeset in webkit [179707] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

[WK2] Properly check for mmap() error case
https://bugs.webkit.org/show_bug.cgi?id=141304

Reviewed by Anders Carlsson.

mmap() returns MAP_FAILED, which is (void*)-1, not a null pointer in
case of failure. This patch updates several wrong error checks in
WebKit2.

  • Platform/IPC/ArgumentEncoder.cpp:

(IPC::allocBuffer):
(IPC::ArgumentEncoder::reserve):

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::sendOutgoingMessage):

1:55 PM Changeset in webkit [179706] by mjs@apple.com
  • 3 edits
    2 adds in trunk

Crash due to failing to dirty a removed text node's line box
https://bugs.webkit.org/show_bug.cgi?id=136544

Reviewed by David Hyatt.
Source/WebCore:


Test: fast/text/remove-text-node-linebox-not-dirty-crash.html

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): Make the check for dirtying the next
line box a bit more inclusive to avoid a case of a line box for a destroyed render object not
being dirtied. In particular, when the text node's parent has no line boxes but contains BRs.

LayoutTests:

  • fast/text/remove-text-node-linebox-not-dirty-crash-expected.txt: Added.
  • fast/text/remove-text-node-linebox-not-dirty-crash.html: Added.
1:52 PM Changeset in webkit [179705] by Brian Burg
  • 10 edits in trunk/Source/WebKit2

Clean up WebInspectorProxy and use simpler inspector levels design
https://bugs.webkit.org/show_bug.cgi?id=141135

Reviewed by Timothy Hatcher.

Inspector levels used to be managed by keeping a set of WebPageGroup
instances and doing pointer comparisons to check whether the inspected
view is itself a web inspector instance. This is unnecessary, as we
can maintain a mapping from WebPageProxy* to its corresponding level.

When an inspector instance is created, it is inserted into the mapping
along with its level. An inspector's level is 1 unless its inspected page
is in the mapping, then it is one greater that the inspected page's level.

The level is provided by inspectorLevel(), rather than a member variable.
WebInspectorProxy is created in the constructor of WebPageProxy. Thus, there
would be no chance to add the inspector page's level to the mapping before the
next level inspector tries to look it up when initializing its members.

This patch introduces other miscellaneous cleanups, such as naming m_page
to m_inspectedPage, using Ref and using an enum class for the attachment side.

  • UIProcess/API/C/WKInspector.cpp:

(WKInspectorGetPage):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(resizeWebKitWebViewBaseFromAllocation):

  • UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
  • UIProcess/WebInspectorProxy.cpp:

(WebKit::pageLevelMap):
(WebKit::WebInspectorProxy::WebInspectorProxy):
(WebKit::WebInspectorProxy::inspectorLevel):
(WebKit::WebInspectorProxy::inspectorPageGroupIdentifier):
(WebKit::WebInspectorProxy::inspectorPagePreferences):
(WebKit::WebInspectorProxy::invalidate):
(WebKit::WebInspectorProxy::isFront):
(WebKit::WebInspectorProxy::connect):
(WebKit::WebInspectorProxy::show):
(WebKit::WebInspectorProxy::hide):
(WebKit::WebInspectorProxy::close):
(WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
(WebKit::WebInspectorProxy::showConsole):
(WebKit::WebInspectorProxy::showResources):
(WebKit::WebInspectorProxy::showMainResourceForFrame):
(WebKit::WebInspectorProxy::attachBottom):
(WebKit::WebInspectorProxy::attachRight):
(WebKit::WebInspectorProxy::attach):
(WebKit::WebInspectorProxy::detach):
(WebKit::WebInspectorProxy::togglePageProfiling):
(WebKit::WebInspectorProxy::isInspectorPage):
(WebKit::decidePolicyForNavigationAction):
(WebKit::WebInspectorProxy::remoteFrontendConnected):
(WebKit::WebInspectorProxy::remoteFrontendDisconnected):
(WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend):
(WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::didClose):
(WebKit::WebInspectorPageGroups::singleton): Deleted.
(WebKit::WebInspectorPageGroups::inspectorLevel): Deleted.
(WebKit::WebInspectorPageGroups::isInspectorPageGroup): Deleted.
(WebKit::WebInspectorPageGroups::inspectorPageGroupLevel): Deleted.
(WebKit::WebInspectorPageGroups::inspectorPageGroupForLevel): Deleted.
(WebKit::WebInspectorPageGroups::createInspectorPageGroup): Deleted.
(WebKit::WebInspectorProxy::~WebInspectorProxy): Deleted.
(WebKit::WebInspectorProxy::inspectorPageGroup): Deleted.
(WebKit::WebInspectorProxy::setAttachedWindowHeight): Deleted.
(WebKit::WebInspectorProxy::enableRemoteInspection): Deleted.
(WebKit::WebInspectorProxy::open): Deleted.

  • UIProcess/WebInspectorProxy.h:

(WebKit::WebInspectorProxy::create):
(WebKit::WebInspectorProxy::inspectedPage):
(WebKit::WebInspectorProxy::page): Deleted.

  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::dockButtonClicked):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformInspectedWindowHeight):
(WebKit::WebInspectorProxy::platformInspectedWindowWidth):
(WebKit::WebInspectorProxy::platformAttach):
(WebKit::WebInspectorProxy::platformDetach):
(WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
(WebKit::WebInspectorProxy::platformSetAttachedWindowWidth):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(-[WKWebInspectorProxyObjCAdapter attachRight:]):
(-[WKWebInspectorProxyObjCAdapter attachBottom:]):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformBringToFront):
(WebKit::WebInspectorProxy::windowFrameDidChange):
(WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
(WebKit::WebInspectorProxy::platformInspectedWindowHeight):
(WebKit::WebInspectorProxy::platformInspectedWindowWidth):
(WebKit::WebInspectorProxy::platformAttach):
(WebKit::WebInspectorProxy::platformDetach):
(-[WKWebInspectorProxyObjCAdapter close]): Deleted.

1:48 PM Changeset in webkit [179704] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2][Cocoa] Populate m_contentsFilter bloom filter from the main dispatch queue NetworkCacheStorage::initialize()
https://bugs.webkit.org/show_bug.cgi?id=141297

Reviewed by Antti Koivisto.

Populate m_contentsFilter bloom filter from the main dispatch queue
NetworkCacheStorage::initialize() to avoid thread-safety issues.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::initialize):

1:46 PM Changeset in webkit [179703] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Use deleteFile() in NetworkCacheStorageCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=141299

Reviewed by Antti Koivisto.

Use deleteFile() in NetworkCacheStorageCocoa.mm to simplify the code
a bit.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::removeEntry):
(WebKit::NetworkCacheStorage::clear):
(WebKit::NetworkCacheStorage::shrinkIfNeeded):

1:29 PM Changeset in webkit [179702] by Chris Dumez
  • 7 edits
    2 adds in trunk

Free memory read under MemoryCache::pruneLiveResourcesToSize()
https://bugs.webkit.org/show_bug.cgi?id=141292
<rdar://problem/19725522>

Reviewed by Antti Koivisto.

In MemoryCache::pruneLiveResourcesToSize(), we were iterating over the
m_liveDecodedResources ListHashSet and possibly calling
CachedResource::destroyDecodedData() on the current value. Doing so
would cause a call to ListHashSet::remove() to remove the value pointed
by the current iterator, thus invalidating our iterator.

In this patch, we increment the ListHashSet iterator *before* calling
CachedResource::destroyDecodedData(), while the current iterator is
still valid. Note that this is safe because unlike iteration of most
WTF Hash data structures, iteration is guaranteed safe against mutation
of the ListHashSet, except for removal of the item currently pointed to
by a given iterator.

Test: http/tests/cache/memory-cache-pruning.html

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneLiveResourcesToSize):

12:12 PM Changeset in webkit [179701] by Brian Burg
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: eliminate some unnecessary layout/painting in timeline overview and ruler
https://bugs.webkit.org/show_bug.cgi?id=141293

Reviewed by Timothy Hatcher.

The timeline overview's ruler was forcing repaints of divider labels even if the labels
had not changed since the last requestAnimationFrame. Bail out early if nothing changed.

The timeline overview and its graphs were updating layout using requestAnimationFrame
even when the TimelineContentView is not visible. Fix this by propagating visibility
changes to subviews, and not updating layout when hidden.

The above change also fixes an assertion sometimes encountered when the timeline view
tries to cache an element's offset width, but cannot because it isn't visible.

  • UserInterface/Views/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype.shown):
(WebInspector.TimelineContentView.prototype.hidden):

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype.get visible):
(WebInspector.TimelineOverview.prototype.shown):
(WebInspector.TimelineOverview.prototype.hidden):
(WebInspector.TimelineOverview.prototype._needsLayout):

  • UserInterface/Views/TimelineOverviewGraph.js:

(WebInspector.TimelineOverviewGraph.prototype.get visible):
(WebInspector.TimelineOverviewGraph.prototype.shown):
(WebInspector.TimelineOverviewGraph.prototype.hidden):
(WebInspector.TimelineOverviewGraph.prototype.needsLayout):

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype.updateLayout):

11:49 AM Changeset in webkit [179700] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark another group of assertion failures.

  • platform/win/TestExpectations:
11:37 AM Changeset in webkit [179699] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

[Mac] HLS <video> will not fire 'progress' events, only 'stalled'.
https://bugs.webkit.org/show_bug.cgi?id=141284

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/media/hls/hls-progress.html

totalBytes() will always return 0 for HLS streams, which will cause didLoadingProgress() to always
return false. Skip this optimization.

Drive-by fix: duration() will always return 0 for this class as well. Use durationMediaTime() instead.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress):

LayoutTests:

  • http/tests/media/hls/hls-progress-expected.txt: Added.
  • http/tests/media/hls/hls-progress.html: Added.
11:29 AM Changeset in webkit [179698] by ap@apple.com
  • 2 edits in trunk/Tools

Disable retries on Mac debug testers
https://bugs.webkit.org/show_bug.cgi?id=141296

Reviewed by Simon Fraser.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
10:40 AM Changeset in webkit [179697] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.
Mark compositing/reflections/masked-reflection-on-composited.html flaky.

  • platform/mac/TestExpectations:
10:36 AM Changeset in webkit [179696] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/xmlhttprequest/event-listener-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33342

Reviewed by Anders Carlsson.

Speculative fix.

  • http/tests/xmlhttprequest/print-content-type.cgi: Make the resource uncacheable,

so that it doesn't load too quickly.

10:07 AM Changeset in webkit [179695] by Brent Fulgham
  • 58 edits in trunk/Source/WebCore

Move InstanceInvalidationGuard/UpdateBlocker to SVGElement from SVGElementInstance
https://bugs.webkit.org/show_bug.cgi?id=141148

Patch by Darin Adler <Darin Adler> on 2015-02-05
Reviewed by Brent Fulgham and Anders Carlsson.

Inspired by this change Rob Buis made in Blink:

http://src.chromium.org/viewvc/blink?view=revision&revision=173343

I actually wrote the whole thing and then discovered we did it almost identically.

  • svg/SVGAnimatedTypeAnimator.cpp:

(WebCore::SVGElementAnimatedPropertyList::setInstanceUpdatesBlocked): Added this
helper function to get around a circular header dependency.

  • svg/SVGAnimatedTypeAnimator.h:

(WebCore::SVGAnimatedTypeAnimator::executeAction): Use setInstanceUpdatesBlocked.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::removedFrom): Use invalidateInstances.
(WebCore::SVGElement::finishParsingChildren): Ditto.
(WebCore::SVGElement::svgAttributeChanged): Ditto.
(WebCore::SVGElement::childrenChanged): Ditto.
(WebCore::SVGElement::setInstanceUpdatesBlocked): Added an assertion that will
catch anyone who nests InstanceUpdateBlocker by accident.
(WebCore::SVGElement::invalidateInstances): Moved this here from
SVGElementInstance::invalidateAllInstancesOfElement. I had already modified this
so it had nothing to do with SVGElementInstance, so it was a simple matter of
converting this into a member function. Added a FIXME about the mysterious
updateStyleIfNeeded that makes multiple tests fail if it's removed.

  • svg/SVGElement.h: Added public InstanceUpdateBlocker class, protected

InstanceInvalidationGuard class, and private invalidateInstances function.
Unlike the ones in SVGElementInstance these use references so they are then
not copyable without using the WTF_MAKE_NONCOPYABLE macro.

  • svg/SVGElementInstance.cpp:

(WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Deleted.
(WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker): Deleted.
(WebCore::SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker): Deleted.

  • svg/SVGElementInstance.h: Removed InvalidationGuard, InstanceUpdateBlocker, and

invalidateAllInstancesOfElement. Didn't do any further cleanup since we soon will
delete this entire file.

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::svgAttributeChanged): Updated to use new name and reference
instead of pointer.

  • svg/SVGAnimateElementBase.cpp:

(WebCore::applyCSSPropertyToTargetAndInstances): Ditto.
(WebCore::removeCSSPropertyFromTargetAndInstances): Ditto.
(WebCore::notifyTargetAndInstancesAboutAnimValChange): Ditto.

  • svg/SVGAnimatedPath.cpp:

(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation): Ditto.

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::svgAttributeChanged): Ditto.

  • svg/SVGClipPathElement.cpp:

(WebCore::SVGClipPathElement::svgAttributeChanged): Ditto.

  • svg/SVGComponentTransferFunctionElement.cpp:

(WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged): Ditto.

  • svg/SVGCursorElement.cpp:

(WebCore::SVGCursorElement::svgAttributeChanged): Ditto.

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::svgAttributeChanged): Ditto.

  • svg/SVGFEBlendElement.cpp:

(WebCore::SVGFEBlendElement::svgAttributeChanged): Ditto.

  • svg/SVGFEColorMatrixElement.cpp:

(WebCore::SVGFEColorMatrixElement::svgAttributeChanged): Ditto.

  • svg/SVGFECompositeElement.cpp:

(WebCore::SVGFECompositeElement::svgAttributeChanged): Ditto.

  • svg/SVGFEConvolveMatrixElement.cpp:

(WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged): Ditto.

  • svg/SVGFEDiffuseLightingElement.cpp:

(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): Ditto.

  • svg/SVGFEDisplacementMapElement.cpp:

(WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): Ditto.

  • svg/SVGFEDropShadowElement.cpp:

(WebCore::SVGFEDropShadowElement::svgAttributeChanged): Ditto.

  • svg/SVGFEGaussianBlurElement.cpp:

(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged): Ditto.

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::svgAttributeChanged): Ditto.

  • svg/SVGFELightElement.cpp:

(WebCore::SVGFELightElement::svgAttributeChanged): Ditto.

  • svg/SVGFEMergeNodeElement.cpp:

(WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.

  • svg/SVGFEMorphologyElement.cpp:

(WebCore::SVGFEMorphologyElement::svgAttributeChanged): Ditto.

  • svg/SVGFEOffsetElement.cpp:

(WebCore::SVGFEOffsetElement::svgAttributeChanged): Ditto.

  • svg/SVGFESpecularLightingElement.cpp:

(WebCore::SVGFESpecularLightingElement::svgAttributeChanged): Ditto.

  • svg/SVGFETileElement.cpp:

(WebCore::SVGFETileElement::svgAttributeChanged): Ditto.

  • svg/SVGFETurbulenceElement.cpp:

(WebCore::SVGFETurbulenceElement::svgAttributeChanged): Ditto.

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::svgAttributeChanged): Ditto.

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged): Ditto.

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto.

  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::svgAttributeChanged): Ditto.

  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::svgAttributeChanged): Ditto.

  • svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::svgAttributeChanged): Ditto.

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::svgAttributeChanged): Ditto.

  • svg/SVGLineElement.cpp:

(WebCore::SVGLineElement::svgAttributeChanged): Ditto.

  • svg/SVGLinearGradientElement.cpp:

(WebCore::SVGLinearGradientElement::svgAttributeChanged): Ditto.

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::svgAttributeChanged): Ditto.

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::svgAttributeChanged): Ditto.

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::svgAttributeChanged): Ditto.

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::svgAttributeChanged): Ditto.

  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::svgAttributeChanged): Ditto.

  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::svgAttributeChanged): Ditto.

  • svg/SVGRadialGradientElement.cpp:

(WebCore::SVGRadialGradientElement::svgAttributeChanged): Ditto.

  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::svgAttributeChanged): Ditto.

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::svgAttributeChanged): Ditto.

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::svgAttributeChanged): Ditto.

  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::svgAttributeChanged): Ditto.

  • svg/SVGSymbolElement.cpp:

(WebCore::SVGSymbolElement::svgAttributeChanged): Ditto.

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::svgAttributeChanged): Ditto.

  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::svgAttributeChanged): Ditto.

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::svgAttributeChanged): Ditto.

  • svg/SVGTextPositioningElement.cpp:

(WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::svgAttributeChanged): Ditto.

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::svgAttributeChanged): Ditto.

9:56 AM Changeset in webkit [179694] by mitz@apple.com
  • 2 edits in trunk/Tools

Need a way to force $xcodeSDK in webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=141291

Reviewed by Anders Carlsson.

  • Scripts/webkitdirs.pm:

(setXcodeSDK): Added.

9:25 AM Changeset in webkit [179693] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Remind ourselves to remove work-around code
https://bugs.webkit.org/show_bug.cgi?id=141289

Unreviewed gardening: Add a reminder FIXME to CSSParser
so we can remove the MSVC-specific hack in the future.

  • css/CSSParser.cpp:
9:04 AM Changeset in webkit [179692] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] More Unreviewed gardening.

  • platform/win/TestExpectations:
8:50 AM Changeset in webkit [179691] by Alan Bujtas
  • 6 edits
    2 adds in trunk

Do not destroy RenderQuote's text fragment child when quotation mark string is changing.
https://bugs.webkit.org/show_bug.cgi?id=141271
rdar://problem/18169375

Reviewed by Antti Koivisto.

Similar approach as https://codereview.chromium.org/679593004/

This patch ensures that laying out a RenderQuote does not force a sibling RenderQuote's
child renderer(RenderText) to be destroyed.
BreakingContext holds a pointer to the next renderer on the line (BreakingContext::m_nextObject).
While laying out the line, initiated by BreakingContext, placing the current renderer could end up destroying the "next" renderer.
This happens when the pseudo after quotation mark(RenderQuote) becomes floated, the sibling <q>'s pseudo
before text needs to be changed (from " to ') so that we don't end up with 2 sets of the same opening
strings.
The fix is to reuse the RenderTextFragment object instead of destroy/recreate it.

Source/WebCore:

Test: fast/css/content/quote-crash-when-floating.html

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::RenderQuote):
(WebCore::fragmentChild):
(WebCore::RenderQuote::updateText):

  • rendering/RenderQuote.h:
  • rendering/RenderTextFragment.cpp:

(WebCore::RenderTextFragment::setText):
(WebCore::RenderTextFragment::setContentString):

  • rendering/RenderTextFragment.h:

LayoutTests:

  • fast/css/content/quote-crash-when-floating-expected.txt: Added.
  • fast/css/content/quote-crash-when-floating.html: Added.
6:31 AM Changeset in webkit [179690] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

Avoid copying std::functions across threads in NetworkCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=141273

Reviewed by Andreas Kling.

The current approach is risky. There is possiblity that captured variables are
deleted in an unexpected thread.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::retrieve):

The capture trick here is no longer needed.

  • NetworkProcess/cache/NetworkCacheStorage.h:

For each cache operation we create Retrive/Store/UpdateOperation object kept alive by the active operation map.
This object captures all parameters of the operation including the lambda. When the operation completes
the object is removed from the map in the main thread, ensuring safe destruction.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::dispatchRetrieveOperation):
(WebKit::NetworkCacheStorage::dispatchPendingRetrieveOperations):
(WebKit::retrieveActive):

Instead of maintaining a separate write cache we just look through the active write and update maps.

(WebKit::NetworkCacheStorage::retrieve):

Use fixed sized priority array rather than a dynamic one. Vector<Deque<std::unique_ptr>> doesn't quite work.

(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):
(WebKit::NetworkCacheStorage::clear):

5:34 AM Changeset in webkit [179689] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Media iOS] Add a debug setting to always show the optimized fullscreen button
https://bugs.webkit.org/show_bug.cgi?id=141277
<rdar://problem/19724471>

Reviewed by Eric Carlson.

Add a debug option so that we can test the optimized fullscreen
control on media that doesn't support it.

  • Modules/mediacontrols/mediaControlsiOS.js: Add gSimulateOptimizedFullscreenAvailable.

(ControllerIOS.prototype.createControls): Check the setting.
(ControllerIOS.prototype.configureInlineControls): Ditto.
(ControllerIOS.prototype.formatTime): Drive-by whitespace cleanup.
(ControllerIOS.prototype.handleBaseGestureChange):
(ControllerIOS.prototype.handleWrapperTouchStart):
(ControllerIOS.prototype.handleOptimizedFullscreenTouchEnd):
(ControllerIOS.prototype.handlePresentationModeChange): Drive-by variable renaming.

5:02 AM Changeset in webkit [179688] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Set all tests of svg/W3C-SVG-1.1 and svg/W3C-SVG-1.1-SE to flaky.
Because all tests looks like flaky now. This will be handled on Bug 137138. Additionally
duplicated tests are removed.

  • platform/efl/TestExpectations:
2:19 AM Changeset in webkit [179687] by calvaris@igalia.com
  • 33 edits
    11 adds in trunk

[Streams API] Implement a barebone ReadableStream interface
https://bugs.webkit.org/show_bug.cgi?id=141045

Reviewed by Benjamin Poulain.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake: Made streams API compilation on by default.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

This patch implements the ReadableStream IDL (https://streams.spec.whatwg.org/#rs-model).
No functionality is yet added.
ReadableStreamSource is expected to be implemented for native sources (such as HTTP sources)
as well as JavaScript source through ReadableStreamJSSource.

Test: streams/readablestream-constructor.html

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • Modules/streams/ReadableStream.cpp: Added.

(WebCore::ReadableStream::create):
(WebCore::ReadableStream::ReadableStream):
(WebCore::ReadableStream::~ReadableStream):
(WebCore::ReadableStream::state):
(WebCore::ReadableStream::closed):
(WebCore::ReadableStream::ready):

  • Modules/streams/ReadableStream.h: Added.
  • Modules/streams/ReadableStream.idl: Added.
  • Modules/streams/ReadableStreamSource.h: Added.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/WebCoreCommon.props:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSReadableStreamCustom.cpp: Added.

(WebCore::JSReadableStream::read):
(WebCore::JSReadableStream::ready):
(WebCore::JSReadableStream::closed):
(WebCore::JSReadableStream::cancel):
(WebCore::JSReadableStream::pipeTo):
(WebCore::JSReadableStream::pipeThrough):
(WebCore::constructJSReadableStream):

  • bindings/js/ReadableStreamJSSource.cpp: Added.

(WebCore::ReadableStreamJSSource::create):
(WebCore::ReadableStreamJSSource::ReadableStreamJSSource):
(WebCore::ReadableStreamJSSource::setInternalError):

  • bindings/JSReadableStreamJSSource.h: Added.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm: Added streams-api compilation switch.

LayoutTests:

Added readablestream-constructor test that checks ReadableStream properties and state.
Rebased global-constructor-attributes.html expectations to add ReadableStream description.

  • js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
  • streams/readablestream-constructor-expected.txt: Added.
  • streams/readablestream-constructor.html: Added.
1:54 AM Changeset in webkit [179686] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix.

  • public/v2/app.js:

(App.IndexController.gridChanged): Use store.createRecord to create a custom dashboard as required by Ember.js

1:25 AM Changeset in webkit [179685] by Lucas Forschler
  • 3 edits in branches/safari-600.1.4.15-branch

Merged r178953. rdar://problem/19651478

1:25 AM Changeset in webkit [179684] by Csaba Osztrogonác
  • 4 edits in trunk/LayoutTests

Remove Mountain Lion specific test expectations
https://bugs.webkit.org/show_bug.cgi?id=141243

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
12:59 AM Changeset in webkit [179683] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/LayoutTests

Merged r178953. rdar://problem/19651478

12:58 AM Changeset in webkit [179682] by saambarati1@gmail.com
  • 6 edits in trunk

Crash in uninitialized deconstructing variable.
https://bugs.webkit.org/show_bug.cgi?id=141070

Reviewed by Michael Saboff.

Source/JavaScriptCore:

According to the ES6 spec, when a destructuring pattern occurs
as the left hand side of an assignment inside a var declaration
statement, the assignment must also have a right hand side value.
"var {x} = {};" is a legal syntactic statement, but,
"var {x};" is a syntactic error.

Section 13.2.2 of the latest draft ES6 spec specifies this requirement:
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-variable-statement

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseVarDeclaration):
(JSC::Parser<LexerType>::parseVarDeclarationList):
(JSC::Parser<LexerType>::parseForStatement):

  • parser/Parser.h:

LayoutTests:

  • js/parser-syntax-check-expected.txt:
  • js/script-tests/parser-syntax-check.js:
12:58 AM Changeset in webkit [179681] by Lucas Forschler
  • 3 edits in branches/safari-600.1.4.15-branch/LayoutTests

Merged r178795. rdar://problem/19651478

12:55 AM Changeset in webkit [179680] by Lucas Forschler
  • 11 edits
    1 copy in branches/safari-600.1.4.15-branch

Merged r178768. rdar://problem/19651478

12:19 AM Changeset in webkit [179679] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r179329.

Feb 4, 2015:

11:49 PM Changeset in webkit [179678] by Lucas Forschler
  • 6 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r178661. rdar://problem/19718944

11:04 PM Changeset in webkit [179677] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r178363. rdar://problem/19718916

10:42 PM Changeset in webkit [179676] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r178311. rdar://problem/19718965

10:18 PM Changeset in webkit [179675] by Lucas Forschler
  • 4 edits
    4 copies in branches/safari-600.1.4.15-branch

Merged r177165. rdar://problem/19718875

9:41 PM Changeset in webkit [179674] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r177089. rdar://problem/19718905

9:20 PM Changeset in webkit [179673] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Reactive (some) Media tests. Test results gardening.

  • platform/win/TestExpectations:
8:59 PM Changeset in webkit [179672] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

8:57 PM Changeset in webkit [179671] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.17

New tag.

8:53 PM Changeset in webkit [179670] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

filter-build-webkit: reduce more unfiltered output
https://bugs.webkit.org/show_bug.cgi?id=141282

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-04
Reviewed by Daniel Bates.

  • Scripts/filter-build-webkit:

Report CompileDTraceScript and Preprocess lines as successful.

8:35 PM Changeset in webkit [179669] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] Unreviewed project file corrections.

Correct some parsing errors caused by recent manual editing of
the project files.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
8:28 PM Changeset in webkit [179668] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS] Selection callout does not follow selection when double-tap scrolling
https://bugs.webkit.org/show_bug.cgi?id=141214

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-04
Reviewed by Benjamin Poulain.

Implement the delegate that gets called after UIScrollView
setContentOffset animations. When scrolling to a rect, do the normal
willScroll, didScroll actions to update the selection assistant.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _scrollToRect:origin:minimumScrollDistance:]):
(-[WKWebView scrollViewDidEndScrollingAnimation:]):

8:07 PM Changeset in webkit [179667] by Brent Fulgham
  • 1 edit
    3 adds in trunk/LayoutTests/platform/win

Win Gardening (Activate Media tests)

7:52 PM Changeset in webkit [179666] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix a build break on EFL port since r179648.

  • heap/MachineStackMarker.cpp: EFL port doesn't use previousThread variable.

(JSC::MachineThreads::tryCopyOtherThreadStacks):

7:40 PM Changeset in webkit [179665] by matthew_hanson@apple.com
  • 14 edits in branches/safari-600.5-branch

Merge r179133. rdar://problem/19526158

7:40 PM Changeset in webkit [179664] by matthew_hanson@apple.com
  • 8 edits
    2 adds in branches/safari-600.5-branch

Merge r179071. rdar://problem/19451292

7:40 PM Changeset in webkit [179663] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r179070. rdar://problem/19451292

7:40 PM Changeset in webkit [179662] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch

Merge r178875. rdar://problem/19617631

7:36 PM Changeset in webkit [179661] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

New perf dashboard doesn't preserve the number of days when clicking on a dashboard chart
https://bugs.webkit.org/show_bug.cgi?id=141280

Reviewed by Chris Dumez.

Fixed the bug by passing in "since" as a query parameter to the charts page.

Also fixed the styling issue that manifests when a JSON fetching fails on "Dashboard" page.

  • public/v2/app.css: Fixed CSS rules for error messages shown in the place of charts.
  • public/v2/app.js:

(App.IndexController): Changed the default number of days from one month to one week.
(App.IndexController._sharedDomainChanged): Set "since" property on the controller.

  • public/v2/index.html: Pass in "since" property on the controller as a query parameter.
7:33 PM Changeset in webkit [179660] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

New perf dashboard erroneously clears zoom when poping history items
https://bugs.webkit.org/show_bug.cgi?id=141278

Reviewed by Chris Dumez.

The bug was caused by _sharedZoomChanged updating overviewSelection without updating mainPlotDomain.

Updating overviewSelection resulted in _overviewSelectionChanged, which observes changes to overviewSelection,
to schedule a call to propagateZoom, which in turn overrode "sharedZoom" we just parsed from the query string.

  • public/v2/app.js:

(App.PaneController._overviewSelectionChanged): Don't schedule propagateZoom if the selected domain is already
shown in the main plot.
(App.PaneController._sharedZoomChanged): Set both overviewSelection and mainPlotDomain to avoid overriding
"sharedZoom" via propagateZoom inside _overviewSelectionChanged.

7:11 PM Changeset in webkit [179659] by Joseph Pecoraro
  • 9 edits in trunk

Web Inspector: ES6: Improved Console Support for Symbol Objects
https://bugs.webkit.org/show_bug.cgi?id=141173

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Runtime.json:

New type, "symbol".

  • inspector/InjectedScriptSource.js:

Handle Symbol objects in a few places. They don't have properties
and they cannot be implicitly converted to strings.

Source/WebInspectorUI:

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject):
(WebInspector.RemoteObject.prototype._isSymbol):
Symbols have an objectId because it is a non-primitive that cannot be passed
by value, however it cannot have properties, so handle some cases.

  • UserInterface/Views/LogContentView.css:

(.console-formatted-symbol):
Give Symbol's their own color.

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Update the RemoteObject test to include Symbols.

6:36 PM Changeset in webkit [179658] by matthew_hanson@apple.com
  • 3 edits
    4 adds in branches/safari-600.5-branch

Merge r178490. rdar://problem/19687156

6:36 PM Changeset in webkit [179657] by matthew_hanson@apple.com
  • 6 edits
    2 adds in branches/safari-600.5-branch

Merge r179571. rdar://problem/19673708

6:36 PM Changeset in webkit [179656] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r176750. rdar://problem/19617755

6:36 PM Changeset in webkit [179655] by matthew_hanson@apple.com
  • 4 edits
    3 adds in branches/safari-600.5-branch

Merge r175236. rdar://problem/19451378

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

Undo gardening: Restoring the expected ERROR message since that is not the cause of the bot unhappiness.

Not reviewed.

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::tryCopyOtherThreadStacks):

4:57 PM Changeset in webkit [179653] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] add method to toggle playback when in the background
https://bugs.webkit.org/show_bug.cgi?id=141270

Reviewed by Dean Jackson.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController togglePlaybackEvenWhenInBackground:]): Added.

4:50 PM Changeset in webkit [179652] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Gardening: Changed expected ERROR message to WARNING to make test bots happy.

Rubber stamped by Simon Fraser.

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::tryCopyOtherThreadStacks):

4:38 PM Changeset in webkit [179651] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.4.6

New Tag.

4:37 PM Changeset in webkit [179650] by dburkart@apple.com
  • 9 edits in trunk/Tools

Botwatcher's Dashboard is cramped
https://bugs.webkit.org/show_bug.cgi?id=140273

Reviewed by Alexey Proskuryakov.

Add a heading key which will allow for arbitrary headings in builder queues.

4:36 PM Changeset in webkit [179649] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-600.4.6

Remove tag.

4:32 PM Changeset in webkit [179648] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

r179576 introduce a deadlock potential during GC thread suspension.
<https://webkit.org/b/141268>

Reviewed by Michael Saboff.

http://trac.webkit.org/r179576 introduced a potential for deadlocking.
In the GC thread suspension loop, we currently delete
MachineThreads::Thread that we detect to be invalid. This is unsafe
because we may have already suspended some threads, and one of those
suspended threads may still be holding the C heap lock which we need
for deleting the invalid thread.

The fix is to put the invalid threads in a separate toBeDeleted list,
and delete them only after GC has resumed all threads.

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::removeCurrentThread):

  • Undo refactoring removeThreadWithLockAlreadyAcquired() out of removeCurrentThread() since it is no longer needed.

(JSC::MachineThreads::tryCopyOtherThreadStacks):

  • Put invalid Threads on a threadsToBeDeleted list, and delete those Threads only after all threads have been resumed.

(JSC::MachineThreads::removeThreadWithLockAlreadyAcquired): Deleted.

  • heap/MachineStackMarker.h:
4:32 PM Changeset in webkit [179647] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

New perf dashboard shows null as the aggregator name if no aggregation is done
https://bugs.webkit.org/show_bug.cgi?id=141256

Reviewed by Chris Dumez.

Don't show the aggregator name if there isn't one.

  • public/v2/manifest.js:

(App.Metric.label):

4:21 PM Changeset in webkit [179646] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.4.6

New Tag.

4:00 PM Changeset in webkit [179645] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r176750. rdar://problem/19718932

3:38 PM Changeset in webkit [179644] by ap@apple.com
  • 2 edits in trunk/Source/WTF

Optimized equal() functions in StringImpl.h are not ASan compatible
https://bugs.webkit.org/show_bug.cgi?id=141258

Reviewed by Daniel Bates.

  • wtf/text/StringImpl.h: (WTF::equal): Add custom implementations for ASan.
3:29 PM Changeset in webkit [179643] by Lucas Forschler
  • 3 edits in branches/safari-600.1.4.15-branch

Merged r175641. rdar://problem/19718883

3:28 PM Changeset in webkit [179642] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/misc/detached-frame-console.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141267

3:27 PM Changeset in webkit [179641] by jer.noble@apple.com
  • 20 edits
    3 copies
    10 adds in trunk

[Mac][EME] Support ClearKey encryption with AES128-encrypted HLS
https://bugs.webkit.org/show_bug.cgi?id=140825

Reviewed by Eric Carlson.

Source/WebCore:

Test: http/tests/media/clearkey/clear-key-hls-aes128.html

Add support for ClearKey encryption when used with an AES-128 encrypted HLS stream.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::installedCDMFactories): Add the CDMPrivateClearKey factory.

  • Modules/encryptedmedia/CDMPrivateClearKey.cpp:

(WebCore::CDMPrivateClearKey::supportsKeySystem): Support the "org.w3c.clearkey" key system.
(WebCore::CDMPrivateClearKey::supportsKeySystemAndMimeType): Ditto.
(WebCore::CDMPrivateClearKey::supportsMIMEType): Ditto.
(WebCore::CDMPrivateClearKey::createSession): Create a CDMSessionClearKey.

  • Modules/encryptedmedia/CDMPrivateClearKey.h:

(WebCore::CDMPrivateClearKey::create): Simple factory.
(WebCore::CDMPrivateClearKey::~CDMPrivateClearKey): Virtual destructor.
(WebCore::CDMPrivateClearKey::CDMPrivateClearKey): Simple destructor.

  • Modules/encryptedmedia/CDMSessionClearKey.cpp: Added.

(WebCore::clearKeyVM): Static method returning the VM to be used by JSON parsing.
(WebCore::CDMSessionClearKey::CDMSessionClearKey): Simple constructor.
(WebCore::CDMSessionClearKey::~CDMSessionClearKey): Simple destructor.
(WebCore::CDMSessionClearKey::generateKeyRequest): Store the initData, ensure that it consists of a UTF8-encoded key

URI, and return same.

(WebCore::CDMSessionClearKey::releaseKeys): Purged all cached keys.
(WebCore::CDMSessionClearKey::update): Parse raw JSON-encoded JWK keys, rejecting non-AES, non-oct keys.
(WebCore::CDMSessionClearKey::cachedKeyForKeyID): Return cached keys.

  • Modules/encryptedmedia/CDMSessionClearKey.h:

Add support for the "org.w3c.clearkey" CDM to MediaPlayerPrivateAVFoundationObjC, and do so in a platform-agnostic
way by simply asking for raw key data from MediaPlayerClient when notified that a key has been added.

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

(WebCore::keySystemIsSupported):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
(WebCore::fulfillRequestWithKeyData): Added utility method.
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::MediaPlayerPrivateAVFoundationObjC::keyAdded):

Pipe a keyAdded() notification down to MediaPlayer and a cachedKeyForKeyId() request up to CDMSessionClearKey:

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::cachedKeyForKeyId):
(WebCore::MediaKeySession::addKeyTimerFired):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::keyAdded):
(WebCore::MediaKeys::cachedKeyForKeyId):

  • Modules/encryptedmedia/MediaKeys.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::keyAdded):

  • html/HTMLMediaElement.h:
  • platform/graphics/CDMSession.h:

(WebCore::CDMSession::cachedKeyForKeyID):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::keyAdded):
(WebCore::MediaPlayer::cachedKeyForKeyId):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerCachedKeyForKeyId):

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::keyAdded):

Add new files to project:

  • WebCore.xcodeproj/project.pbxproj:
  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

LayoutTests:

  • http/tests/media/clearkey/clear-key-hls-aes128-expected.txt: Added.
  • http/tests/media/clearkey/clear-key-hls-aes128.html: Added.
  • http/tests/media/clearkey/support.js: Added.

(stringToUInt8Array):
(uInt8ArrayToString):
(base64EncodeUint8Array):

  • http/tests/media/resources/hls/clearkey/crypt0.key: Added.
  • http/tests/media/resources/hls/clearkey/iframe_index.m3u8: Added.
  • http/tests/media/resources/hls/clearkey/main0.ts: Added.
  • http/tests/media/resources/hls/clearkey/prog_index.m3u8: Added.
  • media/video-test.js:

(waitForEventOnceOn):

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

Web Inspector: Clean up Object Property Descriptor Collection
https://bugs.webkit.org/show_bug.cgi?id=141222

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

  • inspector/InjectedScriptSource.js:

Use a list of options when determining which properties to collect
instead of a few booleans with overlapping responsibilities.

2:53 PM Changeset in webkit [179639] by Simon Fraser
  • 3 edits in trunk/Tools

WKTR should not use -mainScreen to pick a color profile
https://bugs.webkit.org/show_bug.cgi?id=141265

Reviewed by Tim Horton.

-[NSScreen mainScreen] depends on the active window, so use the first screen
(which is the one we put the window on anyway).

Do some cleanup in DRT that makes the code look similar.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(createWebViewAndOffscreenWindow):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView):

2:42 PM Changeset in webkit [179638] by commit-queue@webkit.org
  • 4 edits
    4 deletes in trunk

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

Off-by-one error causing flaky behavior in webaudio
/audiobuffersource-negative-playbackrate.html (Requested by
jernoble_ on #webkit).

Reverted changeset:

"[WebAudio] AudioBufferSourceNodes should accurately play
backwards if given a negative playbackRate."
https://bugs.webkit.org/show_bug.cgi?id=140955
http://trac.webkit.org/changeset/179618

2:38 PM Changeset in webkit [179637] by Simon Fraser
  • 2 edits in trunk/Tools

LayoutTestHelper should set the color profile of all displays
https://bugs.webkit.org/show_bug.cgi?id=141260

Reviewed by Tim Horton.

WebKitTestRunner can (erroneously) grab the colorspace of the "main" screen.
which is the screen with the active window. Make things more robust by changing
the colorspace of all displays, not just the main screen, when running layout tests.

  • DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig: Enable ARC
  • DumpRenderTree/mac/LayoutTestHelper.m:

(originalColorProfileURLs):
(colorProfileURLForDisplay):
(displayUUIDStrings):
(saveDisplayColorProfiles):
(setDisplayColorProfile):
(restoreDisplayColorProfiles):
(installLayoutTestColorProfile):
(restoreUserColorProfile):
(main):
Store display color profiles by map of UUID strings to URLs (NSUUID and CFUUID are not
toll-free bridged, sadly). Use the map to restore all profiles on exit.
Convert to use more Obj-C types.

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

Web Inspector: Insertion bar (caret) is hidden behind the placeholder text in the style editor
https://bugs.webkit.org/show_bug.cgi?id=139659

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-02-04
Reviewed by Timothy Hatcher.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
Use non-monospace font to fit the placeholder text on a single line and
match the color if the native placeholder.

2:27 PM Changeset in webkit [179635] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Web Inspector: console.table with columnName filter for non-existent property should still show column
https://bugs.webkit.org/show_bug.cgi?id=141066

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

Source/JavaScriptCore:

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::addToFrontend):
When a user provides a second argument, e.g. console.table(..., columnNames),
then pass that second argument to the frontend.

  • inspector/InjectedScriptSource.js:

Add a FIXME about the old, unused path now.

Source/WebInspectorUI:

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews):
(WebInspector.ConsoleMessageImpl.prototype._userProvidedColumnNames):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
If a second argument was provided to console.table, try to extract a list
of string names to use for the object properties. Output a table with
the provided column names, in the specified order. Also, use this
opportunity to mark missing properties with an em dash.

2:25 PM Changeset in webkit [179634] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r174085. rdar://problem/19718895

2:05 PM Changeset in webkit [179633] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r179072. rdar://problem/19670526

2:05 PM Changeset in webkit [179632] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merge r179066. rdar://problem/19670515

2:04 PM Changeset in webkit [179631] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r179065. rdar://problem/19670601

2:04 PM Changeset in webkit [179630] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

[iOS WK2] Layers that are created and destroyed in the same transaction shouldn't be encoded
https://bugs.webkit.org/show_bug.cgi?id=141228

Reviewed by Tim Horton.

With UI-side compositing, it was possible for layers to get created and
destroyed in the same transaction (e.g. two layouts before a single layer
tree commit). When that happened we would encode layer creation properties
but not encode layer properties, since the layer would be unreachable.

Fix by removing deleted layers from the created layers list, which is
converted into a map for easy searching.

  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::layerWasCreated):
(WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
(WebKit::RemoteLayerTreeContext::buildTransaction):

2:04 PM Changeset in webkit [179629] by dbates@webkit.org
  • 2 edits in trunk/Tools

test-webkitpy fails on Mac without iphoneos SDK
https://bugs.webkit.org/show_bug.cgi?id=141255
<rdar://problem/19619691>

I inadvertently committed the wrong exception message. Fix up the exception message
to instruct a person to install the iOS SDK when it cannot be found.

  • Scripts/webkitpy/port/ios.py:

(IOSPort.determine_full_port_name):

2:02 PM Changeset in webkit [179628] by youenn.fablet@crf.canon.fr
  • 14 edits in trunk

W3C test importer should sort the list of files when generating the w3c-import.log
https://bugs.webkit.org/show_bug.cgi?id=141156

Reviewed by Bem Jones-Bey.

LayoutTests/imported/w3c:

Updated web-platform-tests logs according importer file sorting.

  • web-platform-tests/common/w3c-import.log:
  • web-platform-tests/fonts/w3c-import.log:
  • web-platform-tests/images/w3c-import.log:
  • web-platform-tests/tools/runner/css/w3c-import.log:
  • web-platform-tests/tools/runner/fonts/w3c-import.log:
  • web-platform-tests/tools/runner/w3c-import.log:
  • web-platform-tests/tools/scripts/w3c-import.log:
  • web-platform-tests/tools/sslutils/w3c-import.log:
  • web-platform-tests/tools/w3c-import.log:
  • web-platform-tests/tools/webdriver/webdriver/w3c-import.log:

Tools:

Sort explicitly the list of imported files written in the w3c-import.log.
Removed logging of the import date.

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.write_import_log):

1:39 PM Changeset in webkit [179627] by hyatt@apple.com
  • 10 edits
    2 adds in trunk

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.

Tables don't repaginate properly when the pagination height changes or the pagination offset changes.
https://bugs.webkit.org/show_bug.cgi?id=141207
<rdar://problem/18387659>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/table-dynamic-movement.html

Change markForPaginationRelayoutIfNeeded to be called always and to check needsLayout inside it.

Make RenderTable override markForPaginationRelayoutIfNeeded and also dirty the sections if the table
ended up getting marked for relayout.

Make sure rows do the right thing as well.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::markForPaginationRelayoutIfNeeded):

  • rendering/RenderTable.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • fast/multicol/table-dynamic-movement-expected.html: Added.
  • fast/multicol/table-dynamic-movement.html: Added.
12:55 PM Changeset in webkit [179626] by commit-queue@webkit.org
  • 12 edits
    1 move
    14 adds in trunk

When using SVG as an image, we should load datauri images when these images are not in the image cache.
https://bugs.webkit.org/show_bug.cgi?id=99677.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-02-04
Reviewed by Darin Adler.
Source/WebCore:

Data URI sub-resources are not loaded because the networking context of FrameLoader
attached to the SubResourceLoader is set to null. This is done intentionally to
disallow any resource from loading external sub-resources. For example if an <img>
tag has its 'src' attribute points to an svg file, this svg is not allowed to load
an external image through the 'xlink' attribute of an <image> element. This restriction
is not valid if the value of the 'xlink' attribute is a data URI. In this case the image
should be loaded into memory since there is no network traffic involved. All we need
to do is to decode the data part of the URI.

The fix is to pass the root FrameLoader, which has a valid NetworkingContext, through
the FrameLoaderClient, to the ResourceHandle::create() which uses the NetworkingContext
to decode the data and fire the load events of the data URI resources.

Tests: svg/as-image/svg-image-with-data-uri-background.html

svg/as-image/svg-image-with-data-uri-from-canvas.html
svg/as-image/svg-image-with-data-uri-images-disabled.html
svg/as-image/svg-image-with-data-uri-reloading.html
svg/as-image/svg-image-with-data-uri-use-data-uri.svg
svg/as-image/svg-image-with-svg-data-uri.html

  • accessibility/AccessibilityRenderObject.cpp:

Remove unreferenced header file.

  • loader/FrameLoaderClient.h:

Define the null virtual function dataProtocolLoader() which should return the FrameLoader
for loading data URI resources.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::dataProtocolFrameLoader):

  • loader/ResourceLoader.h:

Add ResourceLoader::dataProtocolFrameLoader() which returns the root FrameLoader. The
root FrameLoader is used to get a valid NetworkingContext which can be passed to
ResourceHandle::create() when url().protocolIsData().

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::load):
(WebCore::CachedImage::finishLoading):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::shouldPerformImageLoad):
(WebCore::CachedResourceLoader::shouldDeferImageLoad):

  • loader/cache/CachedResourceLoader.h:

Allow loading data URI sub-resources as long as loading images is not disabled. Also we
need to call setDataProtocolLoader() before calling setData() for the isSVGImage case,
setData() will create a page by calling Page::createPageFromBuffer() via SVGImage::dataChanged(),
and we need to pass the correct FrameLoaderClient to the created FrameLoader of the main

frame of this page.

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::SVGImage):
(WebCore::SVGImage::dataChanged):

  • svg/graphics/SVGImage.h:

Create a new FrameLoaderClient of type SVGFrameLoaderClient and set it in pageConfiguration
which is used when creating the page from the SVG data URI.

  • WebCore.xcodeproj/project.pbxproj:
  • svg/graphics/SVGImageChromeClient.h: Removed.
  • svg/graphics/SVGImageClients.h: Added.

Add a new class SVGImageChromeClient which overrides the function dataProtocolLoader().
Rename the header file SVGImageChromeClient.h to be SVGImageClients.h since it now
includes the classes SVGImageChromeClient and SVGFrameLoaderClient.

LayoutTests:

  • svg/as-image/resources/image-with-nested-data-uri-images.svg: Added.

This SVG has a tree of depth = 5 of nested data URI images. All the data URI images are
SVG images expect the innermost one which is a png data URI image.

  • svg/as-image/resources/image-with-nested-rects.svg: Added.

This SVG produces the same drawing as image-with-nested-data-uri-images.svg does but
it uses <rect> SVG elements instead.

  • svg/as-image/svg-image-with-data-uri-background-expected.html: Added.
  • svg/as-image/svg-image-with-data-uri-background.html: Added.

Test the data URI SVG as a css background image.

  • svg/as-image/svg-image-with-data-uri-from-canvas-expected.html: Added.
  • svg/as-image/svg-image-with-data-uri-from-canvas.html: Added.

Test the data URI image when it is the result of drawing an SVG image on a canvas object.

  • svg/as-image/svg-image-with-data-uri-images-disabled-expected.html: Added.
  • svg/as-image/svg-image-with-data-uri-images-disabled.html: Added.

Ensure the data uri images are not loaded if imagesEnabled is turned off.

  • svg/as-image/svg-image-with-data-uri-reloading-expected.html: Added.
  • svg/as-image/svg-image-with-data-uri-reloading.html: Added.

Test the data URI SVG when reloading the page.

  • svg/as-image/svg-image-with-data-uri-use-data-uri-expected.svg: Added.
  • svg/as-image/svg-image-with-data-uri-use-data-uri.svg: Added.

Test the data URI image when it is referenced from an SVG <use> tag.

  • svg/as-image/svg-image-with-svg-data-uri-expected.html: Added.
  • svg/as-image/svg-image-with-svg-data-uri.html: Added.

Test the data URI image when it is referenced from an HTML <img> tag.

12:51 PM Changeset in webkit [179625] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.
Mark http/tests/media/video-preload.html flaky.

  • platform/mac/TestExpectations:
12:41 PM Changeset in webkit [179624] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix a misplaced include in CaptionUserPreferencesMediaAF
https://bugs.webkit.org/show_bug.cgi?id=141239

Reviewed by Jer Noble.

  • page/CaptionUserPreferencesMediaAF.cpp:

CoreText is a system header, and there's already a good spot for it!

12:36 PM Changeset in webkit [179623] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix after r179611.

  • public/v2/interactive-chart.js:
12:26 PM Changeset in webkit [179622] by dbates@webkit.org
  • 4 edits in trunk/Tools

test-webkitpy fails on Mac without iphoneos SDK
https://bugs.webkit.org/show_bug.cgi?id=141255
<rdar://problem/19619691>

Reviewed by David Kilzer and Alexey Proskuryakov.

Fixes an issue where test-webkitpy fails on a Mac without the iOS SDK. We should
should not require the iphoneos SDK to be installed to run the webkitpy tests.

  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo.xcode_sdk_version): Added; return the version of the specified SDK, if
installed. We take advantage of the behavior that xcrun --show-sdk-version only writes
to standard output if the SDK is installed to return the empty string if the SDK is
not installed.

  • Scripts/webkitpy/common/system/platforminfo_mock.py:

(MockPlatformInfo.xcode_sdk_version): Added.

  • Scripts/webkitpy/port/ios.py:

(IOSPort.determine_full_port_name): Modified to call PlatformInfo.xcode_sdk_version()
to get the version of the iphoneos SDK, if installed.

12:03 PM Changeset in webkit [179621] by saambarati1@gmail.com
  • 4 edits in trunk/Source/JavaScriptCore

TypeSet can use 1 byte instead of 4 bytes for its m_seenTypes member variable
https://bugs.webkit.org/show_bug.cgi?id=141204

Reviewed by Darin Adler.

There is no need to use 32 bits to store a TypeSet::RuntimeType set
bit-vector when the largest value for a single TypeSet::RuntimeType
is 0x80. 8 bits is enough to represent the set of seen types.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • runtime/TypeSet.cpp:

(JSC::TypeSet::doesTypeConformTo):

  • runtime/TypeSet.h:

(JSC::TypeSet::seenTypes):

11:41 AM Changeset in webkit [179620] by ddkilzer@apple.com
  • 3 edits in branches/safari-600.5-branch

Merged r175641. rdar://problem/19617601

11:41 AM Changeset in webkit [179619] by ddkilzer@apple.com
  • 4 edits
    2 adds in branches/safari-600.5-branch

Merged r174085. rdar://problem/19617658

11:37 AM Changeset in webkit [179618] by jer.noble@apple.com
  • 4 edits
    4 adds in trunk

[WebAudio] AudioBufferSourceNodes should accurately play backwards if given a negative playbackRate.
https://bugs.webkit.org/show_bug.cgi?id=140955

Reviewed by Eric Carlson.

Source/WebCore:

Tests: webaudio/audiobuffersource-negative-playbackrate-interpolated.html

webaudio/audiobuffersource-negative-playbackrate.html

Add support for playing an AudioBufferSourceNode at a negative playbackRate. Change the meaning of
start() to set the initial playback position at the end of the play range if the rate of playback
is negtive.

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::AudioBufferSourceNode): Allow the playbackRate AudioParam to range from [-32, 32].
(WebCore::AudioBufferSourceNode::renderFromBuffer): Change variable names from "start" and "end" to "min" and "max"

for clarity. Add a non-interpolated and interpolated render step for negative playback.

(WebCore::AudioBufferSourceNode::start): Drive-by fix: default value of grainDuration is not 0.02.
(WebCore::AudioBufferSourceNode::startPlaying): Start playing at the end of the buffer for negative playback.
(WebCore::AudioBufferSourceNode::totalPitchRate): Allow the pitch to be negative.

LayoutTests:

  • webaudio/audiobuffersource-negative-playbackrate-expected.wav: Added.
  • webaudio/audiobuffersource-negative-playbackrate-interpolated-expected.wav: Added.
  • webaudio/audiobuffersource-negative-playbackrate-interpolated.html: Added.
  • webaudio/audiobuffersource-negative-playbackrate.html: Added.

Get rid of extra HRTF padding as it's now unnecessary.

  • webaudio/resources/note-grain-on-testing.js:

(createSignalBuffer):
(verifyStartAndEndFrames):

11:03 AM Changeset in webkit [179617] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r178969. rdar://problem/19701455

10:38 AM Changeset in webkit [179616] by ap@apple.com
  • 2 edits in trunk/Tools

run-webkit-tests doesn't always capture ASan violation reports
https://bugs.webkit.org/show_bug.cgi?id=141231

Reviewed by Darin Adler.

  • Scripts/webkitpy/port/driver.py:

(Driver.run_test): Don't look for CrashReporter crash logs if a log was provided
by the driver already (as is the case with ASan violations, which are printed to
stderr).
(Driver._check_for_address_sanitizer_violation): Check if the line is a start of ASan
report.
(Driver._read_block): Give ASan enough time to symbolicate a crash, and put it into
a separate variable for reporting.

10:30 AM Changeset in webkit [179615] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r172257. rdar://problem/19651179

10:20 AM Changeset in webkit [179614] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

10:16 AM Changeset in webkit [179613] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

Perf dashboard doesn’t show the right unit for Safari UI tests
https://bugs.webkit.org/show_bug.cgi?id=141238

Reviewed by Darin Adler.

Safari UI tests use custom metrics that end with "Time". This patch teaches the perf dashboard how to
get the unit for a given metric based on the suffix of the metric name instead of hard-coding the mapping
between metrics and their units.

  • public/js/helper-classes.js:

(PerfTestRuns): Use the suffix of the metric name to compute the unit.

  • public/v2/manifest.js:

(App.Manifest.fetchRunsWithPlatformAndMetric): Ditto. Also set "useSI" property iff for "bytes".

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._constructGraphIfPossible): Respect useSI. Use toPrecision(3) otherwise.
(App.InteractiveChartComponent._relayoutDataAndAxes): Place the unit vertically on the left of ticks.

10:16 AM Changeset in webkit [179612] by eric.carlson@apple.com
  • 7 edits in trunk

video.attribute should not return true just because of fullscreen
https://bugs.webkit.org/show_bug.cgi?id=141219

Reviewed by Dean Jackson.

Source/WebCore:

No new tests, updated media/video-fullscreeen-only-controls.html

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.shouldHaveControls):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.isFullScreen):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::controls): Don't consider fullscreen status.
(WebCore::HTMLMediaElement::configureMediaControls): Create controls if a video element

isn't allowed to play inline, or if it is in fullscreen.

LayoutTests:

  • media/video-fullscreeen-only-controls-expected.txt: Update.
  • media/video-fullscreeen-only-controls.html: Ditto.
10:08 AM Changeset in webkit [179611] by rniwa@webkit.org
  • 5 edits in trunk/Websites/perf.webkit.org

Interactive chart component provides two duplicate API for highlighting points
https://bugs.webkit.org/show_bug.cgi?id=141234

Reviewed by Chris Dumez.

Prior to this patch, the interactive chart component supported highlightedItems for finding commits
on the main charts page and markedPoints to show the two end points in the analysis task page.

This patch merges markedPoints into highlightedItems.

  • public/v2/app.js:

(App.AnalysisTaskController._fetchedRuns): Use highlightedItems.

  • public/v2/chart-pane.css:
  • public/v2/index.html: Ditto.
  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._constructGraphIfPossible): Make this._highlights an array instead of
array of arrays. Also call _highlightedItemsChanged at the end to fix the bug that we never highlight
items if highlightedItems was set before the initial layout.
(App.InteractiveChartComponent._relayoutDataAndAxes):
(App.InteractiveChartComponent._updateHighlightPositions): Now that highlights are circles instead of
vertical lines, just set cx and cy as done for other "dots".
(App.InteractiveChartComponent._highlightedItemsChanged): Exit early only if _clippedContainer wasn't
already set; i.e. _constructGraphIfPossible hasn't been called. Also updated the logic to accommodate
the fact this._highlights is an array of elements instead of an array of arrays of elements. Finally,
set the radius of highlight circles here.

10:07 AM Changeset in webkit [179610] by rniwa@webkit.org
  • 3 edits in trunk/Tools

[webkitpy] Add platform specific Skipped file mechanism for performance tests
https://bugs.webkit.org/show_bug.cgi?id=141152

Reviewed by Csaba Osztrogonác.

Support a test-expectation-like syntax in performance tests' skipped files.
e.g. [Mac] Parsed/BadTest.html will skip Parsed/BadTest.html on Mac ports.

  • Scripts/webkitpy/port/base.py:

(Port.skipped_perf_tests): Implemented the syntax support by a regular expression.

  • Scripts/webkitpy/port/base_unittest.py:

(PortTest.test_skipped_perf_tests): Test the new syntax.

10:00 AM Changeset in webkit [179609] by mark.lam@apple.com
  • 8 edits in trunk/Source

Remove concept of makeUsableFromMultipleThreads().
<https://webkit.org/b/141221>

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Currently, we rely on VM::makeUsableFromMultipleThreads() being called before we
start acquiring the JSLock and entering the VM from different threads.
Acquisition of the JSLock will register the acquiring thread with the VM's thread
registry if not already registered. However, it will only do this if the VM's
thread specific key has been initialized by makeUsableFromMultipleThreads().

This is fragile, and also does not read intuitively because one would expect to
acquire the JSLock before calling any methods on the VM. This is exactly what
JSGlobalContextCreateInGroup() did (i.e. acquire the lock before calling
makeUsableFromMultipleThreads()), but is wrong. The result is that the invoking
thread will not have been registered with the VM during that first entry into
the VM.

The fix is to make it so that we initialize the VM's thread specific key on
construction of the VM's MachineThreads registry instead of relying on
makeUsableFromMultipleThreads() being called. With this, we can eliminate
makeUsableFromMultipleThreads() altogether.

Performance results are neutral in aggregate.

  • API/JSContextRef.cpp:

(JSGlobalContextCreateInGroup):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::gatherConservativeRoots):
(JSC::MachineThreads::makeUsableFromMultipleThreads): Deleted.

  • heap/MachineStackMarker.h:
  • runtime/VM.cpp:

(JSC::VM::sharedInstance):

  • runtime/VM.h:

(JSC::VM::makeUsableFromMultipleThreads): Deleted.

Source/WebCore:

No new tests.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

10:00 AM Changeset in webkit [179608] by ap@apple.com
  • 2 edits in trunk/Tools

When tests fail on leaks bot so much that there are no leaks detected, dashboard erroneously shows green
https://bugs.webkit.org/show_bug.cgi?id=141236

Reviewed by Sam Weinig.

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

(BuildbotLeaksQueueView.prototype.update.appendLeaksQueueStatus):

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

inspector/css/selector-dynamic-specificity.html is very slow on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=141252

  • platform/mac-wk2/TestExpectations: Added an expectation.
9:49 AM Changeset in webkit [179606] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/LayoutTests

Unreviewew. Marked web-platform-tests as Skip until wpt server can be abruptly shutdown whenever needed.

9:49 AM Changeset in webkit [179605] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Build with seccomp filters broken since r179409
https://bugs.webkit.org/show_bug.cgi?id=141206

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-02-04
Reviewed by Darin Adler.

Fix build by renaming SeccompBrokerClient::shared to SeccompBrokerClient::singleton.

  • Shared/linux/SeccompFilters/SeccompBroker.cpp:

(WebKit::SeccompBrokerClient::singleton):
(WebKit::SeccompBroker::initialize):
(WebKit::SeccompBrokerClient::shared):
(WebKit::SeccompBroker::runLoop):

9:13 AM Changeset in webkit [179604] by Simon Fraser
  • 32 edits in trunk/Source

[iOS WK2] Assert in ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren() on tab switching
https://bugs.webkit.org/show_bug.cgi?id=141223
rdar://problem/18458993

Reviewed by Tim Horton.
Source/WebCore:

It's possible to submit a RemoteLayerTree transaction that contains data
about a created layer, but doesn't have any properties for that layer. This
happens when the newly created layer isn't reached during the traversal that
gathers layer properties (i.e. it's not rooted). However, whether we create
a scrolling layer or not requires having properties; they are missing, so we
create a normal layer, but then the scrolling tree commit asserts that we
should have a scrolling layer.

Fix by making scrolling layers have a corresponding layer type, which is
stored in layer creation properties. This required exposing layer types
up through GraphicsLayer, but that allows for some nice cleanup:

  1. No need to have the hokey shouldUseTiledBacking() GraphicsLayerClient hack for creating the page tiled layer.
  2. The notion of "custom behaviors" can be removed from GraphicsLayer entirely.

Not testable because it requires tab switching.

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::GraphicsLayer):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::initialize):
(WebCore::GraphicsLayer::setCustomBehavior): Deleted.
(WebCore::GraphicsLayer::customBehavior): Deleted.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::shouldUseTiledBacking): Deleted.

  • platform/graphics/GraphicsLayerFactory.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayer::create):
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::initialize):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::updateCustomBehavior): Deleted.
(WebCore::GraphicsLayerCA::setCustomBehavior): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.h:

(WebCore::GraphicsLayerCA::moveAnimations):
(WebCore::GraphicsLayerCA::copyAnimations):

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::commonInit):
(PlatformCALayerMac::updateCustomBehavior): Deleted.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createGraphicsLayer):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateScrollingLayers):
(WebCore::RenderLayerBacking::shouldUseTiledBacking): Deleted.

  • rendering/RenderLayerBacking.h:

Source/WebKit2:

It's possible to submit a RemoteLayerTree transaction that contains data
about a created layer, but doesn't have any properties for that layer. This
happens when the newly created layer isn't reached during the traversal that
gathers layer properties (i.e. it's not rooted). However, whether we create
a scrolling layer or not requires having properties; they are missing, so we
create a normal layer, but then the scrolling tree commit asserts that we
should have a scrolling layer.

Fix by making scrolling layers have a corresponding layer type, which is
stored in layer creation properties. This required exposing layer types
up through GraphicsLayer, but that allows for some nice cleanup:

  1. No need to have the hokey shouldUseTiledBacking() GraphicsLayerClient hack for creating the page tiled layer.
  2. The notion of "custom behaviors" can be removed from GraphicsLayer entirely.
  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext):

  • Shared/mac/RemoteLayerTreeTransaction.h:
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::description):

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::customBehavior): Deleted.
(WebKit::PlatformCALayerRemote::updateCustomBehavior): Deleted.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::createGraphicsLayer):

9:03 AM Changeset in webkit [179603] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Manage failing API tests
https://bugs.webkit.org/show_bug.cgi?id=141250

Reviewed by Csaba Osztrogonác.

  • PlatformEfl.cmake: Skip to test test_ewk2_storage_manager.
  • UIProcess/API/efl/tests/test_ewk2_view.cpp: Disable 2 unit test functions.

(TEST_F):

8:36 AM Changeset in webkit [179602] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Media] Fullscreen button should always come last in inline controls (141245)
https://bugs.webkit.org/show_bug.cgi?id=141245
<rdar://problem/19714622>

Reviewed by Eric Carlson.

Make sure the optimizedFullscreen button is inserted before the
normal fullscreen button.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.configureInlineControls):

8:34 AM Changeset in webkit [179601] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION: AirPlay button not visible but present in inline toolbar
https://bugs.webkit.org/show_bug.cgi?id=141244
<rdar://problem/19328322>

Reviewed by Eric Carlson.

Replace the use of mask-image with a background-image (which matches
what the other buttons are doing).

  • Modules/mediacontrols/mediaControlsiOS.css:

(::-webkit-media-controls):
(video::-webkit-media-controls-wireless-playback-picker-button):
(audio::-webkit-media-controls-wireless-playback-picker-button):
(video::-webkit-media-controls-wireless-playback-picker-button.active):
(audio::-webkit-media-controls-wireless-playback-picker-button.active):

12:39 AM Changeset in webkit [179600] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/LayoutTests

Unreviewed. Marking webb-platform-tests as failed until wpt server can be proper
ly relaunched.

12:39 AM Changeset in webkit [179599] by Chris Dumez
  • 23 edits in trunk

Add removeFirst(value) / removeAll(value) methods to WTF::Vector
https://bugs.webkit.org/show_bug.cgi?id=141192

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Use new Vector::removeFirst(value) / removeAll(value) API to simplify the
code a bit.

  • inspector/InspectorValues.cpp:

(Inspector::InspectorObjectBase::remove):

Source/WebCore:

Use new Vector::removeFirst(value) / removeAll(value) API to simplify the
code a bit.

  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::unregisterClient):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::removeFormElement):
(WebCore::HTMLFormElement::removeImgElement):
(WebCore::removeFromVector): Deleted.

  • page/Chrome.cpp:

(WebCore::Chrome::unregisterPopupOpeningObserver):

  • page/PageOverlayController.cpp:

(WebCore::PageOverlayController::uninstallPageOverlay):

  • page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::removeFromParent):

  • platform/graphics/texmap/TextureMapperAnimation.cpp:

(WebCore::TextureMapperAnimations::remove):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::addSearchResult):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::removeCaption):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::subtreeChildWillBeRemoved):

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget):

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::unschedule):

Source/WebKit2:

Use new Vector::removeFirst(value) / removeAll(value) API to simplify the
code a bit.

  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:

(WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol):

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::removeObserver):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::~WebProcessPool):
(WebKit::WebProcessPool::disconnectProcess):

  • WebProcess/InjectedBundle/API/efl/ewk_extension.cpp:

(EwkExtension::remove):

Source/WTF:

Add removeFirst(value) / removeAll(value) convenience methods to
WTF::Vector to reduce complexity a bit at call sites.

I am planning to add overloads for these taking a lambda function for
matching in a follow-up patch as well. I have seen quite a few
Vector::remove(index) call sites that would benefit from it.

  • wtf/Vector.h:

(WTF::OverflowHandler>::removeFirst):
(WTF::OverflowHandler>::removeAll):

Tools:

Add API tests for Vector::removeFirst(value) and
Vector::removeAll(value).

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

Feb 3, 2015:

11:37 PM Changeset in webkit [179598] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] More test results gardening.

  • platform/win/TestExpectations:
11:01 PM Changeset in webkit [179597] by mjs@apple.com
  • 4 edits
    2 adds in trunk

Crash when printing snapshotted plugins
https://bugs.webkit.org/show_bug.cgi?id=141212

Reviewed by Simon Fraser.

Source/WebCore:

Test: plugins/snapshotting/print-snapshotted-plugin.html

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::childShouldCreateRenderer): New
method. If the current renderer is a snapshotted plugin, only
allow children to create renderers if they are part of the
snapshot shadow dom. Otherwise RenderEmbeddedObject invariants
will be violated. This DOM class can have many other renderers, but they
can just follow their own rules.
(WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay): Make this
const-correct, and don't create UA shadow DOM as a side effect if it doesn't
already exist.

  • html/HTMLPlugInImageElement.h:

LayoutTests:

This test would crash without the fix due to a bad cast to RenderBox. <object>
is not prepared to have rendered inline children when rendering a plugin.

  • plugins/snapshotting/print-snapshotted-plugin-expected.txt: Added.
  • plugins/snapshotting/print-snapshotted-plugin.html: Added.
10:51 PM Changeset in webkit [179596] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed attempt to fix GTK/EFL build after r179588.

Add new files to CMakeLists.txt.

  • CMakeLists.txt:
10:42 PM Changeset in webkit [179595] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed. Activate more tests.

  • platform/win/TestExpectations: Unskip the DOM4 constructor and cursor visibility

tests (since they work).

10:40 PM Changeset in webkit [179594] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[Win] Unreviewed build fix. Turn on feature flags for items
we currently ship/test on Mac.

  • win/tools/vsprops/FeatureDefines.props: Activate ENABLE_DOM4_EVENTS_CONSTRUCTOR

and CURSOR_VISIBILITY.

10:25 PM Changeset in webkit [179593] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Regression(r179584): Assertion hit in toResourceLoadPriority() on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=141230

Reviewed by Alexey Proskuryakov.

Handle -1 priority value again in toResourceLoadPriority() as it seems to
be returned by CFNetwork on some configurations.

No new tests, already covered by existing tests.

  • platform/network/cf/ResourceRequestCFNet.h:

(WebCore::toResourceLoadPriority):

10:16 PM Changeset in webkit [179592] by shiva.jm@samsung.com
  • 2 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/Platform/IPC module.
https://bugs.webkit.org/show_bug.cgi?id=141229

Reviewed by Chris Dumez.

Fix build warning by using UNUSED_PARAM macro.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendMessage):

9:40 PM Changeset in webkit [179591] by rniwa@webkit.org
  • 9 edits in trunk/Websites/perf.webkit.org

Don’t use repository names as id’s.
https://bugs.webkit.org/show_bug.cgi?id=141226

Reviewed by Chris Dumez.

Not using repository names as their id's reduces the need to fetch the entire repositories table.
Since names of repositories are available in manifest.json, we can resolve their names in the front end.

  • Websites/perf.webkit.org/public/api/runs.php:

(parse_revisions_array): No longer uses $repository_id_to_name.
(main): No longer populates $repository_id_to_name.

  • Websites/perf.webkit.org/public/api/triggerables.php:

(main): Don't resolve repository names.

  • Websites/perf.webkit.org/public/include/manifest.php:

(ManifestGenerator::repositories): Use repositories ids as keys in the result and include their names.
(ManifestGenerator::bug_trackers): Don't resolve repository names.

  • Websites/perf.webkit.org/public/js/helper-classes.js:

(TestBuild): Renamed repositoryName to repositoryId.
(TestBuild.revision): Ditto.
(TestBuild.formattedRevisions): Ditto. Continue to use the repository name in the formatted result
since this is the text shown to human.

  • Websites/perf.webkit.org/public/v2/app.js:

(App.pane.searchCommit): Renamed repositoryName to repositoryId.
(App.PaneController._updateDetails): Ditto.
(App.AnalysisTaskController.updateRoots): Ditto.

  • Websites/perf.webkit.org/public/v2/data.js:

(Measurement): Ditto.
(Measurement.prototype.commitTimeForRepository): Ditto.
(Measurement.prototype.formattedRevisions): Ditto.

  • Websites/perf.webkit.org/public/v2/index.html: Use the repository name and the repository id as

select element's label and value respectively.

9:06 PM Changeset in webkit [179590] by sun.shin@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Add LG Electronics to team.html
https://bugs.webkit.org/show_bug.cgi?id=141227

Reviewed by Andreas Kling.

  • team.html:
8:06 PM Changeset in webkit [179589] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Add WKPageNavigationClient as C SPI around API::NavigationClient, and adopt in WKTR
https://bugs.webkit.org/show_bug.cgi?id=141217

  • UIProcess/API/C/WKPageRenderingProgressEventsInternal.h:

Include, not import.

8:02 PM Changeset in webkit [179588] by timothy_horton@apple.com
  • 12 edits
    12 adds in trunk

Add WKPageNavigationClient as C SPI around API::NavigationClient, and adopt in WKTR
https://bugs.webkit.org/show_bug.cgi?id=141217

Reviewed by Sam Weinig.

  • Shared/API/c/WKBase.h:
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKFrameInfoRef.cpp: Added.

(WKFrameInfoGetTypeID):

  • UIProcess/API/C/WKFrameInfoRef.h: Added.
  • UIProcess/API/C/WKNavigationActionRef.cpp: Added.

(WKNavigationActionGetTypeID):

  • UIProcess/API/C/WKNavigationActionRef.h: Added.
  • UIProcess/API/C/WKNavigationRef.cpp: Added.

(WKNavigationGetTypeID):

  • UIProcess/API/C/WKNavigationRef.h: Added.
  • UIProcess/API/C/WKNavigationResponseRef.cpp: Added.

(WKNavigationResponseGetTypeID):
(WKNavigationResponseCanShowMIMEType):

  • UIProcess/API/C/WKNavigationResponseRef.h: Added.

Add tiny C wrappers around API::{FrameInfo, NavigationAction, Navigation, NavigationResponse}.

  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::decidePolicyForPluginLoad):
Add a default implementation of decidePolicyForPluginLoad.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageNavigationClient):

  • UIProcess/API/C/WKPage.h:

Add WKPageSetPageNavigationClient, which connects API::NavigationClient to
the new WKPageNavigationClient C SPI.

  • UIProcess/API/C/WKPageNavigationClient.h: Added.

Add WKPageNavigationClient, which one can use in place of WKPageLoaderClient
and WKPagePolicyClient and which has the same semantics as the Modern ObjC API
(including things like API::Navigation as WKNavigationRef, etc.)

  • UIProcess/API/C/WKPageLoaderClient.h:
  • UIProcess/API/C/WKPageRenderingProgressEvents.h: Added.
  • UIProcess/API/C/WKPageRenderingProgressEventsInternal.h: Added.

(pageRenderingProgressEvents):

  • UIProcess/API/C/WKPluginLoadPolicy.h: Added.

Pull some enums out into their own files (WKPageRenderingProgressEvents is
duplicated from the Modern ObjC API's _WKRenderingProgressEvents, WKPluginLoadPolicy
is pulled out of WKPageLoaderClient).

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::findPlugin):
Add an equivalent of pluginLoadPolicy to the NavigationClient.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebKitTestRunner/TestController.cpp:

(WTR::copyWebCryptoMasterKey):
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptions):
(WTR::TestController::didCommitNavigation):
(WTR::TestController::didFinishNavigation):
(WTR::TestController::canAuthenticateAgainstProtectionSpace):
(WTR::TestController::didReceiveAuthenticationChallenge):
(WTR::TestController::decidePolicyForPluginLoad):
(WTR::TestController::decidePolicyForNavigationAction):
(WTR::TestController::decidePolicyForNavigationResponse):
(WTR::TestController::didCommitLoadForFrame): Deleted.
(WTR::TestController::didFinishLoadForFrame): Deleted.

  • WebKitTestRunner/TestController.h:

Adopt WKPageNavigationClient and adjust to its semantics (navigations are main-frame-only, etc.)

6:00 PM Changeset in webkit [179587] by rniwa@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

Commit the forgotten expected result supposed to be added in r179569.

  • editing/inserting/smart-quote-with-all-configurations-expected.txt: Added.
5:58 PM Changeset in webkit [179586] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

Every PageOverlayClientImpl leaks
https://bugs.webkit.org/show_bug.cgi?id=141224
<rdar://problem/19652939>

Reviewed by Simon Fraser.

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:

(WKBundlePageOverlayCreate):

  • WebProcess/WebPage/WebPageOverlay.cpp:

(WebKit::WebPageOverlay::create):
(WebKit::WebPageOverlay::WebPageOverlay):
(WebKit::WebPageOverlay::pageOverlayDestroyed):
(WebKit::WebPageOverlay::willMoveToPage):
(WebKit::WebPageOverlay::didMoveToPage):
(WebKit::WebPageOverlay::drawRect):
(WebKit::WebPageOverlay::mouseEvent):
(WebKit::WebPageOverlay::didScrollFrame):
(WebKit::WebPageOverlay::actionContextForResultAtPoint):
(WebKit::WebPageOverlay::dataDetectorsDidPresentUI):
(WebKit::WebPageOverlay::dataDetectorsDidChangeUI):
(WebKit::WebPageOverlay::dataDetectorsDidHideUI):
(WebKit::WebPageOverlay::copyAccessibilityAttributeStringValueForPoint):
(WebKit::WebPageOverlay::copyAccessibilityAttributeBoolValueForPoint):
(WebKit::WebPageOverlay::copyAccessibilityAttributeNames):

  • WebProcess/WebPage/WebPageOverlay.h:

(WebKit::WebPageOverlay::client):
Keep the PageOverlayClientImpl as a unique_ptr instead of a leaked reference,
ensuring that it's cleaned up when the WebPageOverlay is torn down.

5:26 PM Changeset in webkit [179585] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix. Declare $repository_id_to_name in the global scope.

  • public/api/runs.php:
5:23 PM Changeset in webkit [179584] by Chris Dumez
  • 19 edits in trunk/Source

Drop ResourceLoadPriorityUnresolved resource load priority and use Optional<> instead
https://bugs.webkit.org/show_bug.cgi?id=141186

Reviewed by Antti Koivisto.

Source/WebCore:

Drop ResourceLoadPriorityUnresolved resource load priority value and use
Optional<ResourceLoadPriority> when needed instead. If the Optional
doesn't have a value, then it means it is unresolved. Having
ResourceLoadPriorityUnresolved in ResourceLoadPriority was confusing
because this value is only valid in CachedResourceRequest, it is not
a valid value in CachedResource or in ResourceRequest. After this
refactoring, it now becomes more obvious.

Source/WebKit2:

Update code now that ResourceLoadPriorityUnresolved is not longer a
ResourceLoadPriority enum value.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::retrieve):

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad):

5:17 PM Changeset in webkit [179583] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

/api/runs.php should have main function
https://bugs.webkit.org/show_bug.cgi?id=141220

Reviewed by Benjamin Poulain.

Wrapped the code inside main function for clarity.

  • public/api/runs.php:
4:57 PM Changeset in webkit [179582] by sun.shin@webkit.org
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json

Unreviewed. Add myself as a committer.

4:51 PM Changeset in webkit [179581] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

REGRESSION(176609): Very high memory usage in Canvas/reuse.html performance test
https://bugs.webkit.org/show_bug.cgi?id=139812

Reviewed by Geoffrey Garen.

Update DOMTimerFireState.elementsChangedOutsideViewport to keep only
weak pointers to the Elements, instead of ref'ing them, so as to not
extend their life unnecessarily (by preventing garbage-collection).
The same approach was already adopted in r176496 for
DOMTimer.m_elementsCausingThrottling to address the same issue.

No new tests, already covered by Canvas/reuse.html performance test.

  • page/DOMTimer.cpp:

(WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement):
(WebCore::DOMTimerFireState::elementsChangedOutsideViewport):

4:23 PM Changeset in webkit [179580] by enrica@apple.com
  • 8 edits in trunk/Source

[iOS] Add support for deleteFromInputWithFlags.
https://bugs.webkit.org/show_bug.cgi?id=141216
rdar://problem/19130081

Reviewed by Benjamin Poulain.

Adopts the new method as soon as it is available.
The patch also removes some obsolete code used for staging.

Source/WebKit/ios:

  • DefaultDelegates/WebDefaultUIKitDelegate.m:

(-[WebDefaultUIKitDelegate addInputString:withFlags:]):
(-[WebDefaultUIKitDelegate deleteFromInput]):
(-[WebDefaultUIKitDelegate deleteFromInputwithFlags:]):
(-[WebDefaultUIKitDelegate addInputString:fromVariantKey:]): Deleted.

  • WebView/WebUIKitDelegate.h:

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _handleEditingKeyEvent:]):

Source/WebKit2:

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _interpretKeyEvent:isCharEvent:]):

4:18 PM Changeset in webkit [179579] by diorahman@rockybars.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
4:18 PM Changeset in webkit [179578] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[iOS] Selection Callout should not immediately disappear on pages with frequent layouts
https://bugs.webkit.org/show_bug.cgi?id=141210

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-03
Reviewed by Enrica Casucci.

In iOS WebKit2 in order to keep caret refreshes in sync with WebCore layouts
the selection assistant is told to update whenever WebKit's layer tree
commits. Unfortunately, for pages with JavaScript animation that are
frequently doing a layout / layer tree update, this would trigger very
frequent selection updates that would keep the caret from blinking and
dismiss any selection callouts.

This change tracks the last selection drawing information so that we can
avoid informing the assistant of a selection updates unless it has changed
visually or needs to redraw (zoom).

  • Shared/EditorState.cpp:

Remove include already in header.

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

(WebKit::WKSelectionDrawingInfo::WKSelectionDrawingInfo):
(WebKit::operator==):
(WebKit::operator!=):
(-[WKContentView observeValueForKeyPath:ofObject:change:context:]):
When zooming, force the selection update, even though the drawing
information hasn't changed, the views will need to be updated.

(-[WKContentView _updateChangedSelection]):
(-[WKContentView _updateChangedSelection:]):
Monitor EditorState for changes in selection drawing and avoid
informing the selection assistant unless necessary.

4:07 PM Changeset in webkit [179577] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] Setting timestampOffset does not change the timestamps in the actual sample, leading to visual and audible errors.
https://bugs.webkit.org/show_bug.cgi?id=140929

Reviewed by Alexey Proskuryakov.

Fixes http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html.

Only apply the timestamp offset to the actual sample after step 1.6, where we may loop back to
the top, to avoid double-offsetting the same sample.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

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

Workaround a thread library bug where thread destructors may not get called.
<https://webkit.org/b/141209>

Reviewed by Michael Saboff.

There's a bug where thread destructors may not get called. As far as
we know, this only manifests on darwin ports. We will work around this
by checking at GC time if the platform thread is still valid. If not,
we'll purge it from the VM's registeredThreads list before proceeding
with thread scanning activity.

Note: it is important that we do this invalid thread detection during
suspension, because the validity (and liveness) of the other thread is
only guaranteed while it is suspended.

  • API/tests/testapi.mm:

(threadMain):

  • Added a test to enter the VM from another thread before we GC on the main thread.
  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::removeThreadWithLockAlreadyAcquired):
(JSC::MachineThreads::removeCurrentThread):

  • refactored removeThreadWithLockAlreadyAcquired() out from removeCurrentThread() so that we can also call it for purging invalid threads.

(JSC::suspendThread):

  • Added a return status to tell if the suspension succeeded or not.

(JSC::MachineThreads::tryCopyOtherThreadStacks):

  • Check if the suspension failed, and purge the thread if we can't suspend it. Failure to suspend implies that the thread has terminated without calling its destructor.
  • heap/MachineStackMarker.h:
3:45 PM Changeset in webkit [179575] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Restore interface before exiting optimized fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=141167

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-02-03
Reviewed by Simon Fraser.

This change allows the user interface to be restored before exiting optimized fullscreen mode.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: Add declaration.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController playerViewController:restoreUserInterfaceForOptimizedFullscreenStopWithCompletionHandler:]): Added.
(WebVideoFullscreenInterfaceAVKit::fullscreenMayReturnToInline): Added.

  • platform/spi/ios/AVKitSPI.h: Add new SPI.
3:41 PM Changeset in webkit [179574] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Prevent flicker when exiting fullscreen by synchronizing transactions.
https://bugs.webkit.org/show_bug.cgi?id=140897

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-02-03
Reviewed by Tim Horton.

Source/WebCore:

Synchronize across CAContexts when moving the video layer between layer hierarchies.
Normally transactions involving multiple CAContexts are not synchronized.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):

  • platform/spi/cocoa/QuartzCoreSPI.h: add additional CAContext SPI declarations.

Source/WebKit2:

Flush transactions before removing layerHost. This allows existing transactions to be completed before the hosting layer disappears.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::didCleanupFullscreen):

3:21 PM Changeset in webkit [179573] by Brian Burg
  • 7 edits
    1 delete in trunk/Source/WebKit2

Convert WebInspectorProxy to use WKWebView API for the inspector view
https://bugs.webkit.org/show_bug.cgi?id=141037

Reviewed by Timothy Hatcher.

Use the newer API for PLATFORM(MAC). The main difference is that the
WKWebView's page group cannot be set directly; instead, the group identifier
is passed. Also add some preference setters needed for the inspector.

Refactor some code to not use page groups directly. In a future patch,
the PageGroup-based inspector level system will be simplified. It is
it is no longer necessary to keep a static map of PageGroup instances,
since they are only used to save inspector window preferences. (These used
to prevent all levels of inspector from pausing together when a second-level
inspector hit a breakpoint. This is not necessary with multi-process
web inspectors.)

Also, adjust window resizing behavior when the inspector is docked to
the right. Window width resizes should not affect the width of the inspector
frame. This matches the behavior of height changes when docked to the bottom.

To support 32-bit Mac builds where WKWebView is not defined, share the stub
platformFoo() implementations with PLATFORM(IOS). The stubs are now located
in the platform-independent WebInspectorProxy.cpp.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _logsPageMessagesToSystemConsoleEnabled]): Added.
(-[WKPreferences _setLogsPageMessagesToSystemConsoleEnabled:]): Added.
(-[WKPreferences _allowFileAccessFromFileURLs]): Added.
(-[WKPreferences _setAllowFileAccessFromFileURLs:]): Added.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::WebInspectorProxy):
(WebKit::WebInspectorProxy::inspectorPagePreferences):
(WebKit::WebInspectorProxy::attach):
(WebKit::WebInspectorProxy::detach):
(WebKit::WebInspectorProxy::setAttachedWindowHeight):
(WebKit::WebInspectorProxy::setAttachedWindowWidth):
(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::shouldOpenAttached):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformOpen):
(WebKit::WebInspectorProxy::platformDidClose):
(WebKit::WebInspectorProxy::platformInvalidate):
(WebKit::WebInspectorProxy::platformBringToFront):
(WebKit::WebInspectorProxy::platformHide):
(WebKit::WebInspectorProxy::platformIsFront):
(WebKit::WebInspectorProxy::platformInspectedURLChanged):
(WebKit::WebInspectorProxy::platformSave):
(WebKit::WebInspectorProxy::platformAppend):
(WebKit::WebInspectorProxy::platformInspectedWindowHeight):
(WebKit::WebInspectorProxy::platformInspectedWindowWidth):
(WebKit::WebInspectorProxy::platformAttach):
(WebKit::WebInspectorProxy::platformDetach):
(WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
(WebKit::WebInspectorProxy::platformSetToolbarHeight):
(WebKit::WebInspectorProxy::inspectorPageURL):
(WebKit::WebInspectorProxy::inspectorTestPageURL):
(WebKit::WebInspectorProxy::inspectorBaseURL):
(WebKit::WebInspectorProxy::platformSetAttachedWindowWidth):
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):

  • UIProcess/WebInspectorProxy.h:
  • UIProcess/ios/WebInspectorProxyIOS.mm: Removed.
  • UIProcess/mac/WebInspectorProxyMac.mm:

(-[WKWebInspectorWKWebView _didRelaunchProcess]):
WKWebView doesn't implement this, so remove the super call.
(WebKit::WebInspectorProxy::closeTimerFired):
(WebKit::createDockButton):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformAttach):
(-[WKWebInspectorWKView _didRelaunchProcess]): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
3:02 PM Changeset in webkit [179572] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/xmlhttprequest/event-listener-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33342

Reviewed by Zalan Bujtas.

This failure means that the GC timer fires after readystatechange event. As a
speculative fix, start the timer before starting the load, so that it's certain to
finish earlier.

  • http/tests/xmlhttprequest/event-listener-gc.html:
2:22 PM Changeset in webkit [179571] by matthew_hanson@apple.com
  • 6 edits
    2 adds in branches/safari-600.4-branch

Merge r178462. rdar://problem/19673708

1:57 PM Changeset in webkit [179570] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark some debug assertion failures to be skipped.

  • platform/win/TestExpectations:
1:52 PM Changeset in webkit [179569] by rniwa@webkit.org
  • 8 edits
    1 add in trunk

Smart quoting could move the caret backwards in some configurations
https://bugs.webkit.org/show_bug.cgi?id=141203
Source/WebCore:

<rdar://problem/17452543>

Reviewed by Enrica Casucci.

The bug was caused by markAndReplaceFor not running the code to preserve the selection after
text replacement only when smart quote is enabled. Furthermore, when smart link was disabled,
we never applied smart quote due to the following condition at line 2502:

if (!(shouldPerformReplacement
shouldCheckForCorrection shouldMarkLink) !doReplacement)

continue;

This condition prevented the code to apply smart quote from running when both continuous
spellchecking, smart link, and text replacement are disabled.

Fixed the bug by treating smart quotes and smart dashes like any other text replacement and set
shouldPerformReplacement to true whenever either one of those text checking options are present.

Smart link didn't have this issue due to the explicit check for shouldMarkLink.

Smart dashes didn't suffer this problem either because dashes replacement happens only once
the caret has moved past the dashes but his patch makes go through the same code path to preserve
the selection as well for consistency.

Test: editing/inserting/smart-quote-with-all-configurations.html

  • editing/Editor.cpp:

(WebCore::Editor::markAndReplaceFor):

LayoutTests:

Reviewed by Enrica Casucci.

Added a regression test for smart quote under all combinations of
spellchecking and substitution configurations.

  • editing/inserting/smart-quote-with-all-configurations-expected.txt: Added.
  • editing/inserting/smart-quote-with-all-configurations.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wk2/TestExpectations:
1:40 PM Changeset in webkit [179568] by dino@apple.com
  • 3 edits
    4 adds in branches/safari-600.5-branch

2015-02-03 Dean Jackson <dino@apple.com>

Merge r178380. <rdar://problem/19465133>

2015-01-13 Dean Jackson <dino@apple.com>

Filters aren't applied to elements in columns after the first
https://bugs.webkit.org/show_bug.cgi?id=140331

Reviewed by Simon Fraser.

The important bits of this change came from Simon.
Filters and clipping were not taking columns into
account when using their offset rectangles. The fix
is to recalculate the rects if you're in such a
situation.

Tests: fast/multicol/clip-in-columns.html

fast/multicol/filter-in-columns.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hasFilterThatIsPainting): New method used to check if we're about to paint a filter. (WebCore::RenderLayer::setupFilters): Use the new helper if possible. (WebCore::RenderLayer::paintLayerContents): If we're in columns, and we either have a clip or a filter, recalculate the offset rectangles.
  • rendering/RenderLayer.h:
1:37 PM Changeset in webkit [179567] by enrica@apple.com
  • 5 edits
    2 adds in trunk

Additional emoji support.
https://bugs.webkit.org/show_bug.cgi?id=141047
rdar://problem/19045135

Reviewed by Darin Adler.

Source/WebCore:

Adds support for emoji modifiers and group emoji.

Test: editing/deleting/delete-emoji.html

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::characterRangeCodePath):

  • platform/text/TextBreakIterator.cpp:

(WebCore::cursorMovementIterator):

  • rendering/RenderText.cpp:

(WebCore::isEmojiGroupCandidate):
(WebCore::isEmojiModifier):
(WebCore::RenderText::previousOffsetForBackwardDeletion):

LayoutTests:

  • editing/deleting/delete-emoji.html: Added.
  • editing/deleting/delete-emoji-expected.txt: Added.
1:29 PM Changeset in webkit [179566] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Lint cleanup of Windows TestExpectations (Unreviewed)

  • platform/win/TestExpectations:
1:10 PM Changeset in webkit [179565] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

Passing invalid values to OfflineAudioContext's constructor should not crash.
https://bugs.webkit.org/show_bug.cgi?id=141197

Reviewed by Darin Adler.

Source/WebCore:

Test: webaudio/offlineaudiocontext-constructor.html

Throw a SYNTAX_ERR exception if passed in a zero for channelCount or numberOfSamples. This avoids
a crash where OfflineAudioDestinationNode is passed a null renderTarget.

  • Modules/webaudio/OfflineAudioContext.cpp:

(WebCore::OfflineAudioContext::create):

LayoutTests:

  • webaudio/offlineaudiocontext-constructor-expected.txt: Added.
  • webaudio/offlineaudiocontext-constructor.html: Added.
1:09 PM Changeset in webkit [179564] by jer.noble@apple.com
  • 7 edits
    2 adds in trunk

[MSE] Setting timestampOffset does not change the timestamps in the actual sample, leading to visual and audible errors.
https://bugs.webkit.org/show_bug.cgi?id=140929

Reviewed by Darin Adler.

Source/WebCore:

Test: media/media-source/media-source-timeoffset.html

Changing timestampOffset will correctly offset the presentation and decode times within SourceBuffer and
will correctly modify things like buffered ranges. But those changes need to be reflected in the underlying
MediaSample for decoders to decode and display the samples at the correct times.

Add a method to MediaSample which allows the caller to offset timestamps of the underlying PlatformMediaSample.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Call offsetTimestampsBy() on the sample.

  • platform/MediaSample.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::MediaSampleAVFObjC::offsetTimestampsBy): Create a new sample with the same underlying data

but with a new timing info array, each timing info offset by the requested amount.

  • platform/mock/mediasource/MockBox.h:

(WebCore::MockBox::offsetTimestampsBy): Offset m_presentationTimestamp and m_decodeTimestamp;

  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockMediaSample::offsetTimestampsBy): Pass to MockBox.

LayoutTests:

  • media/media-source/media-source-timeoffset-expected.txt: Added.
  • media/media-source/media-source-timeoffset.html: Added.
1:06 PM Changeset in webkit [179563] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac][EME] Crash in CDMSessionMediaSourceAVFObjC::layerDidReceiveError() - NSError not KVO compliant for key NSUnderlyingError.
https://bugs.webkit.org/show_bug.cgi?id=140529

Reviewed by Darin Adler.

The underlying error should be fetched from the userInfo dictionary, not the error itself.

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

(WebCore::systemCodeForError):

12:23 PM Changeset in webkit [179562] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: ASSERT mainThreadPthread launching remote debuggable JSContext app with Debug JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=141189

Reviewed by Michael Saboff.

  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::singleton):
Ensure we call WTF::initializeMainThread() on the main thread so that
we can perform automatic String <-> NSString conversions.

12:11 PM Changeset in webkit [179561] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

12:01 PM Changeset in webkit [179560] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[WIn] Unreviewed test updates.

  • platform/win/TestExpectations:
11:43 AM Changeset in webkit [179559] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed test fix.

  • DumpRenderTree/win/PolicyDelegate.cpp:

(PolicyDelegate::unableToImplementPolicyWithError): The message was missing a linefeed,
so was not matching expected output.

11:42 AM Changeset in webkit [179558] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

Unreviewed. Moving myself to the committer section, or trying to do so...

11:34 AM Changeset in webkit [179557] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/LayoutTests/imported/w3c

Web Platform Tests dirty a few untracked files
https://bugs.webkit.org/show_bug.cgi?id=141185

Reviewed by Darin Adler.

Added the empty file web-platform-tests/_certs/index.txt to .gitignore.

  • web-platform-tests/.gitignore:
10:47 AM Changeset in webkit [179556] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Tests fail because DRT reports '(null)' instead of an empty string
https://bugs.webkit.org/show_bug.cgi?id=141205

Reviewed by Anders Carlsson.

  • DumpRenderTree/win/HistoryDelegate.cpp:

(HistoryDelegate::didNavigateWithNavigationData): Deal with empty BSTR values
properly so that we match expected DumpRenderTree output.

10:28 AM Changeset in webkit [179555] by commit-queue@webkit.org
  • 58 edits in trunk/Source/WebCore

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

Hits debug assertions in 50+ SVG tests (Requested by brrian on
#webkit).

Reverted changeset:

"Move InstanceInvalidationGuard/UpdateBlocker to SVGElement
from SVGElementInstance"
https://bugs.webkit.org/show_bug.cgi?id=141148
http://trac.webkit.org/changeset/179548

10:25 AM Changeset in webkit [179554] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] TestWebKitAccessibility is not skipped
https://bugs.webkit.org/show_bug.cgi?id=141179

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-02-03
Reviewed by Carlos Garcia Campos.

Don't attempt to skip TestWebKitAccessibility. This path is wrong so it was not being
skipped, and it apparently works reliably on the bots.

  • Scripts/run-gtk-tests:

(TestRunner):

10:21 AM Changeset in webkit [179553] by clopez@igalia.com
  • 3 edits in trunk/Tools

run-perf-tests: allow to specify a wrapper command.
https://bugs.webkit.org/show_bug.cgi?id=141172

Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args): Update text to indicate is also valid for WTR.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args): Add wrapper command.

10:17 AM Changeset in webkit [179552] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Project file cleanups after r179429.

10:01 AM Changeset in webkit [179551] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Correct version parsing warning in update-webkit
https://bugs.webkit.org/show_bug.cgi?id=141200

Reviewed by Anders Carlsson.

  • Scripts/webkitdirs.pm:

(setupAppleWinEnv): Strip out any specific version build level
from the Cygwin version information.

9:39 AM Changeset in webkit [179550] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Attempt to improve the reliability of HTTP service
https://bugs.webkit.org/show_bug.cgi?id=141191

Reviewed by Darin Adler.

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init): Use default XAMPP pidfile location.
(LayoutTestApacheHttpd._stop_running_server): Delete the abandoned PID file
when stopping the service doesn't do so on its own (for Windows runs).

9:27 AM Changeset in webkit [179549] by jer.noble@apple.com
  • 6 edits
    2 adds in trunk

[Mac] HLS audio is not correctly selected according to system language
https://bugs.webkit.org/show_bug.cgi?id=140398
rdar://problem/19218487

Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/media/hls/hls-audio-tracks-locale-selection.html

When AVMediaSelectionOptions come and go and no explicit track selection choice has
been made, automatically pick the most appropriate track according to the user's
current preferred locale settings.

  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:
  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:

(WebCore::MediaSelectionGroupAVFObjC::MediaSelectionGroupAVFObjC): Set m_shouldSelectOptionAutomatically

to true by default.

(WebCore::MediaSelectionGroupAVFObjC::updateOptions): If m_shouldSelectOptionAutomatically is set

pick the most appropriate media selection option.

(WebCore::MediaSelectionGroupAVFObjC::setSelectedOption): Set m_shouldSelectOptionAutomatically to false.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Remove these automatic selection

requests as they are ineffective when -appliesMediaSelectionCriteriaAutomatically is NO.

LayoutTests:

  • http/tests/media/hls/hls-audio-tracks-locale-selection-expected.txt: Added.
  • http/tests/media/hls/hls-audio-tracks-locale-selection.html: Added.
  • http/tests/media/resources/hls/audio-tracks.m3u8:
8:58 AM Changeset in webkit [179548] by Darin Adler
  • 58 edits in trunk/Source/WebCore

Move InstanceInvalidationGuard/UpdateBlocker to SVGElement from SVGElementInstance
https://bugs.webkit.org/show_bug.cgi?id=141148

Reviewed by Brent Fulgham.

Inspired by this change Rob Buis made in Blink:

http://src.chromium.org/viewvc/blink?view=revision&revision=173343

I actually wrote the whole thing and then discovered we did it almost identically.

  • svg/SVGAnimatedTypeAnimator.cpp:

(WebCore::SVGElementAnimatedPropertyList::setInstanceUpdatesBlocked): Added this
helper function to get around a circular header dependency.

  • svg/SVGAnimatedTypeAnimator.h:

(WebCore::SVGAnimatedTypeAnimator::executeAction): Use setInstanceUpdatesBlocked.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::removedFrom): Use invalidateInstances.
(WebCore::SVGElement::finishParsingChildren): Ditto.
(WebCore::SVGElement::svgAttributeChanged): Ditto.
(WebCore::SVGElement::childrenChanged): Ditto.
(WebCore::SVGElement::setInstanceUpdatesBlocked): Added an assertion that will
catch anyone who nests InstanceUpdateBlocker by accident.
(WebCore::SVGElement::invalidateInstances): Moved this here from
SVGElementInstance::invalidateAllInstancesOfElement. I had already modified this
so it had nothing to do with SVGElementInstance, so it was a simple matter of
converting this into a member function. Added a FIXME about the mysterious
updateStyleIfNeeded that makes multiple tests fail if it's removed.

  • svg/SVGElement.h: Added public InstanceUpdateBlocker class, protected

InstanceInvalidationGuard class, and private invalidateInstances function.
Unlike the ones in SVGElementInstance these use references so they are then
not copyable without using the WTF_MAKE_NONCOPYABLE macro.

  • svg/SVGElementInstance.cpp:

(WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Deleted.
(WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker): Deleted.
(WebCore::SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker): Deleted.

  • svg/SVGElementInstance.h: Removed InvalidationGuard, InstanceUpdateBlocker, and

invalidateAllInstancesOfElement. Didn't do any further cleanup since we soon will
delete this entire file.

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::svgAttributeChanged): Updated to use new name and reference
instead of pointer.

  • svg/SVGAnimateElementBase.cpp:

(WebCore::applyCSSPropertyToTargetAndInstances): Ditto.
(WebCore::removeCSSPropertyFromTargetAndInstances): Ditto.
(WebCore::notifyTargetAndInstancesAboutAnimValChange): Ditto.

  • svg/SVGAnimatedPath.cpp:

(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation): Ditto.

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::svgAttributeChanged): Ditto.

  • svg/SVGClipPathElement.cpp:

(WebCore::SVGClipPathElement::svgAttributeChanged): Ditto.

  • svg/SVGComponentTransferFunctionElement.cpp:

(WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged): Ditto.

  • svg/SVGCursorElement.cpp:

(WebCore::SVGCursorElement::svgAttributeChanged): Ditto.

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::svgAttributeChanged): Ditto.

  • svg/SVGFEBlendElement.cpp:

(WebCore::SVGFEBlendElement::svgAttributeChanged): Ditto.

  • svg/SVGFEColorMatrixElement.cpp:

(WebCore::SVGFEColorMatrixElement::svgAttributeChanged): Ditto.

  • svg/SVGFECompositeElement.cpp:

(WebCore::SVGFECompositeElement::svgAttributeChanged): Ditto.

  • svg/SVGFEConvolveMatrixElement.cpp:

(WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged): Ditto.

  • svg/SVGFEDiffuseLightingElement.cpp:

(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): Ditto.

  • svg/SVGFEDisplacementMapElement.cpp:

(WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): Ditto.

  • svg/SVGFEDropShadowElement.cpp:

(WebCore::SVGFEDropShadowElement::svgAttributeChanged): Ditto.

  • svg/SVGFEGaussianBlurElement.cpp:

(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged): Ditto.

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::svgAttributeChanged): Ditto.

  • svg/SVGFELightElement.cpp:

(WebCore::SVGFELightElement::svgAttributeChanged): Ditto.

  • svg/SVGFEMergeNodeElement.cpp:

(WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.

  • svg/SVGFEMorphologyElement.cpp:

(WebCore::SVGFEMorphologyElement::svgAttributeChanged): Ditto.

  • svg/SVGFEOffsetElement.cpp:

(WebCore::SVGFEOffsetElement::svgAttributeChanged): Ditto.

  • svg/SVGFESpecularLightingElement.cpp:

(WebCore::SVGFESpecularLightingElement::svgAttributeChanged): Ditto.

  • svg/SVGFETileElement.cpp:

(WebCore::SVGFETileElement::svgAttributeChanged): Ditto.

  • svg/SVGFETurbulenceElement.cpp:

(WebCore::SVGFETurbulenceElement::svgAttributeChanged): Ditto.

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::svgAttributeChanged): Ditto.

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged): Ditto.

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto.

  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::svgAttributeChanged): Ditto.

  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::svgAttributeChanged): Ditto.

  • svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::svgAttributeChanged): Ditto.

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::svgAttributeChanged): Ditto.

  • svg/SVGLineElement.cpp:

(WebCore::SVGLineElement::svgAttributeChanged): Ditto.

  • svg/SVGLinearGradientElement.cpp:

(WebCore::SVGLinearGradientElement::svgAttributeChanged): Ditto.

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::svgAttributeChanged): Ditto.

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::svgAttributeChanged): Ditto.

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::svgAttributeChanged): Ditto.

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::svgAttributeChanged): Ditto.

  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::svgAttributeChanged): Ditto.

  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::svgAttributeChanged): Ditto.

  • svg/SVGRadialGradientElement.cpp:

(WebCore::SVGRadialGradientElement::svgAttributeChanged): Ditto.

  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::svgAttributeChanged): Ditto.

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::svgAttributeChanged): Ditto.

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::svgAttributeChanged): Ditto.

  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::svgAttributeChanged): Ditto.

  • svg/SVGSymbolElement.cpp:

(WebCore::SVGSymbolElement::svgAttributeChanged): Ditto.

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::svgAttributeChanged): Ditto.

  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::svgAttributeChanged): Ditto.

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::svgAttributeChanged): Ditto.

  • svg/SVGTextPositioningElement.cpp:

(WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::svgAttributeChanged): Ditto.

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::svgAttributeChanged): Ditto.

6:17 AM Changeset in webkit [179547] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

Memory cache for resources pending disk write
https://bugs.webkit.org/show_bug.cgi?id=141159

Reviewed by Andreas Kling.

If a resource was requested from the disk cache before it has been written we ended up
loading it again. Add a short lived memory cache to avoid this.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::decodeStorageEntry):

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::NetworkCacheStorage::Data::isMap):

Add a way to know whether a Data is backed by map or not. SharedMemory does not work correctly
if it is not a map.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::Data::Data):
(WebKit::NetworkCacheStorage::initialize):

Also do some renaming.

(WebKit::decodeEntry):
(WebKit::NetworkCacheStorage::removeEntry):
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::clear):
(WebKit::NetworkCacheStorage::shrinkIfNeeded):

4:41 AM Changeset in webkit [179546] by Antti Koivisto
  • 5 edits in trunk/Source/WebKit2

Update cache header after revalidation without rewriting the body data
https://bugs.webkit.org/show_bug.cgi?id=141182

Reviewed by Andreas Kling.

Currently we just rewrite the entire entry after revalidation.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::decodeStorageEntry):

Include the strorage entry to the cache response so we can more easily update it.

(WebKit::NetworkCache::update):

Call the storage update function with the new and the exisiting storage entry.

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheStorage.h:
  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::openFileForKey):

Added an option for opening a file for writing without creating a new one.
Renamed for clarity.

(WebKit::encodeEntryHeader):

Separate header encoding to a function.

(WebKit::encodeEntry):
(WebKit::NetworkCacheStorage::dispatchRetrieveOperation):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):

New update function.
If the page-rounded header size would stay unchanged we can just write the new header over the old one.
In the unlikely event it doesn't we rewrite the whole thing.

(WebKit::createIOChannelForKey): Deleted.

1:48 AM Changeset in webkit [179545] by youenn.fablet@crf.canon.fr
  • 7 edits
    2 copies in trunk

Web platform test server should not need to create init.py files
https://bugs.webkit.org/show_bug.cgi?id=141030

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Updated init.py using TestImporter.
Removed added logs to serve.py to be the same as W3C repository.

  • web-platform-tests/serve.py:
  • web-platform-tests/tools/init.py:
  • web-platform-tests/tools/scripts/init.py: Copied from LayoutTests/imported/w3c/web-platform-tests/tools/init.py.
  • web-platform-tests/tools/webdriver/webdriver/init.py: Copied from LayoutTests/imported/w3c/web-platform-tests/tools/init.py.

Tools:

W3C TestImporter ensures that copied init.py files are not empty.
If needed, a comment is inserted in init.py files.
Added a unit test to check that web-platform-tests tools and scripts python modules can be imported.

  • Scripts/webkitpy/common/system/filesystem.py:

(FileSystem.getsize):

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py:

(TestWebPlatformTestServer.test_start_cmd):
(TestWebPlatformTestServer):
(TestWebPlatformTestServer.test_import_web_platform_test_modules):

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.import_tests):

1:32 AM Changeset in webkit [179544] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

Unreviewed. Moving myself to the committer queue.

1:20 AM Changeset in webkit [179543] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[EFL] fast/borders/mixed-border-style2.html fails due to missing -expected.txt
https://bugs.webkit.org/show_bug.cgi?id=141080

Unreviewed EFL gardening

Wrong: Test has no expected result
Right: Test has an expected result as well as an image showing

the correct page render

Patch by Piotr Krysiewicz <p.krysiewicz@samsung.com> on 2015-02-03

  • platform/efl/fast/borders/mixed-border-style2-expected.png: Added.
  • platform/efl/fast/borders/mixed-border-style2-expected.txt: Added.
12:45 AM Changeset in webkit [179542] by youenn.fablet@crf.canon.fr
  • 2 edits
    4 adds in trunk/LayoutTests/imported/w3c

imported/w3c/web-platform-tests should contain top level files of the W3C web-platform-tests repository
https://bugs.webkit.org/show_bug.cgi?id=141151

Reviewed by Ryosuke Niwa.

  • web-platform-tests/CONTRIBUTING.md: Added.
  • web-platform-tests/LICENSE: Added.
  • web-platform-tests/README.md: Added.
  • web-platform-tests/server-side.md: Added.
  • web-platform-tests/w3c-import.log:

Feb 2, 2015:

10:14 PM Changeset in webkit [179541] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

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

need further investigation to fix !WK_API_ENABLED (32bit)
build. (Requested by brrian_ on #webkit).

Reverted changeset:

"Convert WebInspectorProxy to use WKWebView API for the
inspector view"
https://bugs.webkit.org/show_bug.cgi?id=141037
http://trac.webkit.org/changeset/179540

9:28 PM Changeset in webkit [179540] by Brian Burg
  • 6 edits in trunk/Source/WebKit2

Convert WebInspectorProxy to use WKWebView API for the inspector view
https://bugs.webkit.org/show_bug.cgi?id=141037

Reviewed by Timothy Hatcher.

Use the newer API for PLATFORM(MAC). The main difference is that the
WKWebView's page group cannot be set directly; instead, the group identifier
is passed. Also add some preference setters needed for the inspector.

Refactor some code to not use page groups directly. In a future patch,
the PageGroup-based inspector level system will be simplified. It is
it is no longer necessary to keep a static map of PageGroup instances,
since they are only used to save inspector window preferences. (These used
to prevent all levels of inspector from pausing together when a second-level
inspector hit a breakpoint. This is not necessary with multi-process
web inspectors.)

Also, adjust window resizing behavior when the inspector is docked to
the right. Window width resizes should not affect the width of the inspector
frame. This matches the behavior of height changes when docked to the bottom.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _logsPageMessagesToSystemConsoleEnabled]): Added.
(-[WKPreferences _setLogsPageMessagesToSystemConsoleEnabled:]): Added.
(-[WKPreferences _allowFileAccessFromFileURLs]): Added.
(-[WKPreferences _setAllowFileAccessFromFileURLs:]): Added.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::WebInspectorProxy):
(WebKit::WebInspectorProxy::inspectorPagePreferences): Added.
(WebKit::WebInspectorProxy::attach):
(WebKit::WebInspectorProxy::detach):
(WebKit::WebInspectorProxy::setAttachedWindowHeight):
(WebKit::WebInspectorProxy::setAttachedWindowWidth):
(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::shouldOpenAttached):

  • UIProcess/WebInspectorProxy.h: Use default member initializers.
  • UIProcess/mac/WebInspectorProxyMac.mm:

(-[WKWebInspectorWKWebView _didRelaunchProcess]):
WKWebView doesn't implement this, so remove the super call.
(WebKit::WebInspectorProxy::closeTimerFired):
(WebKit::createDockButton):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformAttach):
(-[WKWebInspectorWKView _didRelaunchProcess]): Deleted.

9:23 PM Changeset in webkit [179539] by Darin Adler
  • 2 edits in trunk/Source/WebCore

REGRESSION (r170576): Storage leaks in parsing of CSS image sizes
https://bugs.webkit.org/show_bug.cgi?id=141026

Reviewed by Brent Fulgham.

Forgot to actually fix the leak in the successful parse case!

  • css/CSSParser.cpp:

(WebCore::CSSParser::sourceSize): Added a call to destroy.

9:20 PM Changeset in webkit [179538] by fpizlo@apple.com
  • 10 edits
    6 adds in trunk/Source/JavaScriptCore

arguments[-1] should have well-defined behavior
https://bugs.webkit.org/show_bug.cgi?id=141183

Reviewed by Mark Lam.

According to JSC's internal argument numbering, 0 is "this" and 1 is the first argument.
In the "arguments[i]" expression, "this" is not accessible and i = 0 refers to the first
argument. Previously we handled the bounds check in "arguments[i]" - where "arguments" is
statically known to be the current function's arguments object - as follows:

add 1, i
branchAboveOrEqual i, callFrame.ArgumentCount, slowPath


The problem with this is that if i = -1, this passes the test, and we end up accessing
what would be the "this" argument slot. That's wrong, since we should really be bottoming
out in arguments-1, which is usually undefined but could be anything. It's even worse
if the function is inlined or if we're in a constructor - in that case the "this" slot
could be garbage.

It turns out that we had this bug in all of our engines.

This fixes the issue by changing the algorithm to:

load32 callFrame.ArgumentCount, tmp
sub 1, tmp
branchAboveOrEqual i, tmp, slowPath


In some engines, we would have used the modified "i" (the one that had 1 added to it) for
the subsequent argument load; since we don't do this anymore I also had to change some of
the offsets on the BaseIndex arguments load.

This also includes tests that are written in such a way as to get coverage on LLInt and
Baseline JIT (get-my-argument-by-val-wrap-around-no-warm-up), DFG and FTL
(get-my-argument-by-val-wrap-around), and DFG when we're being paranoid about the user
overwriting the "arguments" variable (get-my-argument-by-val-safe-wrap-around). This also
includes off-by-1 out-of-bounds tests for each of these cases, since in the process of
writing the patch I broke the arguments[arguments.length] case in the DFG and didn't see
any test failures.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::offsetOfArguments):
(JSC::AssemblyHelpers::offsetOfArgumentsIncludingThis): Deleted.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_get_argument_by_val):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_get_argument_by_val):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • tests/stress/get-my-argument-by-val-out-of-bounds-no-warm-up.js: Added.

(foo):

  • tests/stress/get-my-argument-by-val-out-of-bounds.js: Added.

(foo):

  • tests/stress/get-my-argument-by-val-safe-out-of-bounds.js: Added.

(foo):

  • tests/stress/get-my-argument-by-val-safe-wrap-around.js: Added.

(foo):

  • tests/stress/get-my-argument-by-val-wrap-around-no-warm-up.js: Added.

(foo):

  • tests/stress/get-my-argument-by-val-wrap-around.js: Added.

(foo):

9:06 PM Changeset in webkit [179537] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

[Win] Activate HTTP tests

  • platform/win/TestExpectations:
  • platform/win/fast/dom/adopt-node-crash-2-expected.txt:
8:29 PM Changeset in webkit [179536] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

MultiGetByOffset should be marked NodeMustGenerate
https://bugs.webkit.org/show_bug.cgi?id=140137

Reviewed by Michael Saboff.

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetByOffset): We were sloppy - we should also clear NodeMustGenerate once it's a GetByOffset.
(JSC::DFG::Node::convertToMultiGetByOffset): Assert that we converted from something that already had NodeMustGenerate.

  • dfg/DFGNodeType.h: We shouldn't DCE a node that does checks and could be effectful in baseline. Making MultiGetByOffset as NodeMustGenerate prevents DCE. FTL could still DCE the actual loads, but the checks will stay.
  • tests/stress/multi-get-by-offset-dce.js: Added. This previously failed because the getter wasn't called.

(foo):

8:11 PM Changeset in webkit [179535] by benjamin@webkit.org
  • 3 edits
    16 adds in trunk

JIT Compile simple cases of :nth-last-child()
https://bugs.webkit.org/show_bug.cgi?id=141053

Reviewed by Andreas Kling.

Source/WebCore:

This patch adds the code generator for :nth-last-child(), skipping
any :nth-last-child(An+B of selector list).

The code generator is boring here, nothing fancy.
There is no optimization opportunity here so it is basically the same
speed as the code generated by Clang when the simple selector is alone.

The only reason to JIT compile this is to avoid going to slow-path
for every selector that contain :nth-last-child().

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addNthChildType):
The code creating the intermediate representation of :nth-child() is exactly
the same as what we need for :nth-last-child(). I extracted the code from addPseudoClassType()
and share it for both simple selectors.

(WebCore::SelectorCompiler::addPseudoClassType):
I fail :nth-last-child(An+B of selector list). Let's add it later.

(WebCore::SelectorCompiler::minimumRegisterRequirements):
Oops, there was a bug with nthChildOfFilters.

(WebCore::SelectorCompiler::hasAnyCombinators):
(WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements):
(WebCore::SelectorCompiler::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::setChildrenAffectedByBackwardPositionalRules):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChild):

LayoutTests:

There was almost no test coverage for :nth-last-child(). I copied the main tests
from :nth-child() and updated the expected results.

This is not ideal because we should have style update tests targetting
backward invalidation... Still better than nothing :)

  • fast/selectors/nth-last-child-as-first-simple-selector-style-update-expected.txt: Added.
  • fast/selectors/nth-last-child-as-first-simple-selector-style-update.html: Added.
  • fast/selectors/nth-last-child-basics-expected.txt: Added.
  • fast/selectors/nth-last-child-basics.html: Added.
  • fast/selectors/nth-last-child-bounds-expected.txt: Added.
  • fast/selectors/nth-last-child-bounds.html: Added.
  • fast/selectors/nth-last-child-chained-expected.txt: Added.
  • fast/selectors/nth-last-child-chained.html: Added.
  • fast/selectors/nth-last-child-on-root-expected.txt: Added.
  • fast/selectors/nth-last-child-on-root.html: Added.
  • fast/selectors/nth-last-child-style-update-expected.txt: Added.
  • fast/selectors/nth-last-child-style-update.html: Added.
  • fast/selectors/nth-last-child-with-backtracking-expected.txt: Added.
  • fast/selectors/nth-last-child-with-backtracking.html: Added.
  • fast/selectors/several-nth-last-child-expected.txt: Added.
  • fast/selectors/several-nth-last-child.html: Added.
7:08 PM Changeset in webkit [179534] by Alan Bujtas
  • 6 edits
    2 moves in trunk/Source/WebCore

Simple line layout: Rename FlowContentsIterator to TextFragmentIterator.
https://bugs.webkit.org/show_bug.cgi?id=141177

Rubber-stamped by Antti Koivisto

FlowContentsIterator is easy to confuse with FlowContents::Iterator.
TextFragmentIterator reflects the functionality better.

No change in functionality.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::setOverflowedFragment):
(WebCore::SimpleLineLayout::LineState::overflowedFragment):
(WebCore::SimpleLineLayout::LineState::appendFragment):
(WebCore::SimpleLineLayout::begin):
(WebCore::SimpleLineLayout::end):
(WebCore::SimpleLineLayout::preWrap):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::firstFragment):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::splitRunsAtRendererBoundary):
(WebCore::SimpleLineLayout::createTextRuns):

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp: Renamed from Source/WebCore/rendering/SimpleLineLayoutFlowContentsIterator.cpp.

(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragmentIterator):
(WebCore::SimpleLineLayout::TextFragmentIterator::nextTextFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::textWidth):
(WebCore::SimpleLineLayout::nextBreakablePosition):
(WebCore::SimpleLineLayout::TextFragmentIterator::findNextBreakablePosition):
(WebCore::SimpleLineLayout::findNextNonWhitespace):
(WebCore::SimpleLineLayout::TextFragmentIterator::findNextNonWhitespacePosition):
(WebCore::SimpleLineLayout::TextFragmentIterator::runWidth):

  • rendering/SimpleLineLayoutTextFragmentIterator.h: Renamed from Source/WebCore/rendering/SimpleLineLayoutFlowContentsIterator.h.

(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::start):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::end):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::width):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::type):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isCollapsed):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isBreakable):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isEmpty):
(WebCore::SimpleLineLayout::TextFragmentIterator::style):
(WebCore::SimpleLineLayout::TextFragmentIterator::segmentForPosition):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::split):
(WebCore::SimpleLineLayout::TextFragmentIterator::characterAt):
(WebCore::SimpleLineLayout::TextFragmentIterator::isLineBreak):
(WebCore::SimpleLineLayout::TextFragmentIterator::isEnd):

6:22 PM Changeset in webkit [179533] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Add diagnostic logging for ResourceResponse's source
https://bugs.webkit.org/show_bug.cgi?id=141170
<rdar://problem/19632080>

Reviewed by Antti Koivisto.

Add diagnostic logging for ResourceResponse's source (network, disk
cache, disk cache after validation) to give us an idea of our network
cache efficacy.

  • loader/ResourceLoader.cpp:

(WebCore::logResourceResponseSource):
(WebCore::ResourceLoader::didReceiveResponse):

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::networkKey):
(WebCore::DiagnosticLoggingKeys::diskCacheKey):
(WebCore::DiagnosticLoggingKeys::diskCacheAfterValidationKey):
(WebCore::DiagnosticLoggingKeys::resourceResponseKey):
(WebCore::DiagnosticLoggingKeys::scriptKey):
(WebCore::DiagnosticLoggingKeys::sourceKey):

  • page/DiagnosticLoggingKeys.h:
6:22 PM Changeset in webkit [179532] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Optimize matchesLangPseudoClass() of :lang()
https://bugs.webkit.org/show_bug.cgi?id=140873

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2015-02-02
Reviewed by Darin Adler.

Source/WebCore:

Avoid unnecessary memory allocation.

No new tests, no behavior changed.

  • css/SelectorCheckerTestFunctions.h:

(WebCore::equalIgnoringASCIICase):
(WebCore::containslanguageSubtagMatchingRange):
(WebCore::matchesLangPseudoClass):

Source/WTF:

Add some basic equality comparison operators.

  • wtf/text/StringView.h:

(WTF::operator==):
(WTF::operator!=):
(WTF::equal):
(WTF::equalIgnoringASCIICase):

5:47 PM Changeset in webkit [179531] by Brent Fulgham
  • 6 edits in branches/safari-600.5-branch/Source/WebCore

Merge r178661. rdar://problem/19617731

2015-01-19 Brent Fulgham <Brent Fulgham>

Layers need to be already updated before we call adjustViewSize
https://bugs.webkit.org/show_bug.cgi?id=135514

Reviewed by Simon Fraser.

Tested by 'fast/dynamic/layer-no-longer-paginated.html'

Defer painting operations until we have finished layout. This
has a couple of benefits:
(1) We do not attempt to modify render layers during layout.
(2) In WK1 we do not attempt to paint during layout.

Add a new virtual predicate to ScrollView indicating when we are in
layout so that calls to setContentsSize do not attempt
to adjust scrollbars.

Modify FrameView to set its ScrollView state to block paint
operations during layout. Also add a post-layout handler to
complete the scrollbar updates after layout is finished.

  • WebCore.exp.in: Move linker symbol to ScrollView (from FrameView).
  • page/FrameView.cpp: (WebCore::FrameView::layout): (WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added. (WebCore::FrameView::scrollPositionChangedViaPlatformWidget): Removed (Renamed). (WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added (Renamed) (WebCore::FrameView::paintContents): Do not paint if we are inside view size adjustment.
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollPositionChangedViaPlatformWidget): Added. Checks whether we need to defer painting, and calls virtual scrollPositionChangedViaPlatformWidgetImpl if we do not. (WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added. (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added. (WebCore::ScrollView::scrollTo): If we should defer painting, cache the the scroll delta and apply it after the layout is complete. (WebCore::ScrollView::completeUpdatesAfterScrollTo): Split off part of 'scrollTo' into its own method so we can reuse it in handleDeferredScrollUpdateAfterContentSizeChange.
  • platform/ScrollView.h: (WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
5:33 PM Changeset in webkit [179530] by roger_fong@apple.com
  • 9 edits in trunk/Source/WebCore

WebGL2: Implement spec section 3.7.1 Setting and getting state (Part 2).
https://bugs.webkit.org/show_bug.cgi?id=141096
<rdar://problem/15002469>
Reviewed by Brent Fulgham.
This patch handles some of the valid arguments that could be passed into getParameter.
The unhandled cases will be implemented as the associated WebGL2 features are implemented.
In addition, getParameter queries that return 64 bit integer currently just return 0 as
we need to use ::glGetInteger64v which is only available in GLES 3.0 headers.
I will be adding these headers in a future patch.

  • bindings/js/JSWebGL2RenderingContextCustom.cpp:

(WebCore::toJS): Accept a 64 bit integer type.

  • html/canvas/WebGL2RenderingContext.cpp: Handle various parameter inputs.

(WebCore::WebGL2RenderingContext::getParameter):

  • html/canvas/WebGLGetInfo.cpp: Add a 64 bit integer type.

(WebCore::WebGLGetInfo::WebGLGetInfo):
(WebCore::WebGLGetInfo::getInt64):

  • html/canvas/WebGLGetInfo.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getInt64Parameter):

  • html/canvas/WebGLRenderingContextBase.h:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::getInteger64v):

5:18 PM Changeset in webkit [179529] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

Make NetworkCache's constructor private
https://bugs.webkit.org/show_bug.cgi?id=141181

Reviewed by Antti Koivisto.

Make NetworkCache's constructor private and mark its destructor as
deleted as it is a singleton class.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::NetworkCache): Deleted.

  • NetworkProcess/cache/NetworkCache.h:
4:58 PM Changeset in webkit [179528] by matthew_hanson@apple.com
  • 1 edit
    1 move in branches/safari-600.5-branch

Merge r178846. rdar://problem/19670542

4:58 PM Changeset in webkit [179527] by matthew_hanson@apple.com
  • 6 edits
    1 add in branches/safari-600.5-branch

Merge r178845. rdar://problem/19670542

4:58 PM Changeset in webkit [179526] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r178834. rdar://problem/19670539

4:58 PM Changeset in webkit [179525] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-600.5-branch

Merge r178832. rdar://problem/19670627

4:57 PM Changeset in webkit [179524] by matthew_hanson@apple.com
  • 4 edits
    3 adds in branches/safari-600.5-branch

Merge r178831. rdar://problem/19670604

4:57 PM Changeset in webkit [179523] by matthew_hanson@apple.com
  • 7 edits in branches/safari-600.5-branch

Merge r178829. rdar://problem/19670575

4:57 PM Changeset in webkit [179522] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r178819. rdar://problem/19670617

4:57 PM Changeset in webkit [179521] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r178812. rdar://problem/19670533

4:57 PM Changeset in webkit [179520] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r178786. rdar://problem/19670584

4:57 PM Changeset in webkit [179519] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r178783. rdar://problem/19670695

4:57 PM Changeset in webkit [179518] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r178782. rdar://problem/19670695

4:57 PM Changeset in webkit [179517] by matthew_hanson@apple.com
  • 9 edits in branches/safari-600.5-branch

Merge r178781. rdar://problem/19670569

4:57 PM Changeset in webkit [179516] by matthew_hanson@apple.com
  • 10 edits in branches/safari-600.5-branch

Merge r178779. rdar://problem/19670503

4:43 PM Changeset in webkit [179515] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

[FTL] inlined GetMyArgumentByVal with no arguments passed causes instant crash
https://bugs.webkit.org/show_bug.cgi?id=141180
rdar://problem/19677552

Reviewed by Benjamin Poulain.

If we do a GetMyArgumentByVal on an inlined call frame that has no arguments, then the
bounds check already terminates execution. This means we can skip the part where we
previously did an out-of-bound array access on the inlined call frame arguments vector.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::safelyInvalidateAfterTermination):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
(JSC::FTL::LowerDFGToLLVM::terminate):
(JSC::FTL::LowerDFGToLLVM::didAlreadyTerminate):
(JSC::FTL::LowerDFGToLLVM::crash):

  • tests/stress/get-my-argument-by-val-inlined-no-formal-parameters.js: Added.

(foo):
(bar):

4:40 PM Changeset in webkit [179514] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

4:38 PM Changeset in webkit [179513] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.4

New tag.

4:18 PM Changeset in webkit [179512] by matthew_hanson@apple.com
  • 1 edit
    1 copy
    1 move
    1 delete in branches/safari-600.5-branch/LayoutTests

Merge r178778. rdar://problem/19670611

4:18 PM Changeset in webkit [179511] by matthew_hanson@apple.com
  • 6 edits
    2 adds in branches/safari-600.5-branch

Merge r178777. rdar://problem/19670611

3:53 PM Changeset in webkit [179510] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Simple line layout: use std::upper_bound in splitFragmentToFitLine()
https://bugs.webkit.org/show_bug.cgi?id=141146

Reviewed by Antti Koivisto.

Replace the custom binary search implementation with std::upper_bound and
move splitting functionality to TextFragment.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::FragmentForwardIterator::FragmentForwardIterator):
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator++):
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator!=):
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator*):
(WebCore::SimpleLineLayout::begin):
(WebCore::SimpleLineLayout::end):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):

  • rendering/SimpleLineLayoutFlowContentsIterator.cpp:

(WebCore::SimpleLineLayout::FlowContentsIterator::runWidth):

  • rendering/SimpleLineLayoutFlowContentsIterator.h:

(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::split):

3:42 PM Changeset in webkit [179509] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merge r178750. rdar://problem/19670673

3:42 PM Changeset in webkit [179508] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.5-branch/Source

Merge r178745. rdar://problem/19670564

3:42 PM Changeset in webkit [179507] by matthew_hanson@apple.com
  • 9 edits
    3 adds in branches/safari-600.5-branch

Merge r178735. rdar://problem/19670597

3:42 PM Changeset in webkit [179506] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r178731. rdar://problem/19670592

3:42 PM Changeset in webkit [179505] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merge r178730. rdar://problem/19670732

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

REGRESSION(r179477): arguments simplification no longer works
https://bugs.webkit.org/show_bug.cgi?id=141169

Reviewed by Mark Lam.

The operations involved in callee/scope access don't exit and shouldn't get in the way
of strength-reducing a Flush to a PhantomLocal. Then the PhantomLocal shouldn't get in
the way of further such strength-reduction. We also need to canonicalize PhantomLocal
before running arguments simplification.

  • dfg/DFGMayExit.cpp:

(JSC::DFG::mayExit):

  • dfg/DFGPlan.cpp:

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

  • dfg/DFGStrengthReductionPhase.cpp:

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

3:32 PM Changeset in webkit [179503] by fpizlo@apple.com
  • 18 edits
    1 add in trunk/Source/JavaScriptCore

VirtualRegister should really know how to dump itself
https://bugs.webkit.org/show_bug.cgi?id=141171

Reviewed by Geoffrey Garen.

Gives VirtualRegister a dump() method that pretty-prints the virtual register. The rest of
the patch is all about using this new power.

(JSC::constantName):
(JSC::CodeBlock::registerName):

  • bytecode/CodeBlock.h:

(JSC::missingThisObjectMarker): Deleted.

  • bytecode/VirtualRegister.cpp: Added.

(JSC::VirtualRegister::dump):

  • bytecode/VirtualRegister.h:

(WTF::printInternal): Deleted.

  • dfg/DFGArgumentPosition.h:

(JSC::DFG::ArgumentPosition::dump):

  • dfg/DFGFlushedAt.cpp:

(JSC::DFG::FlushedAt::dump):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGPutLocalSinkingPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::reportValidationContext):

  • dfg/DFGValueSource.cpp:

(JSC::DFG::ValueSource::dump):

  • dfg/DFGVariableEvent.cpp:

(JSC::DFG::VariableEvent::dump):
(JSC::DFG::VariableEvent::dumpSpillInfo):

  • ftl/FTLExitArgumentForOperand.cpp:

(JSC::FTL::ExitArgumentForOperand::dump):

  • ftl/FTLExitValue.cpp:

(JSC::FTL::ExitValue::dumpInContext):

  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::BytecodeSequence):

3:14 PM Changeset in webkit [179502] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Update flakiness tests on W3C SVG 1.1 tests.

  • platform/efl/TestExpectations:
2:44 PM Changeset in webkit [179501] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS Autocompletion: Autodetect many color supporting properties
https://bugs.webkit.org/show_bug.cgi?id=141166

Reviewed by Timothy Hatcher.

  • UserInterface/Base/Utilities.js:

Add String.prototype.endsWith. Group String extensions together.

  • UserInterface/Models/CSSKeywordCompletions.js:

(WebInspector.CSSKeywordCompletions.forProperty):
If a property name ends in "color", provide CSS color completions.

(WebInspector.CSSKeywordCompletions.isColorAwareProperty): Deleted.
This was unused and disagrees slightly with the implementation above.

2:27 PM Changeset in webkit [179500] by ggaren@apple.com
  • 9 edits in trunk/Source

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the HandleBlock piece of this patch.

Source/JavaScriptCore:

  • heap/HandleBlock.h:
  • heap/HandleBlockInlines.h:

(JSC::HandleBlock::create):
(JSC::HandleBlock::destroy):
(JSC::HandleBlock::HandleBlock):
(JSC::HandleBlock::payloadEnd):

  • heap/HandleSet.cpp:

(JSC::HandleSet::~HandleSet):
(JSC::HandleSet::grow):

Source/WebCore:

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::fastAlignedMalloc):
(WTF::fastAlignedFree):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/FastMalloc.h:
2:22 PM Changeset in webkit [179499] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] 64-bit build fix after r179492.

  • WebCore.vcxproj/WebCore.vcxproj: Forgot to build these files

as standalone under 64-bit target.

2:21 PM Changeset in webkit [179498] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r179489.

Correct symbol export definitions for 32-bit and 64-bit builds.
Also add some drive-by fixes for 64-bit symbols.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
2:00 PM Changeset in webkit [179497] by benjamin@webkit.org
  • 14 edits
    17 adds in trunk

Clean up attribute handling: part 2 - attributeNode
https://bugs.webkit.org/show_bug.cgi?id=141109

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-02
Reviewed by Andreas Kling.

Source/WebCore:

Our implementation was covering some old legacy behaviors of Firefox,
even copying bugs in some cases.

The spec (https://dom.spec.whatwg.org) now defines the behavior precisely,
let's move a bit closer to that.

Tests: fast/dom/Element/attribute-ascii-case-insensitive-3.html

fast/dom/Element/attribute-setAttributeNode-multiple-times.html
fast/dom/Element/attribute-setAttributeNodeNS-multiple-times.html
fast/dom/Element/mozilla-dom-base-tests/test_bug1075702.html
fast/dom/Element/mozilla-dom-base-tests/test_bug339494.html
fast/dom/Element/mozilla-dom-base-tests/test_bug364092.xhtml
fast/dom/Element/setAttributeNode-overriding-lowercase-values.html

  • dom/Element.cpp:

(WebCore::findAttrNodeInList):
New getter for the name-without-namespace case.

(WebCore::Element::setAttributeNode):
This one is the tricky one: https://dom.spec.whatwg.org/#dom-element-setattributenode

When setAttributeNode() is used with an AttributeNode without namespace,
getting the old value behaves like getAttribute(), with ASCII lowercase name matching.
When used with a namespace, getting the old value behaves like getAttributeNS().

Setting the value is a whole different story, the name used always keeps
the original case.

Now that's a bit tricky for us because AttributeNodes are just legacy stuff we don't
used internally.

We have 4 cases to handle:
1) The name being set is lowercase, there was no conflicting name on the element.

That's easy, we just override any node that would exist, set the name otherwise.

2) The name is lowercase but there was an existing attribute for it.

-We create a new AttributeNode for the name to represent the old name.
-We check the names are the same with attribute.name().matches(attrNode->qualifiedName())

and override the value.

3) The name has uppercase characters, there is no conflicting name.

We would not find an element to remove, we just use setAttributeInternal() as usual
to add the attribute;

4) The name has uppercase characters, there is a lowercase conflicing name.

This is the weird behavior: we need to nuke the old attribute, then add the new attribute
with a different case.

First we remove the attribute with a lowercase name with removeAttributeInternal().
That becomes the old node.

There might still be an element of the same name as what we are trying to add. We don't want
to add another version of the same attribute. We need to use findAttributeIndexByName() again
to find if there is a conflicting attribute. Then we call setAttributeInternal() which handle
the both the cases where there was an element or not.

(WebCore::Element::setAttributeNodeNS):
This should work like any "NS" method.

(WebCore::Element::removeAttributeNode):
The method removeAttributeNode() is supposed to be exact.

(WebCore::Element::getAttributeNode):
(WebCore::Element::hasAttribute):
(WebCore::Element::attrIfExists):

  • dom/Element.h:
  • dom/ElementData.cpp:

(WebCore::ElementData::findAttributeIndexByNameSlowCase): Deleted.
(WebCore::ElementData::findAttributeIndexByNameForAttributeNode): Deleted.
Kill the slow case, every caller has been updated now.

  • dom/ElementData.h:

(WebCore::ElementData::findAttributeIndexByName):

  • dom/QualifiedName.h:

(WebCore::QualifiedName::matchesIgnoringCaseForLocalName): Deleted.

LayoutTests:

Improve the coverage a little.

Not everything is right yet: some getters return an empty string when they
should return null.

  • fast/dom/Element/attribute-ascii-case-insensitive-1-expected.txt:

This is now fixed :)

  • fast/dom/Element/attribute-ascii-case-insensitive-3-expected.txt: Added.
  • fast/dom/Element/attribute-ascii-case-insensitive-3.html: Added.

Test prefixed-like attribute defined through the parser.

  • fast/dom/Element/attribute-setAttributeNode-multiple-times-expected.txt: Added.
  • fast/dom/Element/attribute-setAttributeNode-multiple-times.html: Added.

Make sure we don't accumulate nodes.

  • fast/dom/Element/attribute-setAttributeNodeNS-multiple-times-expected.txt: Added.
  • fast/dom/Element/attribute-setAttributeNodeNS-multiple-times.html: Added.

Same without the crazy setter.

  • fast/dom/Element/script-tests/getAttribute-check-case-sensitivity.js:
  • fast/dom/Element/getAttribute-check-case-sensitivity-expected.txt:

With the latest spec, getting a node with any uppercase character through
getAttributeNode() always fails. Update the test to use .getAttributeNodeNS()
were needed.

  • fast/dom/Element/mozilla-dom-base-tests/test_bug1075702-expected.txt: Added.
  • fast/dom/Element/mozilla-dom-base-tests/test_bug1075702.html: Added.
  • fast/dom/Element/mozilla-dom-base-tests/test_bug339494-expected.txt: Added.
  • fast/dom/Element/mozilla-dom-base-tests/test_bug339494.html: Added.
  • fast/dom/Element/mozilla-dom-base-tests/test_bug364092-expected.txt: Added.
  • fast/dom/Element/mozilla-dom-base-tests/test_bug364092.xhtml: Added.

(testGetAttributeNodeMixedCase):
(testAttribNodeNamePreservesCaseGetNode):
(testAttribNodeNamePreservesCaseGetNode2):
Some related tests from Gecko, for completeness.

  • fast/dom/Element/setAttributeNode-case-insensitivity-expected.txt:
  • fast/dom/Element/setAttributeNode-case-insensitivity.html:

Test that the getAttribute part of setAttributeNode() do not ignore the prefix. The spec
says to use the name, not the localname.

  • fast/dom/Element/setAttributeNode-for-existing-attribute-expected.txt:
  • fast/dom/Element/setAttributeNode-for-existing-attribute.html:

This test was for legacy behavior that came from Firefox. Firefox does not do that anymore.
Keep the test around for regression catching, but add a sentence explaining the 'incorrect'
behavior.

  • fast/dom/Element/setAttributeNode-overriding-lowercase-values-1-expected.txt: Added.
  • fast/dom/Element/setAttributeNode-overriding-lowercase-values-1.html: Added.
  • fast/dom/Element/setAttributeNode-overriding-lowercase-values-2-expected.txt: Added.
  • fast/dom/Element/setAttributeNode-overriding-lowercase-values-2.html: Added.

Some coverage for the name overriding craziness.

1:55 PM Changeset in webkit [179496] by Joseph Pecoraro
  • 2 edits in trunk/LayoutTests

Rebaseline test with new expected results.

  • http/tests/inspector-protocol/access-inspected-object-expected.txt:
1:39 PM Changeset in webkit [179495] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Memory is written to after deallocated, in GraphicsLayer::setMaskLayer.
https://bugs.webkit.org/show_bug.cgi?id=141168

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-02-02
Reviewed by Brent Fulgham.

Visual Studio detected that a deallocated heap block had been modified in GraphicsLayer::setMaskLayer,
when called from RenderLayerBacking::updateChildClippingStrategy.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateChildClippingStrategy):

1:25 PM Changeset in webkit [179494] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Make decoded image data purgeable ASAP.
<https://webkit.org/b/140298>
<rdar://problem/19623377>

Reviewed by Antti Koivisto.

Re-landing this patch since it turned out to not be the cause of
the memory regression we saw around that revision.

Mark decoded images as "transient" which makes CoreGraphics mark
the backing stores as purgeable shortly after they're used.

The decoded representation will remain in CoreGraphics's caches
indefinitely unless the kernel gets starved and needs the pages.

Most resources will now reach a state where the encoded data is
mmap'ed from disk cache (once the entire resource is downloaded)
and the decoded data is purgeable.

This also has the side effect of making the MemoryCache more
palatial since the decoded data cost can be deducted for images,
allowing us to cache more resources.

Note that the worst case for this new behavior would be something
like hovering below 100% memory utilization and constantly having
to drop and re-decode images. While churny, it still beats
crashing the process, plus there's tiling to remove many of the
reasons we'd need the decoded data.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::createFrameAtIndex):

1:07 PM Changeset in webkit [179493] by Joseph Pecoraro
  • 11 edits in trunk/Source

Web Inspector: Support console.table
https://bugs.webkit.org/show_bug.cgi?id=141058

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

Include the firstLevelKeys filter when generating previews.

  • runtime/ConsoleClient.cpp:

(JSC::appendMessagePrefix):
Differentiate console.table logs to system log.

Source/WebCore:

  • inspector/CommandLineAPIModuleSource.js:

Include "table(foo)" as an alias of "console.table(foo)" on
the command line.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

New "Index", "(Index)", "Value", table header strings.

  • UserInterface/Views/ConsoleMessage.js:

Add "Table", but add FIXMEs to consider using the protocol generated enums.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._format):
Special case console.table messages.

(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews):
(WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement):
Factor out ProjectPreview printing. Also, replace newlines in strings
with return characters, like we did elsewhere.

(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
Ultimately try to create a DataGrid from the output. Search first
for rich object data in the list. If no rich object data is found
just check for simple values. If the table is lossy, also do
a log of the object in case the user wants to see more data.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid):
The for..in enumeration is unordered and may not give us the
column ordering we wanted. So include an optional preferred
column names list to get the preferred order.

(WebInspector.DataGrid.createSortableDataGrid):
Numerous bug fixes here. Accidental globals, typos, and sorting failures.

(WebInspector.DataGrid.prototype.autoSizeColumns):
(WebInspector.DataGrid.prototype.textForDataGridNodeColumn):
(WebInspector.DataGrid.prototype._copyTextForDataGridNode):
Create a generic method to get the text for a datagrid node in a column.
This is important for getting the text from console.table previews which
contains Nodes.

  • UserInterface/Views/LogContentView.css:

(.console-messages:focus .console-item.selected .data-grid tr.selected):
(.console-item .data-grid tr.selected):
DataGrid selection colors while in the console which may or may
not have selected console items.

1:04 PM Changeset in webkit [179492] by roger_fong@apple.com
  • 5 edits in trunk/Source/WebCore

[Win] Build fix following r179482.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • bindings/js/JSBindingsAllInOne.cpp:
  • platform/graphics/GraphicsContext3D.h:
12:54 PM Changeset in webkit [179491] by fpizlo@apple.com
  • 4 edits in trunk

.:
Revert accidental change in r179490.

  • Makefile.shared:

Source/WebKit2:
Revert accidental (and super bad) change in r179490.

  • WebProcess/com.apple.WebProcess.sb.in:
12:52 PM Changeset in webkit [179490] by fpizlo@apple.com
  • 5 edits in trunk

BinarySwitch should be faster on average
https://bugs.webkit.org/show_bug.cgi?id=141046

Reviewed by Anders Carlsson.

This optimizes our binary switch using math. It's strictly better than what we had before
assuming we bottom out in some case (rather than fall through), assuming all cases get
hit with equal probability. The difference is particularly large for large switch
statements. For example, a switch statement with 1000 cases would previously require on
average 13.207 branches to get to some case, while now it just requires 10.464.

This is also a progression for the fall-through case, though we could shave off another
1/6 branch on average if we wanted to - though it would regress taking a case (not falling
through) by 1/6 branch. I believe it's better to bias the BinarySwitch for not falling
through.

This also adds some randomness to the algorithm to minimize the likelihood of us
generating a switch statement that is always particularly bad for some input. Note that
the randomness has no effect on average-case performance assuming all cases are equally
likely.

This ought to have no actual performance change because we don't rely on binary switches
that much. The main reason why this change is interesting is that I'm finding myself
increasingly relying on BinarySwitch, and I'd like to know that it's optimal.

  • jit/BinarySwitch.cpp:

(JSC::BinarySwitch::BinarySwitch):
(JSC::BinarySwitch::~BinarySwitch):
(JSC::BinarySwitch::build):

  • jit/BinarySwitch.h:
12:50 PM Changeset in webkit [179489] by Chris Dumez
  • 29 edits in trunk/Source

Access MemoryCache singleton using MemoryCache::singleton()
https://bugs.webkit.org/show_bug.cgi?id=141104

Reviewed by Andreas Kling.

Access MemoryCache singleton using MemoryCache::singleton() static
member function, instead of a free function, as per the recent
coding style discussion on WebKit-dev.

12:40 PM Changeset in webkit [179488] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Ambiguous naming: Do not call replacedContentRect()'s return value paint rect.
https://bugs.webkit.org/show_bug.cgi?id=141125

Reviewed by Simon Fraser.

It's the content box rect with the object-fit adjustment.

No change in functionality.

  • rendering/RenderHTMLCanvas.cpp:

(WebCore::RenderHTMLCanvas::paintReplaced):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::updateInnerContentRect):
(WebCore::RenderImage::paintReplaced):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::replacedContentRect):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::splitFragmentToFitLine):

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

[Win] Build fix after r179476.
https://bugs.webkit.org/show_bug.cgi?id=141026

Reviewed by Anders Carlsson.

MSVC has a compiler bug that forces us to make some explicit statements about how
the passed pointer values are handled.

  • css/CSSParser.cpp:

(WebCore::CSSParser::SourceSize::SourceSize):
(WebCore::CSSParser::sourceSize):

  • css/CSSParser.h:
12:28 PM Changeset in webkit [179486] by fpizlo@apple.com
  • 2 edits in trunk

Unreviewed, revert accidental change to Makefile.shared in r179478

  • Makefile.shared:
12:13 PM Changeset in webkit [179485] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Get rid of invalidSelectorVector, use Bison's error recovery instead
https://bugs.webkit.org/show_bug.cgi?id=141147

Reviewed by Darin Adler.

  • css/CSSGrammar.y.in:

Instead of reducing a null selector, we can use a real parsing error
to get out of invalid selector endings.

When that happens, Bison will pop the stack until it can reduce any
valid error recovery rules.

The problem is to make sure there is no floating values because
none of the reduce block between the error and the recovery would
be executed.

In this case, "nth_selector_ending" is a non-recursive production of
the NTHCHILDFUNCTIONS. In turn, NTHCHILDFUNCTIONS are productions
of the non-recursive "pseudo". "pseudo" is only used as a trivial
production of "specifier". "specifier" is only used by "specifier_list".

"specifier_list" has error recovery code -> no production could have
generated a floating values between "specifier_list" and "nth_selector_ending".

12:10 PM Changeset in webkit [179484] by benjamin@webkit.org
  • 1 edit
    8 adds in trunk/LayoutTests

Multiple CSS plus selector not working after checkbox:checked
https://bugs.webkit.org/show_bug.cgi?id=110594

Reviewed by Darin Adler.

I fixed the bug not so long ago.

This patch adds coverage for :checked since internal states
tend to have tricky update behaviors.

  • fast/selectors/checked-direct-adjacent-style-update-1-expected.txt: Added.
  • fast/selectors/checked-direct-adjacent-style-update-1.html: Added.
  • fast/selectors/checked-direct-adjacent-style-update-2-expected.txt: Added.
  • fast/selectors/checked-direct-adjacent-style-update-2.html: Added.
  • fast/selectors/checked-direct-adjacent-style-update-3-expected.txt: Added.
  • fast/selectors/checked-direct-adjacent-style-update-3.html: Added.
  • fast/selectors/checked-direct-adjacent-style-update-4-expected.txt: Added.
  • fast/selectors/checked-direct-adjacent-style-update-4.html: Added.
12:07 PM Changeset in webkit [179483] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Web Inspector: Extend CSS.getSupportedCSSProperties to provide values for properties for CSS Augmented JSContext
https://bugs.webkit.org/show_bug.cgi?id=141064

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

Source/JavaScriptCore:

  • inspector/protocol/CSS.json:

Source/WebInspectorUI:

  • UserInterface/Models/CSSCompletions.js:
  • UserInterface/Models/CSSKeywordCompletions.js:

(WebInspector.CSSKeywordCompletions.addCustomCompletions):
(WebInspector.CSSKeywordCompletions.addPropertyCompletionValues):
If a property is specified with custom values, extend the
keyword completions map to make those values available
in autocompletion.

12:05 PM Changeset in webkit [179482] by roger_fong@apple.com
  • 15 edits in trunk

WebGL2: Implement spec section 3.7.1 Setting and getting state (Part 1).
https://bugs.webkit.org/show_bug.cgi?id=141096
<rdar://problem/15002469>

Reviewed by Brent Fulgham.

This patch implements the WebGL2 versions of getParameter, getIndexedParameter and isEnabled.
It also removes the WebGL1 implementations from WebGLRenderingContextBase and moves it to WebGLRenderingContext.
I’ve stubbed out most of the parameters for now, some of which will be implemented in Part 2,
and the rest as the our WebGL2 implementation progresses.

  • bindings/js/JSWebGL2RenderingContextCustom.cpp:

(WebCore::toJS):
(WebCore::JSWebGL2RenderingContext::getIndexedParameter):

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getIndexedParameter):
(WebCore::WebGL2RenderingContext::getParameter):
(WebCore::WebGL2RenderingContext::validateCapability):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::validateCapability):

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getParameter): Deleted.
(WebCore::WebGLRenderingContextBase::validateCapability): Deleted.

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLRenderingContextBase.idl:
  • platform/graphics/GraphicsContext3D.h:

Two read format parameters were moved from the WebGL2 spec to the WebGL1 spec. Update tests accordingly.

  • fast/canvas/webgl/constants.html:
  • fast/canvas/webgl/webgl-specific-expected.txt:
  • fast/canvas/webgl/webgl-specific.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/misc/webgl-specific.html:
11:47 AM Changeset in webkit [179481] by dbates@webkit.org
  • 9 edits in trunk

[iOS] ASSERTION FAILED: m_scriptExecutionContext->isContextThread() in ContextDestructionObserver::observeContext
https://bugs.webkit.org/show_bug.cgi?id=141057
<rdar://problem/19068790>

Reviewed by Alexey Proskuryakov.

Source/JavaScriptCore:

  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::receivedIndicateMessage): Modified to call WTF::callOnWebThreadOrDispatchAsyncOnMainThread().
(Inspector::dispatchAsyncOnQueueSafeForAnyDebuggable): Deleted; moved logic to common helper function,
WTF::callOnWebThreadOrDispatchAsyncOnMainThread() so that it can be called from both RemoteInspector::receivedIndicateMessage()
and CryptoKeyRSA::generatePair().

Source/WebCore:

Fixes an issue where we would create-/delete- the RSA crypto keys and dispatch callbacks on the wrong
thread in WebKit1 for iOS. In iOS WebKit1 we should perform such operations on thread WebThread.

This change is covered by existing layout tests.

  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::CryptoKeyRSA::generatePair):

Source/WTF:

  • wtf/MainThread.h:
  • wtf/mac/MainThreadMac.mm:

(WTF::callOnWebThreadOrDispatchAsyncOnMainThread): Added.

LayoutTests:

Un-skip crypto tests. Also, group skip entries for tests crypto/subtle/{rsa-indexeddb, rsa-indexeddb-non-exportable}.html
with other skipped IndexedDB tests.

  • platform/ios-simulator/TestExpectations:
11:40 AM Changeset in webkit [179480] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Prevent crash when accessing WebAVPlayerController.delegate.
https://bugs.webkit.org/show_bug.cgi?id=140893

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-02-02
Reviewed by Darin Adler.

Source/WebCore:

This patch aims to prevent a null delegate access during invalidation by adding null checks before accessing the delegate, by making explicit the recreation of m_playerController, and by consolidating and correcting the teardown sequence.

  • WebCore.exp.in:
  • platform/ios/WebVideoFullscreenInterface.h: add resetMediaState()
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: ditto.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController playerViewController:shouldExitFullScreenWithReason:]): Check for null before accessing delegate.
(-[WebAVPlayerController play:]): ditto.
(-[WebAVPlayerController pause:]): ditto.
(-[WebAVPlayerController togglePlayback:]): ditto.
(-[WebAVPlayerController setPlaying:]): ditto.
(-[WebAVPlayerController beginScrubbing:]): ditto.
(-[WebAVPlayerController endScrubbing:]): ditto.
(-[WebAVPlayerController seekToTime:]): ditto.
(-[WebAVPlayerController beginScanningForward:]): ditto.
(-[WebAVPlayerController endScanningForward:]): ditto.
(-[WebAVPlayerController beginScanningBackward:]): ditto.
(-[WebAVPlayerController endScanningBackward:]): ditto.
(-[WebAVPlayerController seekToBeginning:]): ditto.
(-[WebAVPlayerController seekToEnd:]): ditto.
(-[WebAVPlayerController setCurrentAudioMediaSelectionOption:]): ditto.
(-[WebAVPlayerController setCurrentLegibleMediaSelectionOption:]): ditto.
(-[WebAVPlayerController layoutSublayersOfLayer:]): ditto.
(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit): initialize m_playerController
(WebVideoFullscreenInterfaceAVKit::resetMediaState): Added.
(WebVideoFullscreenInterfaceAVKit::setDuration): remove playerController()
(WebVideoFullscreenInterfaceAVKit::setCurrentTime): ditto.
(WebVideoFullscreenInterfaceAVKit::setRate): ditto.
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions): ditto.
(WebVideoFullscreenInterfaceAVKit::setSeekableRanges): ditto.
(WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse): ditto.
(WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions): ditto.
(WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions): ditto.
(WebVideoFullscreenInterfaceAVKit::setExternalPlayback): ditto.
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): ditto.
(WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard): ditto.
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): consolidated cleanup code from invalidate()
(WebVideoFullscreenInterfaceAVKit::invalidate): consolidate cleanup code.
(WebVideoFullscreenInterfaceAVKit::playerController): Deleted.

  • platform/ios/WebVideoFullscreenModelVideoElement.mm:

(WebVideoFullscreenModelVideoElement::setVideoElement): call resetMediaState()

Source/WebKit2:

Plumb new resetMediaState() through IPC interface WebVideoFullscreenManagerProxy.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::invalidate): remove redundant set to nullptr.

  • WebProcess/ios/WebVideoFullscreenManager.h:
  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::resetMediaState):

11:05 AM Changeset in webkit [179479] by saambarati1@gmail.com
  • 7 edits
    8 adds in trunk

Create tests for JSC's Control Flow Profiler
https://bugs.webkit.org/show_bug.cgi?id=141123

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch creates a control flow profiler testing API in jsc.cpp
that accepts a function and a string as arguments. The string must
be a substring of the text of the function argument. The API returns
a boolean indicating whether or not the basic block that encloses the
substring has executed.

This patch uses this API to test that the control flow profiler
behaves as expected on basic block boundaries. These tests do not
provide full coverage for all JavaScript statements that can create
basic blocks boundaries. Full coverage will come in a later patch.

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionHasBasicBlockExecuted):

  • runtime/ControlFlowProfiler.cpp:

(JSC::ControlFlowProfiler::hasBasicBlockAtTextOffsetBeenExecuted):

  • runtime/ControlFlowProfiler.h:
  • tests/controlFlowProfiler: Added.
  • tests/controlFlowProfiler.yaml: Added.
  • tests/controlFlowProfiler/driver: Added.
  • tests/controlFlowProfiler/driver/driver.js: Added.

(assert):

  • tests/controlFlowProfiler/if-statement.js: Added.

(testIf):
(noMatches):

  • tests/controlFlowProfiler/loop-statements.js: Added.

(forRegular):
(forIn):
(forOf):
(whileLoop):

  • tests/controlFlowProfiler/switch-statements.js: Added.

(testSwitch):

  • tests/controlFlowProfiler/test-jit.js: Added.

(tierUpToBaseline):
(tierUpToDFG):
(baselineTest):
(dfgTest):

Tools:

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests):

  • Scripts/run-jsc-stress-tests:
10:38 AM Changeset in webkit [179478] by fpizlo@apple.com
  • 46 edits
    2 adds
    5 deletes in trunk

Polymorphic call inlining should be based on polymorphic call inline caching rather than logging
https://bugs.webkit.org/show_bug.cgi?id=140660

Reviewed by Geoffrey Garen.

When we first implemented polymorphic call inlining, we did the profiling based on a call
edge log. The idea was to store each call edge (a tuple of call site and callee) into a
global log that was processed lazily. Processing the log would give precise counts of call
edges, and could be used to drive well-informed inlining decisions - polymorphic or not.
This was a speed-up on throughput tests but a slow-down for latency tests. It was a net win
nonetheless.

Experience with this code shows three things. First, the call edge profiler is buggy and
complex. It would take work to fix the bugs. Second, the call edge profiler incurs lots of
overhead for latency code that we care deeply about. Third, it's not at all clear that
having call edge counts for every possible callee is any better than just having call edge
counts for the limited number of callees that an inline cache would catch.

So, this patch removes the call edge profiler and replaces it with a polymorphic call inline
cache. If we miss the basic call inline cache, we inflate the cache to be a jump to an
out-of-line stub that cases on the previously known callees. If that misses again, then we
rewrite that stub to include the new callee. We do this up to some number of callees. If we
hit the limit then we switch to using a plain virtual call.

Substantial speed-up on V8Spider; undoes the slow-down that the original call edge profiler
caused. Might be a SunSpider speed-up (below 1%), depending on hardware.

Rolling this back in after fixing https://bugs.webkit.org/show_bug.cgi?id=141107.

(JSC::CallEdge::count):
(JSC::CallEdge::CallEdge):

  • bytecode/CallEdgeProfile.cpp: Removed.
  • bytecode/CallEdgeProfile.h: Removed.
  • bytecode/CallEdgeProfileInlines.h: Removed.
  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink):
(JSC::CallLinkInfo::visitWeak):

  • bytecode/CallLinkInfo.h:
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeFromCallLinkInfo):
(JSC::CallLinkStatus::isClosureCall):
(JSC::CallLinkStatus::makeClosureCall):
(JSC::CallLinkStatus::dump):
(JSC::CallLinkStatus::computeFromCallEdgeProfile): Deleted.

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::variants):
(JSC::CallLinkStatus::size):
(JSC::CallLinkStatus::at):
(JSC::CallLinkStatus::operator[]):
(JSC::CallLinkStatus::canOptimize):
(JSC::CallLinkStatus::edges): Deleted.
(JSC::CallLinkStatus::canTrustCounts): Deleted.

  • bytecode/CallVariant.cpp:

(JSC::variantListWithVariant):
(JSC::despecifiedVariantList):

  • bytecode/CallVariant.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::linkIncomingPolymorphicCall):
(JSC::CodeBlock::unlinkIncomingCalls):
(JSC::CodeBlock::noticeIncomingCall):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::isIncomingCallAlreadyLinked): Deleted.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCallWithoutSettingResult):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::removeFTLProfiling): Deleted.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • jit/BinarySwitch.h:
  • jit/ClosureCallStubRoutine.cpp: Removed.
  • jit/ClosureCallStubRoutine.h: Removed.
  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

(JSC::operationLinkPolymorphicCallFor):
(JSC::operationLinkClosureCallFor): Deleted.

  • jit/JITStubRoutine.h:
  • jit/JITWriteBarrier.h:
  • jit/PolymorphicCallStubRoutine.cpp: Added.

(JSC::PolymorphicCallNode::~PolymorphicCallNode):
(JSC::PolymorphicCallNode::unlink):
(JSC::PolymorphicCallCase::dump):
(JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine):
(JSC::PolymorphicCallStubRoutine::~PolymorphicCallStubRoutine):
(JSC::PolymorphicCallStubRoutine::variants):
(JSC::PolymorphicCallStubRoutine::edges):
(JSC::PolymorphicCallStubRoutine::visitWeak):
(JSC::PolymorphicCallStubRoutine::markRequiredObjectsInternal):

  • jit/PolymorphicCallStubRoutine.h: Added.

(JSC::PolymorphicCallNode::PolymorphicCallNode):
(JSC::PolymorphicCallCase::PolymorphicCallCase):
(JSC::PolymorphicCallCase::variant):
(JSC::PolymorphicCallCase::codeBlock):

  • jit/Repatch.cpp:

(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):
(JSC::linkClosureCall): Deleted.

  • jit/Repatch.h:
  • jit/ThunkGenerators.cpp:

(JSC::linkPolymorphicCallForThunkGenerator):
(JSC::linkPolymorphicCallThunkGenerator):
(JSC::linkPolymorphicCallThatPreservesRegsThunkGenerator):
(JSC::linkClosureCallForThunkGenerator): Deleted.
(JSC::linkClosureCallThunkGenerator): Deleted.
(JSC::linkClosureCallThatPreservesRegsThunkGenerator): Deleted.

  • jit/ThunkGenerators.h:

(JSC::linkPolymorphicCallThunkGeneratorFor):
(JSC::linkClosureCallThunkGeneratorFor): Deleted.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):

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

(JSC::VM::prepareToDiscardCode):
(JSC::VM::ensureCallEdgeLog): Deleted.

  • runtime/VM.h:
10:15 AM Changeset in webkit [179477] by fpizlo@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Converting Flushes and PhantomLocals to Phantoms requires an OSR availability analysis rather than just using the SetLocal's child
https://bugs.webkit.org/show_bug.cgi?id=141107

Reviewed by Michael Saboff.

See the bugzilla for a discussion of the problem. This addresses the problem by ensuring
that Flushes are always strength-reduced to PhantomLocals, and CPS rethreading does a mini
OSR availability analysis to determine the right MovHint value to use for the Phantom.

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::CPSRethreadingPhase):
(JSC::DFG::CPSRethreadingPhase::freeUnnecessaryNodes):
(JSC::DFG::CPSRethreadingPhase::clearVariables):
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):
(JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock):
(JSC::DFG::CPSRethreadingPhase::clearVariablesAtHeadAndTail): Deleted.

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertPhantomToPhantomLocal):
(JSC::DFG::Node::convertFlushToPhantomLocal):
(JSC::DFG::Node::convertToPhantomLocal): Deleted.

  • dfg/DFGStrengthReductionPhase.cpp:

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

  • tests/stress/inline-call-that-doesnt-use-all-args.js: Added.

(foo):
(bar):
(baz):

10:12 AM Changeset in webkit [179476] by Darin Adler
  • 11 edits in trunk/Source/WebCore

REGRESSION (r170576): Storage leaks in parsing of CSS image sizes
https://bugs.webkit.org/show_bug.cgi?id=141026

Reviewed by Anders Carlsson.

  • css/CSSGrammar.y.in: Fixed all the shift/reduce conflicts caused

by the ENABLE_PICTURE_SIZES code by removing all the redundant
maybe_space which caused them. Rearranged the productions for
ENABLE_PICTURE_SIZES to tighten up the code quite a bit. Changed
the code to build up the source size vector as a Vector instead of
a special class, and use the SourceSize struct from inside the
CSSParser class.'

  • css/CSSParser.cpp:

(WebCore::CSSParser::setupParser): Changed this to take a StringView.
In the future we can change all the parsing functions to take StringView,
since they don't work with the String in place.
(WebCore::CSSParser::parseSizesAttribute): Changed to return a vector
of SourceSize instead of a SourceSizeList. This is better because it's
a real CSS data structure that does not contain a CSSParserValue.
(WebCore::CSSParser::sourceSize): Added. Helper that creates a
SourceSize, mapping parser data structures into real CSS ones.

  • css/CSSParser.h: Updated for changes above.
  • css/MediaQuery.cpp:

(WebCore::MediaQuery::MediaQuery): Use std::make_unique and the copy
constructor directly instead of using a MediaQuery::copy function.

  • css/MediaQueryExp.cpp: Streamlined the class a little bit.
  • css/MediaQueryExp.h: Removed unneeded includes. Moved functions out

of the class body so the class is easier to read. Removed the unneeded
copy function.

  • css/SourceSizeList.cpp:

(WebCore::SourceSize::match): Changed to use WTF::move instead
of releasing and then re-creating the unique_ptr.
(WebCore::computeLength): Added a comment to explain this function
is using an incorrect strategy. Also added some type checking code
to handle cases where a null or non-primitive CSS value might be
returned. Probably dead code, but we don't want to risk a bad cast.
Worthe cleaning up when we fix the strategy.
(WebCore::SourceSizeList::getEffectiveSize): Updated since the
vector now contains actual SourceSize objects rather than pointers
to SourceSize objects on the heap.

  • css/SourceSizeList.h: Changed the CSSParserValue argument to be

an rvalue reference to make it clearer that we take ownership of it
when it's moved in. Added a move constructor and a destructor. Added
comments explaining that it's not correct design to use a
CSSParserValue here, outside the parser. Changed SourceSizeList's
append function to move a SourceSize in rather than a unique_ptr.
Made getEffectiveSize private. Moved the various inline functions to
the bottom of the file to make the class definitions easier to read.

  • css/SourceSizeList.cpp: Made almost everything about this private

to this source file instead of public in the header.
(WebCore::match): Made this a free function instead of a member function
and made it take the media query expression as an argument.
(WebCore::computeLength): Changed the argument type to CSSValue*,
rather than using CSSParserValue here outside the parser.
(WebCore::parseSizesAttribute): Streamlined and simplified this.
Now that the parser builds the list in the correct order, there was
no need to iterate backwards any more so we could use a modern for
loop.

  • css/SourceSizeList.h: Removed almost everything in this header.
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute): Call the
parseSizesAttribute function as free function since it's no longer
a member of a SourceSizeList class.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
Ditto.

9:06 AM Changeset in webkit [179475] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Remove copy/paste code from run-jsc-stress-tests to determine numberOfTests
https://bugs.webkit.org/show_bug.cgi?id=141158

Reviewed by Darin Adler.

  • Scripts/run-jsc-stress-tests:
12:48 AM Changeset in webkit [179474] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] MiniBrowser should close itself on Ctrl+W or Ctrl+Q
https://bugs.webkit.org/show_bug.cgi?id=141142

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-02-02
Reviewed by Carlos Garcia Campos.

  • MiniBrowser/gtk/BrowserWindow.c:

(browser_window_init): Quit on Ctrl+W or Ctrl+Q

12:27 AM Changeset in webkit [179473] by Darin Adler
  • 6 edits in trunk/Source/WebCore

Fix some leaks found by the leak bot
https://bugs.webkit.org/show_bug.cgi?id=141149

Reviewed by Alexey Proskuryakov.

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::importKey): Changed argument types to std::unique_ptr for better code clarity.
(WebCore::JSSubtleCrypto::importKey): Use WTF::move instead of release.
(WebCore::JSSubtleCrypto::wrapKey): Fixed leaks by adding missing delete calls to the
case where we get a DOM exception.
(WebCore::JSSubtleCrypto::unwrapKey): Ditto.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorQuery::SelectorQuery): Use WTF::move here. Not clear how this could
have caused the storage leak, but it does seem obviously missing. The leak is pretty big,
implying that we leak almost all CSSSelectorList objects we parse; not sure this fixes it.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): Added code to
deleted the unguarded pointer if postTaskForModeToWorkerGlobalScope fails.
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): Ditto.
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): Ditto.
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck): Ditto.

  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:

(WebCore::MediaSelectionGroupAVFObjC::updateOptions): Added missing adoptNS.

  • platform/graphics/mac/GraphicsContextMac.mm:

(WebCore::GraphicsContext::updateDocumentMarkerResources): Added missing release.

Feb 1, 2015:

4:49 PM Changeset in webkit [179472] by Chris Dumez
  • 26 edits in trunk/Source

Use more references in HistoryItem
https://bugs.webkit.org/show_bug.cgi?id=141133

Reviewed by Andreas Kling.

Use more references in HistoryItem instead of pointers.
Source/WebKit2:

  • WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:

(WebKit::InjectedBundleBackForwardListItem::children):

  • WebProcess/WebCoreSupport/SessionStateConversion.cpp:

(WebKit::toFrameState):
(WebKit::applyFrameState):

  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::WebBackForwardListProxy::addItem):

  • WebProcess/WebPage/WebBackForwardListProxy.h:
3:47 PM Changeset in webkit [179471] by commit-queue@webkit.org
  • 7 edits
    12 adds
    2 deletes in trunk

Unreviewed, rolling out r179467 and r179470.
https://bugs.webkit.org/show_bug.cgi?id=141144

Broke svg/custom/use-events-crash.svg (Requested by ap on
#webkit).

Reverted changesets:

"Stop dispatching events with SVGElementInstance objects as
their targets"
https://bugs.webkit.org/show_bug.cgi?id=141108
http://trac.webkit.org/changeset/179467

"REGRESSION(r179467): svg/custom/use-events-crash.svg times
out"
http://trac.webkit.org/changeset/179470

2:05 PM Changeset in webkit [179470] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION(r179467): svg/custom/use-events-crash.svg times out

Looks like the new test (svg/custom/use-event-retargeting.html) somehow breaks
subsequent one, let's try skipping it for now.

1:23 PM Changeset in webkit [179469] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

Web platform test server is not always launching properly on Mac EWS bots
https://bugs.webkit.org/show_bug.cgi?id=141141

Unreviewed.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:

(create_wpt_empty_file_if_needed): Removed creation of empty init.py files from AutoInstalled modules.

10:42 AM Changeset in webkit [179468] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove ViewGestureController tracing
https://bugs.webkit.org/show_bug.cgi?id=141137

Reviewed by Tim Horton.

Remove the tracing added in r176133, now that http://webkit.org/b/138750 is fixed.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
(WebKit::ViewGestureController::willCommitPostSwipeTransitionLayerTree):
(WebKit::ViewGestureController::removeSwipeSnapshot):
(WebKit::addLogEntry): Deleted.
(WebKit::dumpLogEntries): Deleted.

  • UIProcess/mac/ViewGestureController.h:
7:22 AM Changeset in webkit [179467] by Darin Adler
  • 6 edits
    2 adds
    12 deletes in trunk

Source/WebCore:
Stop dispatching events to with SVGElementInstance objects as their targets
https://bugs.webkit.org/show_bug.cgi?id=141108

Reviewed by Anders Carlsson.

Test: svg/custom/use-event-retargeting.html

  • dom/EventDispatcher.cpp:

(WebCore::eventTargetRespectingTargetRules): Replaced the code that retargeted
events at SVGElementInstance objects with code that retargets them at the use
element instead. Also wrote the code in a simpler way.

LayoutTests:
Stop dispatching events with SVGElementInstance objects as their targets
https://bugs.webkit.org/show_bug.cgi?id=141108

Reviewed by Anders Carlsson.

Many tests are no longer relevant once we aren't doing this any more.

  • platform/gtk/svg/custom/use-instanceRoot-event-bubbling-expected.png: Removed.
  • platform/gtk/svg/custom/use-instanceRoot-modifications-expected.png: Removed.
  • platform/gtk/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
  • platform/mac/svg/custom/use-instanceRoot-event-bubbling-expected.png: Removed.
  • platform/mac/svg/custom/use-instanceRoot-modifications-expected.png: Removed.
  • platform/mac/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
  • svg/custom/use-instanceRoot-modifications.svg: Removed.
  • svg/custom/use-instanceRoot-with-use-removed-expected.txt: Removed.
  • svg/custom/use-instanceRoot-with-use-removed.svg: Removed.
  • svg/custom/resources/use-instanceRoot-event-bubbling.js: Updated this test to expect

the events to be dispatched with the SVGUseElement as the target. I talked this over with
Sam Weinig and we decided this is good behavior for now, and it almost matches what the
spec says. Might be worth refining later.

  • svg/custom/use-instanceRoot-event-bubbling-expected.txt: Updated expected results.
  • svg/custom/use-instanceRoot-event-bubbling.xhtml: Tweaked the test a little. It still

could use improvement; it's like half a "repaint test", which is strange.

  • svg/custom/use-event-retargeting-expected.txt: Added. Got this test from Blink.
  • svg/custom/use-event-retargeting.html: Added. Ditto.
6:53 AM Changeset in webkit [179466] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewd EFL gardening. Add new failing tests related to W3C SVG 1.1.

  • platform/efl/TestExpectations:
5:02 AM Changeset in webkit [179465] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Update crash tests related to webgl because
webgl isn't supported by EFL port at the moment.

  • platform/efl/TestExpectations:
4:22 AM Changeset in webkit [179464] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Update tests which don't have expectation result yet.

  • platform/efl/TestExpectations:
2:25 AM Changeset in webkit [179463] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[TexMap] Optimize TextureMapperLayer::removeAllChildren()
https://bugs.webkit.org/show_bug.cgi?id=140734

Reviewed by Chris Dumez.

Instead of removing the children from the Vector member one by one,
move the Vector out and iterate through the ex-children, clearing
out the pointer to the parent.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::removeAllChildren):

2:17 AM Changeset in webkit [179462] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[TexMap] Avoid unnecessary TransformationMatrix copies in GraphicsLayerTransform
https://bugs.webkit.org/show_bug.cgi?id=140735

Reviewed by Chris Dumez.

  • platform/graphics/GraphicsLayerTransform.cpp:

(WebCore::GraphicsLayerTransform::combined): Return a const reference to the matrix.
(WebCore::GraphicsLayerTransform::combinedForChildren): Ditto.
(WebCore::GraphicsLayerTransform::combineTransforms): First copy the parent transform,
then apply the translation and multiplication. Previously this copied the parent
transform into a temporary object, performed the translation and multiplication, and
copied that temporary object again when assigning to the member variable.
(WebCore::GraphicsLayerTransform::combineTransformsForChildren): Mark const. m_childrenDirty
and m_combinedForChildren members are marked mutable.

  • platform/graphics/GraphicsLayerTransform.h:

Jan 31, 2015:

11:30 PM Changeset in webkit [179461] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Update flaky tests regarding W3C SVG 1.1 tests.

  • platform/efl/TestExpectations:
10:54 PM Changeset in webkit [179460] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed test machine configuration change.

  • http/conf/apache2.4-httpd-win.conf: Provide reasonable default PidFile location for xampp-based install.
8:18 PM Changeset in webkit [179459] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r177689): Emoji variation sequences rendered incorrectly (as characters from other non-emoji font)
https://bugs.webkit.org/show_bug.cgi?id=141112

Patch by Myles C. Maxfield <litherum@gmail.com> on 2015-01-31
Reviewed by Sam Weinig.

Source/WebCore:

Typo in r177689.

Test: platform/mac/fast/text/combining-mark-paint.html

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

LayoutTests:

  • platform/mac/fast/text/combining-mark-paint-expected.html: Added.
  • platform/mac/fast/text/combining-mark-paint.html: Added.
8:03 PM Changeset in webkit [179458] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

Caused more mallocing than the volatility saved. (Requested by
kling on #webkit).

Reverted changeset:

"[Cocoa] Make decoded image data purgeable ASAP."
https://bugs.webkit.org/show_bug.cgi?id=140298
http://trac.webkit.org/changeset/178183

7:58 PM Changeset in webkit [179457] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

Crash (DFG assertion) beneath AbstractInterpreter::verifyEdge() @ http://experilous.com/1/planet-generator/2014-09-28/version-1
https://bugs.webkit.org/show_bug.cgi?id=141111

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

In LowerDFGToLLVM::compileNode(), if we determine while compiling a node that we would have
exited, we don't need to process the OSR availability or abstract interpreter.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::safelyInvalidateAfterTermination): Broke this out a a separate
method since we need to call it at the top and near the bottom of compileNode().
(JSC::FTL::LowerDFGToLLVM::compileNode):

LayoutTests:

New tests.

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

(MyObject):
(foo):
(.result):
(bar):

7:11 PM Changeset in webkit [179456] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Use simpler CachedResourceMap structure in MemoryCache with CACHE_PARTITIONING enabled
https://bugs.webkit.org/show_bug.cgi?id=141110

Reviewed by Antti Koivisto.

Use simpler CachedResourceMap structure in MemoryCache with CACHE_PARTITIONING
enabled. Previously, we would be using a HashMap of HashMap to store
CachedResources. The outer HashMap would use the URL as key and the inner
HashMap would use the partition name as key. This would make traversing the
structure overly complicated, especially considering that the code needs to
traverse a simple HashMap if CACHE_PARTITIONING is disabled.

This patch updates the CachedResourceMap structure to be a simple HashMap,
whose key is an std::pair<URL, String /* partitionName */>. Having a flat
structure simplifies the traversal code a lot and enables more code sharing
between CACHE_PARTITIONING and !CACHE_PARTITIONING. This shouldn't regress
performance because we always have both a URL and a partition name when we
need to look up a resource. We never need to retrieve all resources with
a particular URL.

This patch also switches to using a URL as key instead of a String as we
always have a URL has input.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::add):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::resourceForRequestImpl):
(WebCore::MemoryCache::removeImageFromCache):
(WebCore::MemoryCache::remove):
After removing the resource from the CachedResourceMap, remove the
sessionID from m_sessionResources if the CachedResourceMap is now
empty. Previously, no code was removing sessionIDs from
m_sessionResources.

(WebCore::MemoryCache::removeResourcesWithOrigin):
(WebCore::MemoryCache::getOriginsWithCache):
(WebCore::MemoryCache::getStatistics):
(WebCore::MemoryCache::setDisabled):

  • loader/cache/MemoryCache.h:
7:04 PM Changeset in webkit [179455] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Merge the iOS implementations of GraphicsContext::drawText and GraphicsContext::drawBidiText with the platform independent ones
https://bugs.webkit.org/show_bug.cgi?id=141131

Patch by Sam Weinig <sam@webkit.org> on 2015-01-31
Reviewed by Antti Koivisto.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawText):
The only difference between the two implementation here was the iOS one returns the length of
the text that was drawn. As all platforms now support that, we can merge by keeping the iOS one.

(WebCore::GraphicsContext::drawBidiText):
This function had a few differences:

  • iOS returns the length of the text that was drawn.

Since this is not used anywhere, I dropped this ability.

  • iOS took additional inputs of initial bidi status and run length (and returned the the final bidi status as an out parameter)

Since this was also unused, I dropped it.

  • iOS used the fact that font.drawText() returns the length that was drawn, to avoid measuring the text twice.

I kept this, since all platforms now support this.

  • platform/graphics/GraphicsContext.h:

Update signatures. Remove WEBCORE_EXPORT for function that is not used outside of WebCore.

6:58 PM Changeset in webkit [179454] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Shrink RenderBlock.
<https://webkit.org/b/141129>

Reviewed by Antti Koivisto.

Get rid of the bitfield in RenderBlock by moving the essential bits to
RenderElement (plenty of space in the bitfield there.)

RenderBlock also had a cache of its line-height, but it doesn't appear
to help any of the benchmarks that we're tracking so I'd say it's okay
to lose this optimization.

This knocks 8 bytes off of RenderBlock (and all of its subclasses.)

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::recomputeLogicalWidth):
(WebCore::RenderBlock::lineHeight):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::setHasMarginBeforeQuirk):
(WebCore::RenderBlock::setHasMarginAfterQuirk):
(WebCore::RenderBlock::setHasBorderOrPaddingLogicalWidthChanged):
(WebCore::RenderBlock::hasMarginBeforeQuirk):
(WebCore::RenderBlock::hasMarginAfterQuirk):
(WebCore::RenderBlock::hasBorderOrPaddingLogicalWidthChanged):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
(WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
(WebCore::RenderBlockFlow::ensureLineBoxes):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::lineLayoutPath):
(WebCore::RenderBlockFlow::setLineLayoutPath):
(WebCore::RenderBlockFlow::setHasMarkupTruncation):
(WebCore::RenderBlockFlow::hasMarkupTruncation):
(WebCore::RenderBlockFlow::simpleLineLayout):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::setRenderBlockHasMarginBeforeQuirk):
(WebCore::RenderElement::setRenderBlockHasMarginAfterQuirk):
(WebCore::RenderElement::setRenderBlockHasBorderOrPaddingLogicalWidthChanged):
(WebCore::RenderElement::renderBlockHasMarginBeforeQuirk):
(WebCore::RenderElement::renderBlockHasMarginAfterQuirk):
(WebCore::RenderElement::renderBlockHasBorderOrPaddingLogicalWidthChanged):
(WebCore::RenderElement::setRenderBlockFlowLineLayoutPath):
(WebCore::RenderElement::setRenderBlockFlowHasMarkupTruncation):
(WebCore::RenderElement::renderBlockFlowLineLayoutPath):
(WebCore::RenderElement::renderBlockFlowHasMarkupTruncation):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::removeLineRegionInfo):

6:06 PM Changeset in webkit [179453] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Remove useless PageCache::singleton() call from PageCache member function
https://bugs.webkit.org/show_bug.cgi?id=141127

Reviewed by Andreas Kling.

  • history/PageCache.cpp:

(WebCore::PageCache::get):

4:38 PM Changeset in webkit [179452] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Remove empty #if/#endif

Rubber-stamped by Antti Koivisto.

  • platform/graphics/FontPlatformData.h:
3:52 PM Changeset in webkit [179451] by weinig@apple.com
  • 5 edits in trunk/Source/WebCore

Remove support for disabling drawing of emoji
https://bugs.webkit.org/show_bug.cgi?id=141126

Reviewed by Antti Koivisto.

Remove unused support for disabling the drawing of emoji.

  • WebCore.exp.in:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::emojiDrawingEnabled): Deleted.
(WebCore::GraphicsContext::setEmojiDrawingEnabled): Deleted.

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContextState::GraphicsContextState):

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::FontCascade::drawGlyphs):

2:55 PM Changeset in webkit [179450] by weinig@apple.com
  • 65 edits in trunk

Remove even more Mountain Lion support
https://bugs.webkit.org/show_bug.cgi?id=141124

Reviewed by Alexey Proskuryakov.

Source/bmalloc:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

  • API/tests/DateTests.mm:
  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • jit/ExecutableAllocatorFixedVMPool.cpp:

Source/WebCore:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityActionNames]):
(-[WebAccessibilityObjectWrapper subrole]):

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayer::drawLayerContents):

  • platform/mac/ThemeMac.mm:

(-[WebCoreThemeView _focusRingVisibleRect]):

Source/WebKit/mac:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • Configurations/WebKitLegacy.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • Configurations/WebContentService.Development.xcconfig:
  • Configurations/WebContentService.xcconfig:
  • Configurations/WebKit.xcconfig:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:

Source/WTF:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • wtf/Assertions.cpp:
  • wtf/FeatureDefines.h:
  • wtf/Platform.h:

Tools:

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::attributedStringRangeIsMisspelled):

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • DumpRenderTree/mac/DumpRenderTree.mm:

(activateTestingFonts):
(prepareConsistentTestingEnvironment):

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):
(-[EventSendingController contextClick]):

  • DumpRenderTree/mac/TextInputController.m:
  • LayoutTestRelay/Configurations/Base.xcconfig:
  • LayoutTestRelay/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[WK2BrowserWindowController webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[WK2BrowserWindowController webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):

  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:

(-[DownloadDelegate _downloadDidFinish:]):

  • TestWebKitAPI/Tests/mac/StringTruncator.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/mac/InjectedBundleControllerMac.mm:

(TestWebKitAPI::InjectedBundleController::platformInitialize):

  • WebKitLauncher/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled):

  • WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:

(WTR::activateFonts):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):
(WTR::TestController::webProcessName):

  • WebKitTestRunner/mac/EventSenderProxy.mm:
  • asan/asan.xcconfig:
2:54 PM Changeset in webkit [179449] by Antti Koivisto
  • 4 edits in trunk

Enable WebKit disk cache on OS X
https://bugs.webkit.org/show_bug.cgi?id=141022

Reviewed by Gavin Barraclough.

Source/WebKit2:

  • config.h: Flip the switch.

LayoutTests:

2:51 PM Changeset in webkit [179448] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r179447.

Forgot to include the test.

Reverted changeset:

"Enable WebKit disk cache on OS X"
https://bugs.webkit.org/show_bug.cgi?id=141022
http://trac.webkit.org/changeset/179447

2:43 PM Changeset in webkit [179447] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Enable WebKit disk cache on OS X
https://bugs.webkit.org/show_bug.cgi?id=141022

Reviewed by Gavin Barraclough.

  • config.h: Flip the switch.
12:43 PM Changeset in webkit [179446] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

OSObjectPtr does not work with dispatch_data_t on Maverics
https://bugs.webkit.org/show_bug.cgi?id=141081

Reviewed by Zalan Bujtas.

Previous attempt to special case dispatch_data_t in OSObjectPtr didn't work in all cases
probably due to the context sensitivity of the definition of the dispatch_data_t type.

For now, add DispatchPtr for the cache code and use it.

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::DispatchPtr::DispatchPtr):
(WebKit::DispatchPtr::~DispatchPtr):
(WebKit::DispatchPtr::operator=):
(WebKit::DispatchPtr::get):
(WebKit::DispatchPtr::operator bool):
(WebKit::adoptDispatch):

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::Data::Data):
(WebKit::NetworkCacheStorage::Data::data):
(WebKit::NetworkCacheStorage::NetworkCacheStorage):
(WebKit::createIOChannelForKey):
(WebKit::decodeEntry):
(WebKit::encodeEntryMetaData):
(WebKit::encodeEntry):

12:42 PM Changeset in webkit [179445] by weinig@apple.com
  • 3 edits
    1 move
    1 delete in trunk/Source/WebCore

Merge SimpleFontDataIOS.mm and SimpleFontDataMac.mm into FontCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=141101

Rubber-stamped by Dan Bernstein.

  • WebCore.xcodeproj/project.pbxproj:

Remove SimpleFontDataIOS.mm and SimpleFontDataMac.mm. Add FontCocoa.mm.

  • platform/graphics/Font.h:

Remove a few CG only functions from the header that can be implemented as static functions
in the implementation file.

  • platform/graphics/cocoa/FontCocoa.mm: Copied from Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm.

(WebCore::fontFamilyShouldNotBeUsedForArabic):
(WebCore::Font::platformInit):
(WebCore::Font::platformCharWidthInit):
(WebCore::Font::platformCreateScaledFont):
(WebCore::Font::determinePitch):
(WebCore::renderingStyle):
(WebCore::advanceForColorBitmapFont):
(WebCore::hasCustomTracking):
(WebCore::canUseFastGlyphAdvanceGetter):
(WebCore::Font::platformWidthForGlyph):
(WebCore::Font::compositeFontReferenceFont):
(WebCore::copyFontTableForTag): Deleted.
(WebCore::Font::renderingStyle): Deleted.
Merge in the iOS specific parts.

  • platform/graphics/ios/SimpleFontDataIOS.mm: Removed.
  • platform/graphics/mac/SimpleFontDataMac.mm: Removed.
12:30 PM Changeset in webkit [179444] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Regression(r179438) Simple line layout: ASSERTION at SimpleLineLayout::FlowContentsIterator::runWidth().
https://bugs.webkit.org/show_bug.cgi?id=141121

Reviewed by Antti Koivisto.

When a breakable text fragment does not fit the current line, we split it.
The first part stays on the current line, while the second part gets pushed to the next line.
In certain cases, the first part could end up being empty.
This patch ensures that we don't measure empty fragments.

Covered by existing tests.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::splitFragmentToFitLine):

10:28 AM Changeset in webkit [179443] by commit-queue@webkit.org
  • 9 edits in trunk/Source

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

"caused a memory use regression" (Requested by Guest45 on
#webkit).

Reverted changeset:

"Use FastMalloc (bmalloc) instead of BlockAllocator for GC
pages"
https://bugs.webkit.org/show_bug.cgi?id=140900
http://trac.webkit.org/changeset/179426

10:12 AM Changeset in webkit [179442] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed 64-bit build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Correct symbol

definitions for 64-bit build.

9:43 AM Changeset in webkit [179441] by commit-queue@webkit.org
  • 4 edits in trunk

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

This didn't fully fix the issue (Requested by anttik on
#webkit).

Reverted changeset:

"OSObjectPtr does not work with dispatch_data_t on Maverics"
https://bugs.webkit.org/show_bug.cgi?id=141081
http://trac.webkit.org/changeset/179408

3:24 AM Changeset in webkit [179440] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

https://trac.webkit.org/changeset/179439 breaks a python test
https://bugs.webkit.org/show_bug.cgi?id=141114

Unreviewed.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:

(WebPlatformTestServer._install_modules): Checks whether WPTModules file exists before reading it as no such file exists in mock tests.

1:46 AM Changeset in webkit [179439] by youenn.fablet@crf.canon.fr
  • 6 edits
    137 adds in trunk

Import W3C web platform tests infrastructure
https://bugs.webkit.org/show_bug.cgi?id=140934

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Initial import of the web-platform-tests repository.
This includes all infrastructure folders.
web-platform-tests submodules are downloaded when needed based on resources/WPTModules.

This patch also adds two tests from the domparsing folder to ensure
W3C test infrastructure works properly on WebKit bots.

  • resources/WPTModules: Added
  • web-platform-tests/.gitignore: Added.
  • web-platform-tests/_certs: Added.
  • web-platform-tests/common: Added.
  • web-platform-tests/config.default.json: Added.
  • web-platform-tests/fonts: Added.
  • web-platform-tests/images: Added.
  • web-platform-tests/resource: Added.
  • web-platform-tests/serve.py: Added.
  • web-platform-tests/tools: Added.
  • web-platform-tests/w3c-import.log: Added
  • web-platform-tests/domparsing/DOMParser-parseFromString-html-expected.txt: Added.
  • web-platform-tests/domparsing/DOMParser-parseFromString-html.html: Added.
  • web-platform-tests/domparsing/insert-adjacent-expected.txt: Added.
  • web-platform-tests/domparsing/insert-adjacent.html: Added.
  • web-platform-tests/domparsing/w3c-import.log: Added.

Tools:

Loading necessary web platform tests modules before launching server.
Ensuring that some empty init.py files are present and create them if necessary.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:

LayoutTests:

infrastructure folders. Added one line for a partially passing test.

Jan 30, 2015:

10:26 PM Changeset in webkit [179438] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Simple line layout: Improve FlowContentsIterator::TextFragment's encapsulation.
https://bugs.webkit.org/show_bug.cgi?id=141090

Reviewed by Andreas Kling.

Make members private to avoid accidental change in TextFragment.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::addFragment):
(WebCore::SimpleLineLayout::LineState::addWhitespace):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::firstFragment):
(WebCore::SimpleLineLayout::createLineRuns):

  • rendering/SimpleLineLayoutFlowContentsIterator.cpp:

(WebCore::SimpleLineLayout::FlowContentsIterator::nextTextFragment):

  • rendering/SimpleLineLayoutFlowContentsIterator.h:

(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::start):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::end):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::width):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::type):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::isCollapsed):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::isBreakable):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::isEmpty):

9:27 PM Changeset in webkit [179437] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Another unreviewed test fix.

Correct copy/paste error in buildbot handling.

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):
(LayoutTestApacheHttpd._get_apache_config_file_path):

8:59 PM Changeset in webkit [179436] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed test fix.

Correct path handling based on failures on test bots to get things running again.

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):
(LayoutTestApacheHttpd._get_apache_config_file_path):

7:37 PM Changeset in webkit [179435] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Make LineState fragment handling simpler.
https://bugs.webkit.org/show_bug.cgi?id=141100

Reviewed by Andreas Kling.

New fragments are appeneded to the Run's last entry
instead of accumulating them until after a new run is required.
(whitespace collapse or line end)
LineState::appendFragment manages whitespace collapsing now.
This makes createLineRuns() logic lighter and no need to "flush"
the LineState when the line ends.

No change in functionality.

  • rendering/SimpleLineLayout.cpp: Make LineState members private and introduce getters.

(WebCore::SimpleLineLayout::LineState::setAvailableWidth):
(WebCore::SimpleLineLayout::LineState::setLogicalLeftOffset):
(WebCore::SimpleLineLayout::LineState::setOverflowedFragment):
(WebCore::SimpleLineLayout::LineState::availableWidth):
(WebCore::SimpleLineLayout::LineState::logicalLeftOffset):
(WebCore::SimpleLineLayout::LineState::overflowedFragment):
(WebCore::SimpleLineLayout::LineState::hasTrailingWhitespace):
(WebCore::SimpleLineLayout::LineState::isWhitespaceOnly):
(WebCore::SimpleLineLayout::LineState::fits):
(WebCore::SimpleLineLayout::LineState::firstCharacterFits):
(WebCore::SimpleLineLayout::LineState::width):
(WebCore::SimpleLineLayout::LineState::appendFragment): Append each fragment to the Run
by either creating a new run or expanding the last one.
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace): Remove trailing whitespace from
the Run's and reset the trailing whitespace variables.
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::updateLineConstrains):
(WebCore::SimpleLineLayout::firstFragment):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::LineState::createRun): Deleted.
(WebCore::SimpleLineLayout::LineState::addFragment): Deleted.
(WebCore::SimpleLineLayout::LineState::addWhitespace): Deleted.
(WebCore::SimpleLineLayout::LineState::hasWhitespaceOnly): Deleted.

7:06 PM Changeset in webkit [179434] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop HistoryItem's m_prev / m_next
https://bugs.webkit.org/show_bug.cgi?id=141105

Reviewed by Zalan Bujtas.

Drop HistoryItem's m_prev / m_next. Those are no longer needed after
the PageCache refactoring in <http://trac.webkit.org/r179347>.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::HistoryItem):

  • history/HistoryItem.h:
6:23 PM Changeset in webkit [179433] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Clean up: Remove unnecessary <dispatch/dispatch.h> header from RemoteInspectorDebuggableConnection.h
https://bugs.webkit.org/show_bug.cgi?id=141067

Patch by Daniel Bates <dabates@apple.com> on 2015-01-30
Reviewed by Timothy Hatcher.

Remove the header <dispatch/dispatch.h> from RemoteInspectorDebuggableConnection.h as we
do not make use of its functionality. Instead, include this header in RemoteInspectorDebuggableConnection.mm
and RemoteInspector.mm. The latter depended on <dispatch/dispatch.h> being included via
header RemoteInspectorDebuggableConnection.h.

  • inspector/remote/RemoteInspector.mm: Include header <dispatch/dispatch.h>.
  • inspector/remote/RemoteInspectorDebuggableConnection.h: Remove header <dispatch/dispatch.h>.
  • inspector/remote/RemoteInspectorDebuggableConnection.mm: Include header <dispatch/dispatch.h>.
6:09 PM Changeset in webkit [179432] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Update the comment in RenderLayer for clarity as related code location is changed
https://bugs.webkit.org/show_bug.cgi?id=141103

Patch by Jeongmin Kim <jm86.kim@lge.com> on 2015-01-30
Reviewed by Simon Fraser.

Update the comment in RenderLayer for clarity as related code location is changed
The repainting in implicitClose() that is now called in setVisualUpdatesAllowed(bool) is removed

  • rendering/RenderLayer.cpp:

(WebCore::shouldSuppressPaintingLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers):

5:39 PM Changeset in webkit [179431] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Optimize MemoryCache::getSessionMap() a bit
https://bugs.webkit.org/show_bug.cgi?id=141069

Reviewed by Anders Carlsson.

Optimize MemoryCache::getSessionMap() a bit by doing 1 HashMap lookup
instead of previously 3. Also rename the method to
ensureSessionResourceMap() as we usually don't use "get" prefix for
getters and the implementation will also create the HashMap value if
the key is not found.

Also add a alternative sessionResourceMap() method which returns
the HashMap value if the key exists but doesn't try to create it if
missing. This is actually what we really want for some call sites.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::add):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::resourceForRequest):
(WebCore::MemoryCache::removeImageFromCache):
(WebCore::MemoryCache::remove):
(WebCore::MemoryCache::getSessionMap): Deleted.

  • loader/cache/MemoryCache.h:
5:28 PM Changeset in webkit [179430] by timothy_horton@apple.com
  • 11 edits
    1 add in trunk/Source/WebKit2

Add and hook up APINavigationClient
https://bugs.webkit.org/show_bug.cgi?id=140698

Reviewed by Sam Weinig.

Add a single APINavigationClient that NavigationState implements and
WebPageProxy prefers over APILoaderClient and APIPolicyClient.

  • UIProcess/API/APILoaderClient.h:

Fix a comment.

  • UIProcess/API/APINavigationClient.h: Added.

APINavigationClient is the union of NavigationState's overrides of APILoaderClient and APIPolicyClient.
Names are adjusted to more closely match the Modern API.

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

Instead of having policy and loader clients, NavigationState has a single navigation client.
Adjust as necessary.

Move as much logic as possible (isMainFrame checks, construction of API objects) out of here
and into WebPageProxy.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Install the aforementioned single navigation client.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setNavigationClient):
Add a navigation client setter.

For all policy and loader client calls, if we have a navigation client, use that;
otherwise, fall back on the policy and loader clients.

  • UIProcess/WebPageProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
5:23 PM Changeset in webkit [179429] by Yusuke Suzuki
  • 52 edits
    7 copies
    7 moves
    18 adds
    2 deletes in trunk

Implement ES6 Symbol
https://bugs.webkit.org/show_bug.cgi?id=140435

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patch implements ES6 Symbol. In this patch, we don't support
Symbol.keyFor, Symbol.for, Object.getOwnPropertySymbols. They will be
supported in the subsequent patches.

Since ES6 Symbol is introduced as new primitive value, we implement
Symbol as a derived class from JSCell. And now JSValue accepts Symbol*
as a new primitive value.

Symbol has a *unique* flagged StringImpl* as an uid. Which pointer
value represents the Symbol's identity. So don't compare Symbol's
JSCell pointer value for comparison.
This enables re-producing Symbol primitive value from StringImpl* uid
by executingSymbol::create(vm, uid). This is needed to produce
Symbol primitive values from stored StringImpl* in Object.getOwnPropertySymbols.

And Symbol.Description is folded into the string value of Symbol's uid.
By doing so, we can represent ES6 Symbol without extending current PropertyTable key; StringImpl*.

(JSC::BuiltinExecutables::createBuiltinExecutable):

  • builtins/BuiltinNames.h:
  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::subtype):

  • interpreter/Interpreter.cpp:
  • jit/JITOperations.cpp:

(JSC::getByVal):

  • llint/LLIntData.cpp:

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

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getByVal):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

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

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opIn):

  • runtime/ExceptionHelpers.cpp:

(JSC::createUndefinedVariableError):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::synthesizePrototype):
(JSC::JSValue::dumpInContextAssumingStructure):
(JSC::JSValue::toStringSlowCase):

  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::isSymbol):
(JSC::JSValue::isPrimitive):
(JSC::JSValue::toPropertyKey):

It represents ToPropertyKey abstract operation in the ES6 spec.
It cleans up the old implementation's isName checks.
And to prevent performance regressions in

js/regress/fold-get-by-id-to-multi-get-by-offset-rare-int.html
js/regress/fold-get-by-id-to-multi-get-by-offset.html

we annnotate this function as ALWAYS_INLINE.

(JSC::JSValue::getPropertySlot):
(JSC::JSValue::get):
(JSC::JSValue::equalSlowCaseInline):
(JSC::JSValue::strictEqualSlowCaseInline):

  • runtime/JSCell.cpp:

(JSC::JSCell::put):
(JSC::JSCell::putByIndex):
(JSC::JSCell::toPrimitive):
(JSC::JSCell::getPrimitiveNumber):
(JSC::JSCell::toNumber):
(JSC::JSCell::toObject):

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::isSymbol):
(JSC::JSCell::toBoolean):
(JSC::JSCell::pureToBoolean):

  • runtime/JSGlobalObject.cpp:

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

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::symbolPrototype):
(JSC::JSGlobalObject::symbolObjectStructure):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):

  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):

  • runtime/JSType.h:
  • runtime/JSTypeInfo.h:

(JSC::TypeInfo::isName): Deleted.

  • runtime/MapData.cpp:

(JSC::MapData::find):
(JSC::MapData::add):
(JSC::MapData::remove):
(JSC::MapData::replaceAndPackBackingStore):

  • runtime/MapData.h:

(JSC::MapData::clear):

  • runtime/NameInstance.h: Removed.
  • runtime/NamePrototype.cpp: Removed.
  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorDefineProperty):

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):

  • runtime/Operations.cpp:

(JSC::jsTypeStringForValue):
(JSC::jsIsObjectType):

  • runtime/PrivateName.h:

(JSC::PrivateName::PrivateName):
(JSC::PrivateName::operator==):
(JSC::PrivateName::operator!=):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::find):
(JSC::PropertyTable::get):

  • runtime/PropertyName.h:

(JSC::PropertyName::PropertyName):
(JSC::PropertyName::publicName):

  • runtime/SmallStrings.h:
  • runtime/StringConstructor.cpp:

(JSC::callStringConstructor):

In ES6, String constructor accepts Symbol to execute String(symbol).

  • runtime/Structure.cpp:

(JSC::Structure::getPropertyNamesFromStructure):

  • runtime/StructureInlines.h:

(JSC::Structure::prototypeForLookup):

  • runtime/Symbol.cpp: Added.

(JSC::Symbol::Symbol):
(JSC::SymbolObject::create):
(JSC::Symbol::toPrimitive):
(JSC::Symbol::toBoolean):
(JSC::Symbol::getPrimitiveNumber):
(JSC::Symbol::toObject):
(JSC::Symbol::toNumber):
(JSC::Symbol::destroy):
(JSC::Symbol::descriptiveString):

  • runtime/Symbol.h: Added.

(JSC::Symbol::createStructure):
(JSC::Symbol::create):
(JSC::Symbol::privateName):
(JSC::Symbol::finishCreation):
(JSC::asSymbol):

  • runtime/SymbolConstructor.cpp: Renamed from Source/JavaScriptCore/runtime/NameConstructor.cpp.

(JSC::SymbolConstructor::SymbolConstructor):
(JSC::SymbolConstructor::finishCreation):
(JSC::callSymbol):
(JSC::SymbolConstructor::getConstructData):
(JSC::SymbolConstructor::getCallData):

  • runtime/SymbolConstructor.h: Renamed from Source/JavaScriptCore/runtime/NameConstructor.h.

(JSC::SymbolConstructor::create):
(JSC::SymbolConstructor::createStructure):

  • runtime/SymbolObject.cpp: Renamed from Source/JavaScriptCore/runtime/NameInstance.cpp.

(JSC::SymbolObject::SymbolObject):
(JSC::SymbolObject::finishCreation):
(JSC::SymbolObject::defaultValue):

Now JSC doesn't support @@toPrimitive. So instead of it, we implement
Symbol.prototype[@@toPrimitive] as ES5 Symbol.DefaultValue.

  • runtime/SymbolObject.h: Added.

(JSC::SymbolObject::create):
(JSC::SymbolObject::internalValue):
(JSC::SymbolObject::createStructure):

  • runtime/SymbolPrototype.cpp: Added.

(JSC::SymbolPrototype::SymbolPrototype):
(JSC::SymbolPrototype::finishCreation):
(JSC::SymbolPrototype::getOwnPropertySlot):
(JSC::symbolProtoFuncToString):
(JSC::symbolProtoFuncValueOf):

  • runtime/SymbolPrototype.h: Renamed from Source/JavaScriptCore/runtime/NamePrototype.h.

(JSC::SymbolPrototype::create):
(JSC::SymbolPrototype::createStructure):

SymbolPrototype object is ordinary JS object. Not wrapper object of Symbol.
It is tested in js/symbol-prototype-is-ordinary-object.html.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WTF:

Introduce new unique string mechanizm into StringImpl.
It is used for implementing Symbol which holds a Description value.

  • wtf/text/AtomicString.h:

(WTF::AtomicString::add):
(WTF::AtomicString::addWithStringTableProvider):

Previously, we checked isAtomic() or !length(). This guard can filter out EmptyUnique.
But now, we introduced new unique StringImpl. Since it has an actual string value, we need to check isUnique().

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl):
(WTF::StringImpl::createUnique):

In createUnique, we leverage Substring mechanizm to produce a new unique
string from an existing string.

  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):
(WTF::StringImpl::createUniqueEmpty):
(WTF::StringImpl::flagIsUnique):
(WTF::StringImpl::isUnique):
(WTF::StringImpl::setIsAtomic):
(WTF::StringImpl::createEmptyUnique): Deleted.
(WTF::StringImpl::isEmptyUnique): Deleted.

Instead of EmptyUnique, we introduced new flag to StringImpl, isUnique.
While EmptyUnique cannot hold any string values except for empty string,
the unique StringImpl can hold any String values.
We fold the Symbol's descriptiveString value here.

  • wtf/text/StringStatics.cpp:

(WTF::StringImpl::hashAndFlagsForUnique):
(WTF::StringImpl::hashAndFlagsForEmptyUnique): Deleted.

LayoutTests:

  • js/script-tests/symbol-abstract-equality-comparison.js: Added.

(Pair):
(relationalOperators.forEach):

  • js/script-tests/symbol-abstract-relational-comparison.js: Added.

(relationalOperators.forEach):

  • js/script-tests/symbol-in-map.js: Added.

(set shouldBe):

  • js/script-tests/symbol-object.js: Added.
  • js/script-tests/symbol-prototype-is-ordinary-object.js: Added.
  • js/script-tests/symbol-strict-equality-comparison.js: Added.

(Pair):
(relationalOperators.forEach):

  • js/script-tests/symbol-tostring.js: Added.
  • js/script-tests/symbols.js: Renamed from LayoutTests/js/script-tests/names.js.

(forIn):

  • js/symbol-abstract-equality-comparison-expected.txt: Added.
  • js/symbol-abstract-equality-comparison.html: Copied from LayoutTests/js/names.html.
  • js/symbol-abstract-relational-comparison-expected.txt: Added.
  • js/symbol-abstract-relational-comparison.html: Copied from LayoutTests/js/names.html.
  • js/symbol-in-map-expected.txt: Added.
  • js/symbol-in-map.html: Copied from LayoutTests/js/names.html.
  • js/symbol-object-expected.txt: Added.
  • js/symbol-object.html: Copied from LayoutTests/js/names.html.
  • js/symbol-prototype-is-ordinary-object-expected.txt: Added.
  • js/symbol-prototype-is-ordinary-object.html: Copied from LayoutTests/js/names.html.
  • js/symbol-strict-equality-comparison-expected.txt: Added.
  • js/symbol-strict-equality-comparison.html: Copied from LayoutTests/js/names.html.
  • js/symbol-tostring-expected.txt: Added.
  • js/symbol-tostring.html: Copied from LayoutTests/js/names.html.
  • js/symbols-expected.txt: Renamed from LayoutTests/js/names-expected.txt.
  • js/symbols.html: Renamed from LayoutTests/js/names.html.
5:22 PM Changeset in webkit [179428] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed. Remove outdated comment.

  • loader/cache/MemoryCache.cpp:
4:58 PM Changeset in webkit [179427] by eric.carlson@apple.com
  • 5 edits
    1 delete in trunk/Source

Remove MediaPlayerProxy.h
https://bugs.webkit.org/show_bug.cgi?id=141087

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Remove reference to MediaPlayerProxy.h.
  • platform/graphics/mac/MediaPlayerProxy.h: Removed.

Source/WebKit/mac:

  • MigrateHeaders.make: Don't need to copy MediaPlayerProxy.h.
  • Plugins/WebPluginController.mm: Don't include MediaPlayerProxy.h.
4:51 PM Changeset in webkit [179426] by ggaren@apple.com
  • 9 edits in trunk/Source

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the HandleBlock piece of this patch.

Source/JavaScriptCore:

  • heap/HandleBlock.h:
  • heap/HandleBlockInlines.h:

(JSC::HandleBlock::create):
(JSC::HandleBlock::destroy):
(JSC::HandleBlock::HandleBlock):
(JSC::HandleBlock::payloadEnd):

  • heap/HandleSet.cpp:

(JSC::HandleSet::~HandleSet):
(JSC::HandleSet::grow):

Source/WebCore:

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::fastAlignedMalloc):
(WTF::fastAlignedFree):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/FastMalloc.h:
4:40 PM Changeset in webkit [179425] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Gardening: update some accessibility tests as failed
https://bugs.webkit.org/show_bug.cgi?id=141034

Unreviewed EFL gardening.

Patch by Dariusz Frankiewicz <Dariusz Frankiewicz> on 2015-01-30

  • platform/efl/TestExpectations:
  • platform/efl/accessibility/roles-exposed-expected.txt:

update expectation after bumping ATK to 2.15.2

4:39 PM Changeset in webkit [179424] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Call vsnprintf instead of _vsnprintf in vprintf_stderr_common
https://bugs.webkit.org/show_bug.cgi?id=141078

In windows _vsnprintf api does not place null character
automatically. Simply replace it with vsnprintf. Which is
polyfill to call wtf_vsnprintf in windows.

Patch by Namhoon Kim <yanhkim@gmail.com> on 2015-01-30
Reviewed by Brent Fulgham.

  • wtf/Assertions.cpp:
4:37 PM Changeset in webkit [179423] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Mark test css3/masking/mask-repeat-space-padding.html as passing
https://bugs.webkit.org/show_bug.cgi?id=141077

Unreviewed EFL gardening.

Patch by Piotr Pajak <p.pajak@samsung.com> on 2015-01-30

  • platform/efl/TestExpectations:
4:29 PM Changeset in webkit [179422] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

GC marking threads should clear malloc caches
https://bugs.webkit.org/show_bug.cgi?id=141097

Reviewed by Sam Weinig.

Follow-up based on Mark Hahnenberg's review: Release after the copy
phase, rather than after any phase, since we'd rather not release
between marking and copying.

  • heap/GCThread.cpp:

(JSC::GCThread::waitForNextPhase):
(JSC::GCThread::gcThreadMain):

4:04 PM Changeset in webkit [179421] by Chris Dumez
  • 16 edits in trunk/Source

Update MemoryCache code to use more references instead of pointers
https://bugs.webkit.org/show_bug.cgi?id=141099

Reviewed by Andreas Kling.
Source/WebKit2:

  • WebProcess/ResourceCache/WebResourceCacheManager.cpp:

(WebKit::WebResourceCacheManager::clearCacheForOrigin):

3:58 PM Changeset in webkit [179420] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.3

New tag.

3:56 PM Changeset in webkit [179419] by Brian Burg
  • 4 edits in trunk/Source

Web Inspector: ASSERT in InspectorTimelineAgent::internalStop
https://bugs.webkit.org/show_bug.cgi?id=141039

Reviewed by Timothy Hatcher.

Source/WebCore:

Don't unconditionally stop the environment stopwatch, since it could have
already stopped due to the debugger pausing.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::internalStop):

Source/WTF:

Add messages to Stopwatch assertions, and clean up constructor.

  • wtf/Stopwatch.h:

(WTF::Stopwatch::Stopwatch):
(WTF::Stopwatch::start):
(WTF::Stopwatch::stop):

3:56 PM Changeset in webkit [179418] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Remote Web Inspector should not show undock toolbar buttons
https://bugs.webkit.org/show_bug.cgi?id=141061

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-30
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):
Be sure to update the toolbar's dock navigation icons because they
may need to be hidden (the default state).

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

[EFL] Rebaseline efl/js/dom/global-constructors-attributes-expected.txt
https://bugs.webkit.org/show_bug.cgi?id=141029

Unreviewed EFL gardening

Patch by Karol Pawlowski <k.pawlowski@samsung.com> on 2015-01-30

  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
3:32 PM Changeset in webkit [179416] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Add match_constness<Reference, T> helper struct
https://bugs.webkit.org/show_bug.cgi?id=140905

Reviewed by Benjamin Poulain.

Add match_constness<Reference, T> helper struct to simplify downcast<>()
a bit. The purpose of this helper is to update T's constness to match
Reference's.

  • wtf/TypeCasts.h:

(WTF::downcast):

3:25 PM Changeset in webkit [179415] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Add assertion in RefPtr's operator*() to make sure we don't dereference nullptr
https://bugs.webkit.org/show_bug.cgi?id=141092

Reviewed by Anders Carlsson.

Add assertion in RefPtr's operator*() to make sure we don't dereference
nullptr.

  • wtf/RefPtr.h:

(WTF::RefPtr::operator*):

3:13 PM Changeset in webkit [179414] by Chris Dumez
  • 2 edits in trunk/Tools

Unreviewed. Fix Windows build after r179409.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::notifyDone):
(TestRunner::queueLoad):

2:54 PM Changeset in webkit [179413] by Chris Dumez
  • 5 edits
    2 adds in trunk

When no background-size is specified on the 2nd background layer, it takes the first instead of the initial value
https://bugs.webkit.org/show_bug.cgi?id=141059

Reviewed by Antti Koivisto.

Source/WebCore:

This patch fixes fill size support for 'initial' value.

Test: fast/css/background-layers-initial-size.html

  • css/CSSToStyleMap.cpp:
  • Add check for initial values and set fill size to initialFillSize() in this case (which is 'auto'). Previously, we were handling all non CSSPrimitiveValues the same way and setting the fill size type to SizeNone, which means no size (not 'auto').
  • Clean up the rest of the function (no behavior change).
  • rendering/style/FillLayer.cpp:

(WebCore::FillLayer::FillLayer):

  • Initialize m_sizeLength to SizeNone instead of calling initialFillSizeType(). There is no behavior change here. However, initialFillSizeType() was not supposed to return SizeNone.
  • Stop explicitly initializing m_sizeLength to LengthSize() as this is already what happens implicitly.
  • rendering/style/FillLayer.h:

(WebCore::FillLayer::initialFillSize):
Return FillSize() instead of FillSize(SizeNone, LengthSize()).
FillSize() is equivalent to FillSize(SizeLength, LengthSize())
which is resolved to 'auto'. SizeNone means no size which isn't
what we want as an initial value.

(WebCore::FillLayer::initialFillSizeType): Deleted.
(WebCore::FillLayer::initialFillSizeLength): Deleted.
Remove Individual initialFillSizeType() / initialFillSizeLength()
functions now that all caller use initialFillSize() instead.

LayoutTests:

Add layout test to cover the case where we have 2 background layers, with an explicit
size only for the first one.

  • fast/css/background-layers-initial-size-expected.txt: Added.
  • fast/css/background-layers-initial-size.html: Added.
2:27 PM Changeset in webkit [179412] by ggaren@apple.com
  • 6 edits in trunk/Source

GC marking threads should clear malloc caches
https://bugs.webkit.org/show_bug.cgi?id=141097

Reviewed by Andreas Kling.

Split the scavenging API into per-thread vs global, so that you can
request to scavenge your own thread without scavenging the whole heap.

Source/bmalloc:

  • bmalloc/Cache.cpp:

(bmalloc::Cache::scavenge):

  • bmalloc/bmalloc.h:

(bmalloc::api::scavengeThisThread):
(bmalloc::api::scavenge):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::releaseFastMallocFreeMemoryForThisThread):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/FastMalloc.h:
2:22 PM Changeset in webkit [179411] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

GC marking threads should clear malloc caches
https://bugs.webkit.org/show_bug.cgi?id=141097

Reviewed by Andreas Kling.

This is an attempt to ameliorate a potential memory use regression
caused by https://bugs.webkit.org/show_bug.cgi?id=140900
Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages.

FastMalloc may accumulate a per-thread cache on each of the 8-ish
GC marking threads, which can be expensive.

  • heap/GCThread.cpp:

(JSC::GCThread::waitForNextPhase): Scavenge the current thread before
going to sleep. There's probably not too much value to keeping our
per-thread cache between GCs, and it has some memory footprint.

2:00 PM Changeset in webkit [179410] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

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

Broke fast/files/workers/worker-apply-blob-url-to-xhr.html
(Requested by ap_ on #webkit).

Reverted changeset:

"Optimize MemoryCache::getSessionMap() a bit"
https://bugs.webkit.org/show_bug.cgi?id=141069
http://trac.webkit.org/changeset/179403

Patch by Commit Queue <commit-queue@webkit.org> on 2015-01-30

1:57 PM WebReplayMechanics created by Brian Burg
Import from Github gist.
1:39 PM WikiStart edited by Brian Burg
(diff)
12:49 PM Changeset in webkit [179409] by Chris Dumez
  • 281 edits in trunk

Rename shared() static member functions to singleton() for singleton classes.
https://bugs.webkit.org/show_bug.cgi?id=141088

Reviewed by Ryosuke Niwa and Benjamin Poulain.

Rename shared() static member functions to singleton() for singleton
classes as per the recent coding style change.
Source/JavaScriptCore:

  • inspector/remote/RemoteInspector.h:
  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::singleton):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::shared): Deleted.

  • inspector/remote/RemoteInspectorDebuggable.cpp:

(Inspector::RemoteInspectorDebuggable::~RemoteInspectorDebuggable):
(Inspector::RemoteInspectorDebuggable::init):
(Inspector::RemoteInspectorDebuggable::update):
(Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
(Inspector::RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection):
(Inspector::RemoteInspectorDebuggable::unpauseForInitializedInspector):

  • inspector/remote/RemoteInspectorDebuggableConnection.mm:

(Inspector::RemoteInspectorDebuggableConnection::setup):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToFrontend):

Source/WebKit:

  • Storage/WebDatabaseProvider.cpp:

(WebDatabaseProvider::singleton):
(WebDatabaseProvider::shared): Deleted.

  • Storage/WebDatabaseProvider.h:
12:46 PM Changeset in webkit [179408] by Antti Koivisto
  • 4 edits in trunk

OSObjectPtr does not work with dispatch_data_t on Maverics
https://bugs.webkit.org/show_bug.cgi?id=141081

Reviewed by Pratik Solanki.
Source/WTF:


Trying to use OSObjectPtr<dispatch_data_t> throws

-[OS_dispatch_data _xref_dispose]: unrecognized selector sent to instance 0

  • wtf/OSObjectPtr.h:

(WTF::retainOSObject<dispatch_data_t>):
(WTF::releaseOSObject<dispatch_data_t>):

Add specialization for dispatch_data_t on Maverics.

Tools:

  • TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp:

(TestWebKitAPI::TEST):

11:57 AM Changeset in webkit [179407] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by NOBODY (OOPS!).

Re-landing just the CopyWorkListSegment piece of this patch.

  • heap/CopiedBlockInlines.h:

(JSC::CopiedBlock::reportLiveBytes):

  • heap/CopyWorkList.h:

(JSC::CopyWorkListSegment::create):
(JSC::CopyWorkListSegment::destroy):
(JSC::CopyWorkListSegment::CopyWorkListSegment):
(JSC::CopyWorkList::CopyWorkList):
(JSC::CopyWorkList::~CopyWorkList):
(JSC::CopyWorkList::append):

11:09 AM Changeset in webkit [179406] by mmirman@apple.com
  • 5 edits in trunk

Source/WebCore:
Added ClientRect as an interface that requires attributes
on instance for compatibility.
https://bugs.webkit.org/show_bug.cgi?id=141063
<rdar://problem/18437653>

Reviewed by Oliver Hunt.

Added a new test to LayoutTests/js/resources/JSON-stringify.js

  • bindings/scripts/CodeGeneratorJS.pm:

(InterfaceRequiresAttributesOnInstanceForCompatibility):

LayoutTests:
Added a test for JSON.stringify on ClientRect.
https://bugs.webkit.org/show_bug.cgi?id=141063
<rdar://problem/18437653>

Reviewed by Oliver Hunt.

  • js/resources/JSON-stringify.js:

(createTests.var):
(createTests.result):

  • js/resources/JSON-stringify-expected.txt:
10:26 AM Changeset in webkit [179405] by Brent Fulgham
  • 10 edits
    1 add in trunk

[Win] Switch to Apache on Windows
https://bugs.webkit.org/show_bug.cgi?id=141060

Reviewed by Alexey Proskuryakov.

Tools:

Update our scripts under Windows (and Cygwin) to locate and use
the XAMPP installation of Apache for running tests.

  • Scripts/run-webkit-httpd:
  • Scripts/webkitperl/httpd.pm:

(getHTTPDPath):
(getDefaultConfigForTestDirectory):
(getHTTPDConfigPathForTestDirectory):

  • Scripts/webkitpy/common/system/executive_unittest.py:

(ExecutiveTest.serial_test_kill_process):

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):
(LayoutTestApacheHttpd._get_apache_config_file_path):
(LayoutTestApacheHttpd._stop_running_server):

  • Scripts/webkitpy/layout_tests/servers/http_server_base.py:

(HttpServerBase._is_server_running_on_all_ports):

  • Scripts/webkitpy/port/base.py:

(Port._apache_config_file_name_for_platform):

  • Scripts/webkitpy/port/port_testcase.py:

(test_apache_config_file_name_for_platform):

  • Scripts/webkitpy/port/win.py:

(WinPort.show_results_html_file):
(WinPort._uses_apache):
(WinPort):
(WinPort._path_to_apache):

LayoutTests:

Add a new Windows XAMPP Apache configuration file for running
the http test suite on Windows.

Reviewed by Alexey Proskuryakov.

  • http/conf/apache2.4-httpd-win.conf: Added.
10:08 AM Changeset in webkit [179404] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

Build fix.

  • Shared/API/c/WKDeprecatedFunctions.cpp:
  • UIProcess/API/C/WKPreferencesRefPrivate.h:

The screen font substitution functions still need to be present in the header.

9:43 AM Changeset in webkit [179403] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Optimize MemoryCache::getSessionMap() a bit
https://bugs.webkit.org/show_bug.cgi?id=141069

Reviewed by Anders Carlsson.

Optimize MemoryCache::getSessionMap() a bit by doing 1 HashMap lookup
instead of previously 3. Also rename the method to sessionResources()
as we usually don't use "get" prefix for getters.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::sessionResources):
(WebCore::MemoryCache::add):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::resourceForRequest):
(WebCore::MemoryCache::removeImageFromCache):
(WebCore::MemoryCache::remove):
(WebCore::MemoryCache::getSessionMap): Deleted.

  • loader/cache/MemoryCache.h:
9:40 AM Changeset in webkit [179402] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Store MemoryCache's live decoded resources in a ListHashSet
https://bugs.webkit.org/show_bug.cgi?id=141051

Reviewed by Antti Koivisto.

Store MemoryCache's live decoded resources in a ListHashSet instead of
a linked list. The frequent operations are:

  1. Add items to one end
  2. Remove items from the other end or anywhere in the container by value

Using a ListHashSet instead of a manual linked list results in *much*
simpler / shorter code and is fast for all operations (faster than
linked list even for removing an given element from the container given
its value). The previous implementation required us to keep a lot of
pointers up-to-date, which was error prone.

This is a first step towards simplifying the MemoryCache implementation.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::setDecodedSize):
(WebCore::CachedResource::didAccessDecodedData):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::inLiveDecodedResourcesList): Deleted.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneLiveResourcesToSize):
(WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
(WebCore::MemoryCache::insertInLiveDecodedResourcesList):

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::inLiveDecodedResourcesList):

9:38 AM Changeset in webkit [179401] by Chris Dumez
  • 2 edits in trunk/Websites/webkit.org

Add "Singleton pattern" section to the WebKit coding style
https://bugs.webkit.org/show_bug.cgi?id=141040

Reviewed by Ryosuke Niwa.

Add "Singleton pattern" section to the WebKit coding style to document
what was discussed on webkit-dev:
https://lists.webkit.org/pipermail/webkit-dev/2015-January/027199.html

  • coding/coding-style.html:
9:22 AM Changeset in webkit [179400] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/LayoutTests

Fix lint warnings for ios-simulator (wk1) TestExpectations

  • platform/ios-simulator/TestExpectations: Remove tests that

don't exist on the branch or are duplicate expectations.

9:22 AM Changeset in webkit [179399] by ddkilzer@apple.com
  • 57 edits
    5 copies
    19 adds
    2 deletes in branches/safari-600.1.4.15-branch

run-webkit-tests: Merge 46 commits from trunk to make it work

r171686, r171687, r171789, r171800, r171967, r171968, r171969,
r172115, r172117, r172118, r172174, r172602, r172942, r172967,
r173129, r173452, r173647, r173937, r174406, r174626, r174628,
r174634, r174642, r174650, r174702, r174728, r174824, r174835,
r174844, r175204, r176669, r176677, r176872, r176880, r176885,
r176897, r177129, r177363, r177370, r177510, r178444, r178570,
r178601, r178656, r178867, r178925

5:56 AM Changeset in webkit [179398] by Csaba Osztrogonác
  • 31 edits in trunk/Source/WebCore

[cairo] Fix #if guards in platform/graphics/cairo directory
https://bugs.webkit.org/show_bug.cgi?id=141076

Reviewed by Sergio Villar Senin.

  • platform/graphics/cairo/BackingStoreBackendCairo.h:
  • platform/graphics/cairo/BitmapImageCairo.cpp:
  • platform/graphics/cairo/CairoUtilities.cpp:
  • platform/graphics/cairo/CairoUtilities.h:
  • platform/graphics/cairo/DrawErrorUnderline.h:
  • platform/graphics/cairo/DrawingBufferCairo.cpp:
  • platform/graphics/cairo/FloatRectCairo.cpp:
  • platform/graphics/cairo/FontCairo.cpp:
  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
  • platform/graphics/cairo/FontCustomPlatformData.h:
  • platform/graphics/cairo/GradientCairo.cpp:
  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:
  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  • platform/graphics/cairo/ImageBufferCairo.cpp:
  • platform/graphics/cairo/ImageBufferDataCairo.h:
  • platform/graphics/cairo/ImageCairo.cpp:
  • platform/graphics/cairo/IntRectCairo.cpp:
  • platform/graphics/cairo/OwnPtrCairo.cpp:
  • platform/graphics/cairo/OwnPtrCairo.h:
  • platform/graphics/cairo/PathCairo.cpp:
  • platform/graphics/cairo/PatternCairo.cpp:
  • platform/graphics/cairo/PlatformContextCairo.cpp:
  • platform/graphics/cairo/PlatformContextCairo.h:
  • platform/graphics/cairo/PlatformPathCairo.cpp:
  • platform/graphics/cairo/PlatformPathCairo.h:
  • platform/graphics/cairo/RefPtrCairo.cpp:
  • platform/graphics/cairo/RefPtrCairo.h:
  • platform/graphics/cairo/TileCairo.h:
  • platform/graphics/cairo/TransformationMatrixCairo.cpp:

Jan 29, 2015:

11:38 PM Changeset in webkit [179397] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

[GTK] Resize the redirected XComposite again after leaving accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140935

Reviewed by Sergio Villar Senin.

Since r178414 we don't resize the redirected XComposite window
until we enter accelerated compositing mode, but after leaving it
the redirected window keeps its size. We should resize it to 1x1
again and free the XPixmap and cairo surface to save that memory
while not in accelerated compositing mode.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::enterAcceleratedCompositingMode): Notify
the WebKitWebViewBase.
(WebKit::PageClientImpl::exitAcceleratedCompositingMode): Ditto.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseEnterAcceleratedCompositingMode): Resize the
XComposite window to the current drawing area size.
(webkitWebViewBaseExitAcceleratedCompositingMode): Resize the
XComposite window to and empty size.

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

(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
Do not initialize m_size since we now handle the empty size as a
especial case. Make sure we always create the X window with at
least 1x1 size.
(WebKit::RedirectedXCompositeWindow::resize): Resize the window to
at least 1x1, but when en empty size is given, call
cleanupPixmapAndPixmapSurface() to release those resources.
(WebKit::RedirectedXCompositeWindow::surface): Create the cairo
surface with at least 1x1 size.

11:24 PM Changeset in webkit [179396] by saambarati1@gmail.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Allow text selection when the BasicBlockAnnotator is enabled
https://bugs.webkit.org/show_bug.cgi?id=140987

Reviewed by Timothy Hatcher.

Because the BasicBlockAnnotator no longer sets the background color of
lines that haven't executed to gray, text selection while the
BasicBlockAnnotator is enabled no longer results in a bad user interface.
This patch both allows text selection while the BasicBlockAnnotator is
enabled and also removes the now unused listeners to CodeMirror's focus
and blur events.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):
(WebInspector.SourceCodeTextEditor.prototype.gainedFocus): Deleted.
(WebInspector.SourceCodeTextEditor.prototype.lostFocus): Deleted.

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor):
(WebInspector.TextEditor.prototype.gainedFocus): Deleted.
(WebInspector.TextEditor.prototype.lostFocus): Deleted.

11:23 PM Changeset in webkit [179395] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Runtime critical warnings sometimes at start up when using the network process
https://bugs.webkit.org/show_bug.cgi?id=140998

Reviewed by Žan Doberšek.

This is caused by the CustomProtocolManager work queue
theread. This WorkQueue is created when the CustomProtocolManager
object is constructed, but destroyed when it's initialized when
the UI process asks to use the network process. In this case,
sometimes happens that the work queue thread that runs the main
loop is executed once the object has been destroyed and the main
loop pointer is nullptr.

  • Platform/WorkQueue.h:
  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::platformInitialize): Use a lambda function for the
thread body.
(WorkQueue::platformInvalidate): Detach the worker thread before
deleting the main loop object.
(WorkQueue::startWorkQueueThread): Deleted.
(WorkQueue::workQueueThreadBody): Deleted.

10:44 PM Changeset in webkit [179394] by Chris Dumez
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. Further rebaselining after r179368.

  • platform/mac-mavericks/fast/forms/select-visual-hebrew-expected.txt: Added.
9:51 PM Changeset in webkit [179393] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, gardening on EFL port. some tests aren't flaky anymore.
Unskip those tests on EFL port.

  • platform/efl/TestExpectations:
8:28 PM Changeset in webkit [179392] by akling@apple.com
  • 45 edits
    2 copies
    3 adds
    2 deletes in trunk/Source/JavaScriptCore

Unreviewed, rolling out r179357 and r179358.
https://bugs.webkit.org/show_bug.cgi?id=141062

Suspect this caused WebGL tests to start flaking (Requested by
kling on #webkit).

Reverted changesets:

"Polymorphic call inlining should be based on polymorphic call
inline caching rather than logging"
https://bugs.webkit.org/show_bug.cgi?id=140660
http://trac.webkit.org/changeset/179357

"Unreviewed, fix no-JIT build."
http://trac.webkit.org/changeset/179358

Patch by Commit Queue <commit-queue@webkit.org> on 2015-01-29

8:23 PM Changeset in webkit [179391] by Darin Adler
  • 18 edits
    25 deletes in trunk

Remove SVGUseElement.instanceRoot and all tests that depend on it
https://bugs.webkit.org/show_bug.cgi?id=141025

Reviewed by Anders Carlsson.

Source/WebCore:

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::instanceRoot): Deleted.

  • svg/SVGUseElement.h: Removed instanceRoot.
  • svg/SVGUseElement.idl: Ditto.

LayoutTests:

  • platform/gtk/TestExpectations: Removed expected failure for now-removed test.
  • platform/ios-simulator-wk2/TestExpectations: Ditto.
  • platform/mac/TestExpectations: Ditto.
  • platform/gtk/svg/custom/use-elementInstance-event-target-expected.png: Removed.
  • platform/gtk/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
  • platform/gtk/svg/custom/use-elementInstance-methods-expected.png: Removed.
  • platform/gtk/svg/custom/use-elementInstance-methods-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-elementInstance-methods-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-elementInstance-methods-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-elementInstance-methods-expected.txt: Removed.
  • platform/mac/svg/custom/use-elementInstance-event-target-expected.png: Removed.
  • platform/mac/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
  • platform/mac/svg/custom/use-elementInstance-methods-expected.png: Removed.
  • platform/mac/svg/custom/use-elementInstance-methods-expected.txt: Removed.
  • svg/custom/element-instance-held-by-js-crash-expected.txt: Removed.
  • svg/custom/element-instance-held-by-js-crash.svg: Removed.
  • svg/custom/resources/use-instanceRoot-event-bubbling.js: Find element by id instead

of using use.instanceRoot.correspondingElement.

  • svg/custom/resources/use-instanceRoot-event-listeners.js: Removed.
  • svg/custom/use-crash-using-children-before-destroy.svg: Removed a line of code that

got at the instanceRoot. It's possible this test no longer has value, and if so, then
we could later delete it, but it does no harm.

  • svg/custom/use-elementInstance-event-target.svg: Removed.
  • svg/custom/use-elementInstance-methods.svg: Removed.
  • svg/custom/use-instanceRoot-as-event-target-expected.txt: Removed.
  • svg/custom/use-instanceRoot-as-event-target.xhtml: Removed.
  • svg/custom/use-instanceRoot-event-listener-liveness-expected.txt: Removed.
  • svg/custom/use-instanceRoot-event-listener-liveness.xhtml: Removed.
  • svg/custom/use-instanceRoot-event-listeners-expected.txt: Removed.
  • svg/custom/use-instanceRoot-event-listeners.xhtml: Removed.
  • svg/custom/use-instanceRoot-modifications.svg: Removed the part of this that involved

the instanceRoot property. It's possible this test now has reduced value, and if so, we
could later delete it but it does no harm.

  • svg/custom/use-instanceRoot-with-use-removed.svg: Removed the use of instanceRoot

and correspondingUseElement. Not certain this remains a useful test. Also converted line
endings to LF instead of CRLF.

  • svg/custom/use-listener-append-crash.html: Get elements by id instead of instanceRoot.
  • svg/custom/use-modify-target-container.svg: Ditto.
  • svg/custom/use-modify-target-symbol.svg: Ditto.
  • svg/custom/use-on-use-with-child-expected.txt: Updated since we don't dump an instance

tree any more.

  • svg/custom/use-on-use-with-child.svg: Removed the part about dumping the instance tree,

and added in the part about dragging to make sure it doesn't crash.

  • svg/dom/use-transform.svg: Get element by id instead of instanceRoot.
8:02 PM Changeset in webkit [179390] by saambarati1@gmail.com
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Make BasicBlockAnnotator lessen the saturation of syntax highlighting instead of graying out unexecuted code
https://bugs.webkit.org/show_bug.cgi?id=141011

Reviewed by Timothy Hatcher.

This patch removes a lot of the complicated logic associated around
determining which code can be grayed out by the BasicBlockAnnotator.
Instead, the BasicBlockAnnotator now applies a CSS class to all the
code that has not executed which lessens the saturation of the
syntax coloring for the code. This creates both a nicer user
interface and a nicer user experience because it makes reading
source code with the BasicBlockAnnotator enabled more pleasant.

  • UserInterface/Controllers/BasicBlockAnnotator.js:

(WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
(WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
(WebInspector.BasicBlockAnnotator.prototype.set _highlightTextForBasicBlock):
(WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyWhitespace): Deleted.
(WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyClosingBrace): Deleted.
(_canGrayOutEntireLine): Deleted.
(_grayOutLine): Deleted.
(_clearRangeForBasicBlockMarker.get marker): Deleted.
(_clearRangeForBasicBlockMarker): Deleted.

  • UserInterface/Views/SourceCodeTextEditor.css:

(.hover-menu.color > img):
(.basic-block-has-not-executed): Deleted.
(.basic-block-has-not-executed-prepend::before): Deleted.

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.cm-s-default .basic-block-has-not-executed):
(.cm-s-default .basic-block-has-not-executed.cm-comment):
(.cm-s-default .basic-block-has-not-executed.cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-3, .cm-property)):
(.cm-s-default .basic-block-has-not-executed:matches(.cm-number, .cm-atom.cm-hex-color)):
(.cm-s-default .basic-block-has-not-executed.cm-string):
(.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-meta):
(.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-attribute):

6:00 PM Changeset in webkit [179389] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build with newer Clang.

  • platform/graphics/ca/GraphicsLayerCA.h:
5:56 PM Changeset in webkit [179388] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL port gardening. Some tests have been passed since r172999 though,
those have marked with "Failure".

  • platform/efl/TestExpectations:
5:49 PM Changeset in webkit [179387] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, gardening on EFL port. Unskip tests which don't come to crash or
timeout anymore.

  • platform/efl/TestExpectations:
5:17 PM Changeset in webkit [179386] by weinig@apple.com
  • 3 edits in trunk/LayoutTests

More follow up to https://bugs.webkit.org/show_bug.cgi?id=141038

  • platform/mac-mavericks/fast/text/international/hindi-spacing-expected.txt:
  • platform/mac/fast/text/international/hindi-spacing-expected.txt:
4:55 PM Changeset in webkit [179385] by weinig@apple.com
  • 12 edits in trunk/LayoutTests

Follow up to https://bugs.webkit.org/show_bug.cgi?id=141038

Update test results on Yosemite now that we don't use the screen font
in controls.

  • platform/mac/fast/css/rtl-ordering-expected.png:
  • platform/mac/fast/css/rtl-ordering-expected.txt:
  • platform/mac/fast/forms/search-rtl-expected.png:
  • platform/mac/fast/forms/search-rtl-expected.txt:
  • platform/mac/fast/forms/select-visual-hebrew-expected.png:
  • platform/mac/fast/forms/select-visual-hebrew-expected.txt:
  • platform/mac/fast/forms/select-writing-direction-natural-expected.png:
  • platform/mac/fast/forms/select-writing-direction-natural-expected.txt:
  • platform/mac/fast/text/international/hindi-spacing-expected.txt:
  • platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
  • platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
4:51 PM Changeset in webkit [179384] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the iOS build.

  • WebCore.exp.in:
4:45 PM Changeset in webkit [179383] by Brent Fulgham
  • 7 edits in trunk/Source/WebKit

[Win] Build fix after r179368.

../WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove missing symbol.

../WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferences.cpp:

(WebPreferences::screenFontSubstitutionEnabled): Deleted.
(WebPreferences::setScreenFontSubstitutionEnabled): Deleted.

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

4:43 PM Changeset in webkit [179382] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Another follow-on, spotted this mistake. This used to be

#if PLATFORM(IOS)
MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 , so it should now be

COCOA.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::registerUserDefaultsIfNeeded):

4:39 PM Changeset in webkit [179381] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Build fix after r179368.

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::shapeAndPlaceItem): Don't use the no longer
valid isPrinterFont method.

4:38 PM Changeset in webkit [179380] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Follow-on, fixing a bad merge from my last change.

  • Shared/WebPreferencesDefinitions.h:
4:33 PM Changeset in webkit [179379] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Skip these two tests in the stress testing since the feature isn't enabled.

  • js/script-tests/class-syntax-declaration.js:
  • js/script-tests/class-syntax-expression.js:
4:04 PM Changeset in webkit [179378] by eric.carlson@apple.com
  • 4 edits in trunk/LayoutTests

media/track/track-in-band-cues-added-once.html fails sometimes
https://bugs.webkit.org/show_bug.cgi?id=138806

Reviewed by Brent Fulgham.

  • media/track/track-in-band-cues-added-once-expected.txt: Update results.
  • media/track/track-in-band-cues-added-once.html: Seek before beginning playback so

the media engine is more likely to buffer and process the initial cue.

  • platform/mac/TestExpectations: Unskip track-in-band-cues-added-once.html.
4:02 PM Changeset in webkit [179377] by eric.carlson@apple.com
  • 4 edits in trunk/LayoutTests

REGRESSION (OS X 10.10.2): media/track/track-in-band-style.html frequently times out
https://bugs.webkit.org/show_bug.cgi?id=140974

Reviewed by Brent Fulgham.

  • media/track/track-in-band-style-expected.txt: Updated.
  • media/track/track-in-band-style.html: Introduce a brief pause between receiving the 'seeked'

event and checking caption style to allow for media engine latency. Add additional logging
when the test fails to make future failure diagnosis easier.

  • platform/mac/TestExpectations: Remove track-in-band-style.html.
4:02 PM Changeset in webkit [179376] by Beth Dakin
  • 6 edits in trunk/Source/WebKit/mac

Remove more Mountain Lion code from WebKit
https://bugs.webkit.org/show_bug.cgi?id=141050

Reviewed by Anders Carlsson.

  • History/WebHistory.mm:

(getDayBoundaries):

  • Panels/WebAuthenticationPanel.m:

(-[WebAuthenticationPanel cancel:]):
(-[WebAuthenticationPanel logIn:]):
(-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]):

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebView/WebFrameView.mm:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(needsScreenFontsEnabledQuirk):

  • WebView/WebView.mm:

(+[WebView registerForMemoryNotifications]):
(-[WebView _preferencesChanged:]):
(+[WebView initialize]):
(+[WebView _shouldAutomaticQuoteSubstitutionBeEnabled]):
(+[WebView _shouldAutomaticDashSubstitutionBeEnabled]):
(+[WebView _didChangeAutomaticDashSubstitutionEnabled:]):

3:57 PM Changeset in webkit [179375] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.4.5

New Tag.

3:30 PM Changeset in webkit [179374] by ap@apple.com
  • 2 edits in trunk/Tools

Built result takes too long to be compressed on bots
https://bugs.webkit.org/show_bug.cgi?id=141056

Reviewed by Daniel Bates.

Reduces compression time from ~3.5 min to ~1.5 min. Archive size gets 2% bigger.

  • BuildSlaveSupport/test-result-archive: (archiveTestResults):
3:19 PM Changeset in webkit [179373] by Beth Dakin
  • 27 edits in trunk/Source/WebKit2

Remove more Mountain Lion code from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=141052

Reviewed by Tim Horton.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::sendBufferMaybeAborting):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm:
  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync):

  • Platform/IPC/MessageDecoder.cpp:
  • Platform/IPC/MessageDecoder.h:
  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::ConnectionTerminationWatchdog::watchdogTimerFired):
(IPC::Connection::open):
(IPC::Connection::receiveSourceEventHandler):
(IPC::Connection::kill):

  • Platform/IPC/mac/ImportanceAssertion.h:
  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::initializeProcessName):

  • Shared/WebPreferencesDefinitions.h:
  • Shared/mac/ChildProcessMac.mm:

(WebKit::initializeTimerCoalescingPolicy):
(WebKit::ChildProcess::setApplicationIsDaemon):
(WebKit::ChildProcess::platformInitialize):
(WebKit::ChildProcess::setQOS):

  • Shared/mac/CookieStorageShim.mm:

(WebKit::CookieStorageShim::initialize):

  • UIProcess/API/mac/WKView.mm:

(-[WKView addWindowObserversForWindow:]):
(-[WKView removeWindowObservers]):
(-[WKView _windowDidChangeOcclusionState:]):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
(WebKit::privateBrowsingSession):
(WebKit::WebProcessPool::isURLKnownHSTSHost):
(WebKit::WebProcessPool::resetHSTSHosts):

  • UIProcess/Databases/mac/DatabaseProcessProxyMac.mm:

(WebKit::shouldUseXPC):

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::shouldUseXPC):

  • UIProcess/WebProcessPool.h:
  • UIProcess/mac/TextCheckerMac.mm:

(WebKit::shouldAutomaticQuoteSubstitutionBeEnabled):
(WebKit::shouldAutomaticDashSubstitutionBeEnabled):
(WebKit::TextChecker::didChangeAutomaticQuoteSubstitutionEnabled):
(WebKit::TextChecker::didChangeAutomaticDashSubstitutionEnabled):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::applyDebuggingPropertiesToSwipeViews):

  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::shouldUseXPC):

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::updateActivePages):

  • WebProcess/com.apple.WebProcess.sb.in:
  • config.h:
3:17 PM Changeset in webkit [179372] by ggaren@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

Removed op_ret_object_or_this
https://bugs.webkit.org/show_bug.cgi?id=141048

Reviewed by Michael Saboff.

op_ret_object_or_this was one opcode that would keep us out of the
optimizing compilers.

We don't need a special-purpose opcode; we can just use a branch.

  • bytecode/BytecodeBasicBlock.cpp:

(JSC::isTerminal): Removed.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset): Removed.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode): Removed.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitReturn): Use an explicit branch to determine
if we need to substitute 'this' for the return value. Our engine no longer
benefits from fused opcodes that dispatch less in the interpreter.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITCall32_64.cpp:

(JSC::JIT::emit_op_ret_object_or_this): Deleted.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_ret_object_or_this): Deleted.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm: Removed.
2:59 PM Changeset in webkit [179371] by rniwa@webkit.org
  • 10 edits
    6 adds in trunk

Implement ES6 class syntax without inheritance support
https://bugs.webkit.org/show_bug.cgi?id=140918

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Added the most basic support for ES6 class syntax. After this patch, we support basic class definition like:
class A {

constructor() { }
someMethod() { }

}

We'll add the support for "extends" keyword and automatically generating a constructor in follow up patches.
We also don't support block scoping of a class declaration.

We support both class declaration and class expression. A class expression is implemented by the newly added
ClassExprNode AST node. A class declaration is implemented by ClassDeclNode, which is a thin wrapper around
AssignResolveNode.

Tests: js/class-syntax-declaration.html

js/class-syntax-expression.html

  • bytecompiler/NodesCodegen.cpp:

(JSC::ObjectLiteralNode::emitBytecode): Create a new object instead of delegating the work to PropertyListNode.
Also fixed the 5-space indentation.
(JSC::PropertyListNode::emitBytecode): Don't create a new object now that ObjectLiteralNode does this.
(JSC::ClassDeclNode::emitBytecode): Added. Just let the AssignResolveNode node emit the byte code.
(JSC::ClassExprNode::emitBytecode): Create the class constructor and add static methods to the constructor by
emitting the byte code for PropertyListNode. Add instance methods to the class's prototype object the same way.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createClassExpr): Added. Creates a ClassExprNode.
(JSC::ASTBuilder::createClassDeclStatement): Added. Creates a AssignResolveNode and wraps it by a ClassDeclNode.

  • parser/NodeConstructors.h:

(JSC::ClassDeclNode::ClassDeclNode): Added.
(JSC::ClassExprNode::ClassExprNode): Added.

  • parser/Nodes.h:

(JSC::ClassExprNode): Added.
(JSC::ClassDeclNode): Added.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseStatement): Added the support for class declaration.
(JSC::stringForFunctionMode): Return "method" for MethodMode.
(JSC::Parser<LexerType>::parseClassDeclaration): Added. Uses parseClass to create a class expression and wraps
it with ClassDeclNode as described above.
(JSC::Parser<LexerType>::parseClass): Parses a class expression.
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parseGetterSetter): Extracted from parseProperty to share the code between parseProperty
and parseClass.
(JSC::Parser<LexerType>::parsePrimaryExpression): Added the support for class expression.

  • parser/Parser.h:

(FunctionParseMode): Added MethodMode.

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createClassExpr): Added.
(JSC::SyntaxChecker::createClassDeclStatement): Added.

LayoutTests:

Added two tests for class declarations and class expressions.

  • TestExpectations:
  • js/class-syntax-declaration-expected.txt: Added.
  • js/class-syntax-declaration.html: Added.
  • js/class-syntax-expression-expected.txt: Added.
  • js/class-syntax-expression.html: Added.
  • js/script-tests/class-syntax-declaration.js: Added.
  • js/script-tests/class-syntax-expression.js: Added.
2:58 PM Changeset in webkit [179370] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build after r179368

  • platform/graphics/FontDescription.h:

(WebCore::FontDescription::equalForTextAutoSizing):

2:57 PM Changeset in webkit [179369] by Simon Fraser
  • 7 edits
    2 adds in trunk

Border-radius clipping on a stacking context causes descendants to not render
https://bugs.webkit.org/show_bug.cgi?id=140536

Reviewed by Zalan Bujtas.

Source/WebCore:

Fix one of the issues introduced in r178029. The changes in GraphicsLayerCA
failed to adhere to the "set a bit and flush later" pattern that this class uses,
instead poking the platform layers directly. This caused an issue where the bounds
of the clipping layer would later be set to 0x0, causing content to disappear.

Fix by changing the "applyClippingBorder" function to "setMasksToBoundsRect"
and have it update via a new MasksToBoundsRectChanged dirty bit.

In order to avoid clobbering the mask layer used to clip contents, we need another
shape mask layer, so rename m_shapeMaskLayer to m_contentsShapeMaskLayer, then
introduce a new m_shapeMaskLayer which is used for masks-to-bounds clipping. Update
the reflection cloning code to correctly clone this layer.

Test: compositing/clipping/border-radius-stacking-context-clip.html

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::maskToBoundsRect):
(WebCore::GraphicsLayer::setMasksToBoundsRect):
(WebCore::GraphicsLayer::applyClippingBorder): Deleted.
(WebCore::GraphicsLayer::clearClippingBorder): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::willBeDestroyed):
(WebCore::GraphicsLayerCA::setMasksToBoundsRect):
(WebCore::GraphicsLayerCA::setContentsToSolidColor):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsImage):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::updateMasksToBoundsRect):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
(WebCore::GraphicsLayerCA::applyClippingBorder): Deleted.
(WebCore::GraphicsLayerCA::clearClippingBorder): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateChildClippingStrategy): Add a FIXME since
this code is trying to access geometry and we may not have done layout yet.
Also, to clear the rounded rect, just set a non-rounded rect the size of the layer.

LayoutTests:

Ref test that clips out the middle of a composited rounded-rect overflow element,
and also tests reflections.

  • compositing/clipping/border-radius-stacking-context-clip-expected.html: Added.
  • compositing/clipping/border-radius-stacking-context-clip.html: Added.
2:40 PM Changeset in webkit [179368] by weinig@apple.com
  • 47 edits in trunk

Remove support for screen font substitution
https://bugs.webkit.org/show_bug.cgi?id=141038

Reviewed by Tim Horton.

Source/WebCore:

  • Removes the screen font substitution setting (which was only on in Mountain Lion)
  • Remove the concept of a printer font, from the family of Font related classes.
  • WebCore.exp.in:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::initializeFontStyle):

  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault): Deleted.
(WebCore::Settings::setScreenFontSubstitutionEnabled): Deleted.

  • page/Settings.h:

(WebCore::Settings::screenFontSubstitutionEnabled): Deleted.

  • page/mac/SettingsMac.mm:

(WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault): Deleted.

  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionFontDataCacheKey::makeFlagKey):

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::FontCascade):

  • platform/graphics/FontCascade.h:

(WebCore::FontCascade::isPrinterFont): Deleted.

  • platform/graphics/FontDescription.h:

(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::setWeight):
(WebCore::FontDescription::equalForTextAutoSizing):
(WebCore::FontDescription::operator==):
(WebCore::FontDescription::usePrinterFont): Deleted.
(WebCore::FontDescription::setUsePrinterFont): Deleted.

  • platform/graphics/FontPlatformData.h:

(WebCore::FontPlatformData::isCompositeFontReference):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::operator==):
(WebCore::FontPlatformData::isPrinterFont): Deleted.

  • platform/graphics/WidthIterator.h:

(WebCore::WidthIterator::supportsTypesettingFeatures):

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::FontCascade::drawGlyphs):

  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:

(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::platformDataInit):
(WebCore::FontPlatformData::platformDataAssign):

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::getSystemFontFallbackForCharacters):
(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::Font::platformCreateScaledFont):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::Font::compositeFontReferenceFont):
(WebCore::Font::platformCreateScaledFont):

  • platform/mac/DragImageMac.mm:

(WebCore::fontFromNSFont):
(WebCore::widthWithFont):
(WebCore::drawAtPoint):

  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

Source/WebKit/mac:

  • Misc/WebKitNSStringExtras.mm:

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

  • Misc/WebStringTruncator.mm:

(fontFromNSFont):
Update for new signature of the FontPlatformData constructor, which no longer cares about
whether to use printer fonts.

  • WebView/WebPreferenceKeysPrivate.h:

Remove the WebKitScreenFontSubstitutionEnabledKey key.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
Remove support for WebKitScreenFontSubstitutionEnabledKey.

(needsScreenFontsEnabledQuirk): Deleted.
Remove support for the Mountain Lion era 1-Password quirk.

(-[WebPreferences screenFontSubstitutionEnabled]): Deleted.
(-[WebPreferences setScreenFontSubstitutionEnabled:]): Deleted.

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

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _preferencesChanged:]):
Remove support for the screen font substitution setting.

Source/WebKit/win:

  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::screenFontSubstitutionEnabled):
(WebPreferences::setScreenFontSubstitutionEnabled):
Remove implementations. Have this setting set on windows didn't have any effect before,
so this doesn't change behavior.

Source/WebKit2:

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKPreferencesSetScreenFontSubstitutionEnabled):
(WKPreferencesGetScreenFontSubstitutionEnabled):
Move now empty preferences SPI to WKDeprecatedFunctions.

  • Shared/WebPreferencesDefinitions.h:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

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

(WKPreferencesSetScreenFontSubstitutionEnabled): Deleted.
(WKPreferencesGetScreenFontSubstitutionEnabled): Deleted.

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

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::presenterApplicationPid):
(WebKit::WebProcess::shouldForceScreenFontSubstitution): Deleted.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):
Stop piping screen font substitution setting to the web process.

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):
Remove call to now setScreenFontSubstitutionEnabled() which is a no-op.

LayoutTests:

  • platform/mac/fast/text/international/hindi-spacing-expected.txt:

Update results now that buttons always use printer fonts. We were accidentally
allowing buttons to use screen fonts, which usually didn't make a difference,
but does with some fallback fonts.

2:14 PM Changeset in webkit [179367] by ap@apple.com
  • 6 edits
    1 copy
    1 move in trunk/Source/WebKit2

Frequent kernel panics when running WebKit regression tests
https://bugs.webkit.org/show_bug.cgi?id=141043

Reviewed by Sam Weinig.

Split PluginService.Development into 32-bit and 64-bit variants, to better match
production variant. When building FAT, we'll have the right architecture from
the start now, so no need to re-exec into a different architecture.

  • Configurations/PluginService.Development.xcconfig: Removed.
  • Configurations/PluginService.32.Development.xcconfig: Copied from Source/WebKit2/Configurations/PluginService.Development.xcconfig.
  • Configurations/PluginService.64.Development.xcconfig: Copied from Source/WebKit2/Configurations/PluginService.Development.xcconfig.

Changed to use ONLY_ACTIVE_ARCH instead of CONFIGURATION, so that we build the
right thing even in debug FAT builds.

  • Configurations/PluginService.32.xcconfig:
  • Configurations/PluginService.64.xcconfig:

While at it, applied the same changes as in Development variants. This means that
FAT builds will now build only the correct architecture for PluginService.64
(it used to build FAT, unnecessarily).

  • PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:

Updated to support multiple product names.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::serviceName): Launch the

right development service.

  • WebKit2.xcodeproj/project.pbxproj: Split the Plugin.Development target into two.
2:03 PM Changeset in webkit [179366] by hyatt@apple.com
  • 15 edits
    2 adds in trunk

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.

Japanese line breaking rules need to be respected before and after Ruby.
https://bugs.webkit.org/show_bug.cgi?id=91588
<rdar://problem/17306535>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/ruby/ruby-punctuation-avoid-breaking.html.

This patch has to add support for following line breaking rules at both
sides of a Ruby boundary. For breaking before a Ruby, unfortunately we
just hard-code the rules (and apply this hard-coding only to Ruby and not
to other inline replaced elements).

For breaking after a Ruby we do better. The Ruby run caches its prior characters
and line layout is able to obtain them and use them when deciding whether or not
to break. This means for the "after" side of a Ruby, we're able to behave the same
as if no Ruby was used.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator):
(WebCore::RenderRubyRun::canBreakBefore):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::canBreakBefore):

  • rendering/RenderRubyText.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

LayoutTests:

  • fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-block-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
  • fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
  • fast/ruby/ruby-punctuation-avoid-breaking-expected.html: Added.
  • fast/ruby/ruby-punctuation-avoid-breaking.html: Added.
1:58 PM Changeset in webkit [179365] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

2015-01-29 Geoffrey Garen <ggaren@apple.com>

Try to fix the Windows build.

Not reviewed.

  • heap/WeakBlock.h: Use the fully qualified name when declaring our friend.
1:57 PM Changeset in webkit [179364] by Beth Dakin
  • 27 edits in trunk/Source/WebCore

Remove more Mountain Lion code from WebCore
https://bugs.webkit.org/show_bug.cgi?id=141014

Reviewed by Anders Carlsson.

  • WebCore.exp.in:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetSpelling):
(AXAttributedStringAppendText):

  • crypto/CommonCryptoUtilities.h:
  • crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:

(WebCore::transformAES_CBC):

  • editing/cocoa/HTMLConverter.mm:

(_dateForString):

  • html/canvas/ANGLEInstancedArrays.cpp:

(WebCore::ANGLEInstancedArrays::supported):

  • loader/cocoa/DiskCacheMonitorCocoa.mm:
  • page/mac/SettingsMac.mm:

(WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):
(WebCore::Settings::initializeDefaultFontFamilies):

  • platform/audio/mac/MediaSessionManagerMac.cpp:

(MediaSessionManager::updateSessionState):

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::ReliefLogger::platformLog):
(WebCore::MemoryPressureHandler::ReliefLogger::platformMemoryUsage): Deleted.

  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:

(WebCore::AVTrackPrivateAVFObjCImpl::languageForAVMediaSelectionOption):

  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):

  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::state):
(IOSurface::isVolatile):
(IOSurface::setIsVolatile):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::Font::platformInit):

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):

  • platform/network/cocoa/ProtectionSpaceCocoa.h:

(WebCore::ProtectionSpace::encodingRequiresPlatformData):

  • platform/network/cocoa/ProtectionSpaceCocoa.mm:

(WebCore::ProtectionSpace::encodingRequiresPlatformData):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::createNSURLConnection):

  • platform/network/mac/WebCoreURLResponse.mm:

(WebCore::synthesizeRedirectResponseIfNecessary):

  • platform/spi/cf/CFNetworkSPI.h:
  • platform/text/mac/LocaleMac.mm:

(WebCore::LocaleMac::LocaleMac):

1:43 PM Changeset in webkit [179363] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build with newer Clang

  • NetworkProcess/NetworkConnectionToWebProcess.h:

These should be 'override's.

1:43 PM Changeset in webkit [179362] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove an extraneous check from the parser of :not()
https://bugs.webkit.org/show_bug.cgi?id=141021

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-29
Reviewed by Darin Adler.

  • css/CSSGrammar.y.in:

:not() takes a selector list, it can be null if there selector list is invalid,
but there cannot be a invalid pointer.

1:41 PM Changeset in webkit [179361] by ggaren@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the WeakBlock piece of this patch.

  • heap/WeakBlock.cpp:

(JSC::WeakBlock::create):
(JSC::WeakBlock::destroy):
(JSC::WeakBlock::WeakBlock):

  • heap/WeakBlock.h:
  • heap/WeakSet.cpp:

(JSC::WeakSet::~WeakSet):
(JSC::WeakSet::addAllocator):
(JSC::WeakSet::removeAllocator):

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

Fix the iOS build after r179347

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):

12:56 PM Changeset in webkit [179359] by ggaren@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Use Vector instead of GCSegmentedArray in CodeBlockSet
https://bugs.webkit.org/show_bug.cgi?id=141044

Reviewed by Ryosuke Niwa.

This is allowed now that we've gotten rid of fastMallocForbid.

4kB was a bit overkill for just storing a few pointers.

  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::CodeBlockSet):

  • heap/CodeBlockSet.h:
  • heap/Heap.cpp:

(JSC::Heap::Heap):

12:49 PM Changeset in webkit [179358] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix no-JIT build.

  • jit/PolymorphicCallStubRoutine.cpp:
12:33 PM Changeset in webkit [179357] by fpizlo@apple.com
  • 45 edits
    2 adds
    5 deletes in trunk/Source/JavaScriptCore

Polymorphic call inlining should be based on polymorphic call inline caching rather than logging
https://bugs.webkit.org/show_bug.cgi?id=140660

Reviewed by Geoffrey Garen.

When we first implemented polymorphic call inlining, we did the profiling based on a call
edge log. The idea was to store each call edge (a tuple of call site and callee) into a
global log that was processed lazily. Processing the log would give precise counts of call
edges, and could be used to drive well-informed inlining decisions - polymorphic or not.
This was a speed-up on throughput tests but a slow-down for latency tests. It was a net win
nonetheless.

Experience with this code shows three things. First, the call edge profiler is buggy and
complex. It would take work to fix the bugs. Second, the call edge profiler incurs lots of
overhead for latency code that we care deeply about. Third, it's not at all clear that
having call edge counts for every possible callee is any better than just having call edge
counts for the limited number of callees that an inline cache would catch.

So, this patch removes the call edge profiler and replaces it with a polymorphic call inline
cache. If we miss the basic call inline cache, we inflate the cache to be a jump to an
out-of-line stub that cases on the previously known callees. If that misses again, then we
rewrite that stub to include the new callee. We do this up to some number of callees. If we
hit the limit then we switch to using a plain virtual call.

Substantial speed-up on V8Spider; undoes the slow-down that the original call edge profiler
caused. Might be a SunSpider speed-up (below 1%), depending on hardware.

(JSC::CallEdge::count):
(JSC::CallEdge::CallEdge):

  • bytecode/CallEdgeProfile.cpp: Removed.
  • bytecode/CallEdgeProfile.h: Removed.
  • bytecode/CallEdgeProfileInlines.h: Removed.
  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink):
(JSC::CallLinkInfo::visitWeak):

  • bytecode/CallLinkInfo.h:
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeFromCallLinkInfo):
(JSC::CallLinkStatus::isClosureCall):
(JSC::CallLinkStatus::makeClosureCall):
(JSC::CallLinkStatus::dump):
(JSC::CallLinkStatus::computeFromCallEdgeProfile): Deleted.

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::variants):
(JSC::CallLinkStatus::size):
(JSC::CallLinkStatus::at):
(JSC::CallLinkStatus::operator[]):
(JSC::CallLinkStatus::canOptimize):
(JSC::CallLinkStatus::edges): Deleted.
(JSC::CallLinkStatus::canTrustCounts): Deleted.

  • bytecode/CallVariant.cpp:

(JSC::variantListWithVariant):
(JSC::despecifiedVariantList):

  • bytecode/CallVariant.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::linkIncomingPolymorphicCall):
(JSC::CodeBlock::unlinkIncomingCalls):
(JSC::CodeBlock::noticeIncomingCall):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::isIncomingCallAlreadyLinked): Deleted.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCallWithoutSettingResult):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::removeFTLProfiling): Deleted.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • jit/BinarySwitch.h:
  • jit/ClosureCallStubRoutine.cpp: Removed.
  • jit/ClosureCallStubRoutine.h: Removed.
  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

(JSC::operationLinkPolymorphicCallFor):
(JSC::operationLinkClosureCallFor): Deleted.

  • jit/JITStubRoutine.h:
  • jit/JITWriteBarrier.h:
  • jit/PolymorphicCallStubRoutine.cpp: Added.

(JSC::PolymorphicCallNode::~PolymorphicCallNode):
(JSC::PolymorphicCallNode::unlink):
(JSC::PolymorphicCallCase::dump):
(JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine):
(JSC::PolymorphicCallStubRoutine::~PolymorphicCallStubRoutine):
(JSC::PolymorphicCallStubRoutine::variants):
(JSC::PolymorphicCallStubRoutine::edges):
(JSC::PolymorphicCallStubRoutine::visitWeak):
(JSC::PolymorphicCallStubRoutine::markRequiredObjectsInternal):

  • jit/PolymorphicCallStubRoutine.h: Added.

(JSC::PolymorphicCallNode::PolymorphicCallNode):
(JSC::PolymorphicCallCase::PolymorphicCallCase):
(JSC::PolymorphicCallCase::variant):
(JSC::PolymorphicCallCase::codeBlock):

  • jit/Repatch.cpp:

(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):
(JSC::linkClosureCall): Deleted.

  • jit/Repatch.h:
  • jit/ThunkGenerators.cpp:

(JSC::linkPolymorphicCallForThunkGenerator):
(JSC::linkPolymorphicCallThunkGenerator):
(JSC::linkPolymorphicCallThatPreservesRegsThunkGenerator):
(JSC::linkClosureCallForThunkGenerator): Deleted.
(JSC::linkClosureCallThunkGenerator): Deleted.
(JSC::linkClosureCallThatPreservesRegsThunkGenerator): Deleted.

  • jit/ThunkGenerators.h:

(JSC::linkPolymorphicCallThunkGeneratorFor):
(JSC::linkClosureCallThunkGeneratorFor): Deleted.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):

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

(JSC::VM::prepareToDiscardCode):
(JSC::VM::ensureCallEdgeLog): Deleted.

  • runtime/VM.h:
12:12 PM Changeset in webkit [179356] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merge r179339. rdar://problem/19619999

12:12 PM Changeset in webkit [179355] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merge r179320. rdar://problem/19619999

11:49 AM Changeset in webkit [179354] by santoshbit2007@gmail.com
  • 2 edits in trunk/Source/WTF

Refactor String::format to handle unreached va_end.
https://bugs.webkit.org/show_bug.cgi?id=140938

Reviewed by Alexey Proskuryakov.

Now va_end is called for all platform after getting length
of formatted string and again va_start/va_end is called to write
formatted string in buffer. This way it ensure va_end is always
reached for each va_start.

  • wtf/text/WTFString.cpp:
11:41 AM Changeset in webkit [179353] by akling@apple.com
  • 40 edits in trunk/Source/WebCore

JavaScript bindings constructors should take Ref<ImplType>&&.
<https://webkit.org/b/140952>

Reviewed by Darin Adler.

When constructing a JS wrapper object, there is always going to be a
corresponding DOM object.

Tweak the JavaScript DOM bindings generator to spit out constructors
that take the DOM object by Ref&& rather than PassRefPtr.

This avoids generating unnecessary null checks around every instance
of wrapper construction.

  • bindings/js/JSDOMBinding.h:

(WebCore::createWrapper):

  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::setWindow):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::JSDocument::location):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

11:34 AM Changeset in webkit [179352] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merge r179339. rdar://problem/19619999

11:34 AM Changeset in webkit [179351] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merge r179320. rdar://problem/19619999

11:28 AM Changeset in webkit [179350] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Mark more tests as slow in debug.

11:25 AM Changeset in webkit [179349] by Joseph Pecoraro
  • 22 edits
    2 adds in trunk

Web Inspector: ES6: Improved Console Format for Set and Map Objects (like Arrays)
https://bugs.webkit.org/show_bug.cgi?id=122867

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Add new Runtime.RemoteObject object subtypes for "map", "set", and "weakmap".

Upgrade Runtime.ObjectPreview to include type/subtype information. Now,
an ObjectPreview can be used for any value, in place of a RemoteObject,
and not capture / hold a reference to the value. The value will be in
the string description.

Adding this information to ObjectPreview can duplicate some information
in the protocol messages if a preview is provided, but simplifies
previews, so that all the information you need for any RemoteObject
preview is available. To slim messages further, make "overflow" and
"properties" only available on previews that may contain properties.
So, not primitives or null.

Finally, for "Map/Set/WeakMap" add an "entries" list to the preview
that will return previews with "key" and "value" properties depending
on the collection type. To get live, non-preview objects from a
collection, use Runtime.getCollectionEntries.

In order to keep the WeakMap's values Weak the frontend may provide
a unique object group name when getting collection entries. It may
then release that object group, e.g. when not showing the WeakMap's
values to the user, and thus remove the strong reference to the keys
so they may be garbage collected.

  • runtime/WeakMapData.h:

(JSC::WeakMapData::begin):
(JSC::WeakMapData::end):
Expose iterators so the Inspector may access WeakMap keys/values.

  • inspector/JSInjectedScriptHostPrototype.cpp:

(Inspector::JSInjectedScriptHostPrototype::finishCreation):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries):

  • inspector/JSInjectedScriptHost.h:
  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::subtype):
Discern "map", "set", and "weakmap" object subtypes.

(Inspector::JSInjectedScriptHost::weakMapEntries):
Return a list of WeakMap entries. These are strong references
that the Inspector code is responsible for releasing.

  • inspector/protocol/Runtime.json:

Update types and expose the new getCollectionEntries command.

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

(Inspector::InspectorRuntimeAgent::getCollectionEntries):

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

(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::getCollectionEntries):
Pass through to the InjectedScript and call getCollectionEntries.

  • inspector/scripts/codegen/generator.py:

Add another type with runtime casting.

  • inspector/InjectedScriptSource.js:
  • Implement getCollectionEntries to get a range of values from a

collection. The non-Weak collections have an order to their keys (in
order of added) so range'd gets are okay. WeakMap does not have an
order, so only allow fetching a number of values.

  • Update preview generation to address the Runtime.ObjectPreview

type changes.

Source/WebInspectorUI:

This includes Set/Map/WeakMap previews:

  • Set previews: Set {1, 2, 3}
  • Map/WeakMap previews: Map {1 => 2, "key" => "value"}

For WeakMaps:

  • the preview itself shows up to 5 key/value pairs from when the object was logged
  • the previews are strings only, and thus do not retain the actual keys/values
  • when expanding, we get RemoteObjects and strongly retain the keys/values
  • when collapsing / clearing, we release the RemoteObjects so they can get collected

Currently you collapse the <entries> section, and re-expand later the
collection may show you knew keys/values. The UI for this will change.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.prototype.isCollectionType):
(WebInspector.RemoteObject.prototype.isWeakCollection):
(WebInspector.RemoteObject.prototype.getCollectionEntries):
(WebInspector.RemoteObject.prototype.releaseWeakCollectionEntries):
(WebInspector.RemoteObject.prototype.arrayLength):
(WebInspector.RemoteObject.prototype._weakCollectionObjectGroup):
High level functions for dealing with a RemoteObject that may be a
collection / weak collection.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
Include default formatters for collection types.

(WebInspector.ConsoleMessageImpl.prototype._appendPreview):
(WebInspector.ConsoleMessageImpl.prototype._appendEntryPreviews):
(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews):
(WebInspector.ConsoleMessageImpl.prototype._appendValuePreview):
(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview): Deleted.
Refactor preview generation a bit and include a specific path for
generation the output of a preview with "entries".

  • UserInterface/Views/LogContentView.css:

(.console-object-preview-body .console-object-preview-name.console-object-preview-name-Object):
With nested Object previews ("Map {{a:1} => 1}") don't show "Object" for the inner
object preview. Only show it if it has a unique type ("Map {Foo {a:1} => 1}")

(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap):
(:matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .section):
(:matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .properties):
Make map/set/weakmap display like Objects.

  • UserInterface/Views/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection.prototype.update):
(WebInspector.ObjectPropertiesSection.prototype.updateProperties):
(WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
(WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
(WebInspector.CollectionEntriesMainTreeElement):
(WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand.callback):
(WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand):
(WebInspector.CollectionEntriesMainTreeElement.prototype.oncollapse):
(WebInspector.CollectionEntriesMainTreeElement.prototype.ondetach):
(WebInspector.CollectionEntriesMainTreeElement.prototype._trackWeakEntries):
(WebInspector.CollectionEntriesMainTreeElement.prototype._untrackWeakEntries):
(WebInspector.CollectionEntryTreeElement):
(WebInspector.CollectionEntryTreeElement.prototype.onpopulate):
(WebInspector.CollectionEntryTreeElement.prototype.onattach):
(WebInspector.EmptyCollectionTreeElement):
(WebInspector.ObjectPropertiesSection.prototype.update.callback): Deleted.
Add a quick UI for exploring the entries of a collection. We are actively
changing the styles of objects in the Console, so this should change soon.

LayoutTests:

The test unexpectedly fails in Debug builds, so skip it.

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Update based on Runtime.ObjectPreview changes.

  • inspector/model/remote-object-weak-collection-expected.txt: Added.
  • inspector/model/remote-object-weak-collection.html: Added.

New test for weak collection handling.

11:20 AM Changeset in webkit [179348] by ggaren@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the GCArraySegment piece of this patch.

  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::CodeBlockSet):

  • heap/CodeBlockSet.h:
  • heap/GCSegmentedArray.h:

(JSC::GCArraySegment::GCArraySegment):

  • heap/GCSegmentedArrayInlines.h:

(JSC::GCSegmentedArray<T>::GCSegmentedArray):
(JSC::GCSegmentedArray<T>::~GCSegmentedArray):
(JSC::GCSegmentedArray<T>::clear):
(JSC::GCSegmentedArray<T>::expand):
(JSC::GCSegmentedArray<T>::refill):
(JSC::GCArraySegment<T>::create):
(JSC::GCArraySegment<T>::destroy):

  • heap/GCThreadSharedData.cpp:

(JSC::GCThreadSharedData::GCThreadSharedData):

  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/MarkStack.cpp:

(JSC::MarkStackArray::MarkStackArray):

  • heap/MarkStack.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::SlotVisitor):

10:38 AM Changeset in webkit [179347] by Chris Dumez
  • 29 edits in trunk/Source

Clean up / modernize PageCache class
https://bugs.webkit.org/show_bug.cgi?id=141009

Reviewed by Darin Adler.

Source/WebCore:

Clean up / modernize PageCache class:

  • Use more references instead of pointers
  • Use a ListHashSet<Ref<HistoryItem>> internally instead of a linked list of HistoryItem*. This avoids having the ref/unref HistoryItems manually and maintaining the list size separately. It also simplifies the code dealing with the container and makes looking up HistoryItems faster as a bonus. Similarly to the previous implementation, we are adding elements to one end and removing from the opposite end when pruning to drop old history items first. Note that even though the previous implementation was called LRUList, it did not move items to the front when accessed. The new implementation doesn't either.
    • Rename "capacity" to "maxSize" to avoid confusing with containers' capacity (which doesn't limit the size of the container).
    • Use unsigned instead of int for all values that are supposed to be positive.
    • Do not explicitely define the default constructor and let the compiler generate it for us (and use in-class initialization for members)
    • Fix indentation in the header.

Source/WebKit/mac:

Clean up / modernize PageCache class.

  • History/WebBackForwardList.mm:

(-[WebBackForwardList pageCacheSize]):

  • WebView/WebView.mm:

(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView goToBackForwardItem:]):
(+[WebView _setCacheModel:]):

Source/WebKit/win:

Clean up / modernize PageCache class.

  • WebView.cpp:

(WebView::setCacheModel):

Source/WebKit2:

Clean up / modernize PageCache class.

  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::WebBackForwardListProxy::removeItem):
(WebKit::WebBackForwardListProxy::close):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::goForward):
(WebKit::WebPage::goBack):
(WebKit::WebPage::goToBackForwardItem):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::releasePageCache):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformSetCacheModel):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel):

10:23 AM Changeset in webkit [179346] by Csaba Osztrogonác
  • 9 edits in trunk/Source/WebKit2

[EFL][GTK] Fix the build after r179326
https://bugs.webkit.org/show_bug.cgi?id=141027

Reviewed by Alexey Proskuryakov.

Guard MessageRecorder implementation with USE(DTRACE)
for platforms not supporting DTrace.

Original patch by Carlos Garcia Campos <cgarcia@igalia.com>

  • Platform/IPC/ArgumentCoders.cpp:
  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(IPC::Connection::sendMessage):
(IPC::Connection::sendSyncMessage):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::dispatchSyncMessage):
(IPC::Connection::dispatchMessage):

  • Platform/IPC/MessageDecoder.cpp:

(IPC::MessageDecoder::MessageDecoder):

  • Platform/IPC/MessageDecoder.h:
  • Platform/IPC/MessageEncoder.cpp:

(IPC::MessageEncoder::MessageEncoder):
(IPC::MessageEncoder::encodeHeader):

  • Platform/IPC/MessageEncoder.h:
  • Platform/IPC/MessageRecorder.h:
8:58 AM Changeset in webkit [179345] by Csaba Osztrogonác
  • 5 edits in trunk/Source

Move HAVE_DTRACE definition back to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=141033

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:

Source/WTF:

  • wtf/Platform.h:
8:19 AM Changeset in webkit [179344] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

HTMLImageLoader: fix build failure on assert condition after r179340
https://bugs.webkit.org/show_bug.cgi?id=140722

Patch by Julien Isorce <j.isorce@samsung.com> on 2015-01-29
Reviewed by Csaba Osztrogonác.

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::imageChanged): image() directly
returns a CachedImage*.

5:33 AM Changeset in webkit [179343] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Make run-jsc-stress-tests --remote work on Linux too
https://bugs.webkit.org/show_bug.cgi?id=141000

Reviewed by Darin Adler.

  • Scripts/jsc-stress-test-helpers/shell-runner.sh: Omit error message of sysctl,

use bash/dash compatible signal names, use Linux/Mac compatible find options,
use bash/dash compatible functions.

  • Scripts/run-jsc-stress-tests: Use Linux/Mac compatible find options.
5:32 AM Changeset in webkit [179342] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

[buildbot] Simplify jscore-test buildstep
https://bugs.webkit.org/show_bug.cgi?id=140821

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunJavaScriptCoreTests): Inherited from TestWithFailureCount and removed useless actual.html logfile.
(RunJavaScriptCoreTests.countFailures): Added.
(RunJavaScriptCoreTests.commandComplete): Deleted.
(RunJavaScriptCoreTests.evaluateCommand): Deleted.
(RunJavaScriptCoreTests.getText): Deleted.
(RunJavaScriptCoreTests.getText2): Deleted.

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Updated.

(RunJavaScriptCoreTestsTest.test_mozilla_failure_old_output):
(RunJavaScriptCoreTestsTest.test_mozilla_failures_old_output):
(RunJavaScriptCoreTestsTest.test_jsc_stress_failure_new_output):
(RunJavaScriptCoreTestsTest.test_jsc_stress_failures_new_output):

4:09 AM Changeset in webkit [179341] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Unreviewed, revert r179337, we don't need this dependency.

  • efl/install-dependencies:
  • gtk/install-dependencies:
3:32 AM Changeset in webkit [179340] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

CachedImage: ensure clients overrides imageChanged instead of notifyFinished
https://bugs.webkit.org/show_bug.cgi?id=140722

Patch by Julien Isorce <j.isorce@samsung.com> on 2015-01-29
Reviewed by Tim Horton.

imageChanged is called whenever a frame of an image changes
because we got more data from the network.

notifyFinished was called when the image was entirely loaded.

The problem was that some clients were implementing only
imageChanged (ex: RenderBox), some only notifyFinished and
some both (ex: RenderImage) which made the situation difficult
to understand and to maintain.

For example when the image finished loading, both imageChanged
and notifyFinished were called with the difference that for the
first one isLoaded() returned false.
It could result in functions being called twice in a row,
ex: contentChanged(ImageChanged).

So this patch tries to simplify the situation by marking
CachedImageClient::notifyFinished final in order to prevent
clients from implementing it.
Indeed this patch ensure that CachedImage clients implement
and only implement imageChanged function.

Also Clients can now differentiate intermediate and end
calls by checking isLoaded() in imageChanged.

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::imageChanged): Added instead
of notifyFinished.
(WebCore::HTMLImageLoader::notifyFinished): Deleted.

  • html/HTMLImageLoader.h:
  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::imageChanged): Added instead
of notifyFinished.
(WebCore::ImageLoader::notifyFinished): Deleted.

  • loader/ImageLoader.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::finishLoading): Explicilty mark image as
loaded and before notifying observers. So that it avoids to call
notifyFinished (from CachedResource::finishLoading).

  • loader/cache/CachedImageClient.h:

Make CachedImageClient::notifyFinished final to make sure
sub classes implement imageChanged instead.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::notifyFinished): Deleted.
ImageChanged already exists and is more clever than notifyFinished.
Indeed invalidateBackgroundObscurationStatus() will be called by
RenderReplaced::layout() upon call to setNeedsLayout() in
RenderImage::imageDimensionsChanged.
Also contentChanged(ImageChanged) is now called only when necessary.

  • rendering/RenderImage.h:
  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::imageChanged): Added instead
of notifyFinished.
(WebCore::SVGFEImageElement::notifyFinished): Deleted.

  • svg/SVGFEImageElement.h:
2:56 AM Changeset in webkit [179339] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Avoid manually handling quickLookWithEvent: if the immediate action gesture recognizer will do Lookup for us
https://bugs.webkit.orgshow_bug.cgi?id=141018
<rdar://problem/19619999>

  • UIProcess/API/mac/WKView.mm:

(-[WKView quickLookWithEvent:]):
Yosemite is 101000, not 10100.

12:47 AM Changeset in webkit [179338] by shiva.jm@samsung.com
  • 2 edits in trunk/Tools

Jan 28, 2015:

11:44 PM Changeset in webkit [179337] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

URTBF after r179326, added uuid-dev package as new dependency.

  • efl/install-dependencies:
  • gtk/install-dependencies:
11:00 PM Changeset in webkit [179336] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

security/mixedContent/redirect-https-to-http-iframe-in-main-frame test is the same as security/mixedContent/redirect-http-to-https-iframe-in-main-frame.html
https://bugs.webkit.org/show_bug.cgi?id=140876

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-28
Reviewed by Darin Adler.

Fix the test so it's not identical to the redirect-http-to-https-iframe-in-main-frame
test, and update the expected results.

  • http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html:
9:23 PM Changeset in webkit [179335] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

Poor performance on IE's Chalkboard benchmark.
https://bugs.webkit.org/show_bug.cgi?id=140753.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-28
Reviewed by Zalan Bujtas.

PerformanceTests:

  • SVG/UnderTheSeeBenchmark.html: Added
  • SVG/WorldcupBenchmark.html: Added.
  • SVG/resources/RenderAnimator.css: Added.
  • SVG/resources/RenderAnimator.js: Added.

These are benchmarks for the SVG rendering. Mainly we want to measure how fast
the SVG rendering will be when only a small part of it is drawn.

Source/WebCore:

Test: PerformanceTests/SVG/UnderTheSeeBenchmark.html

PerformanceTests/SVG/WorldcupBenchmark.html

The SVG rendering code was not skipping the SVG elements which are outside the
clipping rectangle. We were drawing all the SVG elements even if some of them
are completely outside the clipping rectangle. The fix is to pass the correct
dirty rectangle to the ScrollView which then gets propagated to the SVG renderers.

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw):
SVGImage::draw() needs to pass the intersection of 'srcRect' and context->clipBounds(),
to ScrollView::paint(). This will ensure RenderSVGShape::paint() gets the correct
clipping rectangle. If there is no intersection between the boundingBox of the
RenderSVGShape and the clipping rectangle, the RenderSVGShape will not be drawn.

8:45 PM Changeset in webkit [179334] by matthew_hanson@apple.com
  • 3 edits
    4 adds in branches/safari-600.5-branch

Merge r179027. rdar://problem/19585744

8:45 PM Changeset in webkit [179333] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/LayoutTests

Merge r178953. rdar://problem/19617631

8:30 PM Changeset in webkit [179332] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/LayoutTests

Merge r178795. rdar://problem/19617631

8:29 PM Changeset in webkit [179331] by matthew_hanson@apple.com
  • 11 edits
    3 adds in branches/safari-600.5-branch

Merge r178768. rdar://problem/19617631

8:29 PM Changeset in webkit [179330] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r178571. rdar://problem/19585723

8:29 PM Changeset in webkit [179329] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merge r178365. rdar://problem/19617809

7:05 PM Changeset in webkit [179328] by timothy_horton@apple.com
  • 13 edits
    4 adds in trunk/Source/WebKit2

Add API::{FrameInfo, NavigationAction, NavigationResponse} types
https://bugs.webkit.org/show_bug.cgi?id=140982

Reviewed by Sam Weinig.

Make C++ API objects for WK{FrameInfo, NavigationAction, NavigationResponse}
to wrap around, as a step towards moving Modern API logic down into WebPageProxy.

  • Shared/API/APIObject.h:
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • UIProcess/API/APIFrameInfo.cpp: Added.
  • UIProcess/API/APIFrameInfo.h: Added.
  • UIProcess/API/APINavigationAction.h: Added.
  • UIProcess/API/APINavigationResponse.h: Added.

Add API::FrameInfo, API::NavigationAction, and API::NavigationResponse.

  • UIProcess/API/Cocoa/WKFrameInfo.mm:
  • UIProcess/API/Cocoa/WKFrameInfoInternal.h:

Make WKFrameInfo a WKObject, wrapping a API::FrameInfo.

  • UIProcess/API/Cocoa/WKNavigationAction.mm:
  • UIProcess/API/Cocoa/WKNavigationActionInternal.h:

Make WKNavigationAction a WKObject, wrapping a API::NavigationAction.

  • UIProcess/API/Cocoa/WKNavigationResponse.mm:
  • UIProcess/API/Cocoa/WKNavigationResponseInternal.h:

Make WKNavigationResponse a WKObject, wrapping a API::NavigationResponse.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

Adopt API::FrameInfo.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
Adopt API::FrameInfo, and reorganize the code slightly.
Adopt API::NavigationAction.

(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
Adopt API::FrameInfo.
Adopt API::NavigationResponse.

(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
Adopt API::FrameInfo.

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::createNewPage):
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
Adopt API::FrameInfo.

  • WebKit2.xcodeproj/project.pbxproj:
6:52 PM Changeset in webkit [179327] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

http/tests/xmlhttprequest/workers/methods.html sometimes times out with disk cache enabled
https://bugs.webkit.org/show_bug.cgi?id=140976

Reviewed by Chris Dumez.

The previous fix sometimes invoked the completion handler twice. Explicitly track if we
have called it or not.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::dispatchRetrieveOperation):

Also move the error case to the done branch. According to the documentation 'done' is always set on error.

6:32 PM Changeset in webkit [179326] by timothy_horton@apple.com
  • 28 edits
    5 adds in trunk

Add a WebKitMessageRecorder DTrace provider, exposing IPC details to DTrace
https://bugs.webkit.org/show_bug.cgi?id=140673

Reviewed by Sam Weinig.

  • Platform/IPC/ArgumentCoders.cpp:

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

  • Platform/IPC/ArgumentCoders.h:

Add a uuid_t (simple) argument coder.
Fix a mis-named header-guard #ifdef.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(IPC::Connection::dispatchSyncMessage):
Sync message replies inherit the message UUID from the incoming sync message.

(IPC::Connection::sendMessage):
(IPC::Connection::waitForMessage):
(IPC::Connection::sendSyncMessage):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
Record outgoing messages. Because sendSyncMessage calls sendMessage,
we have to explicitly avoid recording the message twice.

(IPC::Connection::dispatchMessage):
Record the incoming message.

(IPC::Connection::remoteProcessID):
Add remoteProcessID(), which tries to determine the pid of the remote process.

  • Platform/IPC/Connection.h:

(IPC::Connection::xpcConnection):
This can be const.

(IPC::Connection::isValid):
Make this public.

  • Platform/IPC/MessageDecoder.cpp:

(IPC::MessageDecoder::MessageDecoder):

  • Platform/IPC/MessageDecoder.h:

(IPC::MessageDecoder::setMessageProcessingToken):
(IPC::MessageDecoder::UUID):
Decode and store the message UUID.
Store a MessageProcessingToken for the lifetime of the MessageDecoder;
this ensures that all time spent processing the incoming message will be
counted against that message.

  • Platform/IPC/MessageEncoder.cpp:

(IPC::MessageEncoder::MessageEncoder):
By default, create a new UUID for the message. Alternatively, allow clients
to pass the message UUID in (used for sync message replies).
Store the messageReceiverName and messageName.

(IPC::MessageEncoder::encodeHeader):
Factor encodeHeader() out of the constructors so most of their code can be shared.

(IPC::MessageEncoder::isSyncMessage):
(IPC::MessageEncoder::shouldDispatchMessageWhenWaitingForSyncReply):
Add getters for these flags.

  • Platform/IPC/MessageEncoder.h:

(IPC::MessageEncoder::messageReceiverName):
(IPC::MessageEncoder::messageName):
(IPC::MessageEncoder::destinationID):
(IPC::MessageEncoder::UUID):

  • Platform/IPC/MessageRecorder.h: Added.
  • Platform/IPC/MessageRecorder.cpp: Added.

(MessageRecorder::MessageRecorder):
Add a class that interfaces with a custom DTrace provider to log incoming and outgoing messages.

(MessageRecorder::shared):
(MessageRecorder::isEnabled):
Determine if either of the message probes are enabled. If not, we'll avoid most of the
work associated with MessageRecorder.

(MessageRecorder::recordOutgoingMessage):
(MessageRecorder::recordIncomingMessage):
Build a WebKitMessageRecord and MessageProcessingToken from the Message(De|En)coder.
Once the MessageProcessingToken is deallocated, the probe will be invoked with the WebKitMessageRecord.

(MessageRecorder::MessageProcessingToken::MessageProcessingToken):
(MessageRecorder::MessageProcessingToken::~MessageProcessingToken):
Keep track of when the token is created and destroyed; these are considered the beginning
and ending "processing" times of the message (and as such the token should be kept alive for
exactly as long as the message is being processed).

  • Platform/IPC/MessageRecorderProbes.d: Added.

Add a DTrace provider source file with two probes, message_sent and message_received.
The struct must match the struct in MessageRecorder.h.

  • Platform/IPC/ProcessType.h: Added.

Add an enum of process types.

  • WebKit2.xcodeproj/project.pbxproj:
  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.h:
  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkProcess.h:
  • WebProcess/Databases/WebToDatabaseProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Plugins/PluginProcessConnection.h:
  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebInspectorUI.h:
  • WebProcess/WebProcess.h:
  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/WebProcessProxy.h:
  • PluginProcess/PluginProcess.h:
  • PluginProcess/WebProcessConnection.h:

Annotate Connection::Clients with process types.

  • Scripts/dtrace/trace-webkit2-messages.d: Added.

Add a DTrace script that outputs a small blob of JSON per message.

6:32 PM Changeset in webkit [179325] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Windows return -1 when calling vsnprintf with arguments that exceed target buffer size
https://bugs.webkit.org/show_bug.cgi?id=140917

Patch by Namhoon Kim <namkim@ea.com> on 2015-01-28
Reviewed by Brent Fulgham.

Fix return value of vsnprintf when windows API return -1 to denote
requested buffer exceeded. Replace return value by calling vscprintf.

  • wtf/StringExtras.h:

(snprintf): Fix return value by calling vscprintf when buffer exceeded.
(wtf_vsnprintf): Ditto.

6:15 PM Changeset in webkit [179324] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

Scroll snap points do not work in the vertical direction
https://bugs.webkit.org/show_bug.cgi?id=141001
<rdar://problem/19632089>

Reviewed by Beth Dakin.

New scroll snap tests are being prepared separately. A manual test case is attached to the issue.

  • page/EventHandler.cpp:

(WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis): We want to consider momentum end phase
when dealing with Scroll Snap Points.

  • platform/mac/AxisScrollSnapAnimator.mm:

(WebCore::AxisScrollSnapAnimator::handleWheelEvent): We do NOT want to bail out early here. In fact, it's strange
that this code was like this at all, since it meant a large number of cases were not being used. We also want to
trigger the scroll snap animation (when applicable) upon an inertia scroll end.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::gestureShouldBeginSnap): Added.
(WebCore::ScrollAnimatorMac::allowsVerticalStretching): If we have automatic elasticity, and we have active scroll
snap points, we want to let the scroll snap animator deal with the gesture.
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching): Ditto.

6:05 PM Changeset in webkit [179323] by benjamin@webkit.org
  • 6 edits
    16 adds in trunk

Start fixing the handling of Element's attributes when they contain non-ASCII characters
https://bugs.webkit.org/show_bug.cgi?id=141016

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-28
Reviewed by Ryosuke Niwa.

Source/WebCore:

Attribute handling does not work properly when the attribute name contains non-ASCII character.

The HTML parser tokenize those names as ASCII lowercase. Some of the code is CSS and Element use
unicode lowercase for the names. This breaks all the APIs as soon as a name contains a character
that is non-ASCII and uppercase since some APIs change it, other don't.

This patch is a first step toward fixing this mess, it only address the simple cases.
The HTML spec says the names should be compared ASCII case-insensitive, to I spread that behavior
to places that were using unicode.

Tests: fast/css/attribute-ascii-case-insensitive-html.html

fast/css/attribute-ascii-case-insensitive-xhtml-expected.xhtml
fast/css/attribute-ascii-case-insensitive-xhtml.xhtml
fast/css/attribute-ascii-case-insensitive-xml-in-html.html
fast/dom/Element/attribute-ascii-case-insensitive-1.html
fast/dom/Element/attribute-ascii-case-insensitive-2.html
fast/selectors/attribute-ascii-case-insensitive-style-update.html
fast/selectors/element-matches-attribute-ascii-case-insensitive-html.html
fast/selectors/querySelector-attribute-ascii-case-insensitive-html.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::setAttribute):

  • dom/Element.cpp:

(WebCore::Element::synchronizeAttribute):
(WebCore::Element::setAttribute):
(WebCore::Element::removeAttribute):
(WebCore::Element::hasAttribute):

  • dom/ElementData.cpp:

(WebCore::ElementData::findAttributeIndexByNameSlowCase):

  • dom/ElementData.h:

(WebCore::ElementData::findAttributeIndexByName):

LayoutTests:

Start some basic testing.

Some tests are failing due to the more complicated case being handled incorrectly, this will
be fixed in follow ups.

  • fast/css/attribute-ascii-case-insensitive-html-expected.html: Added.
  • fast/css/attribute-ascii-case-insensitive-html.html: Added.
  • fast/css/attribute-ascii-case-insensitive-xhtml-expected.xhtml: Added.
  • fast/css/attribute-ascii-case-insensitive-xhtml.xhtml: Added.
  • fast/css/attribute-ascii-case-insensitive-xml-in-html-expected.html: Added.
  • fast/css/attribute-ascii-case-insensitive-xml-in-html.html: Added.
  • fast/dom/Element/attribute-ascii-case-insensitive-1-expected.txt: Added.
  • fast/dom/Element/attribute-ascii-case-insensitive-1.html: Added.
  • fast/dom/Element/attribute-ascii-case-insensitive-2-expected.txt: Added.
  • fast/dom/Element/attribute-ascii-case-insensitive-2.html: Added.
  • fast/selectors/attribute-ascii-case-insensitive-style-update-expected.txt: Added.
  • fast/selectors/attribute-ascii-case-insensitive-style-update.html: Added.
  • fast/selectors/element-matches-attribute-ascii-case-insensitive-html-expected.txt: Added.
  • fast/selectors/element-matches-attribute-ascii-case-insensitive-html.html: Added.
  • fast/selectors/querySelector-attribute-ascii-case-insensitive-html-expected.txt: Added.
  • fast/selectors/querySelector-attribute-ascii-case-insensitive-html.html: Added.
6:01 PM Changeset in webkit [179322] by Joseph Pecoraro
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Change Main Frame Status Buttons when debugging Augmented JSContext
https://bugs.webkit.org/show_bug.cgi?id=141006

Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:

New "Restart" string.

  • UserInterface/Base/Main.js:

(WebInspector.canArchiveMainFrame):

  • UserInterface/Views/FrameTreeElement.js:

(WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
(WebInspector.FrameTreeElement.prototype._updateDownloadButton):
Update the tooltip when in a non-Web debuggable, and only show
the Download button when in a Web debuggable.

  • UserInterface/Views/TreeElementStatusButton.js:

(WebInspector.TreeElementStatusButton.prototype.set hidden):
Oops! The implementation was backwards. Simplify with classList.toggle.

5:49 PM Changeset in webkit [179321] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Web Inspector: Crash closing inspected page with frequent activity
https://bugs.webkit.org/show_bug.cgi?id=140973

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

  • WebProcess/WebPage/WebInspector.h:

(WebKit::WebInspector::disconnectFromPage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::close):
Be sure to close the WebInspector connection through the page
when the page is closing so that the WebKit::WebInspector is
relinquishes itself as the InspectorFrontendChannel.

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

Avoid manually handling quickLookWithEvent: if the immediate action gesture recognizer will do Lookup for us
https://bugs.webkit.org/show_bug.cgi?id=141018
<rdar://problem/19619999>

Reviewed by Beth Dakin.

  • UIProcess/API/mac/WKView.mm:

(-[WKView quickLookWithEvent:]):
If we have an immediate action gesture recognizer, just call super and
avoid WebKit's special quickLookWithEvent: implementation.

4:58 PM Changeset in webkit [179319] by ggaren@apple.com
  • 8 edits in trunk

Removed fastMallocForbid / fastMallocAllow
https://bugs.webkit.org/show_bug.cgi?id=141012

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Copy non-current thread stacks before scanning them instead of scanning
them in-place.

This operation is uncommon (i.e., never in the web content process),
and even in a stress test with 4 threads it only copies about 27kB,
so I think the performance cost is OK.

Scanning in-place requires a complex dance where we constrain our GC
data structures not to use malloc, free, or any other interesting functions
that might acquire locks. We've gotten this wrong many times in the past,
and I just got it wrong again yesterday. Since this code path is rarely
tested, I want it to just make sense, and not depend on or constrain the
details of the rest of the GC heap's design.

  • heap/MachineStackMarker.cpp:

(JSC::otherThreadStack): Factored out a helper function for dealing with
unaligned and/or backwards pointers.

(JSC::MachineThreads::tryCopyOtherThreadStack): This is now the only
constrained function, and it only calls memcpy and low-level thread APIs.

(JSC::MachineThreads::tryCopyOtherThreadStacks): The design here is that
you do one pass over all the threads to compute their combined size,
and then a second pass to do all the copying. In theory, the threads may
grow in between passes, in which case you'll continue until the threads
stop growing. In practice, you never continue.

(JSC::growBuffer): Helper function for growing.

(JSC::MachineThreads::gatherConservativeRoots):
(JSC::MachineThreads::gatherFromOtherThread): Deleted.

  • heap/MachineStackMarker.h: Updated for interface changes.

Source/WTF:

Removed the forbid / allow API because it is no longer used.

  • wtf/FastMalloc.cpp:

(WTF::tryFastMalloc):
(WTF::fastMalloc):
(WTF::tryFastCalloc):
(WTF::fastCalloc):
(WTF::fastFree):
(WTF::tryFastRealloc):
(WTF::fastRealloc):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
(WTF::isForbidden): Deleted.
(WTF::fastMallocForbid): Deleted.
(WTF::fastMallocAllow): Deleted.
(WTF::initializeIsForbiddenKey): Deleted.

  • wtf/FastMalloc.h:

Tools:

Fixed a test bug I noticed while testing.

  • DumpRenderTree/JavaScriptThreading.cpp:

(stopJavaScriptThreads): Lock the javaScriptThreads lock before
accessing javaScriptThreads -- otherwise, you'll ASSERT.

4:50 PM Changeset in webkit [179318] by bshafiei@apple.com
  • 6 edits in branches/safari-600.5-branch/Source

Merged r179230. rdar://problem/19621509

4:43 PM Changeset in webkit [179317] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

4:40 PM Changeset in webkit [179316] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Remove remaining PLATFORM(WIN) code blocks from WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=140972

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-01-28
Reviewed by Darin Adler.

  • WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:

(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):

4:39 PM Changeset in webkit [179315] by Brent Fulgham
  • 1 edit
    1 delete in trunk/LayoutTests

[Win] Actually delete the file!

  • platform/win/fast/events/ondrop-text-htmlt-expected.txt: Removed.
4:38 PM Changeset in webkit [179314] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.4

New tag.

4:37 PM Changeset in webkit [179313] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening. Get rid of misspelled expected file.

Get rid of the 'ondrop-text-htmlt-expected.txt' file, and commit a new baseline
from the test system.

  • platform/win/fast/events/ondrop-text-htmlt-expected.txt: Removed.
  • platform/win/fast/text/backslash-to-yen-sign-euc-expected.txt:
4:30 PM Changeset in webkit [179312] by dburkart@apple.com
  • 2 edits in trunk/Tools

asan.xcconfig should use CLANG_ADDRESS_SANITIZER=YES instead of -fsanitize=address
https://bugs.webkit.org/show_bug.cgi?id=141015

Reviewed by Alexey Proskuryakov.

3:56 PM Changeset in webkit [179311] by weinig@apple.com
  • 2 edits in trunk/Tools

Fix the build.

  • Scripts/copy-webkitlibraries-to-product-directory:
3:46 PM Changeset in webkit [179310] by weinig@apple.com
  • 1 edit
    1 delete in trunk/WebKitLibraries

Remove libWebKitSystemInterfaceMountainLion.a

Reviewed by Mark Rowe.

  • libWebKitSystemInterfaceMountainLion.a: Removed.
3:36 PM Changeset in webkit [179309] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Drop uncommitted/committed terms from LineState.
https://bugs.webkit.org/show_bug.cgi?id=141005

Reviewed by Antti Koivisto.

Fragments form segments and segments turn into runs on the lines.
We add fragments only when they fit so they should not be in 'uncommitted' state at all.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::createRun):
(WebCore::SimpleLineLayout::LineState::addFragment):
(WebCore::SimpleLineLayout::LineState::addWhitespace):
(WebCore::SimpleLineLayout::LineState::hasWhitespaceOnly):
(WebCore::SimpleLineLayout::LineState::width):
(WebCore::SimpleLineLayout::LineState::firstCharacterFits):
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::firstFragment):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::createTextRuns): Unnecessary assert.
(WebCore::SimpleLineLayout::LineState::commitAndCreateRun): Deleted.
(WebCore::SimpleLineLayout::LineState::addUncommitted): Deleted.
(WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): Deleted.

3:20 PM Changeset in webkit [179308] by Chris Dumez
  • 3 edits
    2 adds in trunk

Regression(r177494): Bad cast to WebKitCSSResourceValue in StyleBuilderConverter::convertMaskImageOperations()
https://bugs.webkit.org/show_bug.cgi?id=140991
<rdar://problem/19625305>

Reviewed by Antti Koivisto.

Source/WebCore:

convertMaskImageOperations() was assuming that the CSSValueList's values
were always WebKitCSSResourceValue values. However, they can be
CSSInitialValues as well so we should check before casting.

Test: css3/masking/mask-image-initial-value-crash.html

  • css/StyleBuilderConverter.h:

(WebCore::maskImageValueFromIterator):
(WebCore::StyleBuilderConverter::convertMaskImageOperations):

LayoutTests:

Add layout test to cover the case where a CSSValue is incorrectly casted to
a WebKitCSSResourceValue in StyleBuilderConverter::convertMaskImageOperations(),
thus hitting an assertion in downcast<>() on debug builds.

  • css3/masking/mask-image-initial-value-crash-expected.txt: Added.
  • css3/masking/mask-image-initial-value-crash.html: Added.
2:52 PM Changeset in webkit [179307] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r178363. rdar://problem/19617795

2:52 PM Changeset in webkit [179306] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merge r178311. rdar://problem/19617780

2:52 PM Changeset in webkit [179305] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-600.5-branch

Merge r178231. rdar://problem/19617801

2:52 PM Changeset in webkit [179304] by matthew_hanson@apple.com
  • 4 edits
    5 adds in branches/safari-600.5-branch

Merge r177927. rdar://problem/19585726

2:52 PM Changeset in webkit [179303] by matthew_hanson@apple.com
  • 4 edits
    4 adds in branches/safari-600.5-branch

Merge r177165. rdar://problem/19617570

2:51 PM Changeset in webkit [179302] by Lucas Forschler
  • 3 edits
    4 copies in branches/safari-600.1.4.15-branch

Merged r179027. rdar://problem/19432904

2:47 PM Changeset in webkit [179301] by Lucas Forschler
  • 10 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r178980. rdar://problem/19431679

2:37 PM Changeset in webkit [179300] by Lucas Forschler
  • 2 edits in trunk/Tools

Increase the FileUpload block size in an attempt to improve network performance.

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(UploadBuiltProduct.init):

2:35 PM Changeset in webkit [179299] by Lucas Forschler
  • 4 edits
    4 copies in branches/safari-600.1.4.15-branch

Merged r178380. rdar://problem/19432909

2:26 PM Changeset in webkit [179298] by matthew_hanson@apple.com
  • 6 edits
    6 adds in branches/safari-600.5-branch

Merge r177135. rdar://problem/19451316

2:26 PM Changeset in webkit [179297] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r177089. rdar://problem/19617712

2:26 PM Changeset in webkit [179296] by matthew_hanson@apple.com
  • 5 edits
    8 adds in branches/safari-600.5-branch

Merge r177050. rdar://problem/19452133

2:25 PM Changeset in webkit [179295] by Lucas Forschler
  • 5 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r178364. rdar://problem/19564749

2:22 PM Changeset in webkit [179294] by Beth Dakin
  • 16 edits in trunk/Source

Remove Mountain Lion code from WebKit and WebKit2
https://bugs.webkit.org/show_bug.cgi?id=141010

Reviewed by Sam Weinig.

Source/WebKit/mac:

  • DOM/WebDOMOperations.mm:

(toNSEventPhase):

  • WebView/WebHTMLView.mm:

(isQuickLookEvent):

Source/WebKit2:

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::initializeSandbox):

  • Shared/mac/WebEventFactory.mm:

(WebKit::phaseForEvent):

  • UIProcess/API/mac/WKView.mm:

(-[WKView quickLookWithEvent:]):
(-[WKView updateLayer]):
(-[WKView createFullScreenWindow]):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didFinishLaunching):

  • UIProcess/Network/mac/NetworkProcessProxyMac.mm:

(WebKit::shouldUseXPC):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didFinishLaunching):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::isViewVisible):

  • WebKit2Prefix.h:
  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebProcess/com.apple.WebProcess.sb.in:
2:20 PM Changeset in webkit [179293] by Chris Dumez
  • 6 edits in trunk/Source

Remove dead code from MemoryCache
https://bugs.webkit.org/show_bug.cgi?id=140964

Reviewed by Andreas Kling.

Remove dead code from MemoryCache, make more things private and
clean up a little bit.

  • WebCore.exp.in:
  • inspector/InspectorResourceAgent.cpp:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::MemoryCache):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::removeImageFromCache):
(WebCore::MemoryCache::pruneLiveResources):
(WebCore::MemoryCache::pruneDeadResources):
(WebCore::MemoryCache::pruneDeadResourcesToSize):
(WebCore::MemoryCache::remove):
(WebCore::MemoryCache::removeRequestFromSessionCaches):
(WebCore::MemoryCache::setDisabled):
(WebCore::MemoryCache::resourceForURL): Deleted.
(WebCore::MemoryCache::pruneLiveResourcesToPercentage): Deleted.
(WebCore::MemoryCache::pruneDeadResourcesToPercentage): Deleted.
(WebCore::MemoryCache::evict): Deleted.
(WebCore::MemoryCache::removeUrlFromCache): Deleted.
(WebCore::MemoryCache::removeRequestFromCache): Deleted.
(WebCore::MemoryCache::pruneToPercentage): Deleted.

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::LRUList::LRUList): Deleted.
(WebCore::MemoryCache::remove): Deleted.
(WebCore::MemoryCache::setPruneEnabled): Deleted.
(WebCore::MemoryCache::minDeadCapacity): Deleted.
(WebCore::MemoryCache::maxDeadCapacity): Deleted.
(WebCore::MemoryCache::capacity): Deleted.
(WebCore::MemoryCache::liveSize): Deleted.
(WebCore::MemoryCache::deadSize): Deleted.

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseCriticalMemory):

2:04 PM Changeset in webkit [179292] by Lucas Forschler
  • 6 edits in branches/safari-600.1.4.15-branch/Source

Merged r178175. rdar://problem/19433008

1:58 PM Changeset in webkit [179291] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r176475. rdar://problem/19451346

1:58 PM Changeset in webkit [179290] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r175251. rdar://problem/19451346

1:57 PM Changeset in webkit [179289] by Lucas Forschler
  • 5 edits
    5 copies in branches/safari-600.1.4.15-branch

Merged r178038. rdar://problem/19450100

1:53 PM Changeset in webkit [179288] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177850. rdar://problem/19445865

1:49 PM Changeset in webkit [179287] by Lucas Forschler
  • 11 edits in branches/safari-600.1.4.15-branch/Source

Merged r177738. rdar://problem/19445865

1:45 PM Changeset in webkit [179286] by Brian Burg
  • 23 edits
    2 deletes in trunk/Source

Web Inspector: remove CSS.setPropertyText, CSS.toggleProperty and related dead code
https://bugs.webkit.org/show_bug.cgi?id=140961

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/CSS.json: Remove unused protocol methods.

Source/WebCore:

No new tests, no behavior changed.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::setPropertyText): Deleted.
(WebCore::InspectorCSSAgent::toggleProperty): Deleted.

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::InspectorStyle):
(WebCore::InspectorStyle::populateAllProperties):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::reparseStyleSheet):
(WebCore::InspectorStyleSheet::inspectorStyleForId):
(WebCore::InspectorStyle::setPropertyText): Deleted.
(WebCore::InspectorStyle::toggleProperty): Deleted.
(WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Deleted.
(WebCore::InspectorStyleSheet::setPropertyText): Deleted.
(WebCore::InspectorStyleSheet::toggleProperty): Deleted.
(WebCore::InspectorStyleSheet::rememberInspectorStyle): Deleted.
(WebCore::InspectorStyleSheet::forgetInspectorStyle): Deleted.
(WebCore::InspectorStyleSheet::revalidateStyle): Deleted.

  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorStyleTextEditor.cpp: Removed.
  • inspector/InspectorStyleTextEditor.h: Removed.

Source/WebInspectorUI:

Setters for CSSProperty (except override) are not used, so delete them. These setters
and their callees in DOMNodeStyles were the only clients of the removed protocol commands.

  • UserInterface/Models/CSSProperty.js:

(WebInspector.CSSProperty.prototype.update):
(WebInspector.CSSProperty.prototype.get name):
(WebInspector.CSSProperty.prototype.get value):
(WebInspector.CSSProperty.prototype.get priority):
(WebInspector.CSSProperty.prototype.hasOtherVendorNameOrKeyword):
(WebInspector.CSSProperty.prototype.set text): Deleted.
(WebInspector.CSSProperty.prototype.set name): Deleted.
(WebInspector.CSSProperty.prototype.set value): Deleted.
(WebInspector.CSSProperty.prototype.set important): Deleted.
(WebInspector.CSSProperty.prototype.set priority): Deleted.
(WebInspector.CSSProperty.prototype.set enabled): Deleted.
(WebInspector.CSSProperty.prototype.add): Deleted.
(WebInspector.CSSProperty.prototype.remove): Deleted.
(WebInspector.CSSProperty.prototype._updatePropertySoon.performUpdate): Deleted.
(WebInspector.CSSProperty.prototype._updatePropertySoon): Deleted.
(WebInspector.CSSProperty.prototype._cancelPendingUpdate): Deleted.

  • UserInterface/Models/CSSStyleDeclaration.js:

(WebInspector.CSSStyleDeclaration.prototype.addProperty): Deleted.
(WebInspector.CSSStyleDeclaration.prototype.removeProperty): Deleted.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype.addEmptyRule):
(WebInspector.DOMNodeStyles.prototype.addRule): Deleted.
(WebInspector.DOMNodeStyles.prototype.changeProperty): Deleted.
(WebInspector.DOMNodeStyles.prototype.changePropertyText): Deleted.
(WebInspector.DOMNodeStyles.prototype.changePropertyEnabledState): Deleted.
(WebInspector.DOMNodeStyles.prototype.addProperty): Deleted.
(WebInspector.DOMNodeStyles.prototype.removeProperty): Deleted.
(WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Deleted.

  • UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype._newRuleClicked):

  • Versions/Inspector-iOS-6.0.json:
  • Versions/Inspector-iOS-7.0.json:
  • Versions/Inspector-iOS-8.0.json:
1:39 PM Changeset in webkit [179285] by Lucas Forschler
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177681. rdar://problem/19445913

1:37 PM Changeset in webkit [179284] by Alan Bujtas
  • 8 edits
    2 copies in trunk/Source/WebCore

Simple line layout: Move FlowContents iterator interface to FlowContentsIterator.
https://bugs.webkit.org/show_bug.cgi?id=140944

Reviewed by Antti Koivisto.

This patch cleans up FlowContents's interface by moving the iterator functionality
to this new FlowContentsIterator class.

No change in functionality.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::addUncommitted):
(WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace):
(WebCore::SimpleLineLayout::preWrap):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::firstFragment):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::splitRunsAtRendererBoundary):
(WebCore::SimpleLineLayout::createTextRuns):

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::FlowContents::FlowContents):
(WebCore::SimpleLineLayout::FlowContents::Style::Style): Deleted.
(WebCore::SimpleLineLayout::FlowContents::nextTextFragment): Deleted.
(WebCore::SimpleLineLayout::nextBreakablePosition): Deleted.
(WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition): Deleted.
(WebCore::SimpleLineLayout::findNextNonWhitespace): Deleted.
(WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition): Deleted.
(WebCore::SimpleLineLayout::FlowContents::textWidth): Deleted.
(WebCore::SimpleLineLayout::FlowContents::runWidth): Deleted.

  • rendering/SimpleLineLayoutFlowContents.h:

(WebCore::SimpleLineLayout::FlowContents::Iterator::Iterator):
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator*):
(WebCore::SimpleLineLayout::FlowContents::begin):
(WebCore::SimpleLineLayout::FlowContents::end):
(WebCore::SimpleLineLayout::FlowContents::length):
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator++):
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator==):
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator!=):
(WebCore::SimpleLineLayout::FlowContents::segmentIndexForPosition):
(WebCore::SimpleLineLayout::FlowContents::TextFragment::TextFragment): Deleted.
(WebCore::SimpleLineLayout::FlowContents::TextFragment::isEmpty): Deleted.
(WebCore::SimpleLineLayout::FlowContents::hasOneSegment): Deleted.
(WebCore::SimpleLineLayout::FlowContents::style): Deleted.
(WebCore::SimpleLineLayout::FlowContents::characterAt): Deleted.
(WebCore::SimpleLineLayout::FlowContents::isLineBreak): Deleted.
(WebCore::SimpleLineLayout::FlowContents::isEnd): Deleted.

  • rendering/SimpleLineLayoutFlowContentsIterator.cpp: Copied from Source/WebCore/rendering/SimpleLineLayoutFlowContents.cpp.

(WebCore::SimpleLineLayout::FlowContentsIterator::Style::Style):
(WebCore::SimpleLineLayout::FlowContentsIterator::FlowContentsIterator):
(WebCore::SimpleLineLayout::FlowContentsIterator::nextTextFragment):
(WebCore::SimpleLineLayout::FlowContentsIterator::textWidth):
(WebCore::SimpleLineLayout::nextBreakablePosition):
(WebCore::SimpleLineLayout::FlowContentsIterator::findNextBreakablePosition):
(WebCore::SimpleLineLayout::findNextNonWhitespace):
(WebCore::SimpleLineLayout::FlowContentsIterator::findNextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContentsIterator::runWidth):

  • rendering/SimpleLineLayoutFlowContentsIterator.h: Copied from Source/WebCore/rendering/SimpleLineLayoutFlowContents.h.

(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::isEmpty):
(WebCore::SimpleLineLayout::FlowContentsIterator::style):
(WebCore::SimpleLineLayout::FlowContentsIterator::segmentForPosition):
(WebCore::SimpleLineLayout::FlowContentsIterator::characterAt):
(WebCore::SimpleLineLayout::FlowContentsIterator::isLineBreak):
(WebCore::SimpleLineLayout::FlowContentsIterator::isEnd):

1:27 PM Changeset in webkit [179283] by Beth Dakin
  • 18 edits in trunk/Source/WebCore

Remove Mountain Lion code from WebCore
https://bugs.webkit.org/show_bug.cgi?id=141007

Reviewed by Sam Weinig.

  • WebCore.exp.in:
  • page/AlternativeTextClient.h:
  • page/mac/SettingsMac.mm:

(WebCore::Settings::initializeDefaultFontFamilies):

  • platform/cocoa/SystemVersion.mm:

(WebCore::callGestalt): Deleted.
(WebCore::createSystemMarketingVersion): Deleted.

  • platform/graphics/Font.cpp:

(WebCore::Font::applyTransforms):

  • platform/graphics/WidthIterator.h:

(WebCore::WidthIterator::supportsTypesettingFeatures):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::supportsAcceleratedFilterAnimations):

  • platform/graphics/ca/PlatformCAFilters.h:
  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::platformInit):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):

  • platform/mac/PlatformEventFactoryMac.mm:

(WebCore::phaseForEvent):

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/network/cf/SocketStreamHandleCFNet.cpp:

(WebCore::SocketStreamHandle::createStreams):

  • platform/network/cocoa/CredentialCocoa.mm:

(WebCore::toCredentialPersistence):

  • platform/spi/cocoa/CoreTextSPI.h:
1:24 PM Changeset in webkit [179282] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Web Inspector: Crash when closing inspected page
https://bugs.webkit.org/show_bug.cgi?id=140968

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

Handle cases where the corePage could be null. With the Inspector Process
in its own process, messages may come to the WebContentProcess after
the WebCore::Page has itself been destroyed.

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::show):
(WebKit::WebInspector::close):
(WebKit::WebInspector::openInNewTab):
(WebKit::WebInspector::evaluateScriptForTest):
(WebKit::WebInspector::showConsole):
(WebKit::WebInspector::showResources):
(WebKit::WebInspector::showMainResourceForFrame):
(WebKit::WebInspector::startPageProfiling):
(WebKit::WebInspector::stopPageProfiling):
(WebKit::WebInspector::canAttachWindow):
(WebKit::WebInspector::sendMessageToBackend):
(WebKit::WebInspector::remoteFrontendConnected):
(WebKit::WebInspector::remoteFrontendDisconnected):

1:16 PM Changeset in webkit [179281] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebKit2

Convert WebPreferences and VisitedLinkProvider to be bridged API::Objects
https://bugs.webkit.org/show_bug.cgi?id=141002

Patch by Sam Weinig <sam@webkit.org> on 2015-01-28
Reviewed by Tim Horton.

  • Shared/API/APIObject.h:

Add VisitedLinkProvider type.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Allocate WebPreferences and VisitedLinkProvider as their Objective-C counterpart.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences init]):
Switch to constructInWrapper.

(-[WKPreferences dealloc]):
Call the WebPreferences destructor.

(-[WKPreferences _apiObject]):
Add implementation of the WKObject protocol.

  • UIProcess/API/Cocoa/WKPreferencesInternal.h:

Convert to using ObjectStorage.

  • UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:

(-[_WKVisitedLinkProvider init]):
Switch to constructInWrapper.

(-[_WKVisitedLinkProvider dealloc]):
Call the VisitedLinkProvider destructor.

(-[_WKVisitedLinkProvider _apiObject]):
Add implementation of the WKObject protocol.

  • UIProcess/API/Cocoa/_WKVisitedLinkProviderInternal.h:

Convert to using ObjectStorage.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::create):

  • UIProcess/VisitedLinkProvider.h:

Switch create() to return a Ref.

  • UIProcess/WebPreferences.h:

Make the constructor public for use by constructInWrapper.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createWebPage):

  • UIProcess/WebProcessPool.h:

Store the VisitedLinkProvider in a Ref.

1:01 PM Changeset in webkit [179280] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Compile error in media player implementation.
https://bugs.webkit.org/show_bug.cgi?id=141004

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-28
Reviewed by Brent Fulgham.

MediaPlayer::cachedResourceLoader() returns a pointer to the resource loader, not a reference.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::setSize):
(WebCore::MediaPlayerPrivateMediaFoundation::createVideoWindow):

12:48 PM Changeset in webkit [179279] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Prevent implicit animation when setting fullscreen background to clear.
https://bugs.webkit.org/show_bug.cgi?id=140888

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-01-28
Reviewed by Eric Carlson.

This patch decreases flicker when exiting fullscreen by preventing
an implicit animation when changing the background to clear.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal):

12:41 PM Changeset in webkit [179278] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[WinCairo] Message loop is flooded with timer messages when animating in accelerated compositing mode.
https://bugs.webkit.org/show_bug.cgi?id=140985

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-28
Reviewed by Brent Fulgham.

The animation timer has zero timeout, which makes it hard for other messages to slip through.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::scheduleLayerFlush):

12:35 PM Changeset in webkit [179277] by commit-queue@webkit.org
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Enable CSS_SELECTORS_LEVEL4.
https://bugs.webkit.org/show_bug.cgi?id=141003

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-28
Reviewed by Brent Fulgham.

  • win/tools/vsprops/FeatureDefinesCairo.props:
12:33 PM Changeset in webkit [179276] by Brent Fulgham
  • 4 edits
    1 copy
    1 add in trunk/LayoutTests

[Win] More gardening to get the bot green.

  • css3/scroll-snap/resources: Added.
  • platform/win/TestExpectations:
  • platform/win/fast/events/ondrop-text-html-expected.txt: Copied from platform/win/fast/events/ondrop-text-htmlt-expected.txt.
  • platform/win/fast/events/ondrop-text-htmlt-expected.txt: Removed.
  • platform/win/fast/html/marquee-scrollamount-expected.txt: Added.
  • platform/win/fast/text/backslash-to-yen-sign-euc-expected.txt:
  • platform/win/fast/text/fallback-traits-fixup-expected.txt:
  • platform/win/fast/text/international/complex-character-based-fallback-expected.txt:
12:21 PM Changeset in webkit [179275] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening. Reskip some region tests.

  • platform/win/TestExpectations:
10:55 AM Changeset in webkit [179274] by Lucas Forschler
  • 5 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177680. rdar://problem/19445865

10:50 AM Changeset in webkit [179273] by Lucas Forschler
  • 6 edits in branches/safari-600.1.4.15-branch/Source

Merged r177666. rdar://problem/19445905

10:48 AM Changeset in webkit [179272] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merge r179195. rdar://problem/19572685

10:44 AM Changeset in webkit [179271] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.5-branch/Source

Merge r179129. rdar://problem/19489518

10:29 AM Changeset in webkit [179270] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.5.3.2/Source

Versioning.

10:28 AM Changeset in webkit [179269] by dburkart@apple.com
  • 37 edits in trunk

Move ASan flag settings from DebugRelease.xcconfig to Base.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=136765

Reviewed by Alexey Proskuryakov.

10:28 AM Changeset in webkit [179268] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.3.2

New tag.

10:24 AM Changeset in webkit [179267] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Use an enum class for createFontFamilyValue()'s fromSystemFontID argument
https://bugs.webkit.org/show_bug.cgi?id=140981

Reviewed by Darin Adler.

Use an enum class for createFontFamilyValue()'s fromSystemFontID argument
instead of a simple enum, as suggested by Sam. This is a bit nicer.

Also, use a boolean type for CSSFontFamily.fromSystemFontID instead of
the enum type to facilitate handling. Using a enum (class) for
CSSFontFamily's fromSystemFontID member is not useful as it is always
accessed by name.

  • css/CSSFontFamily.h:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseSystemFont):

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::createFontFamilyValue):

  • css/CSSValuePool.h:
10:20 AM Changeset in webkit [179266] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merge r179087. rdar://problem/19571057

10:17 AM Changeset in webkit [179265] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r179086. rdar://problem/19566089

10:14 AM Changeset in webkit [179264] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merge r179023. rdar://problem/19573674

10:09 AM Changeset in webkit [179263] by Chris Dumez
  • 11 edits in trunk/Source

Fix typo in markPagesForVistedLinkStyleRecalc()
https://bugs.webkit.org/show_bug.cgi?id=140977

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.exp.in:
  • history/CachedPage.h:

(WebCore::CachedPage::markForVisitedLinkStyleRecalc):
(WebCore::CachedPage::markForVistedLinkStyleRecalc): Deleted.

  • history/PageCache.cpp:

(WebCore::PageCache::markPagesForVisitedLinkStyleRecalc):
(WebCore::PageCache::markPagesForVistedLinkStyleRecalc): Deleted.

  • history/PageCache.h:

Source/WebKit/mac:

  • WebCoreSupport/WebVisitedLinkStore.mm:

(WebVisitedLinkStore::removeAllVisitedLinks):
(WebVisitedLinkStore::removeVisitedLink):
(WebVisitedLinkStore::addVisitedLinkHash):

Source/WebKit/win:

  • WebCoreSupport/WebVisitedLinkStore.cpp:

(WebVisitedLinkStore::removeAllVisitedLinks):
(WebVisitedLinkStore::addVisitedLinkHash):

Source/WebKit2:

  • WebProcess/WebPage/VisitedLinkTableController.cpp:

(WebKit::VisitedLinkTableController::setVisitedLinkTable):
(WebKit::VisitedLinkTableController::visitedLinkStateChanged):
(WebKit::VisitedLinkTableController::allVisitedLinkStateChanged):
(WebKit::VisitedLinkTableController::removeAllVisitedLinks):

10:02 AM Changeset in webkit [179262] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed. Remove duplicate friend class statement after r179255.

  • history/PageCache.h:
10:00 AM Changeset in webkit [179261] by matthew_hanson@apple.com
  • 10 edits in branches/safari-600.5-branch/Source

Merge r179014. rdar://problem/19573674

9:59 AM Changeset in webkit [179260] by Darin Adler
  • 19 edits in trunk/Source/WebCore

Make SVGElement::instancesForElement point to elements in the shadow tree, not SVGElementInstance objects
https://bugs.webkit.org/show_bug.cgi?id=140984

Reviewed by Anders Carlsson.

Refactoring of code that is pretty well covered by existing tests, so
not adding new tests.

Inspired by work Rob Buis did in Blink:

http://src.chromium.org/viewvc/blink?view=revision&revision=173275

  • page/EventHandler.cpp:

(WebCore::EventHandler::clear): Removed code to zero m_lastInstanceUnderMouse.
(WebCore::instanceAssociatedWithShadowTreeElement): Deleted.
(WebCore::EventHandler::updateMouseEventTargetNode): Removed code that used
m_lastInstanceUnderMouse to track events on an object after recloning.
This behavior doesn't seem to be needed to pass any existing tests, and Rob
removed it from Blink, so I'll take it out and we can bring if back, based
on the original element rather than on the SVGElementInstance, if we find we
need to restore the behavior in the future.

  • page/EventHandler.h: Removed m_lastInstanceUnderMouse.
  • svg/SVGAnimateElementBase.cpp:

(WebCore::SVGAnimateElementBase::determineAnimatedPropertyType):
Changed this function to take a reference and to call the updated version
of the targetElement.animatedPropertyTypesForAttribute function.
(WebCore::SVGAnimateElementBase::calculateAnimatedValue): Updated to pass
a reference rather than a pointer.
(WebCore::SVGAnimateElementBase::resetAnimatedType): Updated to pass
references rather than pointers.
(WebCore::applyCSSPropertyToTarget): Updated to take a reference.
(WebCore::removeCSSPropertyFromTarget): Ditto.
(WebCore::applyCSSPropertyToTargetAndInstances): Ditto. Also use a modern
for loop, and iterate over shadow tree instances, not over SVGElementInstance.
(WebCore::removeCSSPropertyFromTargetAndInstances): Ditto.
(WebCore::notifyTargetAboutAnimValChange): Ditto.
(WebCore::notifyTargetAndInstancesAboutAnimValChange): Ditto.
(WebCore::SVGAnimateElementBase::clearAnimatedType): More of the same.
(WebCore::SVGAnimateElementBase::applyResultsToTarget): Ditto.
(WebCore::SVGAnimateElementBase::resetAnimatedPropertyType): Ditto.

  • svg/SVGAnimateElementBase.h: Changed determineAnimatedPropertyType to take

a reference rahter than a pointer.

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::applyResultsToTarget): Updated to use the
new instances instead of SVGElementInstance. Also added code to skip work if
the transform is not changing, and use the assignment operator instead of
breaking one matrix down and calling setMatrix on the other.

  • svg/SVGAnimatedTypeAnimator.cpp:

(WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
Changed to take a reference rather than a pointer, and rewrote to streamline,
using modern for loops and using the new instances set.

  • svg/SVGAnimatedTypeAnimator.h: Removed the constructors from the

SVGElementAnimatedProperties struct since we can build them just fine without
them. Changed findAnimatedPropertiesForAttributeName to take a reference.

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::currentValuesForValuesAnimation): Pass a
reference rather than a pointer. Also streamlined the code a bit and removed
a comment that tried to say exactly what the code was doing, but was outdated.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::~SVGElement): Disconnect all instances from this element
and also disconnect the corresponding element from this element if it itself
is an instance. This guarantees we have no dangling pointers.
(WebCore::SVGElement::mapInstanceToElement): Deleted.
(WebCore::SVGElement::removeInstanceMapping): Deleted.
(WebCore::SVGElement::instances): Renamed from instancesForElement and changed
to be a set of SVG element instances in the shadow tree, rather than
SVGElementInstance objects.
(WebCore::SVGElement::correspondingElement): Tweaked assertion a little and use
nullptr instead of 0.
(WebCore::SVGElement::correspondingUseElement): Added. Finds the use element
that owns the shadow tree this element is in by following the host element
pointer from the shadow root.
(WebCore::SVGElement::setCorrespondingElement): Added code to insert or remove
this element from the instances set of the corresponding element.
(WebCore::SVGElement::animatedPropertyTypesForAttribute): Renamed from
animatedPropertyTypeForAttribute and switched to use a return value instead of
an out argument.
(WebCore::SVGElement::addEventListener): Updated to use instances rather than
the old instancesForElement.
(WebCore::SVGElement::removeEventListener): Ditto.
(WebCore::SVGElement::synchronizeAllAnimatedSVGAttribute): Pass a reference.
(WebCore::SVGElement::synchronizeAnimatedSVGAttribute): Ditto.
(WebCore::SVGElement::isPresentationAttributeWithSVGDOM): Updated to use the
new function from AttributeToPropertyMap.

  • svg/SVGElement.h: Changed animatedPropertyTypesForAttribute name to be plural

since it returns a vector of types, and made it use a return value instead of
an out argument. Added the correspondingUseElement function, and removed the
mapInstanceToElement and removeInstanceMapping functions.

  • svg/SVGElementInstance.cpp:

(WebCore::SVGElementInstance::SVGElementInstance): Removed now-unneeded call to
mapInstanceToElement. This is now handled entirely by the SVGElement itself.
(WebCore::SVGElementInstance::detach): Removed now-unneeded call to
removeInstanceMapping. This is now handled entirely by the SVGElement itself.
(WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Rewrote to be
based on the instances set; logic is different now because we remove each
element from that set as we go.

  • svg/SVGElementRareData.h:

(WebCore::SVGElementRareData::SVGElementRareData): Removed initialization of
pointers since we can do that where they are defined instead.
(WebCore::SVGElementRareData::instances): Renamed from elementInstances and
changed the type.
(WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties): Deleted.
Unneeded since it was already called just before deleting the rare data.

  • svg/SVGTests.cpp:

(WebCore::SVGTests::SVGTests): Took advantage of using namespace.
(WebCore::createSVGTestPropertyInfo): Added. Helper for function below.
(WebCore::createSVGTextAttributeToPropertyMap): Ditto.
(WebCore::SVGTests::attributeToPropertyMap): Changed to use the create function
above. No longer allocates objects on the heap.
(WebCore::SVGTests::hasExtension): Reworked #if code to make the MathML part
independent rather than repeating the return statement.
(WebCore::SVGTests::synchronizeAttribute): Added. Helper for functions below.
(WebCore::SVGTests::synchronizeRequiredFeatures): Call synchronizeAttribute.
(WebCore::SVGTests::synchronizeRequiredExtensions): Ditto.
(WebCore::SVGTests::synchronizeSystemLanguage): Ditto.

  • svg/SVGTests.h: Removed unneeded forward declarations. Mark the many functions

that do not depend on object state as static so the call sites don't wastefully
pass a this pointer. Removed the unneeded requiredFeaturesPropertyInfo,
requiredExtensionsPropertyInfo, and systemLanguagePropertyInfo functions.
Added synchronizeAttribute helper function.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::invalidateDependentShadowTrees): Updated to use the
new instances set and a modern for loop.

  • svg/properties/SVGAnimatedPropertyMacros.h: Pass reference to addProperty and

made a few other small refinements.

  • svg/properties/SVGAttributeToPropertyMap.cpp:

(WebCore::SVGAttributeToPropertyMap::addProperties): Fixed problems mentioned
in FIXME where we did too much hashing and vector resizing.
(WebCore::SVGAttributeToPropertyMap::addProperty): Streamlined to use a single
hash table lookup.
(WebCore::SVGAttributeToPropertyMap::properties): Renamed from
animatedPropertiesForAttribute and changed to return a vector rather than using
an out argument. Also had to change some since the vectors are in the hash table
now rather than allocated on the heap.
(WebCore::SVGAttributeToPropertyMap::types): Renamed from
animatedPropertyTypeForAttribute and made changes just like the ones above.
(WebCore::SVGAttributeToPropertyMap::synchronizeProperties): Use modern for
loops, take a reference rather than a pointer, and use the function pointer
directly instead of calling through a helper with various assertions.
(WebCore::SVGAttributeToPropertyMap::synchronizeProperty): Ditto.

  • svg/properties/SVGAttributeToPropertyMap.h: Updated to match the changes

above. Also changed the map to contain vectors instead of pointers to vectors.

9:54 AM Changeset in webkit [179259] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.5-branch/Source

Merge r179013. rdar://problem/19571601

9:50 AM Changeset in webkit [179258] by Darin Adler
  • 2 edits in trunk/Source/WebCore

REGRESSION (r173698): Leaks of selector lists in CSS parsing
https://bugs.webkit.org/show_bug.cgi?id=140993

Reviewed by Anders Carlsson.

  • css/CSSGrammar.y.in: Fixed logic in rules that were not moving a parser-

owned pointer into a unique_ptr in all code paths. The magic value
invalidSelectorVector makes this really messy. We might want to find a
different seolution in the future.

9:49 AM Changeset in webkit [179257] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.5-branch/Source

Merge r178938. rdar://problem/19558472

9:43 AM Changeset in webkit [179256] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.5-branch/Source

Merge r178858. rdar://problem/19540806

9:22 AM Changeset in webkit [179255] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r179247.

  • history/PageCache.h: Need to declare NeverDestroyed specialization as

a friend.

9:08 AM Changeset in webkit [179254] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

http/tests/xmlhttprequest/workers/methods.html sometimes times out with disk cache enabled
https://bugs.webkit.org/show_bug.cgi?id=140976

Reviewed by Chris Dumez.

Running

run-webkit-tests --release -2 http/tests/xmlhttprequest/workers/methods.html --iterations=100

would usually time out an iteration.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::dispatchRetrieveOperation):

Using dispatch_io_read with an empty file calls the handler block immediately with done boolean set
without it being an error. We failed to call the completion handler and any synchronous xhr would hang.
We may see an empty cache file if we are just in process of writing it.

Fix by handling this case specifically.

9:02 AM Changeset in webkit [179253] by jdiggs@igalia.com
  • 15 edits
    3 adds in trunk

AX: [ATK] Implement support for new AtkRole types for MathML
https://bugs.webkit.org/show_bug.cgi?id=140916

Reviewed by Chris Fleizach.

Source/WebCore:

Expose mfrac as ATK_ROLE_MATH_FRACTION, and both mroot and msqrt as
ATK_ROLE_MATH_ROOT. In the case of script elements, expose the container
(msub, msup, msubsup, and mmultiscripts) using the generic text block role
ATK_ROLE_SECTION. Then expose the actual script child elements using role
ATK_ROLE_SUBSCRIPT/ATK_ROLE_SUPERSCRIPT. In the case of mmultiscripts,
expose whether it is a prescript or postscript via AtkObject attribute.

Test: accessibility/math-multiscript-attributes.html
Also added additional test cases to accessibility/roles-exposed.html

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isMathScriptObject): Added.
(WebCore::AccessibilityObject::isMathMultiscriptObject): Added.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isMathScriptObject): Added.
(WebCore::AccessibilityRenderObject::isMathMultiscriptObject): Added.

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

(webkitAccessibleGetAttributes): Expose whether a multiscript object is a prescript or postscript.
(atkRole): Map WebCore Accessibility objects to the new ATK roles.

Tools:

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: Add mapping for new ATK roles
  • gtk/jhbuild.modules: Bump minimum version of ATK used by jhbuild to 2.15.4

LayoutTests:

  • accessibility/math-multiscript-attributes.html: Added.
  • accessibility/roles-exposed.html: New test cases added.
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated for new test cases.
  • platform/gtk/accessibility/math-multiscript-attributes-expected.txt: Added.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated for new test cases.
  • platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for new test cases.
  • platform/mac-mountainlion/accessibility/roles-exposed-expected.txt: Updated for new test cases.
  • platform/mac/accessibility/math-multiscript-attributes-expected.txt: Added.
  • platform/mac/accessibility/roles-exposed-expected.txt: Updated for new test cases.
8:46 AM Changeset in webkit [179252] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

REGRESSION: Re-skip media tests. (Unreviewed)
https://bugs.webkit.org/show_bug.cgi?id=140995

  • platform/win/TestExpectations: Re-skip the tests.
8:30 AM Changeset in webkit [179251] by clopez@igalia.com
  • 2 edits in trunk

[CMake] Minimum python version should be 2.7.
https://bugs.webkit.org/show_bug.cgi?id=140997

Reviewed by Csaba Osztrogonác.

  • CMakeLists.txt:
6:48 AM Changeset in webkit [179250] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Stop removing color marks from unit tests output
https://bugs.webkit.org/show_bug.cgi?id=140996

Reviewed by Philippe Normand.

Since r178236 google tests use a custom simplified output without
any colors, so we don't need to handle the case of non ttys to
remove the color marks.

  • Scripts/run-gtk-tests:

(TestRunner.init):
(TestRunner._run_test_command.parse_line):

6:47 AM Changeset in webkit [179249] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Add missing file to WebInspector compilation for GTK+.

  • PlatformGTK.cmake: Add UserInterface/External/ESLint/eslint.js
5:44 AM Changeset in webkit [179248] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

[GTK] Unit test /webkit2/WebKitWebView/page-visibility from WebKit2Gtk/TestWebKitWebView fails
https://bugs.webkit.org/show_bug.cgi?id=131731

Reviewed by Žan Doberšek.

A web page loaded offscreen is in prerender state not hidden.

  • Scripts/run-gtk-tests:

(TestRunner): Unskip /webkit2/WebKitWebView/page-visibility.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewPageVisibility):

1:33 AM Changeset in webkit [179247] by Chris Dumez
  • 29 edits in trunk/Source

Rename pageCache() to PageCache::shared() and return a reference
https://bugs.webkit.org/show_bug.cgi?id=140983

Reviewed by Andreas Kling.

Rename pageCache() to PageCache::shared() as this is a singleton class
and have it return a reference instead of a pointer.

Source/WebCore:

  • history/BackForwardList.cpp:

(WebCore::BackForwardList::addItem):
(WebCore::BackForwardList::setCapacity):
(WebCore::BackForwardList::clearAllPageCaches):
(WebCore::BackForwardList::close):

  • history/CachedFrame.cpp:

(WebCore::CachedFrame::CachedFrame):

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::setURL):

  • history/PageCache.cpp:

(WebCore::PageCache::shared):
(WebCore::PageCache::get):
(WebCore::pageCache): Deleted.

  • history/PageCache.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::loadDifferentDocumentItem):

  • loader/HistoryController.cpp:

(WebCore::HistoryController::invalidateCurrentItemCachedPage):
(WebCore::HistoryController::updateForReload):

  • page/Frame.cpp:

(WebCore::Frame::setPageAndTextZoomFactors):

  • page/Page.cpp:

(WebCore::Page::setDeviceScaleFactor):
(WebCore::Page::setPagination):
(WebCore::Page::setVisitedLinkStore):

  • page/PageGroup.cpp:

(WebCore::PageGroup::captionPreferencesChanged):

  • page/Settings.cpp:

(WebCore::Settings::setUsesPageCache):

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseCriticalMemory):

Source/WebKit/mac:

  • History/WebBackForwardList.mm:

(-[WebBackForwardList pageCacheSize]):

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics cachedPageCount]):
(+[WebCoreStatistics cachedFrameCount]):

  • WebCoreSupport/WebVisitedLinkStore.mm:

(WebVisitedLinkStore::removeAllVisitedLinks):
(WebVisitedLinkStore::removeVisitedLink):
(WebVisitedLinkStore::addVisitedLinkHash):

  • WebView/WebView.mm:

(+[WebView _setCacheModel:]):

Source/WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::cachedPageCount):
(WebCoreStatistics::cachedFrameCount):

  • WebCoreSupport/WebVisitedLinkStore.cpp:

(WebVisitedLinkStore::removeAllVisitedLinks):
(WebVisitedLinkStore::addVisitedLinkHash):

  • WebView.cpp:

(WebView::setCacheModel):

Source/WebKit2:

  • WebProcess/WebPage/VisitedLinkTableController.cpp:

(WebKit::VisitedLinkTableController::setVisitedLinkTable):
(WebKit::VisitedLinkTableController::visitedLinkStateChanged):
(WebKit::VisitedLinkTableController::allVisitedLinkStateChanged):
(WebKit::VisitedLinkTableController::removeAllVisitedLinks):

  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::WebBackForwardListProxy::removeItem):
(WebKit::WebBackForwardListProxy::close):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::releasePageCache):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformSetCacheModel):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel):

1:22 AM Changeset in webkit [179246] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Fix MediaPlayerEngine leaks
https://bugs.webkit.org/show_bug.cgi?id=140992

Reviewed by Jer Noble.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::mutableInstalledMediaEnginesVector): Added.
(WebCore::buildMediaEnginesVector): Added.
(WebCore::installedMediaEngines): Changed this to be a vector of factories
instead of a vector of heap-allocated factories. The old code would leak
all the factories when this was called with the ResetEngines option.
(WebCore::addMediaEngine): Updated for above change.
(WebCore::bestMediaEngineForSupportParameters): Ditto.
(WebCore::nextMediaEngine): Ditto.
(WebCore::MediaPlayer::nextBestMediaEngine): Ditto.
(WebCore::MediaPlayer::loadWithNextMediaEngine): Ditto.
(WebCore::MediaPlayer::supportsType): Ditto.
(WebCore::MediaPlayer::getSupportedTypes): Ditto.
(WebCore::MediaPlayer::getSitesInMediaCache): Ditto.
(WebCore::MediaPlayer::clearMediaCache): Ditto.
(WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
(WebCore::MediaPlayer::supportsKeySystem): Ditto.
(WebCore::MediaPlayer::resetMediaEngines): Ditto.

  • platform/graphics/MediaPlayer.h: Ditto.
12:44 AM Changeset in webkit [179245] by Darin Adler
  • 2 edits in trunk/Source/WTF

Fix small leak in Collator
https://bugs.webkit.org/show_bug.cgi?id=140990

Reviewed by Andreas Kling.

  • wtf/unicode/icu/CollatorICU.cpp:

(WTF::Collator::Collator): Use fastStrDup instead of strdup.
(WTF::Collator::~Collator): Use fastFree on the collator locale that we
are abandoning. The old code instead just called free on a null pointer.

12:09 AM Changeset in webkit [179244] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Rename descendentxxx to descendantxxxx in RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=140979

Patch by Jeongmin Kim <jm86.kim@lge.com> on 2015-01-28
Reviewed by Martin Robinson.

Rename descendentxxx to descendantxxxx in RenderLayerBacking
for matching other variables and function names.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateAfterDescendants):
(WebCore::RenderLayerBacking::updateChildClippingStrategy):
(WebCore::RenderLayerBacking::paintsChildren):
(WebCore::descendantLayerPaintsIntoAncestor):
(WebCore::RenderLayerBacking::isPaintDestinationForDescendantLayers):
(WebCore::descendentLayerPaintsIntoAncestor): Deleted.
(WebCore::RenderLayerBacking::isPaintDestinationForDescendentLayers): Deleted.

Jan 27, 2015:

11:41 PM Changeset in webkit [179243] by bshafiei@apple.com
  • 6 edits in branches/safari-600.4-branch/Source

Merged r179230. rdar://problem/19621509

9:53 PM Changeset in webkit [179242] by Chris Dumez
  • 61 edits in trunk/Source

Use a Ref<CachedResourceLoader> in Document instead of a RefPtr
https://bugs.webkit.org/show_bug.cgi?id=140971

Reviewed by Andreas Kling.

Source/WebCore:

Use a Ref<CachedResourceLoader> in Document instead of a RefPtr as it
can never be null. Also have Document::cachedResourceLoader() return a
reference instead of a pointer. This gets rid of a lot of unnecessary
null-checks.

Source/WebKit/win:

Use more references instead of pointers.

  • WebDataSource.cpp:

(WebDataSource::subresourceForURL):

9:48 PM Changeset in webkit [179241] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ExitSiteData saying m_takesSlowPath shouldn't mean early returning takesSlowPath() since for the non-LLInt case we later set m_couldTakeSlowPath, which is more precise
https://bugs.webkit.org/show_bug.cgi?id=140980

Reviewed by Oliver Hunt.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):

9:29 PM Changeset in webkit [179240] by ap@apple.com
  • 1 edit
    2 copies in trunk/Tools

Partially revert r178802.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/MountainLion.png:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/MountainLion@2x.png:
9:11 PM Changeset in webkit [179239] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

9:09 PM Changeset in webkit [179238] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.16

New tag.

6:37 PM Changeset in webkit [179237] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (OS X 10.10.2): media/track/track-in-band-style.html frequently times out
https://bugs.webkit.org/show_bug.cgi?id=140974

  • platform/mac/TestExpectations: Added an expectation.
6:29 PM Changeset in webkit [179236] by ap@apple.com
  • 17 edits in trunk/Source

More build fixes for newer clang.

Rubber-stamped by Anders Carlsson.

Source/WebCore:

  • loader/icon/IconDatabase.h: Added missing override keywords.

Source/WebKit/mac:

Marked a deprecated accessibility method as such.

  • WebView/WebFrame.mm:

(-[WebFrame accessibilityRoot]):

Source/WebKit2:

Added missing override keywords, marked some deprecated accessibility methods as such.

  • PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:

(WebKit::PluginProcessMainDelegate::doPreInitializationWork): Deleted.
(WebKit::PluginProcessMainDelegate::getExtraInitializationData): Deleted.
(WebKit::PluginProcessMainDelegate::doPostRunWork): Deleted.

  • PluginProcess/WebProcessConnection.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/PageClientImpl.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:

(PageOverlayClientImpl::actionContextForResultAtPoint): Deleted.
(PageOverlayClientImpl::dataDetectorsDidPresentUI): Deleted.
(PageOverlayClientImpl::dataDetectorsDidChangeUI): Deleted.
(PageOverlayClientImpl::dataDetectorsDidHideUI): Deleted.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:

(WebKit::NetscapePlugin::isBeingAsynchronouslyInitialized): Deleted.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PluginProcessConnection.h:
  • WebProcess/Plugins/PluginProxy.h:

(WebKit::PluginProxy::isBeingAsynchronouslyInitialized): Deleted.

  • WebProcess/WebCoreSupport/WebContextMenuClient.h:
5:54 PM Changeset in webkit [179235] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard asserts on some commits
https://bugs.webkit.org/show_bug.cgi?id=140926

Reviewed by Tim Horton.

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

(Trac.prototype._convertCommitInfoElementToObject): Added a case for another root directory.

5:26 PM Changeset in webkit [179234] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Re-enable Sputnik.

  • platform/win/TestExpectations:
  • platform/win/fast/text/backslash-to-yen-sign-euc-expected.txt:
5:16 PM Changeset in webkit [179233] by roger_fong@apple.com
  • 10 edits in trunk

WebGL2: Disable various extensions on WebGL2 context that have been promoted to core.
https://bugs.webkit.org/show_bug.cgi?id=140907.
<rdar://problem/19545857>

Reviewed by Brent Fulgham.

Source/WebCore:

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getSupportedExtensions): Deleted.

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLRenderingContextBase.idl:

Remove some extra extension enums that shouldn't have been declared on the context idl.

LayoutTests:

  • fast/canvas/webgl/constants.html:
5:11 PM Changeset in webkit [179232] by ap@apple.com
  • 3 edits in trunk/Tools

Make flakiness dashboard OS list actually match test_expectations.py
https://bugs.webkit.org/show_bug.cgi?id=140969

Reviewed by Ryosuke Niwa.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:
5:08 PM Changeset in webkit [179231] by Brent Fulgham
  • 3 edits
    1 add in trunk/LayoutTests

[Win] More Windows rebaselines.

  • platform/win/fast/events/ondrop-text-htmlt-expected.txt: Added.
  • platform/win/fast/text/backslash-to-yen-sign-euc-expected.txt:
  • platform/win/fast/text/fallback-traits-fixup-expected.txt:
  • platform/win/fast/text/international/complex-character-based-fallback-expected.txt:
5:06 PM Changeset in webkit [179230] by Beth Dakin
  • 6 edits in trunk/Source

Immediate action gesture recognizer still doesn't work well with IB
https://bugs.webkit.org/show_bug.cgi?id=140967
-and corresponding-
rdar://problem/19621509

Reviewed by Tim Horton.

We should add (or remove) the gesture recognizer in viewDidMoveToWindow because
initWithFrame it too early and IB might mess with it.
Source/WebKit/mac:

  • WebView/WebImmediateActionController.h:
  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController immediateActionRecognizer]):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView viewDidMoveToWindow]):

Source/WebKit2:

  • UIProcess/API/mac/WKView.mm:

(-[WKView viewDidMoveToWindow]):
(-[WKView initWithFrame:processPool:configuration:webView:]):

4:48 PM Changeset in webkit [179229] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Remove unnecessary m_cachedPage null-checks in PageCache
https://bugs.webkit.org/show_bug.cgi?id=140965

Reviewed by Andreas Kling.

Remove unnecessary m_cachedPage null-checks in PageCache. We initialize
m_cachedPage when inserting the HistoryItem in the page cache and clear
it when removing it from the page cache. Therefore, it is guaranteed
that HistoryItems currently in the page cache have m_cachedPage
initialized and there is no need to null-check it.

  • history/PageCache.cpp:

(WebCore::PageCache::frameCount):
(WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
(WebCore::PageCache::markPagesForFullStyleRecalc):
(WebCore::PageCache::markPagesForDeviceScaleChanged):
(WebCore::PageCache::markPagesForCaptionPreferencesChanged):

4:13 PM Changeset in webkit [179228] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

Some NSAccessibility methods we use are deprecated on 10.10
https://bugs.webkit.org/show_bug.cgi?id=140966

Reviewed by Anders Carlsson.

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::overrideAttachmentParent):
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper role]):
(-[WebAccessibilityObjectWrapper roleDescription]):
Silence the warnings for now.

4:02 PM Changeset in webkit [179227] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Rename isExpandedShorthand() to isShorthandCSSProperty() for clarity
https://bugs.webkit.org/show_bug.cgi?id=140954

Reviewed by Andreas Kling.

Rename isExpandedShorthand() to isShorthandCSSProperty() for clarity as
all CSS shorthand properties are now expanded during parsing (even
'font').

  • css/StylePropertyShorthand.cpp:

(WebCore::isShorthandCSSProperty):
(WebCore::isExpandedShorthand): Deleted.

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

(WebCore::StyleResolver::applyProperty):

  • css/makeprop.pl:
3:43 PM Changeset in webkit [179226] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.4-branch/Source

Merge r179129. rdar://problem/19489518

3:38 PM Changeset in webkit [179225] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] WinLauncher crashes on eleventh site visited
https://bugs.webkit.org/show_bug.cgi?id=140960

Reviewed by Anders Carlsson.

  • WinLauncher/WinLauncher.cpp:

(WinLauncher::showLastVisitedSites): Don't access off the end of
the history array.

3:34 PM Changeset in webkit [179224] by Lucas Forschler
  • 6 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177647. rdar://problem/19445865

2:56 PM Changeset in webkit [179223] by fpizlo@apple.com
  • 5 edits
    2 moves in trunk/Source/JavaScriptCore

Move DFGBinarySwitch out of the DFG so that all of the JITs can use it
https://bugs.webkit.org/show_bug.cgi?id=140959

Rubber stamped by Geoffrey Garen.

I want to use this for polymorphic stubs for https://bugs.webkit.org/show_bug.cgi?id=140660.
This code no longer has DFG dependencies so this is a very clean move.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGBinarySwitch.cpp: Removed.
  • dfg/DFGBinarySwitch.h: Removed.
  • dfg/DFGSpeculativeJIT.cpp:
  • jit/BinarySwitch.cpp: Copied from Source/JavaScriptCore/dfg/DFGBinarySwitch.cpp.
  • jit/BinarySwitch.h: Copied from Source/JavaScriptCore/dfg/DFGBinarySwitch.h.
2:49 PM Changeset in webkit [179222] by Lucas Forschler
  • 8 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r177612. rdar://problem/19445900

2:41 PM Changeset in webkit [179221] by ggaren@apple.com
  • 3 edits in trunk/Source/WTF

Removed WTF_MALLOC_VALIDATION
https://bugs.webkit.org/show_bug.cgi?id=140958

Reviewed by Anders Carlsson.

I don't think anyone has been using this, and the #ifdefs were driving
me crazy.

We have other options for validation -- like MallocGuardEdges,
MallocCheckHeapEach, MallocScribble, and GuardMalloc.

  • wtf/FastMalloc.cpp:

(WTF::tryFastMalloc):
(WTF::fastMalloc):
(WTF::tryFastCalloc):
(WTF::fastCalloc):
(WTF::fastFree):
(WTF::tryFastRealloc):
(WTF::fastRealloc):
(WTF::fastMallocSize):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
(WTF::Internal::fastMallocMatchFailed): Deleted.

  • wtf/FastMalloc.h:

(WTF::Internal::fastMallocValidationHeader): Deleted.
(WTF::Internal::fastMallocValidationSuffix): Deleted.
(WTF::Internal::fastMallocMatchValidationType): Deleted.
(WTF::Internal::setFastMallocMatchValidationType): Deleted.
(WTF::fastMallocMatchValidateMalloc): Deleted.
(WTF::fastMallocMatchValidateFree): Deleted.
(WTF::fastMallocValidate): Deleted.

2:37 PM Changeset in webkit [179220] by eric.carlson@apple.com
  • 7 edits
    1 copy
    3 adds in trunk

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

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/media/video-play-waiting.html

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::play): Add more logging.
(WebCore::MediaPlayerPrivateAVFoundation::updateStates): MediaPlayerAVPlayerItemStatusPlaybackBufferEmpty

always maps to HaveCurrentData.

(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Don't log FunctionType,

doing so it needlessly verbose.

(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Ditto.

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

(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Log KVO property

values and notification state.

LayoutTests:

  • http/tests/media/video-play-stall-expected.txt:
  • http/tests/media/video-play-stall.html:
  • http/tests/media/video-play-waiting-expected.txt: Added.
  • http/tests/media/video-play-waiting.html: Added.
  • media/content/long-test.mp4: Added. New media file with 30 second duration.
  • media/content/long-test.ogv: Ditto.
  • platform/mac/TestExpectations: Remove video-play-stall.html from the skip list. Mark

video-play-waiting.html as flakey as it sometimes times out.

2:31 PM Changeset in webkit [179219] by Lucas Forschler
  • 4 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177591. rdar://problem/19445895

2:29 PM Changeset in webkit [179218] by ap@apple.com
  • 3 edits in trunk/Tools

[Mac] Disable building Java applets by default
https://bugs.webkit.org/show_bug.cgi?id=140957
rdar://problem/19619529

Reviewed by Anders Carlsson.

It was actually already disabled unconditionally, by accident.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args):
  • Scripts/webkitpy/port/mac.py:

(MacPort._check_port_build):
(MacPort._build_java_test_support):

2:22 PM Changeset in webkit [179217] by Lucas Forschler
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177581. rdar://problem/19445888

2:07 PM Changeset in webkit [179216] by dbates@webkit.org
  • 3 edits in trunk/Tools

[iOS] run-webkit-tests --platform=ios* --lint-test-files does not work
https://bugs.webkit.org/show_bug.cgi?id=140949

Reviewed by Alexey Proskuryakov.

Add "ios-simulator" and "ios-simulator-wk2" to the list of ports without
builders so that run-webkit-tests can lint the appropriate TestExpectation
files.

  • Scripts/webkitpy/port/builders.py:
  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.init): Move logic to query for the Mac build directory from here...
(IOSSimulatorPort.relay_path): to here as this is the only caller that makes use of that
information to find the LayoutTestRelay tool. Otherwise, "self.assertEqual(len(calls), 1)"
in unit test webkitpy.tool.commands.rebaseline_unittest.TestRebaselineExpectations.test_rebaseline_expectations
will fail because IOSSimulatorPort.init() ultimately calls Tools/Scripts/webkit-build-directory
to determine the Mac build directory for each instantiation of IOSSimulatorPort. And this unit
test instantiates a port object for each builder listed in file Scripts/webkitpy/port/builders.py.

2:05 PM Changeset in webkit [179215] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r177531. rdar://problem/19445868

2:02 PM Changeset in webkit [179214] by ap@apple.com
  • 4 edits in trunk/Tools

Update bots on the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=140956

Reviewed by Ryosuke Niwa.

  • TestResultServer/static-dashboards/builders.jsonp:
  • TestResultServer/static-dashboards/flakiness_dashboard.js:
1:59 PM Changeset in webkit [179213] by Lucas Forschler
  • 8 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r177526. <rdar://problem/19445868>

1:37 PM Changeset in webkit [179212] by Lucas Forschler
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177504. rdar://problem/19445872

1:34 PM Changeset in webkit [179211] by commit-queue@webkit.org
  • 41 edits
    1 copy
    4 adds in trunk/Source

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

Caused numerous layout test failures (Requested by mattbaker_
on #webkit).

Reverted changeset:

"Use FastMalloc (bmalloc) instead of BlockAllocator for GC
pages"
https://bugs.webkit.org/show_bug.cgi?id=140900
http://trac.webkit.org/changeset/179192

1:27 PM Changeset in webkit [179210] by Lucas Forschler
  • 8 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177499. rdar://problem/19445880

1:19 PM Changeset in webkit [179209] by Lucas Forschler
  • 22 edits
    3 copies
    3 deletes in branches/safari-600.1.4.15-branch/Source

Merged r177455. rdar://problem/19445868

1:10 PM Changeset in webkit [179208] by Brent Fulgham
  • 8 edits
    11 adds
    1 delete in trunk/LayoutTests

[Win] Another round of bug filing and expectation updates.

  • platform/win/TestExpectations:
  • platform/win/fast/selectors: Added.
  • platform/win/fast/selectors/064-expected.txt: Added.
  • platform/win/fast/text/backslash-to-yen-sign-euc-expected.txt:
  • platform/win/fast/text/backslash-to-yen-sign-expected.png: Added.
  • platform/win/fast/text/drawBidiText-expected.txt: Added.
  • platform/win/fast/text/fallback-traits-fixup-expected.txt:
  • platform/win/fast/text/international/complex-character-based-fallback-expected.txt:
  • platform/win/fast/text/international/hindi-spacing-expected.txt: Added.
  • platform/win/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Removed property svn:executable.
  • platform/win/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt: Added.
  • platform/win/fast/text/unicode-variation-selector-expected.txt:
  • platform/win/fast/text/whitespace: Added.
  • platform/win/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt: Added.
  • platform/win/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/win/fast/writing-mode/fieldsets-expected.txt: Added.
  • platform/win/js/dom/global-constructors-attributes-dedicated-worker-expected.txt: Removed.
  • platform/win/printing/iframe-print-expected.txt: Added.
  • platform/win/transforms/2d/zoom-menulist-expected.txt: Added.
1:00 PM Changeset in webkit [179207] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.5.3.1/Source

Versioning.

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

New tag.

12:50 PM Changeset in webkit [179205] by benjamin@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Import the layout test style-sharing-type-and-readonly.html from blink
https://bugs.webkit.org/show_bug.cgi?id=125280

Reviewed by Sergio Villar Senin.

I fixed the bug a while ago but having one more test seems valuable.
This test is from blink: https://codereview.chromium.org/27033011
by Elliott Sprehn.

  • fast/css/style-sharing-type-and-readonly-expected.txt: Added.
  • fast/css/style-sharing-type-and-readonly.html: Added.
12:46 PM Changeset in webkit [179204] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Modernize some constructors of the CSS JIT
https://bugs.webkit.org/show_bug.cgi?id=140903

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-27
Reviewed by Darin Adler.

Two constructors were still using the old style.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment): Deleted.
(WebCore::SelectorCompiler::TagNamePattern::TagNamePattern): Deleted.

12:45 PM Changeset in webkit [179203] by benjamin@webkit.org
  • 1 edit
    10 adds in trunk/LayoutTests

Import some extra tests for r179132
https://bugs.webkit.org/show_bug.cgi?id=140930

Reviewed by Sam Weinig.

Add some tests that were done from previous attempts at fixing
the bug.

  • fast/dom/SelectorAPI/tag-case-insensitive-expected.txt: Added.
  • fast/dom/SelectorAPI/tag-case-insensitive.html: Added.
  • fast/dom/SelectorAPI/tag-case-sensitive-expected.txt: Added.
  • fast/dom/SelectorAPI/tag-case-sensitive.xhtml: Added.
  • svg/css/case-sensitive-tags-expected.txt: Added.
  • svg/css/case-sensitive-tags.html: Added.
  • svg/dom/tag-case-sensitive-svg-in-html-expected.txt: Added.
  • svg/dom/tag-case-sensitive-svg-in-html.html: Added.

Those tests were created by Alexandru Chiculita for
https://bugs.webkit.org/show_bug.cgi?id=83438

The patch was rejected at the time due to the perf impact.
That has been solved since then by the CSS JIT.

  • svg/css/foreignObject-case-styling-expected.html: Added.
  • svg/css/foreignObject-case-styling.html: Added.

This test is from Boris Zbarsky when he reported
https://bugs.webkit.org/show_bug.cgi?id=79444.

12:25 PM Changeset in webkit [179202] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r178591): 20% regression in Octane box2d
https://bugs.webkit.org/show_bug.cgi?id=140948

Reviewed by Geoffrey Garen.

Added check that we have a lexical environment to the arguments is captured check.
It doesn't make sense to resolve "arguments" when it really isn't captured.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::willResolveToArgumentsRegister):

12:16 PM Changeset in webkit [179201] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix.

Lack of include guards in WebVTTElement.h caused a build failure once we started including
this header file from more than one implementation file.

  • html/track/WebVTTElement.h:
11:52 AM Changeset in webkit [179200] by dbates@webkit.org
  • 6 edits in trunk/LayoutTests

[iOS] Update test results and test expectations

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/css3/blending/blend-mode-simple-composited-expected.txt:
  • platform/ios-simulator/css3/blending/blend-mode-simple-expected.txt:
11:44 AM Changeset in webkit [179199] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS WK2] Add directory LayoutTests/platform/wk2 to the list of baseline search paths
https://bugs.webkit.org/show_bug.cgi?id=140942

Reviewed by Alexey Proskuryakov.

The directory LayoutTests/platform/wk2 contains test expectations and test results that
are applicable to all WebKit2 ports. We should make use of this information when
running layout tests using iOS WebKit2.

Additionally, make use of the convenience function Port._wk2_port_name() for the name
of the WebKit2 port instead of directly using string concatenation.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.default_baseline_search_path):

11:41 AM Changeset in webkit [179198] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merge r179195. rdar://problem/19572685

11:39 AM Changeset in webkit [179197] by dino@apple.com
  • 12 edits in trunk

CSSKeyframesRule::findRule() and deleteRule() should delete the last matching rule, not the first
https://bugs.webkit.org/show_bug.cgi?id=139732

Patch by Sylvain Galineau <galineau@adobe.com> on 2015-01-26
Reviewed by Dean Jackson and Darin Adler.

Source/WebCore:

No new tests because existing tests have been updated to verify this behavior.

  • css/CSSKeyframeRule.h:

(WebCore::StyleKeyframe::getKeys): Deleted.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::keyframeStylesForAnimation): use StyleKeyframe::keys().

  • css/CSSKeyframeRule.cpp:

(WebCore::StyleKeyframe::parseKeyString): Deleted. Moved to CSSParser.
(WebCore::StyleKeyframe::keyText): Build keyframe selector from Vector<double> representation.

  • css/CSSKeyframeRule.h:

(WebCore::StyleKeyframe::setKeyText): parse keyframe selector into Vector<double>.
(WebCore::StyleKeyframe::keys): Added. Returns vector representation of selector keys.
(WebCore::StyleKeyframe::getKeys): Deleted. Now keys().

  • css/CSSKeyframesRule.cpp:

(WebCore::StyleRuleKeyframes::findKeyframeIndex): Return last matching rule.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseKeyframeSelector): Added. Moved from StyleKeyframe.

  • css/CSSParser.h:

(WebCore::CSSParser::parseKeyframeSelector): Added. Moved from StyleKeyframe.

LayoutTests:

Update existing keyframes OM tests to check for findRule/deleteRule matching order i.e. find/delete last specified rule.

  • animations/keyframes-rule-expected.txt:
  • animations/keyframes-rule.html:
  • animations/unprefixed-keyframes-rule-expected.txt:
  • animations/unprefixed-keyframes-rule.html:
11:16 AM Changeset in webkit [179196] by Chris Dumez
  • 2 edits
    2 deletes in trunk/LayoutTests

Unreviewed, rebaseline fast/css/css2-system-fonts.html on iOS.

Rebaseline fast/css/css2-system-fonts.html on iOS after r179168.

  • platform/ios-sim-deprecated/fast/css/css2-system-fonts-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/css2-system-fonts-expected.txt:
  • platform/ios-simulator/fast/css/css2-system-fonts-expected.txt: Removed.
11:12 AM Changeset in webkit [179195] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Invoking an immediate action on link often dismisses selection
https://bugs.webkit.org/show_bug.cgi?id=140911
-and corresponding-
rdar://problem/19572685

Reviewed by Tim Horton.

Calling _page->setMaintainsInactiveSelection(false) in complete is often
too soon. Instead, call it in dismissContentRelativeChildWindows. This is more
similar to the timing for the TextIndicator.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController dismissContentRelativeChildWindows]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):

11:08 AM Changeset in webkit [179194] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix. "eta" isn't set on a in-progress build on a newly added builder.

  • tools/sync-with-buildbot.py:

(find_request_updates):

10:44 AM Changeset in webkit [179193] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fixed building projects that import WebView.h with WK_ENABLE_FORMAL_DELEGATE_PROTOCOLS.

Rubber-stamped by Anders Carlsson.

  • WebView/WebView.h: Added forward declarations of the protocols.
10:29 AM Changeset in webkit [179192] by ggaren@apple.com
  • 41 edits
    5 deletes in trunk/Source

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Removes some more custom allocation code.

Looks like a speedup. (See results attached to bugzilla.)

Will hopefully reduce memory use by improving sharing between the GC and
malloc heaps.

  • heap/BlockAllocator.cpp: Removed.
  • heap/BlockAllocator.h: Removed. No need for a custom allocator anymore.
  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::CodeBlockSet):

  • heap/CodeBlockSet.h: Feed the compiler.
  • heap/CopiedBlock.h:

(JSC::CopiedBlock::createNoZeroFill):
(JSC::CopiedBlock::create):
(JSC::CopiedBlock::CopiedBlock):
(JSC::CopiedBlock::isOversize):
(JSC::CopiedBlock::payloadEnd):
(JSC::CopiedBlock::capacity):

  • heap/CopiedBlockInlines.h:

(JSC::CopiedBlock::reportLiveBytes): Each copied block now tracks its
own size, since we can't rely on Region to tell us our size anymore.

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::~CopiedSpace):
(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::tryReallocateOversize):

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::recycleEvacuatedBlock):
(JSC::CopiedSpace::recycleBorrowedBlock):
(JSC::CopiedSpace::allocateBlockForCopyingPhase):
(JSC::CopiedSpace::allocateBlock):
(JSC::CopiedSpace::startedCopying): Deallocate blocks directly, rather
than pushing them onto the block allocator's free list; the block
allocator doesn't exist anymore.

  • heap/CopyWorkList.h:

(JSC::CopyWorkListSegment::create):
(JSC::CopyWorkListSegment::CopyWorkListSegment):
(JSC::CopyWorkList::~CopyWorkList):
(JSC::CopyWorkList::append):
(JSC::CopyWorkList::CopyWorkList): Deleted.

  • heap/GCSegmentedArray.h:

(JSC::GCArraySegment::GCArraySegment):

  • heap/GCSegmentedArrayInlines.h:

(JSC::GCSegmentedArray<T>::GCSegmentedArray):
(JSC::GCSegmentedArray<T>::~GCSegmentedArray):
(JSC::GCSegmentedArray<T>::clear):
(JSC::GCSegmentedArray<T>::expand):
(JSC::GCSegmentedArray<T>::refill):
(JSC::GCArraySegment<T>::create):

  • heap/GCThreadSharedData.cpp:

(JSC::GCThreadSharedData::GCThreadSharedData):

  • heap/GCThreadSharedData.h: Feed the compiler.
  • heap/HandleBlock.h:
  • heap/HandleBlockInlines.h:

(JSC::HandleBlock::create):
(JSC::HandleBlock::HandleBlock):
(JSC::HandleBlock::payloadEnd):

  • heap/HandleSet.cpp:

(JSC::HandleSet::~HandleSet):
(JSC::HandleSet::grow): Same as above.

  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/Heap.h: Removed the block allocator since it is unused now.
  • heap/HeapBlock.h:

(JSC::HeapBlock::destroy):
(JSC::HeapBlock::HeapBlock):
(JSC::HeapBlock::region): Deleted. Removed the Region pointer from each
HeapBlock since a HeapBlock is just a normal allocation now.

  • heap/HeapInlines.h:

(JSC::Heap::blockAllocator): Deleted.

  • heap/HeapTimer.cpp:
  • heap/MarkStack.cpp:

(JSC::MarkStackArray::MarkStackArray):

  • heap/MarkStack.h: Feed the compiler.
  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateBlock): No need to use a custom code path
based on size, since we use a general purpose allocator now.

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::create):
(JSC::MarkedBlock::destroy):
(JSC::MarkedBlock::MarkedBlock):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::capacity): Track block size explicitly, like CopiedBlock.

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::freeBlock):

  • heap/MarkedSpace.h:
  • heap/Region.h: Removed.
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::SlotVisitor): Removed reference to block allocator.

  • heap/SuperRegion.cpp: Removed.
  • heap/SuperRegion.h: Removed.
  • heap/WeakBlock.cpp:

(JSC::WeakBlock::create):
(JSC::WeakBlock::WeakBlock):

  • heap/WeakBlock.h:
  • heap/WeakSet.cpp:

(JSC::WeakSet::~WeakSet):
(JSC::WeakSet::addAllocator):
(JSC::WeakSet::removeAllocator): Removed reference to block allocator.

Source/WebCore:

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install): Be sure to release other
memory after GC and not before, since GC might contribute to free
malloc pages now.

Source/WTF:

New interface for aligned allocation: fastAlignedMalloc / fastAlignedFree.
We require a special function call on free because Windows.

  • wtf/FastMalloc.cpp:

(WTF::fastAlignedMalloc):
(WTF::fastAlignedFree): Do it.

(WTF::do_memalign): Un-ifdef this, since we use it now.

  • wtf/FastMalloc.h: Make our new function names visible like the rest

of fastMalloc.

10:24 AM Changeset in webkit [179191] by ap@apple.com
  • 3 edits in trunk/LayoutTests

<rdar://problem/16801814> Media controls do not appear in 2 DRT tests

This doesn't appear to happen any more, although the tests are still flaky due to
flaky font metrics.

  • platform/mac/TestExpectations:
  • platform/mac/media/controls-without-preload-expected.txt:
10:22 AM Changeset in webkit [179190] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Win] Disable FTL stress tests
https://bugs.webkit.org/show_bug.cgi?id=140932

Reviewed by Brent Fulgham.

  • Scripts/run-javascriptcore-tests:
10:15 AM Changeset in webkit [179189] by Chris Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed. Rebaseline several editing tests on Mac after r179168.

  • platform/mac/editing/attributed-string/font-size-expected.txt:
  • platform/mac/editing/attributed-string/vertical-align-expected.txt:
9:28 AM Changeset in webkit [179188] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unskip tests now that r179170 is in place.

  • platform/win/TestExpectations:
9:13 AM Changeset in webkit [179187] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Typo fix after r176083
https://bugs.webkit.org/show_bug.cgi?id=140937

Reviewed by Anders Carlsson.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::ldrh):

9:05 AM Changeset in webkit [179186] by Brent Fulgham
  • 3 edits
    1 add in trunk/LayoutTests

[Win] Adjust some expectations based on test bot display metrics.

  • platform/win/TestExpectations:
  • platform/win/fast/dom/adopt-node-crash-2-expected.txt:
  • platform/win/fast/ondrop-text-html-expected.txt: Added.
9:01 AM Changeset in webkit [179185] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Simple line layout: Make FlowContents an iterator class.
https://bugs.webkit.org/show_bug.cgi?id=140909

Reviewed by Antti Koivisto.

This patch transfers content position handling from createLineRuns()/LineState to
FlowContents. FlowContents becomes a real iterator class.
It tightens content and position information so that we can start supporting
no textual content such as <br>.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::commitAndCreateRun): Remove redundant committedLogicalRight.
(WebCore::SimpleLineLayout::LineState::addUncommitted): Now that we don't have current
positon in LineState, we need to be able to figure out where we start the uncommitted content.
This is mainly relevant after collapsed whitespace, when we start a new uncommitted segment.
It was previously achieved through LineState::jumpTo().
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::firstFragment): Return the first fragment for this line.
(WebCore::SimpleLineLayout::createLineRuns): Renaming and removing position handling.
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns): Renaming.
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::LineState::jumpTo): Deleted.
(WebCore::SimpleLineLayout::initializeNewLine): Deleted. : Move overflow fragment functionality
to firstFragment().

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::FlowContents::nextTextFragment):

  • rendering/SimpleLineLayoutFlowContents.h:
9:00 AM Changeset in webkit [179184] by dbates@webkit.org
  • 6 edits in trunk/Websites/webkit.org

Update Xcode requirement and add instructions to build, run, and debug WebKit for iOS Simulator

Reviewed by David Kilzer.

  • building/build.html: Added instructions to build WebKit for iOS Simulator.
  • building/debug.html: Added some instructions to debug the UIProcess and WebProcess

in the iOS Simulator using command line tools. We should look to add Xcode instructions
and simplify these steps once we teach debug-safari about the iOS Simulator.

  • building/run.html: Added remark to run Safari in the iOS Simulator.
  • building/tools.html: Require Xcode 6.1.1 (for the iOS 8.1 SDK) to build for iOS Simulator.
  • css/main.css: Define the .ios-instructions class with the same style as other .*-instructions classes.
8:17 AM Changeset in webkit [179183] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit/mac

Make it easy to test enabling formal delegate protocols
https://bugs.webkit.org/show_bug.cgi?id=140892

Reviewed by Dan Bernstein.

Add an WK_ENABLE_FORMAL_DELEGATE_PROTOCOLS define that controls whether delegates should be formal protocols.

  • Misc/WebDownload.h:
  • WebView/WebFrameLoadDelegate.h:
  • WebView/WebPolicyDelegate.h:
  • WebView/WebResourceLoadDelegate.h:
  • WebView/WebUIDelegate.h:
  • WebView/WebView.h:
8:10 AM Changeset in webkit [179182] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebKit2

REGRESSION(r166975): [GTK] Page overlays are not drawn anymore after r166975
https://bugs.webkit.org/show_bug.cgi?id=131433

Reviewed by Žan Doberšek.

Implement page overlays for the GTK+ port.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:

Override pure virtual setViewOverlayRootLayer().

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::display): Remove FIXME and use modern
for loop.
(WebKit::DrawingAreaImpl::attachViewOverlayGraphicsLayer): Remove
ifdefs and use LayerTreeHost::setViewOverlayRootLayer().

  • WebProcess/WebPage/LayerTreeHost.h: Add pure virtual setViewOverlayRootLayer().
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::LayerTreeHostGtk): Initialize m_viewOverlayRootLayer.
(WebKit::LayerTreeHostGtk::initialize): Remove FIXME.
(WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
Remove unused old page overlays code.
(WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect): Ditto.
(WebKit::LayerTreeHostGtk::sizeDidChange): Ditto.
(WebKit::LayerTreeHostGtk::paintContents): Remove FIXME.
(WebKit::LayerTreeHostGtk::flushPendingLayerChanges): Flush
compositing state on m_pageOverlayLayers if present.
(WebKit::LayerTreeHostGtk::setViewOverlayRootLayer): Set m_pageOverlayLayers.
(WebKit::LayerTreeHostGtk::createPageOverlayLayer): Deleted.
(WebKit::LayerTreeHostGtk::destroyPageOverlayLayer): Deleted.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h: Remove unused old

page overlays code.

7:59 AM Changeset in webkit [179181] by Chris Dumez
  • 9 edits in trunk

HTMLElement.dir should only return known values
https://bugs.webkit.org/show_bug.cgi?id=140925

Reviewed by Darin Adler.

Source/WebCore:

HTMLElement.dir should only return known values according to the HTML
specification:
https://html.spec.whatwg.org/multipage/dom.html#dom-document-dir

Chrome and Firefox 28 match the specification. IE11's behavior is
slightly different:

  • When setting an unknown 'dir' value, an exception will be thrown.
  • Setting a known 'dir' value in a non-canonical case (e.g. "RTL"), the value will be directly converted to its canonical form (e.g. "rtl") before updating the DOM tree. (close to the spec but changing the case upon setting).

This patch is based on the following Blink revision by me:
https://src.chromium.org/viewvc/blink?view=rev&revision=171861

Test: fast/dom/document-dir-property.html

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::dir):
(WebCore::HTMLDocument::setDir):

  • html/HTMLDocument.h:
  • html/HTMLElement.cpp:

(WebCore::toValidDirValue):
(WebCore::HTMLElement::dir):
(WebCore::HTMLElement::setDir):

  • html/HTMLElement.h:
  • html/HTMLElement.idl:

LayoutTests:

Update fast/dom/document-dir-property.html to make sure HTMLDocument.dir
and HTMLElement.dir only return known values, as per the HTML
specification.

  • fast/dom/document-dir-property-expected.txt:
  • fast/dom/document-dir-property.html:
7:32 AM Changeset in webkit [179180] by dbates@webkit.org
  • 2 edits in trunk/Tools

REGRESSION (r179130): Perl warns about subroutine redefinition when running configure-xcode-for-ios-development
https://bugs.webkit.org/show_bug.cgi?id=140939

Reviewed by Eric Carlson.

Fixes the Perl warning: "Subroutine wanted redefined at Tools/Scripts/configure-xcode-for-ios-development line 106."

  • Scripts/webkitdirs.pm:

(hasUserInstalledAppInSimulatorDevice): Pass a reference to an anonymous function instead
of a named function to find() to avoid redefinition warnings in scripts that include webkitdirs.pm
and define a function called wanted.

7:16 AM Changeset in webkit [179179] by dbates@webkit.org
  • 2 edits in trunk/Tools

Teach run-webkit-app --simulator how to install custom built app
https://bugs.webkit.org/show_bug.cgi?id=140691

Fix inadvertent omission of directory test flag in expression to check for the
existence of the iOS simulator device-specific directory for user installed apps.

  • Scripts/webkitdirs.pm:

(hasUserInstalledAppInSimulatorDevice):

6:12 AM Changeset in webkit [179178] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] AX: Update test expectations for test related with AXRole.
https://bugs.webkit.org/show_bug.cgi?id=140933

Unreviewed EFL gardening.

roles-exposed.html's test expectation changed: for specified elements
AXRole value should NOT be equal AXUnknown but AXStatic because for ATK
version 2.15.2 there is new ATK_ROLE_STATIC role which should be used
instead of ATK_ROLE_UNKNOWN.

Patch by Michal Poteralski <m.poteralski@samsung.com> on 2015-01-27

  • platform/efl/accessibility/roles-exposed-expected.txt:
1:40 AM Changeset in webkit [179177] by Csaba Osztrogonác
  • 2 edits in trunk/PerformanceTests/SunSpider

[Win] JSC profiler tests asserts in debug mode
https://bugs.webkit.org/show_bug.cgi?id=140931

Unreviewed gardening, skip failing tests.

  • profiler-test.yaml:
1:26 AM Changeset in webkit [179176] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed gardening, skip failing tests.

  • tests/exceptionFuzz.yaml: Skip exception fuzz tests due to bug140928.
  • tests/mozilla/mozilla-tests.yaml: Skip ecma/Date/15.9.5.28-1.js due to bug140927.
12:19 AM Changeset in webkit [179175] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

Remove remaining PLUGIN_ARCHITECTURE(WIN) code blocks from WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=140912

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-01-27
Reviewed by Anders Carlsson.

  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::NetscapePluginModule::tryLoad):

  • Shared/Plugins/PluginQuirks.h:
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::userAgent):

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:

Jan 26, 2015:

11:40 PM Changeset in webkit [179174] by Chris Dumez
  • 5 edits in trunk/LayoutTests

Unreviewed, rebaseline several CSS tests after r179168.

Computed line-height is no longer 'normal' but the font's line
spacing.

  • fast/css/font-shorthand-line-height-expected.txt:
  • fast/css/font-shorthand-line-height.html:
  • platform/mac-mavericks/fast/css/css2-system-fonts-expected.txt:
  • platform/mac/fast/css/css2-system-fonts-expected.txt:
11:30 PM Changeset in webkit [179173] by Brent Fulgham
  • 7 edits
    26 adds in trunk/LayoutTests

[Win] Unskipping more tests after correcting baselines for Windows widgets.

  • platform/win/TestExpectations:
  • platform/win/fast/events/context-no-deselect-expected.png: Added.
  • platform/win/fast/events/context-no-deselect-expected.txt: Added.
  • platform/win/fast/events/dropzone-005-expected.txt: Added.
  • platform/win/fast/events/ime-composition-events-001-expected.txt:
  • platform/win/fast/events/key-events-in-input-button-expected.txt: Added.
  • platform/win/fast/events/mouseup-from-button2-expected.txt: Added.
  • platform/win/fast/flexbox: Added.
  • platform/win/fast/flexbox/clear-overflow-before-scroll-update-expected.txt: Added.
  • platform/win/fast/frames/flattening: Added.
  • platform/win/fast/frames/flattening/frameset-flattening-simple-expected.txt: Added.
  • platform/win/fast/multicol/client-rects-expected.png: Added.
  • platform/win/fast/multicol/client-rects-expected.txt: Added.
  • platform/win/fast/multicol/client-rects-spanners-complex-expected.png: Added.
  • platform/win/fast/multicol/client-rects-spanners-complex-expected.txt: Added.
  • platform/win/fast/multicol/client-rects-spanners-expected.png: Added.
  • platform/win/fast/multicol/client-rects-spanners-expected.txt: Added.
  • platform/win/fast/multicol/newmulticol: Added.
  • platform/win/fast/multicol/newmulticol/client-rects-expected.png: Added.
  • platform/win/fast/multicol/newmulticol/client-rects-expected.txt: Added.
  • platform/win/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
  • platform/win/fast/overflow/scrollRevealButton-expected.txt:
  • platform/win/fast/parser/bad-xml-slash-expected.txt: Added.
  • platform/win/fast/parser/document-write-option-expected.txt: Added.
  • platform/win/fast/repaint/control-clip-expected.txt:
  • platform/win/fast/replaced/object-with-embed-url-param-expected.txt: Added.
  • platform/win/fast/replaced/replaced-breaking-expected.txt: Added.
  • platform/win/fast/replaced/replaced-breaking-mixture-expected.txt: Added.
  • platform/win/fast/replaced/width100percent-button-expected.txt:
  • platform/win/fast/replaced/width100percent-checkbox-expected.txt: Added.
  • platform/win/fast/replaced/width100percent-menulist-expected.txt: Added.
  • platform/win/fast/replaced/width100percent-radio-expected.txt: Added.
11:05 PM Changeset in webkit [179172] by Chris Dumez
  • 16 edits in trunk/Source/WebCore

Introduce Document::body() for call sites interested in the <body> element
https://bugs.webkit.org/show_bug.cgi?id=140920

Reviewed by Darin Adler.

Introduce Document::body() method for call sites interested only in the
document's <body> element (not the <frameset>). Also clean up the call
sites of Document::bodyOrFrameset() to cache the return value when
suitable as this method does a tree traversal.

This patch does not change behavior, it merely ports calls sites that
were calling Document::bodyOrFrameset() then checking if the tag was
<body>, to call Document::body() instead. Doing so is more efficient
and clearer.

10:32 PM Changeset in webkit [179171] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Apply feTurbulence spec change to fix zero length vector generation
https://bugs.webkit.org/show_bug.cgi?id=140812
.:

Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2015-01-26
Reviewed by Darin Adler.

Recently a bug with the turbulence algorithm was corrected in the
Filter Effects specification.
For some seed values this bug allowed zero length vectors to be generated.
This resulted in large solid color squares being present in the generated image.
The feTurbulence algorithm was updated to reject zero length vectors. This patch
applies that change in WebCore.

Test: svg/filters/feTurbulence_bad_seeds.html

  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::initPaint):
Added rejection sampling during vector generation to avoid zero length vectors.

LayoutTests:

Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2015-01-26
Reviewed by Darin Adler.

Ref test that generates a turbulence image which is then coloured black
and alpha min/maxxed (>0 becomes 1, 0 stays zero). This allows holes
caused by zero length vectors to be easily identified.

  • svg/filters/feTurbulence_bad_seeds-expected.html: Added.
  • svg/filters/feTurbulence_bad_seeds.html: Added.
10:24 PM Changeset in webkit [179170] by Brent Fulgham
  • 16 edits in trunk

[Win] ASSERTION FAILED !m_ptr under AccessibilityController::winAddNotificationListener
https://bugs.webkit.org/show_bug.cgi?id=87426
<rdar://problem/11527899>

Reviewed by Darin Adler.

Source/WebCore:

Revise COMPtr to work better with our HashMap implementation:
(1) Add a specialization for IsSmartPtr.
(2) Remove PtrHash specialization.
(3) Refresh HashTrails specialization for COMPtr to match what we
do for RefPtr.

  • platform/win/COMPtr.h:

Source/WebKit/win:

Revise COMPtr to work better with our HashMap implementation. Use
modern loop syntax.

  • WebHistory.cpp:

(WebHistory::visitedURL): Adjust for new COMPtr changes.

  • WebPreferences.cpp:

(WebPreferences::getInstanceForIdentifier): Ditto.
(WebPreferences::removeReferenceForIdentifier): Ditto.

  • WebView.cpp:

(WebView::setEditable): Ditto.

Source/WTF:

Revise internal containers to use std::addressof in preference to
to using the '&' operator.

  • wtf/Deque.h:

(WTF::inlineCapacity>::append):
(WTF::inlineCapacity>::prepend):
(WTF::inlineCapacity>::removeFirst):
(WTF::inlineCapacity>::removeLast):
(WTF::inlineCapacity>::remove):
(WTF::inlineCapacity>::after):
(WTF::inlineCapacity>::before):

  • wtf/GetPtr.h:
  • wtf/HashTable.h:

(WTF::HashTableBucketInitializer<false>::initialize):

  • wtf/HashTraits.h:

(WTF::SimpleClassHashTraits::constructDeletedValue):
(WTF::CustomHashTraits::constructDeletedValue):

  • wtf/ListHashSet.h:

(WTF::ListHashSetConstIterator::get):

  • wtf/Vector.h:

(WTF::Vector::swap):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::insert):

Tools:

Revise COMPtr to work better with our HashMap implementation. Use
modern loop syntax.

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(AccessibilityController::~AccessibilityController):
(AccessibilityController::winNotificationReceived):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(dumpBackForwardListForAllWindows):

10:14 PM Changeset in webkit [179169] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Enable JSC stress tests by default
https://bugs.webkit.org/show_bug.cgi?id=128307

Unreviewed typo fix after r179165.

  • tests/mozilla/mozilla-tests.yaml:
10:12 PM Changeset in webkit [179168] by dino@apple.com
  • 36 edits in trunk

The computed value of line-height:normal is incorrect
https://bugs.webkit.org/show_bug.cgi?id=133744

Patch by Sylvain Galineau <galineau@adobe.com> on 2015-01-26
Reviewed by Dean Jackson.

Source/WebCore:

Use font's line spacing as computed line-height value when specified value is 'normal'.
This behavior is compatible with all other engines.

No new tests; all existing tests are updated to reflect the new computed value.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::lineHeightFromStyle): If line-height wasn't set, use the font's line spacing (same as Blink).

LayoutTests:

line-height:normal now computes to a length value.
This patch updates the tests to reflect the new computed value, as needed.

  • css3/calc/line-height-expected.txt:
  • editing/pasteboard/simplfiying-markup-should-not-strip-content-expected.txt:
  • fast/css/font-calculated-value-expected.txt:
  • fast/css/font-calculated-value.html:
  • fast/css/font-shorthand-from-longhands-expected.txt:
  • fast/css/font-shorthand-from-longhands.html:
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-font-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/script-tests/computed-style-font.js:
  • fast/css/line-height-text-autosizing-expected.txt:
  • fast/css/line-height-text-autosizing.html:
  • fast/ruby/ruby-line-height-expected.txt:
  • fast/ruby/script-tests/ruby-line-height.js:
  • media/track/track-cue-rendering-on-resize-expected.txt:
  • media/track/track-cue-rendering-on-resize.html:
  • platform/mac-mavericks/platform/mac/editing/attributed-string/anchor-element-expected.txt:
  • platform/mac-mavericks/platform/mac/editing/attributed-string/basic-expected.txt:
  • platform/mac-mavericks/platform/mac/editing/attributed-string/font-size-expected.txt:
  • platform/mac-mavericks/platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt:
  • platform/mac-mavericks/platform/mac/editing/attributed-string/font-weight-expected.txt:
  • platform/mac-mavericks/platform/mac/editing/attributed-string/letter-spacing-expected.txt:
  • platform/mac-mavericks/platform/mac/editing/attributed-string/text-decorations-expected.txt:
  • platform/mac-mavericks/platform/mac/editing/attributed-string/vertical-align-expected.txt:
  • platform/mac/editing/attributed-string/anchor-element-expected.txt:
  • platform/mac/editing/attributed-string/basic-expected.txt:
  • platform/mac/editing/attributed-string/font-size-expected.txt:
  • platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt:
  • platform/mac/editing/attributed-string/font-weight-expected.txt:
  • platform/mac/editing/attributed-string/letter-spacing-expected.txt:
  • platform/mac/editing/attributed-string/text-decorations-expected.txt:
  • platform/mac/editing/attributed-string/vertical-align-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
10:04 PM Changeset in webkit [179167] by Brent Fulgham
  • 4 edits
    14 adds
    1 delete in trunk/LayoutTests

[Win] Windows gardening (removing more skips).

  • platform/win/TestExpectations:
  • platform/win/fast/block/basic/011-expected.png: Added.
  • platform/win/fast/block/basic/011-expected.txt: Added.
  • platform/win/fast/block/float/overhanging-tall-block-expected.png: Added.
  • platform/win/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/win/fast/borders/bidi-002-expected.png: Added.
  • platform/win/fast/borders/bidi-002-expected.txt: Added.
  • platform/win/fast/borders/bidi-009a-expected.png: Added.
  • platform/win/fast/borders/bidi-009a-expected.txt: Added.
  • platform/win/fast/borders/border-fit-expected.txt: Added.
  • platform/win/fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
  • platform/win/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt: Added.
  • platform/win/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Removed property svn:executable.
  • platform/win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Removed property svn:executable.
  • platform/win/fast/dom/HTMLTableColElement: Added.
  • platform/win/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png: Added.
  • platform/win/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt: Added.
  • platform/win/fast/dom/call-a-constructor-as-a-function-expected.txt: Removed.
9:54 PM Changeset in webkit [179166] by Chris Dumez
  • 6 edits in trunk

Document.dir should reflect the 'dir' attribute of the root html element
https://bugs.webkit.org/show_bug.cgi?id=140922

Reviewed by Darin Adler.

Source/WebCore:

Document.dir should reflect the 'dir' content attribute of the root
<html> element as per the specification:
https://html.spec.whatwg.org/multipage/dom.html#dom-document-dir

Previously, WebKit was reflecting the 'dir' content attribute of the
body element. This patch aligns WebKit with the specification and the
behavior of other browsers (tested Firefox 28, IE11 and Chrome).

This patch is based on the following Blink revision by me:
https://src.chromium.org/viewvc/blink?revision=171734&view=revision

Test: fast/dom/document-dir-property.html

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::dir):
(WebCore::HTMLDocument::setDir):

  • html/HTMLDocument.h:

LayoutTests:

Update fast/dom/document-dir-property.html to reflect the behavior
change.

  • fast/dom/document-dir-property-expected.txt:
  • fast/dom/document-dir-property.html:
9:01 PM Changeset in webkit [179165] by Csaba Osztrogonác
  • 8 edits in trunk

[Win] Enable JSC stress tests by default
https://bugs.webkit.org/show_bug.cgi?id=128307

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

  • tests/mozilla/mozilla-tests.yaml: Skipped on Windows.
  • tests/stress/ftl-arithcos.js: Skipped on Windows.

Tools:

  • Scripts/run-javascriptcore-tests:

LayoutTests:

  • js/script-tests/date-constructor.js: Skipped on Windows.
  • js/script-tests/sort-stability.js: Skipped on Windows.
8:50 PM Changeset in webkit [179164] by Lucas Forschler
  • 8 edits
    4 copies in branches/safari-600.1.4.15-branch/Source

Merged r177328. rdar://problem/19445865

8:39 PM Changeset in webkit [179163] by Darin Adler
  • 2 edits in trunk/Source/WebCore

REGRESSION (r179101): SVGUseElement::expandUseElementsInShadowTree has an object lifetime mistake
https://bugs.webkit.org/show_bug.cgi?id=140921

Reviewed by Alexey Proskuryakov.

Bug found by running regression tests with Address Sanitizer.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::expandUseElementsInShadowTree): Use a Ref to protect
the original use element after it's been replaced in the tree; we use it for
one more thing after that.

8:06 PM Changeset in webkit [179162] by dbates@webkit.org
  • 4 edits in trunk/Tools

[iOS] Remove the various aliases for --ios-simulator (--sim, --simulator, --ios-sim) in
arguments for build and test scripts
https://bugs.webkit.org/show_bug.cgi?id=139748

Patch by Simon Fraser <Simon Fraser> on 2015-01-26
Reviewed by Daniel Bates.

There was much confusion resulting from the multitude of aliases used to build/test for
the iOS simulator. Standardize on "--ios-simulator", which is also the name of the layout
tests directory.

This fixes an issue where run-api-tests and some other scripts failed when run with
--simulator.

  • Scripts/build-webkit:
  • Scripts/package-root:

(usage):

  • Scripts/webkitdirs.pm:

(argumentsForConfiguration):
(determineXcodeSDK):

  • Scripts/webkitpy/port/factory.py:

(platform_options):

6:39 PM Changeset in webkit [179161] by Simon Fraser
  • 2 edits in trunk

[iOS WK2] Fix possible crash when -[WKWebView evaluateJavaScript:completionHandler:] was called then the WKWebView is destroyed
https://bugs.webkit.org/show_bug.cgi?id=140203
rdar://problem/19198492

Reviewed by Sam Weinig.
Source/WebKit2:

When handling the OwnerWasInvalidated case in -[WKWebView evaluateJavaScript:completionHandler:],
the block passed to dispatch_async() needs to be retained. Fix by passing the RefPtr
to the lambda.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView evaluateJavaScript:completionHandler:]):

Tools:

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

(TEST):

6:39 PM Changeset in webkit [179160] by Simon Fraser
  • 2 edits
    1 add in trunk

Need a short description (OOPS!).
Need the bug URL (OOPS!).

Reviewed by NOBODY (OOPS!).

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView evaluateJavaScript:completionHandler:]):

Tools:

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

(TEST):

5:14 PM Changeset in webkit [179159] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Parse a function expression as a primary expression
https://bugs.webkit.org/show_bug.cgi?id=140908

Reviewed by Mark Lam.

Moved the code to generate an AST node for a function expression from parseMemberExpression
to parsePrimaryExpression to match the ES6 specification terminology:
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-primary-expression

There should be no behavior change from this change since parsePrimaryExpression is only
called in parseMemberExpression other than the fact failIfStackOverflow() is called.

  • parser/Parser.cpp:

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

4:55 PM Changeset in webkit [179158] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

WebGL 2.0: Actually allow for experimental-webgl2 context creation.

https://bugs.webkit.org/show_bug.cgi?id=140906
<rdar://problem/19606875>.

Reviewed by Brent Fulgham.

  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::is3dType): Include experimental-webgl2 in the list of acceptable 3d context types.
4:26 PM Changeset in webkit [179157] by Chris Dumez
  • 34 edits in trunk/Source

Rename Document::body() to Document::bodyOrFrameset() for clarity
https://bugs.webkit.org/show_bug.cgi?id=140902

Reviewed by Andreas Kling.

Rename Document::body() to Document::bodyOrFrameset() for clarity. This
method does not necessarily return an HTMLBodyElement, it can also
return a frameset as per the specification:
http://www.w3.org/TR/html5/dom.html#dom-tree-accessors

This method is often misused internally (the caller is only interested
in the <body> element). I will fix these instances in a follow-up patch,
this patch is only renaming mechanically.

4:19 PM Changeset in webkit [179156] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merge r179087. rdar://problem/19571057

4:19 PM Changeset in webkit [179155] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebCore

Merge r179086. rdar://problem/19566089

4:19 PM Changeset in webkit [179154] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merge r179023. rdar://problem/19573674

4:19 PM Changeset in webkit [179153] by matthew_hanson@apple.com
  • 10 edits in branches/safari-600.4-branch/Source

Merge r179014. rdar://problem/19573674

4:19 PM Changeset in webkit [179152] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.4-branch/Source

Merge r179013. rdar://problem/19571601

4:19 PM Changeset in webkit [179151] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.4-branch/Source

Merge r178938. rdar://problem/19558472

4:19 PM Changeset in webkit [179150] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.4-branch/Source

Merge r178858. rdar://problem/19540806

3:23 PM Changeset in webkit [179149] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] More test gardening.

  • platform/win/TestExpectations:
3:20 PM Changeset in webkit [179148] by Antti Koivisto
  • 5 edits in trunk/Source/WebKit2

Add a user default for disabling network cache
https://bugs.webkit.org/show_bug.cgi?id=140904

Reviewed by Andreas Kling

defaults write com.apple.Safari WebKitNetworkCacheEnabled -bool YES/NO

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • Shared/Network/NetworkProcessCreationParameters.cpp:

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

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

(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

2:59 PM Changeset in webkit [179147] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

Fix Border-radius clipping issue on a composited descendants
Source/WebCore:

https://bugs.webkit.org/show_bug.cgi?id=138551

Patch by Byungseon Shin <sun.shin@lge.com> on 2015-01-26
Reviewed by Simon Fraser.

Fix assertion in RenderLayerBacking::paintIntoLayer
by not checking out of sync with the GraphicsLayer heirarchy
in GraphicsLayerPaintChildClippingMask phase.

Test: compositing/clipping/border-radius-overflow-hidden-stacking-context.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):

LayoutTests:

https://bugs.webkit.org/show_bug.cgi?id=138551

Patch by Byungseon Shin <sun.shin@lge.com> on 2015-01-26
Reviewed by Simon Fraser.

Ref test that clips composited descendant by stacking context with border-radius and overflow hidden element.

  • compositing/clipping/border-radius-overflow-hidden-stacking-context-expected.txt: Added.
  • compositing/clipping/border-radius-overflow-hidden-stacking-context.html: Added.
2:50 PM Changeset in webkit [179146] by ddkilzer@apple.com
  • 4 edits
    5 adds in branches/safari-600.1.4.15-branch

Merged r177927. rdar://problem/19565854

2:44 PM Changeset in webkit [179145] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Simplify RenderElement's shouldRepaintForImageAnimation()
https://bugs.webkit.org/show_bug.cgi?id=140890

Reviewed by Darin Adler.

Simplify RenderElement's shouldRepaintForImageAnimation() by
not calling rendererForRootBackground(). The previous code was
doing a null-check on Document::documentElement() but failing
to do a null-check on the renderer just after, which lead me
to refactor this code.

Instead of calling document().documentElement.renderer(), we
now call renderer.parent(). This is equivalent because we already
know that renderer.isBody() returns true. The parent of the <body>
has to be the <html> element, which has to be the documentElement.
There is also no need to do a null-check on renderer.parent(). We
already know that the <body> has a renderer (because |renderer| is
its renderer), thus its parent <html> element has to have a renderer
as well.

Finally, simply call !rootElement.hasBackground() instead of
rootElement.rendererForRootBackground() == &bodyRenderer to determine
if the background painted by the root. This is equivalent but more
efficient because:

  • We already know that the root renderer's is an <html> element. We can thus avoid the check in rendererForRootBackground().
  • We already have the <body>'s renderer so we don't need to do the DOM tree traversal in rendererForRootBackground() to get it.

No new tests, already covered by:
fast/images/animated-gif-body-delegated-background-image.html
fast/images/animated-gif-html-background-image.html

  • rendering/RenderElement.cpp:

(WebCore::shouldRepaintForImageAnimation):

2:40 PM Changeset in webkit [179144] by ddkilzer@apple.com
  • 4 edits
    2 adds in trunk/Tools

Add iOS EWS to build.webkit.org/dashboard
<http://webkit.org/b/140627>

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice.png: Add.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice@2x.png: Add.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:

(BubbleQueueServer): Add ios-ews queue info.

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

Add iOS8Device platform.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.ios-8 img.logo): Add CSS to draw
iOS device logo.

2:36 PM Changeset in webkit [179143] by Chris Dumez
  • 80 edits in trunk/Source

First argument to DOM traversal functions should be a reference
https://bugs.webkit.org/show_bug.cgi?id=140895

Reviewed by Antti Koivisto.

First argument to DOM traversal functions should be a reference instead
of a pointer as it is dereferenced without null-check.

2:03 PM Changeset in webkit [179142] by roger_fong@apple.com
  • 6 edits in trunk/Source/WebCore

[WebGL2] Update IDL for WebGL2.
https://bugs.webkit.org/show_bug.cgi?id=126406
<rdar://problem/15002268>.

Reviewed by Brent Fulgham.

Update WebGL2RenderingContext idl to match spec. Create method stubs as necessary.

  • bindings/js/JSWebGL2RenderingContextCustom.cpp:

(WebCore::JSWebGL2RenderingContext::getFramebufferAttachmentParameter):
(WebCore::JSWebGL2RenderingContext::getInternalformatParameter):
(WebCore::JSWebGL2RenderingContext::getQueryParameter):
(WebCore::JSWebGL2RenderingContext::getSamplerParameter):
(WebCore::JSWebGL2RenderingContext::getSyncParameter):
(WebCore::JSWebGL2RenderingContext::getIndexedParameter):
(WebCore::JSWebGL2RenderingContext::getActiveUniformBlockParameter):
(WebCore::JSWebGL2RenderingContext::getActiveUniformBlockName):

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::copyBufferSubData):
(WebCore::WebGL2RenderingContext::getBufferSubData):
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGL2RenderingContext::blitFramebuffer):
(WebCore::WebGL2RenderingContext::framebufferTextureLayer):
(WebCore::WebGL2RenderingContext::getInternalformatParameter):
(WebCore::WebGL2RenderingContext::invalidateFramebuffer):
(WebCore::WebGL2RenderingContext::invalidateSubFramebuffer):
(WebCore::WebGL2RenderingContext::readBuffer):
(WebCore::WebGL2RenderingContext::renderbufferStorageMultisample):
(WebCore::WebGL2RenderingContext::texStorage2D):
(WebCore::WebGL2RenderingContext::texStorage3D):
(WebCore::WebGL2RenderingContext::texImage3D):
(WebCore::WebGL2RenderingContext::texSubImage3D):
(WebCore::WebGL2RenderingContext::copyTexSubImage3D):
(WebCore::WebGL2RenderingContext::compressedTexImage3D):
(WebCore::WebGL2RenderingContext::compressedTexSubImage3D):
(WebCore::WebGL2RenderingContext::getFragDataLocation):
(WebCore::WebGL2RenderingContext::uniform1ui):
(WebCore::WebGL2RenderingContext::uniform2ui):
(WebCore::WebGL2RenderingContext::uniform3ui):
(WebCore::WebGL2RenderingContext::uniform4ui):
(WebCore::WebGL2RenderingContext::uniform1uiv):
(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::vertexAttribI4i):
(WebCore::WebGL2RenderingContext::vertexAttribI4iv):
(WebCore::WebGL2RenderingContext::vertexAttribI4ui):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::vertexAttribIPointer):
(WebCore::WebGL2RenderingContext::vertexAttribDivisor):
(WebCore::WebGL2RenderingContext::drawArraysInstanced):
(WebCore::WebGL2RenderingContext::drawElementsInstanced):
(WebCore::WebGL2RenderingContext::drawRangeElements):
(WebCore::WebGL2RenderingContext::drawBuffers):
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):
(WebCore::WebGL2RenderingContext::clearBufferfi):
(WebCore::WebGL2RenderingContext::createQuery):
(WebCore::WebGL2RenderingContext::deleteQuery):
(WebCore::WebGL2RenderingContext::isQuery):
(WebCore::WebGL2RenderingContext::beginQuery):
(WebCore::WebGL2RenderingContext::endQuery):
(WebCore::WebGL2RenderingContext::getQuery):
(WebCore::WebGL2RenderingContext::getQueryParameter):
(WebCore::WebGL2RenderingContext::createSampler):
(WebCore::WebGL2RenderingContext::deleteSampler):
(WebCore::WebGL2RenderingContext::isSampler):
(WebCore::WebGL2RenderingContext::bindSampler):
(WebCore::WebGL2RenderingContext::samplerParameteri):
(WebCore::WebGL2RenderingContext::samplerParameterf):
(WebCore::WebGL2RenderingContext::getSamplerParameter):
(WebCore::WebGL2RenderingContext::fenceSync):
(WebCore::WebGL2RenderingContext::isSync):
(WebCore::WebGL2RenderingContext::deleteSync):
(WebCore::WebGL2RenderingContext::clientWaitSync):
(WebCore::WebGL2RenderingContext::waitSync):
(WebCore::WebGL2RenderingContext::getSyncParameter):
(WebCore::WebGL2RenderingContext::createTransformFeedback):
(WebCore::WebGL2RenderingContext::deleteTransformFeedback):
(WebCore::WebGL2RenderingContext::isTransformFeedback):
(WebCore::WebGL2RenderingContext::bindTransformFeedback):
(WebCore::WebGL2RenderingContext::beginTransformFeedback):
(WebCore::WebGL2RenderingContext::endTransformFeedback):
(WebCore::WebGL2RenderingContext::transformFeedbackVaryings):
(WebCore::WebGL2RenderingContext::getTransformFeedbackVarying):
(WebCore::WebGL2RenderingContext::pauseTransformFeedback):
(WebCore::WebGL2RenderingContext::resumeTransformFeedback):
(WebCore::WebGL2RenderingContext::bindBufferBase):
(WebCore::WebGL2RenderingContext::bindBufferRange):
(WebCore::WebGL2RenderingContext::getIndexedParameter):
(WebCore::WebGL2RenderingContext::getUniformIndices):
(WebCore::WebGL2RenderingContext::getActiveUniforms):
(WebCore::WebGL2RenderingContext::getUniformBlockIndex):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockParameter):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockName):
(WebCore::WebGL2RenderingContext::uniformBlockBinding):
(WebCore::WebGL2RenderingContext::createVertexArray):
(WebCore::WebGL2RenderingContext::deleteVertexArray):
(WebCore::WebGL2RenderingContext::isVertexArray):
(WebCore::WebGL2RenderingContext::bindVertexArray):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:
  • platform/graphics/GraphicsTypes3D.h:
1:42 PM Changeset in webkit [179141] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Don't let the CSSValuePool's font family cache grow unbounded.
<https://webkit.org/b/140894>

Reviewed by Chris Dumez.

Darin pointed out to Chris who pointed out to me that the font family cache
in CSSValuePool can grow unbounded until we get a system memory pressure
notification. Put a limit on it like we did with the font face cache.

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::createFontFamilyValue):

1:29 PM Changeset in webkit [179140] by ddkilzer@apple.com
  • 3 edits
    2 adds in branches/safari-600.1.4.15-branch

Merged r177404. rdar://problem/19419787

1:26 PM Changeset in webkit [179139] by ddkilzer@apple.com
  • 1 edit
    5 adds in branches/safari-600.1.4.15-branch/LayoutTests

Merged r177408. rdar://problem/19432686

1:26 PM Changeset in webkit [179138] by ddkilzer@apple.com
  • 38 edits in branches/safari-600.1.4.15-branch

Merged r177398. rdar://problem/19432686

12:57 PM Changeset in webkit [179137] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Plug leak in jsValueWithDictionaryInContext().
<https://webkit.org/b/140889>

Reviewed by Alexey Proskuryakov.

Add a missing JSStringRelease to plug leak that was showing up on leaks bot.

  • platform/mac/SerializedPlatformRepresentationMac.mm:

(WebCore::jsValueWithDictionaryInContext):

12:56 PM Changeset in webkit [179136] by fpizlo@apple.com
  • 2 edits in trunk/Tools

copy-webkitlibraries-to-product-directory's hack to build LLVM from source should be hardened for Xcode deciding it needs SDKROOT set
https://bugs.webkit.org/show_bug.cgi?id=140896

Reviewed by Michael Saboff.

I've encountered some Xcode setups where you need to set SDKROOT to get llvm to build. This
makes our script do this.

Note that an alternative would be to run clang via "xcrun clang" rather than directly, but
this would be harder given llvm's autoconf setup.

  • Scripts/copy-webkitlibraries-to-product-directory:
12:51 PM Changeset in webkit [179135] by ap@apple.com
  • 2 edits in trunk/Tools

Update bot assignments.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
12:41 PM Changeset in webkit [179134] by youenn.fablet@crf.canon.fr
  • 11 edits
    4 adds in trunk

Integrate WP python server into WebKit test framework
https://bugs.webkit.org/show_bug.cgi?id=127094

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Contains parameters of web platform test server.

  • resources/config.json: Added.

Tools:

This patch adds W3C web server (wptserver) as a new HTTP server.
wptserver is used to serve all tests inside LayoutTests/imported/w3c/wpt.
wptserver implementation should be imported within the import of the Web Platform Test suite (to ensure keeping server and tests in sync) in LayoutTests/imported/w3c/wpt.

Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py serves as main entry point to wpt spawned process.
Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py is responsible to start/stop the wpt server process.
It also sets up the server config and testharness.js/testharnessreport.js files at start and stop of the wpt server.

  • Scripts/webkitpy/common/system/executive_mock.py:

(MockProcess.communicate):

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: Adding start/stop of web platform test server according boolean parameter.

(LayoutTestRunner.init):
(LayoutTestRunner.run_tests):
(LayoutTestRunner.start_servers):
(LayoutTestRunner.stop_servers):

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py: Updated to check for wpt server start/stop.

(LayoutTestRunnerTests._run_tests):
(LayoutTestRunnerTests.test_servers_started.start_web_platform_test_server):
(LayoutTestRunnerTests.test_servers_started.stop_web_platform_test_server):
(LayoutTestRunnerTests):
(LayoutTestRunnerTests.test_servers_started):

  • Scripts/webkitpy/layout_tests/controllers/manager.py: Updated to check whether a test is a wpt test and whether wpt server launch is needed.

(Manager.init):
(Manager._is_http_test):
(Manager._is_web_platform_test):
(Manager._run_tests):

  • Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:

(ManagerTest.test_needs_servers.get_wpt_doc_root):
(ManagerTest.test_needs_servers.get_manager):
(ManagerTest.test_needs_servers):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py: Added an option to control the doc_root of the wpt server.

(parse_args):

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py: Added.

(main):

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py: Added.

(doc_root):
(base_url):
(WebPlatformTestServer):
(WebPlatformTestServer.init):
(WebPlatformTestServer._set_start_cmd):
(WebPlatformTestServer._copy_webkit_test_files):
(WebPlatformTestServer._clean_webkit_test_files):
(WebPlatformTestServer._prepare_config):
(WebPlatformTestServer._spawn_process):
(WebPlatformTestServer._stop_running_server):

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py: Added.

(TestWebPlatformTestServer):
(TestWebPlatformTestServer.test_start_cmd):

  • Scripts/webkitpy/port/base.py:

(Port.init):
(Port.to.start_web_platform_test_server):
(Port.to):
(Port.to.web_platform_test_server_doc_root):
(Port.to.web_platform_test_server_base_url):
(Port.to.stop_web_platform_test_server):

  • Scripts/webkitpy/port/driver.py: Updated the test name <-> test URL conversion routines.

(Driver.init):
(Driver.is_web_platform_test):
(Driver.test_to_uri):
(Driver.uri_to_test):
(Driver._command_from_driver_input):

  • Scripts/webkitpy/port/driver_unittest.py: Updated tests according new conversion rules.

(DriverTest.test_test_to_uri):
(DriverTest.test_uri_to_test):

12:40 PM Changeset in webkit [179133] by ddkilzer@apple.com
  • 14 edits in branches/safari-600.1.4.15-branch

Merged r177377. rdar://problem/19419793

12:40 PM Changeset in webkit [179132] by benjamin@webkit.org
  • 15 edits
    32 adds in trunk

Fix CSS Selector's tag name matching when mixing HTML and XML
https://bugs.webkit.org/show_bug.cgi?id=140878

Reviewed by Darin Adler.

Source/WebCore:

Previsouly, WebKit was unable to match any XML element that had
any uppercase character if the stylesheet was in a HTML document.
This problem was most often reported due to the inability to style
SVG-in-HTML.

The reason was that the tag local name was incorrectly transformed
to lowercase at parsing time. Instead, we are supposed to only
do case-insensitive match for HTML elements in a HTML document.

This fix is very similar with how we handle attributes:
-Keep both the original and the lowercase versions of the name.
-When matching, chose which version to use depending on the element being matched.

There is one major difference in the way the names are stored.
Unlike attribute selectors, tag name selectors are common, and the uppercase
version is not that uncommon. I wanted to preserve the dense representation
so I specialized CSSSelector specifically for tag names.

To store the data, if the name is already lowercase, just use the m_data pointer
as usual.
If the name is not lowercase, allocate a new small structure in the union to store
both names.

Tests: fast/css/tagname-and-namespace-case-sensitivity-xml-in-html.html

fast/css/tagname-and-namespace-case-sensitivity-xml-in-xhtml-expected.xhtml
fast/css/tagname-and-namespace-case-sensitivity-xml-in-xhtml.xhtml
fast/css/tagname-case-sensitivity-svg-in-html.html
fast/css/tagname-case-sensitivity-svg-in-xhtml-expected.xhtml
fast/css/tagname-case-sensitivity-svg-in-xhtml.xhtml
fast/css/tagname-case-sensitivity-xml-in-html.html
fast/css/tagname-case-sensitivity-xml-in-xhtml-expected.xhtml
fast/css/tagname-case-sensitivity-xml-in-xhtml.xhtml
fast/selectors/element-closest-tagname-case-sensitivity-svg-in-html.html
fast/selectors/element-closest-tagname-case-sensitivity-svg-in-xhtml.xhtml
fast/selectors/element-matches-tagname-case-sensitivity-svg-in-html.html
fast/selectors/element-matches-tagname-case-sensitivity-svg-in-xhtml.xhtml
fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html.html
fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml.xhtml
fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html.html
fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml.xhtml
fast/selectors/tagname-adjacent-backtracking-case-sensitivity-html.html
fast/selectors/tagname-descendant-backtracking-case-sensitivity-html.html

  • css/CSSGrammar.y.in:

The parser is unaware of anything case related. CSSSelector takes care of that.

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::createRareData):

  • css/CSSSelector.h:

(WebCore::CSSSelector::NameWithCase::NameWithCase):
(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::~CSSSelector):
(WebCore::CSSSelector::tagQName):
(WebCore::CSSSelector::tagLowercaseLocalName):
The new representation stores both the original form and the lower case
form.

  • css/RuleSet.cpp:

(WebCore::RuleSet::addRule):
(WebCore::RuleSet::shrinkToFit):

  • css/RuleSet.h:

(WebCore::RuleSet::tagRules):

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRules):
The tag name partition is now split in two: lowercase and original case.
If the matched element is HTML, the lowercase partition is used.

  • css/SelectorFilter.cpp:

(WebCore::collectElementIdentifierHashes):
(WebCore::collectDescendantSelectorIdentifierHashes):
This is the most annoying part of the patch performance wise:
the bloom filter knows the case of the real elements but it cannot know
how selectors will match them.

To make it work, all names are now converted to lowercase.
That implies that we can filter less on XML and we may have to pay for
converting the tag name to lowercase.

I expect the performance hit to be small because:
-Having two XML elements with the same name but different case is uncommon.
-Most elements use lowercase names.

Still sad...that's the price to pay for correctness.

  • css/SelectorChecker.cpp:

(WebCore::tagMatches):
(WebCore::SelectorChecker::checkOne):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::tagMatches): Deleted.
Update the legacy matcher, nothing special.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::TagNamePattern::TagNamePattern):
(WebCore::SelectorCompiler::constructFragmentsInternal):
(WebCore::SelectorCompiler::equalTagNames):
(WebCore::SelectorCompiler::equalTagNamePatterns):
(WebCore::SelectorCompiler::computeBacktrackingStartOffsetInChain):
(WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
(WebCore::SelectorCompiler::computeBacktrackingWidthFromIndirectAdjacent):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):
Tag names are used to optimize backtracking; this is quite common for descendant
(e.g. div > ul > li).
We have to differenciate one new case there: if two tag names are equal
when compared case-insensitively but strictly different, they may still
be equal if they don't match the same kind of elements or both matches
and HTML element.

  • dom/SelectorQuery.cpp:

(WebCore::localNameMatches):
(WebCore::elementsForLocalName):
(WebCore::SelectorDataList::executeSingleTagNameSelectorData):
Update the inline versions of SelectorQuery.

LayoutTests:

We had very little coverage for XHTML and XML in HTML.
I added lots of new tests to cover the basics.

  • fast/dom/css-dom-read-2-expected.txt:
  • fast/dom/css-dom-read-expected.txt:

CSSOM now provide the tagname in the original case instead of lowercase,
which is actually what the spec defines:
"If the character is not handled by one of the above rules and is greater

than or equal to U+0080, is "-" (U+002D) or "_" (U+005F), or is in one
of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to U+005A),
or [a-z] (U+0061 to U+007A), then the character itself."

  • fast/css/tagname-and-namespace-case-sensitivity-xml-in-html-expected.html: Added.
  • fast/css/tagname-and-namespace-case-sensitivity-xml-in-html.html: Added.
  • fast/css/tagname-and-namespace-case-sensitivity-xml-in-xhtml-expected.xhtml: Added.
  • fast/css/tagname-and-namespace-case-sensitivity-xml-in-xhtml.xhtml: Added.
  • fast/css/tagname-case-sensitivity-svg-in-html-expected.html: Added.
  • fast/css/tagname-case-sensitivity-svg-in-html.html: Added.
  • fast/css/tagname-case-sensitivity-svg-in-xhtml-expected.xhtml: Added.
  • fast/css/tagname-case-sensitivity-svg-in-xhtml.xhtml: Added.
  • fast/css/tagname-case-sensitivity-xml-in-html-expected.html: Added.
  • fast/css/tagname-case-sensitivity-xml-in-html.html: Added.
  • fast/css/tagname-case-sensitivity-xml-in-xhtml-expected.xhtml: Added.
  • fast/css/tagname-case-sensitivity-xml-in-xhtml.xhtml: Added.
  • fast/selectors/element-closest-tagname-case-sensitivity-svg-in-html-expected.txt: Added.
  • fast/selectors/element-closest-tagname-case-sensitivity-svg-in-html.html: Added.
  • fast/selectors/element-closest-tagname-case-sensitivity-svg-in-xhtml-expected.txt: Added.
  • fast/selectors/element-closest-tagname-case-sensitivity-svg-in-xhtml.xhtml: Added.
  • fast/selectors/element-matches-tagname-case-sensitivity-svg-in-html-expected.txt: Added.
  • fast/selectors/element-matches-tagname-case-sensitivity-svg-in-html.html: Added.
  • fast/selectors/element-matches-tagname-case-sensitivity-svg-in-xhtml-expected.txt: Added.
  • fast/selectors/element-matches-tagname-case-sensitivity-svg-in-xhtml.xhtml: Added.
  • fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html-expected.txt: Added.
  • fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html.html: Added.
  • fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml-expected.txt: Added.
  • fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml.xhtml: Added.
  • fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html-expected.txt: Added.
  • fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html.html: Added.
  • fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml-expected.txt: Added.
  • fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml.xhtml: Added.
  • fast/selectors/tagname-adjacent-backtracking-case-sensitivity-html-expected.txt: Added.
  • fast/selectors/tagname-adjacent-backtracking-case-sensitivity-html.html: Added.
  • fast/selectors/tagname-descendant-backtracking-case-sensitivity-html-expected.txt: Added.
  • fast/selectors/tagname-descendant-backtracking-case-sensitivity-html.html: Added.
12:04 PM Changeset in webkit [179131] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Use std::forward() instead of WTF::move() in CSSPrimitiveValue::create(T&& value)
https://bugs.webkit.org/show_bug.cgi?id=140891

Reviewed by Anders Carlsson.

Use std::forward() instead of WTF::move() in CSSPrimitiveValue::create(T&& value)
to make sure the argument is not unexpectedly moved when it shouldn't (like I
experienced yesterday in Bug 140577):
<http://trac.webkit.org/changeset/179105>

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::create):

  • css/CSSValuePool.h:

(WebCore::CSSValuePool::createValue):

11:45 AM Changeset in webkit [179130] by dbates@webkit.org
  • 2 edits in trunk/Tools

Teach run-webkit-app --simulator how to install custom built app
https://bugs.webkit.org/show_bug.cgi?id=140691

Reviewed by David Kilzer.

We should teach run-webkit-app --simulator how to install a custom built app.

Currently run-webkit-app --simulator can only run a system app or an app that
was installed using the simctl command line tool. For convenience we should
teach run-webkit-app --simulator how to install a custom built app.

As a side effect of this change run-safari --simulator will install and run
a custom built of MobileSafari (if it exists).

  • Scripts/webkitdirs.pm:

(iOSSimulatorDevices): Added FIXME comment to decouple device representation in
Perl from the structure of the device.plist file.
(plistPathFromBundle): Fix if-statement condition so that we actually perform a
file system check to determine the plist path for a Mac app bundle.
(appIdentifierFromBundle): Pass absolute files system path to defaults(1). Otherwise,
it will complain that it cannot find the file: "Domain ... does not exist".
(appDisplayNameFromBundle): Ditto.
(waitUntilIOSSimulatorDeviceIsInState): Added; helper function that does not return
until a simulator device is the specified state.
(relaunchIOSSimulator): Renamed; formerly named openIOSSimulator. Quits iOS Simulator
(if it's open) before opening it again so as to ensure that the iOS Simulator boots
the specified device.
(quitIOSSimulator): Added optional parameter, $waitForShutdownOfSimulatedDeviceUDID.
As implied by its name, this function will not return until the specified simulator
device UDID is in the shutdown state.
(iosSimulatorDeviceByUDID): Added; returns the device dictionary object for the simulator
device with the specified UDID.
(isIOSSimulatorSystemInstalledApp): Resolve symbolic links in iosSimulatorApplicationsPath()
before using it as part of a prefix match to avoid a mismatch. In the public iOS 8.1 SDK the
return value of iosSimulatorApplicationsPath(), which returns a result analogous to the shell
expression echo xcrun --sdk iphonesimulator --show-sdk-path/Applications/, contains a
symbolic link. Specifically, echo xcrun --sdk iphonesimulator --show-sdk-path returns
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk,
which is a symbolic link to /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk.
(hasUserInstalledAppInSimulatorDevice): Added.
(isSimulatorDeviceBooted): Added; returns whether the specified simulator device is in the
"Booted" state.
(runIOSWebKitAppInSimulator): Modified to install a custom built app (if needed). For now,
switching between a system installed app and a custom built version of the same app (e.g.
custom build of MobileSafari) will erase all contents and settings in the simulator device.
(eraseIOSSimulatorDevice): Deleted; inline implementation into runIOSWebKitAppInSimulator()
as that was the only caller of this function.
(bootedIOSSimulatorDevice): Deleted.
(openIOSSimulator): Deleted.

11:44 AM Changeset in webkit [179129] by Beth Dakin
  • 6 edits in trunk/Source

Blacklist iBooks for WebKit's default immediate actions
https://bugs.webkit.org/show_bug.cgi?id=140854
-and corresponding-
rdar://problem/19489518

Reviewed by Tim Horton.

Source/WebCore:

Add a runtime check for iBooks.

  • WebCore.exp.in:
  • platform/RuntimeApplicationChecks.cpp:

(WebCore::applicationIsIBooks):

  • platform/RuntimeApplicationChecks.h:

Source/WebKit2:

Blacklist iBooks.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _updateImmediateActionItem]):

11:38 AM Changeset in webkit [179128] by ddkilzer@apple.com
  • 3 edits
    2 adds in branches/safari-600.1.4.15-branch

Merged r177360. rdar://problem/19432691

11:38 AM Changeset in webkit [179127] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r176384. rdar://problem/19432691

11:38 AM Changeset in webkit [179126] by ddkilzer@apple.com
  • 11 edits
    2 adds in branches/safari-600.1.4.15-branch

Merged r172854. rdar://problem/19432691

10:33 AM Changeset in webkit [179125] by ddkilzer@apple.com
  • 6 edits
    6 adds in branches/safari-600.1.4.15-branch

Merged r177135. rdar://problem/19450110

10:33 AM Changeset in webkit [179124] by mmaxfield@apple.com
  • 8 edits in trunk/Source

[iOS] [SVG -> OTF Converter] Flip the switch off on iOS
https://bugs.webkit.org/show_bug.cgi?id=140860

Reviewed by Darin Adler.

Source/JavaScriptCore:

The fonts it makes are grotesque. (See what I did there? Typographic
humor is the best humor.)

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests because this simply reverts broken code.

The fonts it makes are grotesque. (See what I did there? Typographic
humor is the best humor.)

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

The fonts it makes are grotesque. (See what I did there? Typographic
humor is the best humor.)

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

The fonts it makes are grotesque. (See what I did there? Typographic
humor is the best humor.)

  • Configurations/FeatureDefines.xcconfig:
10:31 AM Changeset in webkit [179123] by ap@apple.com
  • 2 edits in trunk/Tools

Update bot assignments.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
10:18 AM Changeset in webkit [179122] by ap@apple.com
  • 5 edits in trunk/Tools

Leaks bot shouldn't run JSC tests
https://bugs.webkit.org/show_bug.cgi?id=140877

Reviewed by Darin Adler.

Shaves off 48 minutes of time.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(TestLeaksFactory): Slim down the leaks queue.

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.print_leaks_summary):

  • Scripts/webkitpy/port/mac.py:

(MacPort.print_leaks_summary):
Don't yell when leaks are detected.

10:03 AM Changeset in webkit [179121] by Csaba Osztrogonác
  • 2 edits in trunk

[cmake] Remove compiler version calculate cruft
https://bugs.webkit.org/show_bug.cgi?id=140885

Reviewed by Darin Adler.

  • Source/cmake/WebKitHelpers.cmake:
10:02 AM Changeset in webkit [179120] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Refactor run-javascriptcore-tests
https://bugs.webkit.org/show_bug.cgi?id=140824

Reviewed by Darin Adler.

Separated mozilla, stress test code paths and
determining skipped mozilla tests into subroutines.

  • Scripts/run-javascriptcore-tests:

(runMozillaTests):
(runJSCStressTests):
(defaultJsDriverArgsForMozillaTests):

9:52 AM Changeset in webkit [179119] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Demote 'line-height' to a low priority property.
https://bugs.webkit.org/show_bug.cgi?id=140817

Reviewed by Andreas Kling.

Our special handling of the 'line-height' property is no longer
required, since the 'font' shorthand is now expanded in the parser
in all cases (also for system fonts).

This patch is based on the following Blink revision:
https://src.chromium.org/viewvc/blink?revision=184629&view=revision

No new tests, already covered by:
fast/css/font-shorthand-line-height.html
fast/css/line-height-font-order.html

  • css/CSSPropertyNames.in:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::initializeFontStyle):
(WebCore::StyleResolver::CascadedProperties::Property::apply):

  • css/StyleResolver.h:

(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::State::setLineHeightValue): Deleted.
(WebCore::StyleResolver::State::lineHeightValue): Deleted.

9:51 AM Changeset in webkit [179118] by ddkilzer@apple.com
  • 3 edits
    4 adds in branches/safari-600.1.4.15-branch

Merged r177292. rdar://problem/19419760

9:51 AM Changeset in webkit [179117] by ddkilzer@apple.com
  • 1 edit
    2 adds in branches/safari-600.1.4.15-branch/PerformanceTests

Merged r177051. rdar://problem/19419760

9:20 AM Changeset in webkit [179116] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

[buildbot] Fix grammar of TestWithFailureCount
https://bugs.webkit.org/show_bug.cgi?id=140884

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(TestWithFailureCount):
(TestWithFailureCount.commandComplete):
(TestWithFailureCount.getText2):
(RunUnitTests):
(RunPythonTests):
(RunPerlTests):
(RunLLINTCLoopTests):
(Run32bitJSCTests):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(RunLLINTCLoopTestsTest.test_failure):
(Run32bitJSCTestsTest.test_failure):
(RunUnitTestsTest.assertFailures):

8:25 AM Changeset in webkit [179115] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

AX: crash in accessibilityRootObjectWrapper method (WebPageAccessibilityObjectAtk.cpp)
<https://bugs.webkit.org/show_bug.cgi?id=140618>

Patch by Fabien Vallée <fvallee@connected-labs.com> on 2015-01-26
Reviewed by Chris Fleizach.

Check if document()->axObjectCache() is nullptr to fix the crash.
Similar patch has been applied on mac port:
<http://trac.webkit.org/changeset/167136>

Crash occured on <http://itv.mit-xperts.com/hbbtvtest/appmanager/>
(this page needs CEHTML / HbbTV extensions, conditions cannot
be reproduced using regression tests)

  • WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp:

(accessibilityRootObjectWrapper):

7:51 AM Changeset in webkit [179114] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

Unreviewed. Moving myself to the committer section.

7:15 AM Changeset in webkit [179113] by Csaba Osztrogonác
  • 2 edits in trunk

[cmake] Stop compiling with -Wno-error=uninitialized and -Wno-error=literal-suffix
https://bugs.webkit.org/show_bug.cgi?id=140886

Reviewed by Žan Doberšek.

  • Source/cmake/WebKitHelpers.cmake:
5:49 AM Changeset in webkit [179112] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed. Remove references to removed tests from GTK+ TestExpectations.

Shared workers are no longer supported and the layout tests were
removed.

  • platform/gtk/TestExpectations:
3:12 AM Changeset in webkit [179111] by commit-queue@webkit.org
  • 10 edits
    2 moves in trunk

[GTK] gtkdoc does not appear in DevHelp
https://bugs.webkit.org/show_bug.cgi?id=139369

.:

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-26
Reviewed by Philippe Normand.

Expect the gtkdoc to be generated in folders named with the API version.

  • Source/PlatformGTK.cmake:

Source/WebCore:

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-26
Reviewed by Philippe Normand.

  • PlatformGTK.cmake: Include the API version in the gtkdoc filenames.

Source/WebKit2:

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-26
Reviewed by Philippe Normand.

  • PlatformGTK.cmake: Include the API version in the gtkdoc filenames.
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Renamed from Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt.
  • UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Renamed from Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk.types.

Tools:

Patch by Michael Catanzaro <Michael Catanzaro> and Carlos Garcia Campos <cgarcia@igalia.com> on 2015-01-26
Reviewed by Philippe Normand.

  • gtk/generate-gtkdoc: Create the generators in the main function

and use them to get the local cross renference dependencies. Also
pass the generator module name to webkitdom.write_doc_files().
(get_gtkdoc_module_paths): Receive a list of local cross reference
dependencies.
(get_generator_for_config): Set the main_sgml_file property of the
GtkDoc object from the configuration file.
(generate_documentation): Generate the documentation for the given
generator.
(generate_documentation_for_config): Deleted.

  • gtk/manifest.txt.in: Expect the API version in the gtkdoc filenames.
  • gtk/webkitdom.py:

(write_doc_files): Receive the module name used to build the
-sections.txt filename.

1:42 AM Changeset in webkit [179110] by zandobersek@gmail.com
  • 3 edits in trunk

[EFL][GTK] Stop compiling with fno-omit-frame-pointer, -fno-tree-dce
https://bugs.webkit.org/show_bug.cgi?id=140609

Reviewed by Csaba Osztrogonác.

The latest releases of GCC versions 4.7, 4.8 and 4.9 all compile and
run JSC tests fine without the -fno-tree-dce and -fno-omit-frame-pointer
compilation flags. Those were added after the jsCStack branch merge, but
can now be removed since the -ftree-dce issues were fixed in GCC, and
changes in r173282 and r173298 again enable compiling with -fomit-frame-pointer.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
1:09 AM Changeset in webkit [179109] by commit-queue@webkit.org
  • 7 edits in trunk

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

The GCC in the bots doesn't support the AsyncTask
implementation (Requested by KaL on #webkit).

Reverted changeset:

"[GTK] Enable IndexedDB"
https://bugs.webkit.org/show_bug.cgi?id=98932
http://trac.webkit.org/changeset/179107

1:08 AM Changeset in webkit [179108] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Bump libseccomp version to 2.1.1
https://bugs.webkit.org/show_bug.cgi?id=140357

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
12:25 AM Changeset in webkit [179107] by Carlos Garcia Campos
  • 7 edits in trunk

[GTK] Enable IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=98932

Reviewed by Žan Doberšek.

.:

  • Source/cmake/OptionsGTK.cmake: Enable DATABASE_PROCESS and INDEXED_DATABASE.
  • Source/cmake/WebKitFeatures.cmake: Add ENABLE_DATABASE_PROCESS.

Tools:

  • Scripts/webkitperl/FeatureList.pm: Enable IndexedDB for the GTK port.

LayoutTests:

  • platform/gtk/TestExpectations: Update IndexedDB test expectations.

Jan 25, 2015:

11:59 PM Changeset in webkit [179106] by ap@apple.com
  • 8 edits
    1 add in trunk/Tools

Would like leaks bot results at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122657

Reviewed by Darin Adler.

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

Record links provided by buildbot steps. Currently, the dashboard hardcodes more links
than necessary, could use the ones from buildbot in more places.

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

(BuildbotQueue): Reflect configuration option for leaks queues.

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

Add leaks queues to performance column. First, leaks are about performance indeed,
and second, this is where we have some space to spare.

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

(WebKitBuildbot): Added Yosemite Leaks queue, which was sitting neglected for at
least a year.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid td): Moved height from queue-view - we can now have more than one
queue view per cell. The heigt is needed to avoid ugly overlapping while loading
results - once the results are loaded, all rows are currently higher than that.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

(.leaks-popover): Added.

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

Added.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:

Load BuildbotLeaksQueueView.js.

11:10 PM Changeset in webkit [179105] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Remove 'font' shorthand property special casing
https://bugs.webkit.org/show_bug.cgi?id=140577

Reviewed by Darin Adler.

Mark CSSPrimitiveValue::m_value.fontFamily as const as it is not
supposed to change. This also makes sure that m_value.fontFamily
gets copied instead of moved when constructing a clone in
CSSPrimitiveValue::cloneForCSSOM(). This was causing several tests
to fail on the bots.

  • css/CSSPrimitiveValue.h:
10:29 PM Changeset in webkit [179104] by dbates@webkit.org
  • 4 edits
    115 moves
    2518 adds in trunk/LayoutTests

[iOS] Update expected results and test expectations

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:

[...]

9:01 PM Changeset in webkit [179103] by ap@apple.com
  • 6 edits in trunk/LayoutTests

fast/html/marquee-scrollamount.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=140851

Reviewed by Darin Adler.

Updated the test to not have a zero delay timer race. Added many comments, because
what is being tested here is quite subtle.

  • fast/html/marquee-scrollamount.html:
  • platform/efl/fast/html/marquee-scrollamount-expected.txt:
  • platform/gtk/fast/html/marquee-scrollamount-expected.txt:
  • platform/ios-simulator-wk2/fast/html/marquee-scrollamount-expected.txt:
  • platform/mac/fast/html/marquee-scrollamount-expected.txt:

The DOM changed slightly, because we now insert the marquee after load event.

8:04 PM Changeset in webkit [179102] by ap@apple.com
  • 3 edits
    2 adds in trunk

Setting HTMLMarqueeElement.trueSpeed doesn't work
https://bugs.webkit.org/show_bug.cgi?id=140863

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/html/marquee-set-truespeed.html

  • html/HTMLMarqueeElement.cpp: (WebCore::HTMLMarqueeElement::minimumDelay):

Check the boolean attribute properly - an empty value is true.

LayoutTests:

Verify that setting scrollDelay to a value under 60 actually works when trueSpeed is set.

  • fast/html/marquee-set-truespeed-expected.html: Added.
  • fast/html/marquee-set-truespeed.html: Added.
7:22 PM Changeset in webkit [179101] by Darin Adler
  • 7 edits in trunk/Source/WebCore

Streamline SVGUseElement shadow tree handling and make it use SVGElementInstance less
https://bugs.webkit.org/show_bug.cgi?id=140875

Reviewed by Anders Carlsson.

Refactoring of code that is pretty well covered by existing tests, so
not adding new tests.

Inspired by work Rob Buis did in Blink:

http://src.chromium.org/viewvc/blink?view=revision&revision=173273

Althgouh that is less than half of what ended up in this patch.

  • dom/ContainerNode.h: Fixed NoEventDispatchAssertion so it can be

copied without causing an underflow of NoEventDispatchAssertion::s_count.
Made the copy constructor call the default constructor. Also changed it
to be based on ASSERT_DISABLED rather than NDEBUG and tweaked it a bit.

  • dom/ElementIteratorAssertions.h: Removed an unnecessary include and

an unnecessary default constructor. Changed to use WTF::Optional instead
of WTF::OwnPtr to handle NoEventDispatchAssertion, which makes this class
copyable and assignable, which in turn makes the iterators based on this
copyable and assignable, which is what I needed in SVGUseElement code.
Also simplified code in a couple places.

  • dom/TypedElementDescendantIterator.h:

(WebCore::TypedElementDescendantIteratorAdapter<ElementType>::from):
Fixed an error where the arguments to Traversal::next were passed backwards.
This led to incomplete iteration in SVGUseElement code, and an immediate
assertion failure. Probably could use some unit test coverage, too.
(WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::from):
Ditto.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::animatedInstanceRoot): Deleted.
(WebCore::SVGUseElement::transferSizeAttributesToShadowTreeTargetClone):
Removed the originalElement argument, since we can use the correspondingElement
to get back to it. Removed the useElement argument and changed this into a
member function.
(WebCore::SVGUseElement::svgAttributeChanged): Updated for above changes.
(WebCore::subtreeContainsDisallowedElement): Deleted this function, because
it was only used to optimize by not calling removeDisallowedElementsFromSubtree,
but that function is already similarly efficient when called to do nothing, so
the preflight was not useful.
(WebCore::SVGUseElement::clearResourceReferences): Call userAgentShadowRoot
instead of shadowRoot for clarity.
(WebCore::SVGUseElement::buildPendingResource): Pass a reference instead of
a pointer to buildShadowAndInstanceTree, since it's guaranteed to not be null.
(WebCore::SVGUseElement::shadowTreeTargetClone): Added. Returns the SVG element
inside the shadow tree that corresponds to the use element's target.
(WebCore::SVGUseElement::buildShadowAndInstanceTree): Changed argument type
to a reference instead of a pointer. Removed comments explaining why we have
an instance tree, since soon we will not have one. Removed many comments that
simply state the names of the functions they are commenting on and perhaps a tiny
bit more. Changed to not use m_targetElementInstance as much, dealing with the
shadow tree directly instead of through the instance tree.
(WebCore::SVGUseElement::toClipPath): Use shadowTreeTargetClone instead of
getting at the element through m_targetElementInstance.
(WebCore::SVGUseElement::rendererClipChild): Ditto.
(WebCore::removeDisallowedElementsFromSubtree): Removed the inline keyword,
since there's no good reason to inline thif function's body. Improved local
variable names and used a modern for loop. Also moved the comment about why
this function is used here inside the function instead of repeating it at
each call site.
(WebCore::SVGUseElement::buildShadowTree): Changed to take a reference
instead of a pointer. Moved the check to see if the target is disallowed
out of this function and into buildShadowAndInstanceTree, which needs to
handle that failure explicitly. Tightened up the code a bit, using Ref instead
of RefPtr, putting the comment about removeDisallowedElementsFromSubtree into
that function itself, and removing the unneeded subtreeContainsDisallowedElement
check entirely.
(WebCore::SVGUseElement::expandUseElementsInShadowTree): Removed the argument,
getting the shadow tree from the shadowTree function instead. Walk the tree
iteratively instead of recursively, using the descendantsOfType function.
Rearranged and streamlined the logic.
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto.
(WebCore::SVGUseElement::transferEventListenersToShadowTree): Ditto.
(WebCore::SVGUseElement::transferAttributesToShadowTreeReplacement): Renamed
this to avoid the term "replaced element", which is not a reasonable way to
refer to the <g> element in the shadow tree that replaces the <use> element.
Changed the argument type to SVGGElement to make it harder to misuse this
function by accident, and made the use element be "this" instead of passing
it as an argument.
(WebCore::SVGUseElement::selfHasRelativeLengths): Call hasRelativeLengths
on the target inside the shadow tree rather than the original target, which
makes more sense anyway, and is straightforward now that we have the
shadowTreeTargetClone function. Removes use of m_targetElementInstance here.

  • svg/SVGUseElement.h: Updated for above changes.
  • svg/SVGUseElement.idl: Removed animatedInstanceRoot and tweaked formatting.
6:11 PM Changeset in webkit [179100] by Chris Dumez
  • 22 edits
    5 adds in trunk

Remove 'font' shorthand property special casing
https://bugs.webkit.org/show_bug.cgi?id=140577

Reviewed by Darin Adler.

Source/WebCore:

Expand system font values during 'font' property parsing. The 'font'
CSS property was the only shorthand that wasn't always expanded in
the CSS parser, so it needed a lot of special handling that we can
now get rid of.

This patch is inspired from the following Blink revision:
https://src.chromium.org/viewvc/blink?view=rev&revision=184449

Tests:

  • fast/css/css2-system-fonts.html (existing)
  • fast/css/CSSPrimitiveValue-font-family-primitiveType.html (new)
  • fast/css/font-systemFontID-parsing.html (new)
  • fast/css/font-shorthand-line-height.html (rebased)
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSCalculationValue.cpp:

(WebCore::hasDoubleValue):
Handle CSS_FONT_FAMILY similarly to CSS_STRING in the switch.

  • css/CSSFontFamily.h: Added.

Introduce new CSSFontFamily class to store font families inside
CSSPrimitive, instead of using a simple String as previously. We need
an additional 'fromSystemFontID' flag in addition to the font family
name now that system font ID are expanded during parsing. This
information is needed later on by the StyleBuilder (see comment below).

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule):
Update code dealing with font family CSSPrimitiveValues now that they
hold a CSSFontFamily internally instead of a String.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseSystemFont):
Expand system font values for the 'font' property by asking the
RenderTheme for the system font and using it to set the 'font'
longhand properties.

  • css/CSSParserValues.cpp:

(WebCore::CSSParserValue::createCSSValue):
Handle CSS_FONT_FAMILY value in the switch.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::primitiveType):
Make sure we still expose font family CSSPrimitiveValues to the Web as
CSS_STRING, even though we are using a slightly different representation
internally. This is so that we don't change web-exposed behavior and I
added a new layout test to cover this.

(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::getStringValue):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText):
(WebCore::CSSPrimitiveValue::cloneForCSSOM):
(WebCore::CSSPrimitiveValue::equals):
Handle CSS_FONT_FAMILY type in switches.

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::isFontFamily):
Add method to test if a CSSPrimitiveValue holds a CSSFontFamily
internally.

(WebCore::CSSPrimitiveValue::fontFamily):
Add a getter to retrieve the internal CSSFontFamily object if the
primitive type is CSS_FONT_FAMILY.

  • css/CSSPropertyNames.in:

Treat 'font' as a regular shorthand property. Specify its longhand
properties so that makeprop.pl can generate the shorthand code for
us. Also demote 'font' to being a low-priority property as it is
now always expanded during parsing.

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::createFontFamilyValue):

  • css/CSSValuePool.h:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueFontFamily):

  • Update the 'font-family' value setter in the StyleBuilder to reflect

the changes in the CSS parser. The CSSPrimitiveValues in the list now
have CSS_FONT_FAMILY type instead of CSS_STRING.

  • We also set the 'isGenericFamily' flag if the font-family was expanded from a system font ID (e.g. caption). The 'isGenericFamily' flag is used later on to property set the 'isSpecifiedFont' flag on the FontDescription object. If we don't do this, system font values will be treated as specified fonts, which means that we will no longer use the 'use backslash as Yen sign' hack for those. This is covered by the following layout tests:
    • fast/text/backslash-to-yen-sign-euc.html
    • editing/selection/find-yensign-and-backslash.html

(WebCore::StyleBuilderCustom::applyInitialFont): Deleted.
(WebCore::StyleBuilderCustom::applyInheritFont): Deleted.
(WebCore::StyleBuilderCustom::applyValueFont): Deleted.
Remove StyleBuilder code dealing with the 'font' property. Now that
the 'font' property is always expanded during parsing, this code can
never be reached.

  • css/StylePropertyShorthand.cpp:

(WebCore::isExpandedShorthand):
Stop returning false for 'font' as it is now expanded during parsing
as well. We should probably consider renaming this method to something
else now that all shorthands are expanded, maybe isCSSShorthand() or
isShorthandProperty().

(WebCore::fontShorthand): Deleted.

  • css/StylePropertyShorthand.h:

(WebCore::matchingCustomShorthandsForLonghand): Deleted.
Remove custom shorthand code for the 'font' property as it is now
generated by makeprop.pl, like other shorthands.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyFont): Deleted.
This is unused now that the StyleBuilder code for 'font' has been
removed.

  • css/makeprop.pl:

Remove custom shorthand code for 'font' as it no longer requires any
special handling.

LayoutTests:

  • fast/css/CSSPrimitiveValue-font-family-primitiveType-expected.txt: Added.
  • fast/css/CSSPrimitiveValue-font-family-primitiveType.html: Added.

Add layout test to make sure that the font-family is still exposed to the
Web as a CSSValueList of CSSPrimitiveValues whose primitiveType is
CSS_STRING. This is useful because we now use a slightly different
representation internally.

  • fast/css/font-shorthand-line-height-expected.txt:
  • fast/css/font-shorthand-line-height.html:

Rebaseline the test. This is a progression. Setting the 'font' property
to a system font ID is supposed to reset the line-height property to
'normal'. It previously did not because system font IDs were not
expanded at parsing time. The new behavior is consistent with Chrome and
Firefox as well.

  • fast/css/font-systemFontID-parsing-expected.txt: Added.
  • fast/css/font-systemFontID-parsing.html: Added.

Add a layout test to make sure that the CSS parser is rejecting a 'font'
property with more than one system font id.

4:14 PM Changeset in webkit [179099] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177449. rdar://problem/19419933

4:14 PM Changeset in webkit [179098] by ddkilzer@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177444. rdar://problem/19419933

4:14 PM Changeset in webkit [179097] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r177332. rdar://problem/19419933

4:14 PM Changeset in webkit [179096] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r177306. rdar://problem/19419933

4:14 PM Changeset in webkit [179095] by ddkilzer@apple.com
  • 18 edits in branches/safari-600.1.4.15-branch/Source

Merged r177301. rdar://problem/19419933

4:14 PM Changeset in webkit [179094] by ddkilzer@apple.com
  • 5 edits
    8 adds in branches/safari-600.1.4.15-branch

Merged r177050. rdar://problem/19419933

4:14 PM Changeset in webkit [179093] by ddkilzer@apple.com
  • 1 edit in branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog

Merged r177041. rdar://problem/19419933

4:14 PM Changeset in webkit [179092] by ddkilzer@apple.com
  • 29 edits in branches/safari-600.1.4.15-branch

Merged r177035. rdar://problem/19419933

11:40 AM Changeset in webkit [179091] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

Document a few more failures in the expectations file.

  • platform/win/TestExpectations:
11:28 AM Changeset in webkit [179090] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document some Debug crashes in Accessibility code.

  • platform/win/TestExpectations:
10:37 AM Changeset in webkit [179089] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

Skip crashes and timeouts to speed up test runs.

  • platform/win/TestExpectations:
10:01 AM Changeset in webkit [179088] by commit-queue@webkit.org
  • 9 edits
    3 adds in trunk

[Win] Add WebKit message loop interface.
https://bugs.webkit.org/show_bug.cgi?id=140857

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-25
Reviewed by Brent Fulgham.

Added message loop interface which will run the message loop,
and perform required tasks (like calling CFRunLoopRunInMode)
on each iteration of the loop.

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKit.vcxproj: Added new files to project.
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters: Ditto.

Source/WebKit/win:

  • ForEachCoClass.h:
  • Interfaces/WebKit.idl:
  • Interfaces/WebKitMessageLoop.idl: Added.
  • WebKitClassFactory.cpp:
  • WebKitMessageLoop.cpp: Added.

(WebKitMessageLoop::WebKitMessageLoop):
(WebKitMessageLoop::~WebKitMessageLoop):
(WebKitMessageLoop::createInstance):
(WebKitMessageLoop::QueryInterface):
(WebKitMessageLoop::AddRef):
(WebKitMessageLoop::Release):
(WebKitMessageLoop::run):
(WebKitMessageLoop::performMessageLoopTasks):

  • WebKitMessageLoop.h: Added.

Tools:

  • WinLauncher/WinMain.cpp:

(wWinMain): Use new message loop interface.

12:20 AM Changeset in webkit [179087] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Unresponsive Web processes sometimes throw ObjC exceptions under didPerformActionMenuHitTest:
https://bugs.webkit.org/show_bug.cgi?id=140859
<rdar://problem/19571057>

Reviewed by Darin Adler.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController didPerformActionMenuHitTest:userData:]):
If we've already given up on this gesture (either because it was canceled or the
willBeginAnimation timeout expired), we shouldn't build a new animationController for it.
This is true both because it wouldn't look good to swap animationControllers out
from under the gesture, but also because AppKit throws an exception when you do this
and that breaks a lot of things.

12:17 AM Changeset in webkit [179086] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Long spins under Frame::rangeForPoint when doing Lookup on feedly.com
https://bugs.webkit.org/show_bug.cgi?id=140862
<rdar://problem/19566089>

Reviewed by Dan Bernstein.

  • page/Frame.cpp:

(WebCore::Frame::rangeForPoint):
If there isn't a selectable text node at the given point, rangeForPoint
will eventually return null. However, we can make it fail much faster
by checking the initial position's text-ness and selectability.

12:02 AM Changeset in webkit [179085] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, gardening for EFL port.

  • platform/efl/TestExpectations: media/media-fullscreen-inline.html has been passed since r19100.

Jan 24, 2015:

11:35 PM Changeset in webkit [179084] by Brent Fulgham
  • 16 edits
    13 adds in trunk/LayoutTests

[Win] More rebaselines. (Tables)

  • platform/win/tables/mozilla/bugs/bug1188-expected.png: Added.
  • platform/win/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/win/tables/mozilla/bugs/bug18359-expected.png: Added.
  • platform/win/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-3-expected.png: Added.
  • platform/win/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-4-expected.png: Added.
  • platform/win/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/win/tables/mozilla/bugs/bug29326-expected.png: Added.
  • platform/win/tables/mozilla/bugs/bug29326-expected.txt:
  • platform/win/tables/mozilla/bugs/bug33855-expected.png: Added.
  • platform/win/tables/mozilla/bugs/bug33855-expected.txt:
  • platform/win/tables/mozilla/bugs/bug4382-expected.png: Added.
  • platform/win/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/win/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/win/tables/mozilla/bugs/bug96334-expected.png: Added.
  • platform/win/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/win/tables/mozilla/core/margins-expected.png: Added.
  • platform/win/tables/mozilla/core/margins-expected.txt:
  • platform/win/tables/mozilla/dom/tableDom-expected.png: Added.
  • platform/win/tables/mozilla/dom/tableDom-expected.txt:
  • platform/win/tables/mozilla/other/move_row-expected.txt:
  • platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png: Added.
  • platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/win/tables/mozilla_expected_failures/core/captions1-expected.png: Added.
  • platform/win/tables/mozilla_expected_failures/core/captions1-expected.txt:
  • platform/win/tables/mozilla_expected_failures/core/captions2-expected.png: Added.
  • platform/win/tables/mozilla_expected_failures/core/captions2-expected.txt:
11:14 PM Changeset in webkit [179083] by Brent Fulgham
  • 67 edits
    43 adds in trunk/LayoutTests

[Win] Unreviewed rebaselining.

Second batch: Fast

  • platform/win/fast/block/float/float-avoidance-expected.png: Added.
  • platform/win/fast/block/margin-collapse/103-expected.png: Added.
  • platform/win/fast/canvas/fallback-content-expected.txt:
  • platform/win/fast/css/non-standard-checkbox-size-expected.png: Added.
  • platform/win/fast/css/non-standard-checkbox-size-expected.txt:
  • platform/win/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/win/fast/forms/001-expected.png:
  • platform/win/fast/forms/001-expected.txt:
  • platform/win/fast/forms/003-expected.png: Added.
  • platform/win/fast/forms/003-expected.txt:
  • platform/win/fast/forms/004-expected.png: Added.
  • platform/win/fast/forms/004-expected.txt:
  • platform/win/fast/forms/HTMLOptionElement_label01-expected.png: Added.
  • platform/win/fast/forms/HTMLOptionElement_label01-expected.txt:
  • platform/win/fast/forms/HTMLOptionElement_label02-expected.png: Added.
  • platform/win/fast/forms/HTMLOptionElement_label02-expected.txt:
  • platform/win/fast/forms/HTMLOptionElement_label03-expected.png: Added.
  • platform/win/fast/forms/HTMLOptionElement_label03-expected.txt:
  • platform/win/fast/forms/HTMLOptionElement_label04-expected.png: Added.
  • platform/win/fast/forms/HTMLOptionElement_label04-expected.txt:
  • platform/win/fast/forms/HTMLOptionElement_label06-expected.txt:
  • platform/win/fast/forms/HTMLOptionElement_label07-expected.txt:
  • platform/win/fast/forms/basic-inputs-expected.png:
  • platform/win/fast/forms/basic-inputs-expected.txt:
  • platform/win/fast/forms/basic-selects-expected.png:
  • platform/win/fast/forms/basic-selects-expected.txt:
  • platform/win/fast/forms/basic-textareas-quirks-expected.png: Added.
  • platform/win/fast/forms/box-shadow-override-expected.png:
  • platform/win/fast/forms/box-shadow-override-expected.txt:
  • platform/win/fast/forms/control-clip-overflow-expected.png: Added.
  • platform/win/fast/forms/control-clip-overflow-expected.txt:
  • platform/win/fast/forms/control-restrict-line-height-expected.png: Added.
  • platform/win/fast/forms/control-restrict-line-height-expected.txt:
  • platform/win/fast/forms/disabled-select-change-index-expected.png: Added.
  • platform/win/fast/forms/disabled-select-change-index-expected.txt:
  • platform/win/fast/forms/file/file-input-disabled-expected.png:
  • platform/win/fast/forms/file/file-input-disabled-expected.txt:
  • platform/win/fast/forms/form-element-geometry-expected.png: Added.
  • platform/win/fast/forms/form-element-geometry-expected.txt:
  • platform/win/fast/forms/formmove-expected.png: Added.
  • platform/win/fast/forms/formmove-expected.txt:
  • platform/win/fast/forms/indeterminate-expected.png: Added.
  • platform/win/fast/forms/indeterminate-expected.txt:
  • platform/win/fast/forms/input-appearance-height-expected.png: Added.
  • platform/win/fast/forms/input-appearance-height-expected.txt:
  • platform/win/fast/forms/input-appearance-selection-expected.png: Added.
  • platform/win/fast/forms/input-appearance-selection-expected.txt: Added.
  • platform/win/fast/forms/menulist-deselect-update-expected.txt:
  • platform/win/fast/forms/menulist-no-overflow-expected.png: Added.
  • platform/win/fast/forms/menulist-no-overflow-expected.txt:
  • platform/win/fast/forms/menulist-restrict-line-height-expected.png: Added.
  • platform/win/fast/forms/menulist-restrict-line-height-expected.txt:
  • platform/win/fast/forms/menulist-separator-painting-expected.txt:
  • platform/win/fast/forms/menulist-style-color-expected.png:
  • platform/win/fast/forms/menulist-style-color-expected.txt:
  • platform/win/fast/forms/menulist-width-change-expected.txt:
  • platform/win/fast/forms/option-script-expected.txt:
  • platform/win/fast/forms/option-strip-whitespace-expected.png: Added.
  • platform/win/fast/forms/option-strip-whitespace-expected.txt:
  • platform/win/fast/forms/option-text-clip-expected.png:
  • platform/win/fast/forms/option-text-clip-expected.txt:
  • platform/win/fast/forms/range/input-appearance-range-expected.png: Added.
  • platform/win/fast/forms/range/input-appearance-range-expected.txt:
  • platform/win/fast/forms/range/slider-delete-while-dragging-thumb-expected.txt: Added.
  • platform/win/fast/forms/range/slider-mouse-events-expected.txt:
  • platform/win/fast/forms/range/slider-onchange-event-expected.txt: Added.
  • platform/win/fast/forms/range/slider-padding-expected.txt:
  • platform/win/fast/forms/range/slider-thumb-shared-style-expected.png: Added.
  • platform/win/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/win/fast/forms/range/slider-zoomed-expected.txt: Added.
  • platform/win/fast/forms/select-align-expected.png: Added.
  • platform/win/fast/forms/select-align-expected.txt:
  • platform/win/fast/forms/select-background-none-expected.txt:
  • platform/win/fast/forms/select-baseline-expected.png: Added.
  • platform/win/fast/forms/select-baseline-expected.txt:
  • platform/win/fast/forms/select-change-listbox-to-popup-expected.png: Added.
  • platform/win/fast/forms/select-change-listbox-to-popup-expected.txt:
  • platform/win/fast/forms/select-change-popup-to-listbox-expected.png: Added.
  • platform/win/fast/forms/select-change-popup-to-listbox-expected.txt: Added.
  • platform/win/fast/forms/select-disabled-appearance-expected.png: Added.
  • platform/win/fast/forms/select-disabled-appearance-expected.txt:
  • platform/win/fast/forms/select-initial-position-expected.png: Added.
  • platform/win/fast/forms/select-initial-position-expected.txt:
  • platform/win/fast/forms/select-selected-expected.png: Added.
  • platform/win/fast/forms/select-selected-expected.txt:
  • platform/win/fast/forms/select-size-expected.txt:
  • platform/win/fast/forms/select-style-expected.png: Added.
  • platform/win/fast/forms/select-style-expected.txt:
  • platform/win/fast/forms/select-visual-hebrew-expected.txt:
  • platform/win/fast/forms/select-writing-direction-natural-expected.png:
  • platform/win/fast/forms/select-writing-direction-natural-expected.txt:
  • platform/win/fast/forms/select/optgroup-rendering-expected.png:
  • platform/win/fast/forms/select/optgroup-rendering-expected.txt:
  • platform/win/fast/forms/selectlist-minsize-expected.txt:
  • platform/win/fast/forms/stuff-on-my-optgroup-expected.png: Added.
  • platform/win/fast/forms/stuff-on-my-optgroup-expected.txt:
  • platform/win/fast/invalid: Added.
  • platform/win/fast/invalid/014-expected.txt: Added.
  • platform/win/fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt:
  • platform/win/fast/parser: Added.
  • platform/win/fast/parser/entity-comment-in-textarea-expected.txt: Added.
  • platform/win/fast/parser/open-comment-in-textarea-expected.txt: Added.
  • platform/win/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/win/fast/replaced/three-selects-break-expected.txt:
  • platform/win/fast/text/international/bidi-menulist-expected.txt:
  • platform/win/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
  • platform/win/fast/text/textIteratorNilRenderer-expected.txt:
9:46 PM Changeset in webkit [179082] by Brent Fulgham
  • 22 edits in trunk/LayoutTests

[Win] Unreviewed baseline update.

First batch: CSS updates.

  • platform/win/css2.1/t09-c5526c-display-00-e-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-161-expected.png:
  • platform/win/css3/selectors3/html/css3-modsel-161-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-25-expected.png:
  • platform/win/css3/selectors3/html/css3-modsel-25-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-70-expected.png:
  • platform/win/css3/selectors3/html/css3-modsel-70-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png:
  • platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-25-expected.png:
  • platform/win/css3/selectors3/xhtml/css3-modsel-25-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-70-expected.png:
  • platform/win/css3/selectors3/xhtml/css3-modsel-70-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-161-expected.png:
  • platform/win/css3/selectors3/xml/css3-modsel-161-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-25-expected.png:
  • platform/win/css3/selectors3/xml/css3-modsel-25-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-70-expected.png:
  • platform/win/css3/selectors3/xml/css3-modsel-70-expected.txt:
  • platform/win/fast/block/float/float-avoidance-expected.txt:
  • platform/win/fast/block/margin-collapse/103-expected.txt:
8:36 PM Changeset in webkit [179081] by mitz@apple.com
  • 2 edits in trunk/Tools

update-webkit’s --internal option is unused
https://bugs.webkit.org/show_bug.cgi?id=140861

Reviewed by Anders Carlsson.

  • Scripts/update-webkit: Removed the option.
7:02 PM Changeset in webkit [179080] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2][Cocoa] Drop WKDiagnosticLoggingResultType defines
https://bugs.webkit.org/show_bug.cgi?id=140838

Reviewed by Sam Weinig.

Drop WKDiagnosticLoggingResultType defines in _WKDiagnosticLoggingDelegate.h
header now that the client-side is correctly using
_WKDiagnosticLoggingResultType instead.

  • UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
6:55 PM Changeset in webkit [179079] by Brent Fulgham
  • 26 edits
    81 adds in trunk/LayoutTests

[Win] Unreviewed gardening. Reactivating tests.

Re-enable a series of tests that work properly on Windows. New baselines will be needed.

  • platform/win/TestExpectations:
  • platform/win/css1/box_properties/acid_test-expected.png: Added.
  • platform/win/css1/box_properties/acid_test-expected.txt:
  • platform/win/editing/input/caret-at-the-edge-of-input-expected.txt:
  • platform/win/fast/block/float/float-avoidance-expected.txt:
  • platform/win/fast/block/margin-collapse/103-expected.txt:
  • platform/win/fast/css/box-shadow-and-border-radius-expected.png:
  • platform/win/fast/dynamic/008-expected.txt: Added.
  • platform/win/fast/forms/001-expected.png: Added.
  • platform/win/fast/forms/001-expected.txt:
  • platform/win/fast/forms/003-expected.txt:
  • platform/win/fast/forms/004-expected.txt:
  • platform/win/fast/forms/006-expected.png: Added.
  • platform/win/fast/forms/007-expected.png: Added.
  • platform/win/fast/forms/HTMLOptionElement_label01-expected.txt: Added.
  • platform/win/fast/forms/HTMLOptionElement_label02-expected.txt: Added.
  • platform/win/fast/forms/HTMLOptionElement_label03-expected.txt: Added.
  • platform/win/fast/forms/HTMLOptionElement_label04-expected.txt: Added.
  • platform/win/fast/forms/HTMLOptionElement_label05-expected.txt: Added.
  • platform/win/fast/forms/HTMLOptionElement_label06-expected.txt: Removed property svn:executable.
  • platform/win/fast/forms/HTMLOptionElement_label07-expected.txt: Added.
  • platform/win/fast/forms/basic-buttons-expected.png: Added.
  • platform/win/fast/forms/basic-buttons-expected.txt: Added.
  • platform/win/fast/forms/basic-inputs-expected.png: Added.
  • platform/win/fast/forms/basic-selects-expected.txt:
  • platform/win/fast/forms/basic-textareas-expected.png: Added.
  • platform/win/fast/forms/box-shadow-override-expected.png: Added.
  • platform/win/fast/forms/box-shadow-override-expected.txt: Added.
  • platform/win/fast/forms/button-positioned-expected.txt: Added.
  • platform/win/fast/forms/button-sizes-expected.txt: Added.
  • platform/win/fast/forms/button-style-color-expected.txt: Added.
  • platform/win/fast/forms/button-text-transform-expected.txt: Added.
  • platform/win/fast/forms/control-clip-overflow-expected.txt: Added.
  • platform/win/fast/forms/control-restrict-line-height-expected.txt:
  • platform/win/fast/forms/disabled-select-change-index-expected.txt: Added.
  • platform/win/fast/forms/form-element-geometry-expected.txt: Added.
  • platform/win/fast/forms/hidden-listbox-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-focus-expected.txt: Added.
  • platform/win/fast/forms/input-double-click-selection-gap-bug-expected.txt: Added.
  • platform/win/fast/forms/input-readonly-autoscroll-expected.txt: Added.
  • platform/win/fast/forms/input-text-double-click-expected.txt: Added.
  • platform/win/fast/forms/listbox-hit-test-zoomed-expected.txt: Added.
  • platform/win/fast/forms/listbox-scrollbar-incremental-load-expected.txt: Added.
  • platform/win/fast/forms/listbox-width-change-expected.txt: Added.
  • platform/win/fast/forms/menulist-deselect-update-expected.txt:
  • platform/win/fast/forms/menulist-no-overflow-expected.txt: Added.
  • platform/win/fast/forms/number/number-appearance-rtl-expected.txt: Added.
  • platform/win/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Added.
  • platform/win/fast/forms/number/number-appearance-spinbutton-layer-expected.txt: Added.
  • platform/win/fast/forms/option-strip-whitespace-expected.txt: Added.
  • platform/win/fast/forms/plaintext-mode-2-expected.txt: Added.
  • platform/win/fast/forms/search: Added.
  • platform/win/fast/forms/search/search-size-with-decorations-expected.txt: Added.
  • platform/win/fast/forms/select-align-expected.txt: Added.
  • platform/win/fast/forms/select-baseline-expected.txt: Added.
  • platform/win/fast/forms/select-block-background-expected.txt: Added.
  • platform/win/fast/forms/select-change-listbox-size-expected.txt: Added.
  • platform/win/fast/forms/select-change-listbox-to-popup-expected.txt: Added.
  • platform/win/fast/forms/select-dirty-parent-pref-widths-expected.txt: Added.
  • platform/win/fast/forms/select-disabled-appearance-expected.txt: Added.
  • platform/win/fast/forms/select-initial-position-expected.txt: Added.
  • platform/win/fast/forms/select-item-background-clip-expected.txt: Added.
  • platform/win/fast/forms/select-list-box-with-height-expected.txt: Added.
  • platform/win/fast/forms/select-selected-expected.txt: Added.
  • platform/win/fast/forms/select/optgroup-rendering-expected.txt:
  • platform/win/fast/forms/tabbing-input-iframe-expected.txt: Added.
  • platform/win/fast/frames: Added.
  • platform/win/fast/frames/take-focus-from-iframe-expected.txt: Added.
  • platform/win/fast/multicol/pagination: Added.
  • platform/win/fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt: Added.
  • platform/win/fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt: Added.
  • platform/win/fast/overflow/entity-comment-in-textarea-expected.txt: Added.
  • platform/win/fast/overflow/open-comment-in-textarea-expected.txt: Added.
  • platform/win/fast/overflow/overflow-x-y-expected.txt: Added.
  • platform/win/fast/table/003-expected.txt: Added.
  • platform/win/fast/table/colspanMinWidth-expected.txt: Added.
  • platform/win/fast/table/colspanMinWidth-vertical-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug103533-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug1188-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug12384-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug1318-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-2-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug26178-expected.txt:
  • platform/win/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/win/tables/mozilla/bugs/bug29326-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/win/tables/mozilla/bugs/bug30692-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug33855-expected.txt:
  • platform/win/tables/mozilla/bugs/bug4382-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug4429-expected.txt:
  • platform/win/tables/mozilla/bugs/bug44505-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/win/tables/mozilla/bugs/bug55545-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug92647-2-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug96334-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug99948-expected.txt: Added.
  • platform/win/tables/mozilla/core: Added.
  • platform/win/tables/mozilla/core/bloomberg-expected.txt: Added.
  • platform/win/tables/mozilla/core/margins-expected.txt: Added.
  • platform/win/tables/mozilla/dom/tableDom-expected.txt:
  • platform/win/tables/mozilla/marvin/x_col_align_justify-expected.png: Added.
  • platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
  • platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/win/tables/mozilla_expected_failures/bugs/bug45621-expected.txt: Added.
  • platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
5:28 PM Changeset in webkit [179078] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r176725. rdar://problem/19432746

5:28 PM Changeset in webkit [179077] by ddkilzer@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged 'resolvedURL' changes from r176108. rdar://problem/19432746

4:54 PM Changeset in webkit [179076] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r176475. rdar://problem/19450119

4:54 PM Changeset in webkit [179075] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r175251. rdar://problem/19450119

4:08 PM Changeset in webkit [179074] by Brent Fulgham
  • 2 edits in trunk/Tools

DumpRenderTree needs to run with Windows native controls on Windows
https://bugs.webkit.org/show_bug.cgi?id=25592

Reviewed by Anders Carlsson.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues): Tell DRT to use native controls.
(prepareConsistentTestingEnvironment): Ditto.

12:36 PM Changeset in webkit [179073] by ddkilzer@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r176382. rdar://problem/19419810

12:30 PM Changeset in webkit [179072] by ddkilzer@apple.com
  • 3 edits
    2 adds in branches/safari-600.1.4.15-branch

Merged r176321. rdar://problem/19369495

12:16 PM Changeset in webkit [179071] by ddkilzer@apple.com
  • 8 edits
    2 adds in branches/safari-600.1.4.15-branch

Merged r176262. rdar://problem/19432679

12:16 PM Changeset in webkit [179070] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r175260. rdar://problem/19432679

11:55 AM Changeset in webkit [179069] by Darin Adler
  • 7 edits
    6 adds in trunk

Move height/width implementation for use element from RenderSVGViewportContainer to SVGUseElement
https://bugs.webkit.org/show_bug.cgi?id=140826

Reviewed by Anders Carlsson.

Source/WebCore:

Tests: svg/animations/use-animate-width-and-height.html

svg/custom/use-attribute-invalidations.html
svg/custom/use-dynamic-attribute-setting.html

This is an adaptation of work Rob Buis did in Blink:

http://src.chromium.org/viewvc/blink?view=revision&revision=173258

The goal here is to reduce use of SVGElementInstance since we are going to
remove it. The tests Rob added to Blink (which I believe I improved a bit here)
meant we had to fix quite a few bugs in the implementation of the width/height
logic rather than just moving it. Even so, this could use even more test coverage
since there is separate logic for <symbol> and <svg>, three different code paths
(animation/attribute setting, initial creation, and one other), and also
distinct issues for attributes not set at all, attributes set to values that
can't be parsed, and attributes set with different units.

  • rendering/svg/RenderSVGViewportContainer.cpp:

(WebCore::RenderSVGViewportContainer::calcViewport): Removed the old logic.

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::SVGSVGElement): Use ASCIILiteral to more efficiently
create strings from ASCII literals here.
(WebCore::SVGSVGElement::parseAttribute): Default to 100%, not 0, when the
width or height property are either not set or not successfully parsed. Without
this change, one of the SVG tests starts failing.

  • svg/SVGUseElement.cpp:

(WebCore::updateWidthAndHeight): Added. The tricky part here is that we have
to copy width and height attributes only if they were successfully parsed, and
also we need to copy the current animating values, not the original attribute
strings. Kind of messy, but I wanted to adapt Rob's solution for the time being,
rather than inventing something new.
(WebCore::SVGUseElement::svgAttributeChanged): Call updateWidthAndHeight.
This is used both when actual attribute changes occur and also when animation
changes the current value.
(WebCore::SVGUseElement::buildShadowAndInstanceTree): Call updateWidthAndHeight.
This is used when the shadow elements are first created.
(WebCore::SVGUseElement::expandUseElementsInShadowTree): Call updateWidthAndHeight.
This was in Rob's patch, but I am not sure we have sufficient test coverage.

LayoutTests:

  • platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.png: Old test

result was expecting failure. New one expects success.

  • platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Ditto.
  • svg/animations/use-animate-width-and-height-expected.txt: Added.
  • svg/animations/use-animate-width-and-height.html: Added.
  • svg/custom/use-attribute-invalidations-expected.html: Added.
  • svg/custom/use-attribute-invalidations.html: Added.
  • svg/custom/use-dynamic-attribute-setting-expected.html: Added.
  • svg/custom/use-dynamic-attribute-setting.html: Added.
11:14 AM Changeset in webkit [179068] by ddkilzer@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r175976. rdar://problem/19420064

10:57 AM Changeset in webkit [179067] by ddkilzer@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r175585. rdar://problem/19419818

10:30 AM Changeset in webkit [179066] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged small change from r175549. rdar://problem/19433134

9:27 AM Changeset in webkit [179065] by ddkilzer@apple.com
  • 3 edits
    2 adds in branches/safari-600.1.4.15-branch

Merged r174860. rdar://problem/19419859

9:00 AM Changeset in webkit [179064] by ddkilzer@apple.com
  • 3 edits
    7 adds in branches/safari-600.1.4.15-branch

Merged r175085. rdar://problem/19419853

9:00 AM Changeset in webkit [179063] by ddkilzer@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r174356. rdar://problem/19419853

9:00 AM Changeset in webkit [179062] by ddkilzer@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged branch-only patch (r0). rdar://problem/19564738

8:28 AM Changeset in webkit [179061] by Chris Dumez
  • 4 edits in trunk/Source

Provide implementation for WTF::DefaultHash<bool>
https://bugs.webkit.org/show_bug.cgi?id=140848

Reviewed by Anders Carlsson.

Source/WebCore:

Use HashMap<std::pair<UChar32, bool>> type in Font.cpp for
CharacterFallbackMap instead of HashMap<std::pair<UChar32, unsigned>>.
It builds now that WTF::DefaultHash<bool> is defined in WTF.

  • platform/graphics/Font.cpp:

(WebCore::Font::removeFromSystemFallbackCache):

Source/WTF:

Provide implementation for WTF::DefaultHash<bool> so that we can use
HashMap<std::pair<XXX, bool>> in the code base. Right now, we need to
use some integer type to work around the issue.

  • wtf/HashFunctions.h:

Jan 23, 2015:

11:05 PM Changeset in webkit [179060] by Brent Fulgham
  • 1 edit
    1 add in trunk/LayoutTests

[Win] Unreviewed gardening. Add Windows baseline for
mouse-cursor-image-set.

  • platform/win/fast/events/mouse-cursor-image-set-expected.txt: Added.
11:04 PM Changeset in webkit [179059] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Cursor assignment operator is skipping scale factor
https://bugs.webkit.org/show_bug.cgi?id=140852

Reviewed by Chris Dumez.

Found by fast/events/mouse-cursor-image-set.html

  • platform/win/CursorWin.cpp:

(WebCore::Cursor::operator=): Make sure to also assign the
scale factor.

9:36 PM Changeset in webkit [179058] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Attempt to fix the build after AVValueTiming.h moved

  • platform/spi/ios/AVKitSPI.h: The AVValueTiming.h header moved

to an unexpected location, so work around it by using local SPI
declarations.

9:33 PM Changeset in webkit [179057] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the build after r179056.

  • platform/Cursor.h: (WebCore::Cursor::Cursor): Initialize dadat members in correct order.
9:26 PM Changeset in webkit [179056] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] Cursor copy constructor does not initialize scale factor
https://bugs.webkit.org/show_bug.cgi?id=140849

Reviewed by Antti Koivisto.

Found by fast/events/mouse-cursor-image-set.html

Make sure the scale factor is captured during copy construction. Also make sure
it is properly initialized in the default constructor, since it it used in the
Windows port for some default cursors.

  • platform/CursorWin.h:
  • platform/win/CursorWin.cpp:

(WebCore::Cursor::Cursor): Make sure copy constructor captures
the scale factor.

8:15 PM Changeset in webkit [179055] by benjamin@webkit.org
  • 10 edits
    42 adds in trunk

Add pointer/hover media queries
https://bugs.webkit.org/show_bug.cgi?id=134822

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-23
Reviewed by Antti Koivisto.

Source/WebCore:

Media Queries Level 4 introduces two types of Interaction Media Features:
"pointer" and "hover". Those media features are useful for adapting the design
to the type of input:

http://dev.w3.org/csswg/mediaqueries-4/#mf-interaction

This implementation is trivial: just #ifdef the return value depending on
the support for touch events.
In the future we should move that to a client interface but let's start easy
for now.

Tests: fast/media/mq-any-hover-cssom.html

fast/media/mq-any-hover-invalid.html
fast/media/mq-any-hover-matchMedia.html
fast/media/mq-any-hover-styling.html
fast/media/mq-any-pointer-cssom.html
fast/media/mq-any-pointer-invalid.html
fast/media/mq-any-pointer-matchMedia.html
fast/media/mq-any-pointer-styling.html
fast/media/mq-hover-cssom.html
fast/media/mq-hover-invalid.html
fast/media/mq-hover-matchMedia.html
fast/media/mq-hover-styling.html
fast/media/mq-pointer-cssom.html
fast/media/mq-pointer-invalid.html
fast/media/mq-pointer-matchMedia.html
fast/media/mq-pointer-styling.html

  • css/CSSValueKeywords.in:
  • css/MediaFeatureNames.h:
  • css/MediaQueryEvaluator.cpp:

(WebCore::hoverMediaFeatureEval):
(WebCore::any_hoverMediaFeatureEval):
(WebCore::pointerMediaFeatureEval):
(WebCore::any_pointerMediaFeatureEval):
(WebCore::leastCapablePrimaryPointerDeviceType): Deleted.

  • css/MediaQueryExp.cpp:

(WebCore::featureWithCSSValueID):
(WebCore::featureWithZeroOrOne):
(WebCore::featureWithoutValue):

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):

  • page/Settings.in:

LayoutTests:

  • fast/media/mq-any-hover-cssom-expected.txt: Added.
  • fast/media/mq-any-hover-cssom.html: Added.
  • fast/media/mq-any-hover-invalid-expected.txt: Added.
  • fast/media/mq-any-hover-invalid.html: Added.
  • fast/media/mq-any-hover-matchMedia-expected.txt: Added.
  • fast/media/mq-any-hover-matchMedia.html: Added.
  • fast/media/mq-any-hover-styling-expected.txt: Added.
  • fast/media/mq-any-hover-styling.html: Added.
  • fast/media/mq-any-pointer-cssom-expected.txt: Added.
  • fast/media/mq-any-pointer-cssom.html: Added.
  • fast/media/mq-any-pointer-invalid-expected.txt: Added.
  • fast/media/mq-any-pointer-invalid.html: Added.
  • fast/media/mq-any-pointer-matchMedia-expected.txt: Added.
  • fast/media/mq-any-pointer-matchMedia.html: Added.
  • fast/media/mq-any-pointer-styling-expected.txt: Added.
  • fast/media/mq-any-pointer-styling.html: Added.
  • fast/media/mq-hover-cssom-expected.txt: Added.
  • fast/media/mq-hover-cssom.html: Added.
  • fast/media/mq-hover-invalid-expected.txt: Added.
  • fast/media/mq-hover-invalid.html: Added.
  • fast/media/mq-hover-matchMedia-expected.txt: Added.
  • fast/media/mq-hover-matchMedia.html: Added.
  • fast/media/mq-hover-styling-expected.txt: Added.
  • fast/media/mq-hover-styling.html: Added.
  • fast/media/mq-pointer-cssom-expected.txt: Added.
  • fast/media/mq-pointer-cssom.html: Added.
  • fast/media/mq-pointer-expected.txt:
  • fast/media/mq-pointer-invalid-expected.txt: Added.
  • fast/media/mq-pointer-invalid.html: Added.
  • fast/media/mq-pointer-matchMedia-expected.txt: Added.
  • fast/media/mq-pointer-matchMedia.html: Added.
  • fast/media/mq-pointer-styling-expected.txt: Added.
  • fast/media/mq-pointer-styling.html: Added.
  • fast/media/mq-pointer.html:
  • platform/ios-simulator/fast/media/mq-any-hover-matchMedia-expected.txt: Added.
  • platform/ios-simulator/fast/media/mq-any-hover-styling-expected.txt: Added.
  • platform/ios-simulator/fast/media/mq-any-pointer-matchMedia-expected.txt: Added.
  • platform/ios-simulator/fast/media/mq-any-pointer-styling-expected.txt: Added.
  • platform/ios-simulator/fast/media/mq-hover-matchMedia-expected.txt: Added.
  • platform/ios-simulator/fast/media/mq-hover-styling-expected.txt: Added.
  • platform/ios-simulator/fast/media/mq-pointer-expected.txt: Added.
  • platform/ios-simulator/fast/media/mq-pointer-matchMedia-expected.txt: Added.
  • platform/ios-simulator/fast/media/mq-pointer-styling-expected.txt: Added.
7:05 PM Changeset in webkit [179054] by commit-queue@webkit.org
  • 20 edits
    6 deletes in trunk

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

broke the 32-bit build (Requested by thorton on #webkit).

Reverted changeset:

"[Mac][EME] Support ClearKey encryption with AES128-encrypted
HLS"
https://bugs.webkit.org/show_bug.cgi?id=140825
http://trac.webkit.org/changeset/179051

6:34 PM Changeset in webkit [179053] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Web Inspector: Rename InjectedScriptHost::type to subtype
https://bugs.webkit.org/show_bug.cgi?id=140841

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-23
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

We were using this to set the subtype of an "object" type RemoteObject
so we should clean up the name and call it subtype.

  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptSource.js:
  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::subtype):
(Inspector::JSInjectedScriptHost::type): Deleted.

  • inspector/JSInjectedScriptHost.h:
  • inspector/JSInjectedScriptHostPrototype.cpp:

(Inspector::JSInjectedScriptHostPrototype::finishCreation):
(Inspector::jsInjectedScriptHostPrototypeFunctionSubtype):
(Inspector::jsInjectedScriptHostPrototypeFunctionType): Deleted.

Source/WebCore:

  • inspector/WebInjectedScriptHost.cpp:

(WebCore::WebInjectedScriptHost::subtype):
(WebCore::WebInjectedScriptHost::type): Deleted.

  • inspector/WebInjectedScriptHost.h:
6:27 PM Changeset in webkit [179052] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Implement cache size limit
https://bugs.webkit.org/show_bug.cgi?id=140844

Reviewed by Andreas Kling.

Prevent the cache from growing without bounds. The simple scheme implemented here
estimates the cache size from number of entries. When the estimated size exceeds
the maximum size we randomly clear 1/4 of the entries.

  • NetworkProcess/cache/NetworkCacheStorage.h:
  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::NetworkCacheStorage):
(WebKit::NetworkCacheStorage::initialize):
(WebKit::NetworkCacheStorage::removeEntry):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::setMaximumSize):
(WebKit::NetworkCacheStorage::clear):
(WebKit::NetworkCacheStorage::shrinkIfNeeded):
(WebKit::NetworkCacheStorage::initializeKeyFilter): Deleted.

6:20 PM Changeset in webkit [179051] by jer.noble@apple.com
  • 20 edits
    3 copies
    10 adds in trunk

[Mac][EME] Support ClearKey encryption with AES128-encrypted HLS
https://bugs.webkit.org/show_bug.cgi?id=140825

Reviewed by Eric Carlson.

Source/WebCore:

Test: http/tests/media/clearkey/clear-key-hls-aes128.html

Add support for ClearKey encryption when used with an AES-128 encrypted HLS stream.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::installedCDMFactories): Add the CDMPrivateClearKey factory.

  • Modules/encryptedmedia/CDMPrivateClearKey.cpp:

(WebCore::CDMPrivateClearKey::supportsKeySystem): Support the "org.w3c.clearkey" key system.
(WebCore::CDMPrivateClearKey::supportsKeySystemAndMimeType): Ditto.
(WebCore::CDMPrivateClearKey::supportsMIMEType): Ditto.
(WebCore::CDMPrivateClearKey::createSession): Create a CDMSessionClearKey.

  • Modules/encryptedmedia/CDMPrivateClearKey.h:

(WebCore::CDMPrivateClearKey::create): Simple factory.
(WebCore::CDMPrivateClearKey::~CDMPrivateClearKey): Virtual destructor.
(WebCore::CDMPrivateClearKey::CDMPrivateClearKey): Simple destructor.

  • Modules/encryptedmedia/CDMSessionClearKey.cpp: Added.

(WebCore::clearKeyVM): Static method returning the VM to be used by JSON parsing.
(WebCore::CDMSessionClearKey::CDMSessionClearKey): Simple constructor.
(WebCore::CDMSessionClearKey::~CDMSessionClearKey): Simple destructor.
(WebCore::CDMSessionClearKey::generateKeyRequest): Store the initData, ensure that it consists of a UTF8-encoded key

URI, and return same.

(WebCore::CDMSessionClearKey::releaseKeys): Purged all cached keys.
(WebCore::CDMSessionClearKey::update): Parse raw JSON-encoded JWK keys, rejecting non-AES, non-oct keys.
(WebCore::CDMSessionClearKey::cachedKeyForKeyID): Return cached keys.

  • Modules/encryptedmedia/CDMSessionClearKey.h:

Add support for the "org.w3c.clearkey" CDM to MediaPlayerPrivateAVFoundationObjC, and do so in a platform-agnostic
way by simply asking for raw key data from MediaPlayerClient when notified that a key has been added.

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

(WebCore::keySystemIsSupported):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
(WebCore::fulfillRequestWithKeyData): Added utility method.
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::MediaPlayerPrivateAVFoundationObjC::keyAdded):

Pipe a keyAdded() notification down to MediaPlayer and a cachedKeyForKeyId() request up to CDMSessionClearKey:

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::cachedKeyForKeyId):
(WebCore::MediaKeySession::addKeyTimerFired):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::keyAdded):
(WebCore::MediaKeys::cachedKeyForKeyId):

  • Modules/encryptedmedia/MediaKeys.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::keyAdded):

  • html/HTMLMediaElement.h:
  • platform/graphics/CDMSession.h:

(WebCore::CDMSession::cachedKeyForKeyID):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::keyAdded):
(WebCore::MediaPlayer::cachedKeyForKeyId):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerCachedKeyForKeyId):

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::keyAdded):

Add new files to project:

  • WebCore.xcodeproj/project.pbxproj:
  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

LayoutTests:

  • http/tests/media/clearkey/clear-key-hls-aes128-expected.txt: Added.
  • http/tests/media/clearkey/clear-key-hls-aes128.html: Added.
  • http/tests/media/clearkey/support.js: Added.

(stringToUInt8Array):
(uInt8ArrayToString):
(base64EncodeUint8Array):

  • http/tests/media/resources/hls/clearkey/crypt0.key: Added.
  • http/tests/media/resources/hls/clearkey/iframe_index.m3u8: Added.
  • http/tests/media/resources/hls/clearkey/main0.ts: Added.
  • http/tests/media/resources/hls/clearkey/prog_index.m3u8: Added.
  • media/video-test.js:

(waitForEventOnceOn):

5:41 PM Changeset in webkit [179050] by Chris Dumez
  • 15 edits in trunk/Source/WebCore

Implement system fonts FontDescription caching at RenderTheme level
https://bugs.webkit.org/show_bug.cgi?id=140840

Reviewed by Andreas Kling.

Implement system fonts FontDescription caching at RenderTheme level
instead of duplicating the logic in its subclasses for each platform.
This reduces code / logic duplication and reduces the amount of
platform-specific code. This will also make the refactoring at
Bug 140577 a lot easier.

The caching logic remains in RenderThemeIOS class for iOS because:

  • It supports different system font values than all other platforms
  • It requires cache invalidation in some cases while other platforms do not.

This patch is inspired by the following Blink revision:
https://src.chromium.org/viewvc/blink?view=rev&revision=184449

Test: fast/css/css2-system-fonts.html

5:38 PM Changeset in webkit [179049] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening: Correct some typos in Failure entries.

  • platform/win/TestExpectations:
5:13 PM Changeset in webkit [179048] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Refactor line wrapping logic.
https://bugs.webkit.org/show_bug.cgi?id=140834

Reviewed by Antti Koivisto.

Use a more readable structure to deal with wrapping logic.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::createLineRuns):

5:12 PM Changeset in webkit [179047] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Simple line layout: Use only FlowContents::nextTextFragment() to read fragments from the text flow.
https://bugs.webkit.org/show_bug.cgi?id=140842

Reviewed by Antti Koivisto.

This is in preparation to make FlowContents a content iterator class.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::initializeNewLine):

  • rendering/SimpleLineLayoutFlowContents.h:
5:05 PM Changeset in webkit [179046] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

test-webkitpy: webkitpy.tool.commands.earlywarningsystem_unittest.EarlyWarningSystemTest.test_ewses fails on EFL, GTK, Win ports
<http://webkit.org/b/140787>

Reviewed by Daniel Bates.

  • Scripts/webkitpy/port/ios.py:

(IOSPort.determine_full_port_name): Instead of checking the type
of the current host, test if /usr/bin/xcrun exists before trying
to use it.

5:03 PM Changeset in webkit [179045] by Lucas Forschler
  • 4 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Build fix after r179028, r179030, r179031, r179032.

Reviewed by Dana Burkart.

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::WidthIterator):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::ComplexTextController):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):

4:52 PM Changeset in webkit [179044] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[MSE] Implement Range Removal algorithm.
https://bugs.webkit.org/show_bug.cgi?id=140622.

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-23
Reviewed by Jer Noble.

Source/WebCore:

This extract Range Removal algorithm (Editor's Draft version, bug:26316) from remove(),
to separate function to deal with old FIXME since bug in spec was resolved.
This should both guarantee good order of events, and prevent from switching to 'open' state
during end of stream.

Test: media/media-source/media-source-end-of-stream-readyState.html

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::setDurationInternal): update to use rangeRemoval(), not remove()
(WebCore::MediaSource::streamEndedWithError): remove FIXME, brigning back correct order of events.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::remove): comments up to spec, extract rangeRemoval algorithm.
(WebCore::SourceBuffer::rangeRemoval):
(WebCore::SourceBuffer::removeTimerFired): comments up to spec.

  • Modules/mediasource/SourceBuffer.h:

LayoutTests:

Added short test to check whether endOfStream incorrectly switches back
to 'open' state.

  • media/media-source/media-source-end-of-stream-readyState.html: Added.
  • media/media-source/media-source-end-of-stream-readyState-expected.txt: Added.
4:49 PM Changeset in webkit [179043] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Fix the false positive build failures on the Windows buildbots
https://bugs.webkit.org/show_bug.cgi?id=140819

Reviewed by Brent Fulgham.

Increase the build timeout (without producing output) to 2 hours for Windows bots,
the default 20 minutes is enough for others since they produce output during the build.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(BuildFactory.init):

4:48 PM Changeset in webkit [179042] by dburkart@apple.com
  • 20 edits
    5 deletes in tags/Safari-600.5.3

Rollout r178466

4:45 PM Changeset in webkit [179041] by dburkart@apple.com
  • 12 edits
    8 deletes in tags/Safari-600.5.3

Rollout r178467

4:43 PM Changeset in webkit [179040] by dburkart@apple.com
  • 20 edits
    5 deletes in branches/safari-600.5-branch

Rollout r178466

4:38 PM Changeset in webkit [179039] by Brent Fulgham
  • 4 edits
    2 adds in trunk/LayoutTests

[Win] Test gardening. Mark a few failures after filing bugs.

Also rebaseline a few tests.

  • platform/win/TestExpectations:
  • platform/win/accessibility/parent-element-expected.txt:
  • platform/win/editing/input/caret-at-the-edge-of-input-expected.png: Added.
  • platform/win/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
4:32 PM Changeset in webkit [179038] by dburkart@apple.com
  • 12 edits
    8 deletes in branches/safari-600.5-branch

Rollout r178467

4:24 PM Changeset in webkit [179037] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Perf dashboard always assigns the result of A/B testing with build request 1
https://bugs.webkit.org/show_bug.cgi?id=140382

Reviewed by Darin Adler.

The bug was caused by the expression array_get($report, 'jobId') or array_get($report, 'buildRequest')
which always evaluated to 1 when the report contained jobId. Fixed the bug by cascading array_get instead.

Also fixed a typo as well as a bug that reports were never associated with builds.

  • public/include/report-processor.php:

(ReportProcessor::process): Don't use "or" to find the non-null value since that always evaluates to 1
instead of the first non-null value.
(ReportProcessor::resolve_build_id): Fixed the typo by adding the missing "$this->".
(ReportProcessor::commit): Associate the report with the corresponding build as intended.

4:21 PM Changeset in webkit [179036] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed typo fix. The prefix in triggerable_configurations is "trigconfig", not "trigrepo".

  • public/admin/tests.php:
3:48 PM Changeset in webkit [179035] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

LayoutTests/js/script-tests/reentrant-caching.js crashing on 32 bit builds
https://bugs.webkit.org/show_bug.cgi?id=140843

Reviewed by Oliver Hunt.

When we are in vmEntryToJavaScript, we keep the stack pointer at an
alignment sutiable for pointing to a call frame header, which is the
alignment post making a call. We adjust the sp when calling to JS code,
but don't adjust it before calling the out of stack handler.

  • llint/LowLevelInterpreter32_64.asm:

Moved stack point down 8 bytes to get it aligned.

3:37 PM Changeset in webkit [179034] by dburkart@apple.com
  • 5 edits
    9 copies in branches/safari-600.5-branch

Merged r176354. <rdar://19451336>

3:34 PM Changeset in webkit [179033] by Brent Fulgham
  • 4 edits in trunk

Source/WebKit/win:
[Win] Teach WebKit to provide IAccessible2 'get_language'
https://bugs.webkit.org/show_bug.cgi?id=140839

Reviewed by Dean Jackson.

  • AccessibleBase.cpp:

(AccessibleBase::get_locale): Wrap the Webore::AccessibleObject::language
result in an IA2Locale structure to statisfy the IAccessible2 specification.

Tools:
[Win] Teach WebKit to provide IAccessible2 'get_language' and access AXLanguage
https://bugs.webkit.org/show_bug.cgi?id=140839

Reviewed by Dean Jackson.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::language): Retrieve the 'language' BSTR
from the IA2Locale structure and pass it to DRT.

3:09 PM Changeset in webkit [179032] by Lucas Forschler
  • 11 edits
    4 copies in branches/safari-600.1.4.15-branch

Merged r174489. rdar://problem/19434944

3:06 PM Changeset in webkit [179031] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r174373. rdar://problem/19434944

3:05 PM Changeset in webkit [179030] by Lucas Forschler
  • 8 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r174297. rdar://problem/19434944

3:04 PM Changeset in webkit [179029] by dburkart@apple.com
  • 9 edits
    4 copies in branches/safari-600.5-branch

Merged r174489. <rdar://problem/19452129>

3:03 PM Changeset in webkit [179028] by Lucas Forschler
  • 42 edits
    1 copy in branches/safari-600.1.4.15-branch

Merged r174233. rdar://problem/19434944

2:16 PM Changeset in webkit [179027] by enrica@apple.com
  • 3 edits
    4 adds in trunk

Hit test returns incorrect results when performed in paginated content over the page gaps.
https://bugs.webkit.org/show_bug.cgi?id=140837
rdar://problem/17494390

Reviewed by Dave Hyatt.

Source/WebCore:

Tests: fast/multicol/pagination/LeftToRight-tb-hittest.html

fast/multicol/pagination/RightToLeft-rl-hittest.html

When hittesting reaches the RenderView we need to check if we are
in paginated content and use the correct class to compute hittest results.

  • rendering/RenderView.cpp:

(WebCore::RenderView::updateHitTestResult):

LayoutTests:

  • fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt: Added.
  • fast/multicol/pagination/LeftToRight-tb-hittest.html: Added.
  • fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt: Added.
  • fast/multicol/pagination/RightToLeft-rl-hittest.html: Added.
1:57 PM Changeset in webkit [179026] by Brent Fulgham
  • 40 edits
    5 adds
    12 deletes in trunk/LayoutTests

[Win] Unreviewed gardening after landing r179024.

Update Windows-specific accessibility tests and test expectations after making Windows AX output match Mac.
This allows us to share more Mac results.

  • platform/win/TestExpectations:
  • platform/win/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt:
  • platform/win/accessibility/aria-checkbox-text-expected.txt: Removed.
  • platform/win/accessibility/aria-combobox-expected.txt:
  • platform/win/accessibility/aria-fallback-roles-expected.txt: Removed.
  • platform/win/accessibility/aria-hidden-expected.txt: Removed.
  • platform/win/accessibility/aria-labelledby-on-input-expected.txt: Removed.
  • platform/win/accessibility/aria-labelledby-overrides-aria-label-expected.txt:
  • platform/win/accessibility/aria-labelledby-overrides-label-expected.txt: Removed.
  • platform/win/accessibility/aria-list-and-listitem-expected.txt:
  • platform/win/accessibility/aria-mappings-expected.txt: Added.
  • platform/win/accessibility/aria-menubar-menuitems-expected.txt:
  • platform/win/accessibility/aria-option-role-expected.txt:
  • platform/win/accessibility/aria-presentational-role-expected.txt: Removed.
  • platform/win/accessibility/aria-roles-expected.txt:
  • platform/win/accessibility/aria-tab-role-on-buttons-expected.txt:
  • platform/win/accessibility/aria-tab-roles-expected.txt:
  • platform/win/accessibility/aria-toggle-button-with-title-expected.txt: Removed.
  • platform/win/accessibility/canvas-description-and-role-expected.txt:
  • platform/win/accessibility/canvas-fallback-content-expected.txt:
  • platform/win/accessibility/css-content-attribute-expected.txt: Added.
  • platform/win/accessibility/deleting-iframe-destroys-axcache-expected.txt:
  • platform/win/accessibility/div-within-anchors-causes-crash-expected.txt:
  • platform/win/accessibility/document-enabled-state-expected.txt:
  • platform/win/accessibility/document-enabled-state.html:
  • platform/win/accessibility/document-role-expected.txt:
  • platform/win/accessibility/heading-elements-expected.txt:
  • platform/win/accessibility/heading-elements.html:
  • platform/win/accessibility/image-map1-expected.txt: Added.
  • platform/win/accessibility/image-with-alt-and-map-expected.txt: Added.
  • platform/win/accessibility/img-alt-attribute-expected.txt:
  • platform/win/accessibility/img-alt-attribute.html:
  • platform/win/accessibility/img-alt-tag-only-whitespace-expected.txt: Removed.
  • platform/win/accessibility/img-aria-button-alt-tag-expected.txt: Removed.
  • platform/win/accessibility/img-fallsback-to-title-expected.txt: Removed.
  • platform/win/accessibility/input-image-alt-expected.txt: Removed.
  • platform/win/accessibility/linked-elements-expected.txt:
  • platform/win/accessibility/linked-elements.html:
  • platform/win/accessibility/list-item-role-expected.txt:
  • platform/win/accessibility/list-item-role.html:
  • platform/win/accessibility/list-marker-role-expected.txt:
  • platform/win/accessibility/list-marker-role.html:
  • platform/win/accessibility/list-role-expected.txt:
  • platform/win/accessibility/list-role.html:
  • platform/win/accessibility/multiple-select-element-role-expected.txt:
  • platform/win/accessibility/multiple-select-element-role.html:
  • platform/win/accessibility/parent-element-expected.txt:
  • platform/win/accessibility/parent-element.html:
  • platform/win/accessibility/select-element-role-expected.txt:
  • platform/win/accessibility/select-element-role.html:
  • platform/win/accessibility/selection-and-focus-expected.txt:
  • platform/win/accessibility/selection-and-focus.html:
  • platform/win/accessibility/single-select-children.html:
  • platform/win/accessibility/svg-image-expected.txt: Removed.
  • platform/win/accessibility/text-role-expected.txt:
  • platform/win/aria-labelledby-overrides-aria-label-actual.txt: Added.
1:39 PM Changeset in webkit [179025] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Document should be a FontSelectorClient.
<https://webkit.org/b/140833>

Reviewed by Antti Koivisto.

Make Document a FontSelectorClient so it can listen to the invalidation
callbacks from FontSelector instead of having code in FontSelector that
calls out to Document on invalidation.

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::dispatchInvalidationCallbacks):

  • dom/Document.cpp:

(WebCore::Document::fontsNeedUpdate):
(WebCore::Document::fontSelector):
(WebCore::Document::clearStyleResolver):

  • dom/Document.h:
1:31 PM Changeset in webkit [179024] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Update DRT Accessibility implementation to better match Mac.
https://bugs.webkit.org/show_bug.cgi?id=140830

Reviewed by Dean Jackson.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(convertToDRTLabel):
(AccessibilityUIElement::role):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::helpText):
(AccessibilityUIElement::isFocused):

12:53 PM Changeset in webkit [179023] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the pre-Yosemite build.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _dismissContentRelativeChildWindows]):

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

New tag.

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

New tag.

12:05 PM Changeset in webkit [179020] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

12:05 PM Changeset in webkit [179019] by Joseph Pecoraro
  • 15 edits
    2 adds in trunk

Web Inspector: Object Previews in the Console
https://bugs.webkit.org/show_bug.cgi?id=129204

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Update the very old, unused object preview code. Part of this comes from
the earlier WebKit legacy implementation, and the Blink implementation.

A RemoteObject may include a preview, if it is asked for, and if the
RemoteObject is an object. Previews are a shallow (single level) list
of a limited number of properties on the object. The previewed
properties are always stringified (even if primatives). Previews are
limited to just 5 properties or 100 indices. Previews are marked
as lossless if they are a complete snapshot of the object.

There is a path to make previews two levels deep, that is currently
unused but should soon be used for tables (e.g. IndexedDB).

  • inspector/InjectedScriptSource.js:
  • Move some code off of InjectedScript to be generic functions

usable by RemoteObject as well.

  • Update preview generation to use
  • inspector/protocol/Runtime.json:
  • Add a new type, "accessor" for preview objects. This represents

a getter / setter. We currently don't get the value.

Source/WebInspectorUI:

  • UserInterface/Controllers/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):

  • UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:

(get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):
Update RuntimeManager callsites that do not need object previews.

  • UserInterface/Controllers/RuntimeManager.js:

(WebInspector.RuntimeManager.prototype.evalCallback):
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
Update the main evaluate method to include a boolean parameter for
object previews. Most callers do not need them. Also, since previews
were not available on iOS 6, switch to invoke, to conditionally
include the command parameter.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.prototype.get preview):
Store the preview from the payload.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString):
(WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
Pass an explicit false for most formatters to not use a preview if available.

(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
Currently only object types are previewed. Though we request previews
for arrays, we don't use the preview because we show a better preview
by just immediately requesting for a full non-preview property list.

(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
Quickly output an object preview into the title element. The format
is "ClassName {prop: value...}". Elide the class name if it is "Object".
Also skip over certain preview properties that may not be useful
at a glance (like constructor, or accessors without values).

  • UserInterface/Views/LogContentView.css:

(.console-object-preview):
(.console-formatted-array .console-object-preview):
(.console-object-preview-lossless):
(.expanded .console-object-preview):
Show lossy previews in italics.
Show lossless previews and array previews without italics.
Do not show the class name in the preview in italics when expanded.

(.console-object-preview .name):
Give preview property names the same color as ObjectPropertiesSection property names.

(.expanded .console-object-preview > .console-object-preview-body):
When expanding an object, hide the preview.

(.console-object-preview > .console-object-preview-name.console-object-preview-name-Object):
(.expanded .console-object-preview > .console-object-preview-name.console-object-preview-name-Object):
For "Object" previews, hide the name "Object" when not expanded, and show it when expanded.

LayoutTests:

  • inspector/debugger/command-line-api-exception-nested-catch.html:
  • inspector/debugger/command-line-api-exception.html:
  • inspector/model/remote-object-get-properties.html:

Update RuntimeManager callsites to not ask for previews when evaluating.

  • inspector/model/remote-object-expected.txt: Added.
  • inspector/model/remote-object.html: Added.

Add a test specifically for Remote Object. This test can also be
opened in a browser. It attempts to run the gamut of all different
types of objects and shows the RemoteObject constructed for it.

12:03 PM Changeset in webkit [179018] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

12:01 PM Changeset in webkit [179017] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Leverage CSSValuePool's font family cache in CSSComputedStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=140829

Reviewed by Andreas Kling.

Leverage CSSValuePool's font family cache in CSSComputedStyleDeclaration
by calling CSSValuePool::createFontFamilyValue() to create the font
family CSSPrimitiveValue instead of cssValuePool().createValue().

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForFamily):

11:57 AM Changeset in webkit [179016] by saambarati1@gmail.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Disable *Annotators on minified files that aren't pretty printed
https://bugs.webkit.org/show_bug.cgi?id=140550

Reviewed by Timothy Hatcher.

When SourceCodeTextEditor speculates that a file is minified it
sets a flag on itself that the Annotators will notice when pretty
printing and turning on type profiling.

SourceCodeTextEditor enforces the following two behaviors:

  1. Always pretty print a file if we think it's minified while

viewing type annotations. So, while viewing a minified file,
if you press the type profiling button, the pretty printer will
first reformat the file, then the type profiler will insert type annotations.

  1. If the type profiler is enabled and we're viewing a pretty

printed file that we think originally was minified, and the
pretty printer is disabled via pressing the button, then the
type profiler will also be disabled.

These two behaviors maintain a good user experience because
it prevents a bad visual representation of profiler data and
also prevents bad performance.

  • UserInterface/Controllers/TypeTokenAnnotator.js:

(WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations): Deleted.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
(WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):

11:52 AM Changeset in webkit [179015] by msaboff@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Immediate crash when setting JS breakpoint
https://bugs.webkit.org/show_bug.cgi?id=140811

Reviewed by Mark Lam.

When the DFG stack layout phase doesn't allocate a register for the scope register,
it incorrectly sets the scope register in the code block to a bad value, one with
an offset of 0. Changed it so that we set the code block's scope register to the
invalid VirtualRegister instead.

No tests needed as adding the ASSERT in setScopeRegister() was used to find the bug.
We crash with that ASSERT in testapi and likely many other tests as well.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::setScopeRegister):
(JSC::CodeBlock::scopeRegister):
Added ASSERTs to catch any future improper setting of the code block's scope register.

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

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

QLPreviewMenuItem popovers don't close when the page scrolls
https://bugs.webkit.org/show_bug.cgi?id=140806
<rdar://problem/19555618>

Reviewed by Beth Dakin.

Now that QLPreviewMenuItem's popover doesn't eat scrolls, we need to dismiss it if the page scrolls.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView scrollWheel:scrollWheel:]):
Send scrollWheel along to WebImmediateActionController.

  • WebView/WebImmediateActionController.h:
  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController webView:didHandleScrollWheel:]):
(-[WebImmediateActionController _clearImmediateActionState]):
(-[WebImmediateActionController _defaultAnimationController]):
Keep track of the active QLPreviewMenuItem, and close it upon scroll.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _dismissContentRelativeChildWindows]):
Send _dismissContentRelativeChildWindows on to WKImmediateActionController.

  • UIProcess/mac/WKImmediateActionController.h:
  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController dismissContentRelativeChildWindows]):
(-[WKImmediateActionController _defaultAnimationController]):
Keep track of the active QLPreviewMenuItem, and close it upon scroll.

  • platform/spi/mac/QuickLookMacSPI.h:

Add some SPI.

11:42 AM Changeset in webkit [179013] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Infinite recursion in _clearImmediateActionState
https://bugs.webkit.org/show_bug.cgi?id=140807
<rdar://problem/19571601>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _clearImmediateActionState]):
Clear _hasActivatedActionContext before calling didUseActions, because
didUseActions can call _clearImmediateActionState.

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController _clearImmediateActionState]):
Use this opportunity to bring identical code to WebKit1, to avoid
getting DataDetectors stuck when an immediate action is canceled.

10:44 AM Changeset in webkit [179012] by akling@apple.com
  • 18 edits in trunk/Source/WebCore

Hang CSSFontSelector off Document instead of StyleResolver.
<https://webkit.org/b/140820>

Reviewed by Antti Koivisto.

Move the CSSFontSelector from StyleResolver to Document. This is the first
step towards making the CSSFontSelector be able to survive full style recalc.

Clearing a Document's StyleResolver will still nuke the CSSFontSelector,
though that is done in Document::clearStyleResolver() now.

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::CSSFontSelector):

  • css/CSSFontSelector.h:

Modernize CSSFontSelector construction a bit by having create() return
a Ref and the constructor take a Document& instead of a Document*.
Also made the constructor explicit.

(WebCore::StyleResolver::~StyleResolver):

  • dom/Document.cpp:

(WebCore::Document::clearStyleResolver):

Nuke the current CSSFontSelector in clearStyleResolver() instead of
in ~StyleResolver. It's a minor change, but shows the way forward.
Added a FIXME about how CSSFontSelector should eventually survive
this operation.

(WebCore::Document::fontSelector):

  • css/FontLoader.cpp:

(WebCore::FontLoader::loadFont):
(WebCore::FontLoader::checkFont):
(WebCore::FontLoader::resolveFontStyle):

  • css/RuleSet.cpp:

(WebCore::RuleSet::addChildRules):

  • css/StyleResolver.h:

(WebCore::StyleResolver::fontSelector): Deleted.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::defaultStyleForElement):
(WebCore::StyleResolver::updateFont):

  • dom/Document.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::fontSelector):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::fontSelector):

  • rendering/TextAutoSizing.cpp:

(WebCore::TextAutoSizingValue::adjustNodeSizes):
(WebCore::TextAutoSizingValue::reset):

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):

  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

  • style/StyleResolveTree.cpp:

(WebCore::Style::resolveTree):

Move CSSFontSelector ownership from StyleResolver to Document.

10:28 AM Changeset in webkit [179011] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

Create a "load and stall" cgi that support byte ranges.
https://bugs.webkit.org/show_bug.cgi?id=140628

Reviewed by Jer Noble.

  • http/tests/media/resources/serve-video.php: Add support for "stallOffset", "stallDuration",

and "chunkSize" parameters.

10:27 AM Changeset in webkit [179010] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Layout Test http/tests/media/track-in-band-hls-metadata.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=140827

Reviewed by Eric Carlson.

Create the m_metadataTrack by calling prepareMetadataTrack() before deref-ing it.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):

8:33 AM Changeset in webkit [179009] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WTF

[GTK] Add missing null check in some derefGPtr implementations
https://bugs.webkit.org/show_bug.cgi?id=140822

Reviewed by Sergio Villar Senin.

It's missing in GHashTable and GVariant implementations.

  • wtf/gobject/GRefPtr.cpp:

(WTF::derefGPtr):

6:56 AM Changeset in webkit [179008] by svillar@igalia.com
  • 3 edits in trunk/Tools

REGRESSION: run-perf-tests --profiler= seems to have broken
https://bugs.webkit.org/show_bug.cgi?id=113528

Reviewed by Daniel Bates.

The problem is that "perf --record" (or the equivalent call for
other profilers) is never called whenever there is a wrapper
option in the port. We should inject the profiler call first
(should it exists) and then use the port wrapper.

  • Scripts/webkitpy/port/driver.py:

(Driver._command_wrapper):

  • Scripts/webkitpy/port/driver_unittest.py:

(DriverTest.test_profiler_and_wrapper): New unit test.

6:30 AM Changeset in webkit [179007] by Carlos Garcia Campos
  • 19 edits
    12 adds in trunk

[GTK] Add initial database process support
https://bugs.webkit.org/show_bug.cgi?id=139491

Reviewed by Sergio Villar Senin.

.:

  • Source/cmake/OptionsGTK.cmake: Set WebKit2_DatabaseProcess_OUTPUT_NAME.

Source/WebCore:

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase): Use
WebCore::fileSystemRepresentation() for the database filename,
otherwise sqlite3_open() fails when the filename contains "%2E".

Source/WebKit2:

Add initial support for DatabaseProcess, disabled by default for
now.

  • CMakeLists.txt: Add required files to compilation.
  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
Add the unix domain sockets implementation.

  • DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp: Added.

(main):

  • DatabaseProcess/gtk/DatabaseProcessMainGtk.cpp: Added.

(WebKit::DatabaseProcessMainUnix):

  • DatabaseProcess/unix/DatabaseProcessMainUnix.h: Added.
  • PlatformGTK.cmake: Add required files to compilation.
  • Shared/ProcessExecutablePath.h:
  • Shared/gtk/KeyedDecoder.cpp: Added.

(WebKit::KeyedDecoder::KeyedDecoder):
(WebKit::KeyedDecoder::~KeyedDecoder):
(WebKit::KeyedDecoder::buildDictionaryFromGVariant):
(WebKit::KeyedDecoder::decodeBytes):
(WebKit::KeyedDecoder::decodeBool):
(WebKit::KeyedDecoder::decodeUInt32):
(WebKit::KeyedDecoder::decodeInt32):
(WebKit::KeyedDecoder::decodeInt64):
(WebKit::KeyedDecoder::decodeFloat):
(WebKit::KeyedDecoder::decodeDouble):
(WebKit::KeyedDecoder::decodeString):
(WebKit::KeyedDecoder::beginObject):
(WebKit::KeyedDecoder::endObject):
(WebKit::KeyedDecoder::beginArray):
(WebKit::KeyedDecoder::beginArrayElement):
(WebKit::KeyedDecoder::endArrayElement):
(WebKit::KeyedDecoder::endArray):

  • Shared/gtk/KeyedDecoder.h: Added.
  • Shared/gtk/KeyedEncoder.cpp: Added.

(WebKit::KeyedEncoder::KeyedEncoder):
(WebKit::KeyedEncoder::~KeyedEncoder):
(WebKit::KeyedEncoder::encodeBytes):
(WebKit::KeyedEncoder::encodeBool):
(WebKit::KeyedEncoder::encodeUInt32):
(WebKit::KeyedEncoder::encodeInt32):
(WebKit::KeyedEncoder::encodeInt64):
(WebKit::KeyedEncoder::encodeFloat):
(WebKit::KeyedEncoder::encodeDouble):
(WebKit::KeyedEncoder::encodeString):
(WebKit::KeyedEncoder::beginObject):
(WebKit::KeyedEncoder::endObject):
(WebKit::KeyedEncoder::beginArray):
(WebKit::KeyedEncoder::beginArrayElement):
(WebKit::KeyedEncoder::endArrayElement):
(WebKit::KeyedEncoder::endArray):
(WebKit::KeyedEncoder::finishEncoding):

  • Shared/gtk/KeyedEncoder.h: Added.
  • Shared/gtk/ProcessExecutablePathGtk.cpp:

(WebKit::executablePathOfDatabaseProcess):

  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
Add the unix domain sockets implementation.

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess): Handle the
DatabaseProcess too.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Add
the unix domain sockets implementation.

Source/WTF:

Add support for using GRefPtr with GVariantBuilder.

  • wtf/gobject/GRefPtr.cpp:

(WTF::refGPtr):
(WTF::derefGPtr):

  • wtf/gobject/GRefPtr.h:
  • wtf/gobject/GTypedefs.h:
2:33 AM Changeset in webkit [179006] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Initialization for some member variable of FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=136327

Patch by Byeongha Cho <byeongha.cho@samsung.com> on 2015-01-23
Reviewed by Myles C. Maxfield.

No new tests. There's no functional change.

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::~FontPlatformData):

2:05 AM Changeset in webkit [179005] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r175608. rdar://problem/19395075

2:05 AM Changeset in webkit [179004] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r175607. rdar://problem/19395075

2:05 AM Changeset in webkit [179003] by ddkilzer@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r175595. rdar://problem/19395075

2:04 AM Changeset in webkit [179002] by ddkilzer@apple.com
  • 6 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r175577. rdar://problem/19395075

2:04 AM Changeset in webkit [179001] by ddkilzer@apple.com
  • 9 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r174885. rdar://problem/19395075

2:04 AM Changeset in webkit [179000] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r174286. rdar://problem/19395075

2:04 AM Changeset in webkit [178999] by ddkilzer@apple.com
  • 4 edits
    3 adds in branches/safari-600.1.4.15-branch/Source

Merged r174250. rdar://problem/19395075

2:04 AM Changeset in webkit [178998] by ddkilzer@apple.com
  • 9 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r174232. rdar://problem/19395075

2:04 AM Changeset in webkit [178997] by ddkilzer@apple.com
  • 8 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r174072. rdar://problem/19395075

2:04 AM Changeset in webkit [178996] by ddkilzer@apple.com
  • 9 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r172966. rdar://problem/19395075

2:04 AM Changeset in webkit [178995] by ddkilzer@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r173762. rdar://problem/19420088

2:04 AM Changeset in webkit [178994] by ddkilzer@apple.com
  • 10 edits in branches/safari-600.1.4.15-branch/Source

Merged r173741. rdar://problem/19420088

1:18 AM Changeset in webkit [178993] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit/mac

Merged r178680. rdar://problem/19489593

1:17 AM Changeset in webkit [178992] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit/mac

Merged r178676. rdar://problem/19489593

1:16 AM Changeset in webkit [178991] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit/mac

Merged r178605. rdar://problem/19490114

1:14 AM Changeset in webkit [178990] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r178595. rdar://problem/19490114

12:52 AM Changeset in webkit [178989] by ap@apple.com
  • 2 edits in trunk/LayoutTests

svg-resource-fragment-identifier-img-src.html is a hidpi reftest, but its -expected.html
counterpart isn't hidpi
https://bugs.webkit.org/show_bug.cgi?id=140815

Reviewed by Simon Fraser.

  • svg/css/svg-resource-fragment-identifier-img-src-expected.html: Make the expectation

match its test.

12:49 AM Changeset in webkit [178988] by g.czajkowski@samsung.com
  • 2 edits in trunk/Source/WebCore

Rename ChildNodeRemovalNotifier::m_insertionPoint to m_removalPoint
https://bugs.webkit.org/show_bug.cgi?id=140766

Reviewed by Andreas Kling.

ChildNodeRemovalNotifier::ChildNodeRemovalNotifier(...) should take
a node as removal point.
It's probably Copy/Paste from ChildNodeInsertionNotifier::m_insertionPoint.

No new tests. No behavior change.

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildNodeRemovalNotifier::ChildNodeRemovalNotifier):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):

12:25 AM Changeset in webkit [178987] by Chris Dumez
  • 5 edits
    7 deletes in trunk/LayoutTests

Rewrite the fast/css/css2-system-fonts.html test to be more useful on all platforms
https://bugs.webkit.org/show_bug.cgi?id=140810

Reviewed by Andreas Kling.

Make the fast/css/css2-system-fonts.html explicit about the font styles
expected on each platform instead of just Mac.

It also converts the test to be text only as the style information is
now displayed in text format.

This change is in preparation for a refactor of system font handling.

This change is based on the following Blink revision by
<alancutter@chromium.org>:
http://src.chromium.org/viewvc/blink?view=revision&revision=169612

  • fast/css/css2-system-fonts.html:
  • platform/efl/fast/css/css2-system-fonts-expected.png: Removed.
  • platform/efl/fast/css/css2-system-fonts-expected.txt: Removed.
  • platform/gtk/fast/css/css2-system-fonts-expected.png: Removed.
  • platform/gtk/fast/css/css2-system-fonts-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/css2-system-fonts-expected.txt:
  • platform/mac-mavericks/fast/css/css2-system-fonts-expected.png: Removed.
  • platform/mac-mavericks/fast/css/css2-system-fonts-expected.txt:
  • platform/mac-mountainlion/fast/css/css2-system-fonts-expected.txt: Removed.
  • platform/mac/fast/css/css2-system-fonts-expected.png: Removed.
  • platform/mac/fast/css/css2-system-fonts-expected.txt:
12:19 AM Changeset in webkit [178986] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Fix debug build after r178940
https://bugs.webkit.org/show_bug.cgi?id=140814

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-23
Reviewed by Carlos Garcia Campos.

  • platform/graphics/opentype/OpenTypeVerticalData.cpp:

(WebCore::OpenTypeVerticalData::substituteWithVerticalGlyphs):

Jan 22, 2015:

11:31 PM Changeset in webkit [178985] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

11:04 PM Changeset in webkit [178984] by mhahnenb@gmail.com
  • 4 edits in trunk/Source/JavaScriptCore

EdenCollections unnecessarily visit SmallStrings
https://bugs.webkit.org/show_bug.cgi?id=140762

Reviewed by Geoffrey Garen.

  • heap/Heap.cpp:

(JSC::Heap::copyBackingStores): Also added a GCPhase for copying
backing stores, which is a significant portion of garbage collection.
(JSC::Heap::visitSmallStrings): Check to see if we need to visit
SmallStrings based on the collection type.

  • runtime/SmallStrings.cpp:

(JSC::SmallStrings::SmallStrings):
(JSC::SmallStrings::visitStrongReferences): Set the fact that we have
visited the SmallStrings since the last modification.

  • runtime/SmallStrings.h:

(JSC::SmallStrings::needsToBeVisited): If we're doing a
FullCollection, we need to visit. Otherwise, it depends on whether
we've been visited since the last modification/allocation.

10:26 PM Changeset in webkit [178983] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Simple line layout: Move leading whitespace handling from removeTrailingWhitespace() to initializeNewLine().
https://bugs.webkit.org/show_bug.cgi?id=140757

Reviewed by Antti Koivisto.

Checking if overflowed pre-wrap whitespace needs to be ignored should not be part of the trailing whitespace handling.
Move it to initializeNewLine().

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::preWrap):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::initializeNewLine):

  • rendering/SimpleLineLayoutFlowContents.h:

(WebCore::SimpleLineLayout::FlowContents::isLineBreak):

9:38 PM Changeset in webkit [178982] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.5-branch/Source

Merge r174708. rdar://problem/19451256

9:38 PM Changeset in webkit [178981] by matthew_hanson@apple.com
  • 1 edit
    3 adds in branches/safari-600.5-branch/LayoutTests

Merge r175264. rdar://problem/19451378

8:17 PM Changeset in webkit [178980] by benjamin@webkit.org
  • 10 edits in trunk/Source/WebKit2

[iOS][WK2] Ignore synthetic click initiated on a previous page
https://bugs.webkit.org/show_bug.cgi?id=139556
rdar://problem/18586008

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-22
Reviewed by David Kilzer.

Under the right accumulation of bad luck, a synthetic click could be generated
on a page that never asked for it.

What happened was:
1) Page Foo listen to touch event.
2) In response to touch events, Foo decides to navigate to page Bar

*but* it does not cancel the native gesture recognizers with preventDefault().

3) Page Bar loads.
4) The native gesture recognizer ask us to click, we forward that to the WebProcess

and generate a synthetic mouse event.

-> Bar receives a click.
If you are unlucky enough, it looks like a single tap does a double click.

There are two ways this patch avoids the problem:

First, in the UIProcess, we just cancel the HighlightLongPressGestureRecognizer
on didCommitLoadForMainFrame. This prevents "fast clicks" from accidentally going through.
This is not bullet proof because we get didCommitLoadForMainFrame asynchronously but
killing the timer and gesture seems like a good idea.

Second, we skip any tap command at the WebProcess level when it was issued for
the previous page. This is using the same principle we used for VisibleContentRect:
any input generated before the current layer tree commit is useless for the current page.

We track the commit ID in the UIProcess when we decide to do the tracking or not.
Note that we keep the ID regardless of the tracking state, it does not matter if we have sent
touch events, what matters is what content was on screen when the touch events were handled.

If the user interaction result in a tap, we send the commit ID along the tap commands.
In the WebProcess, we know the actual layer tree commit associated with the current page.
If the tap was generated with a layer ID preceding the current page, we fail the command.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::handleTouchEventSynchronously):
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _didCommitLoadForMainFrame]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _attemptClickAtLocation:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::commitPotentialTap):
(WebKit::WebPageProxy::handleTap):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleTap):
(WebKit::WebPage::commitPotentialTap):

8:06 PM Changeset in webkit [178979] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

configure-xcode-for-ios-development needs to import webkitdirs.pm
<http://webkit.org/b/140704>

Fixes the following runtime error:

Undefined subroutine &main::exitStatus called at ./Tools/Scripts/configure-xcode-for-ios-development line 167.

  • Scripts/configure-xcode-for-ios-development: Add back code to

import webkitdirs.pm for the exitStatus() method. Not sure why
I removed it before patch review.

7:32 PM Changeset in webkit [178978] by akling@apple.com
  • 3 edits
    2 deletes in trunk/Source/WebKit

Remove unused class EmojiFallbackFontSelector.
<https://webkit.org/b/140809>

Reviewed by Antti Koivisto.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/ios:

This class no longer has any clients.

  • Misc/EmojiFallbackFontSelector.cpp: Removed.
  • Misc/EmojiFallbackFontSelector.h: Removed.
6:21 PM Changeset in webkit [178977] by dburkart@apple.com
  • 6 edits in branches/safari-600.5-branch/Source/WebCore

Merged r178967. <rdar://19572776>

6:17 PM Changeset in webkit [178976] by Chris Dumez
  • 1 edit
    2 adds in trunk/LayoutTests

Import fast/css/font-shorthand-line-height.html layout test from Blink
https://bugs.webkit.org/show_bug.cgi?id=140801

Reviewed by Andreas Kling.

Import fast/css/font-shorthand-line-height.html layout test from Blink
to get better test coverage for 'line-height' font shorthands cascades:
https://src.chromium.org/viewvc/blink?view=rev&revision=184346

I am working on expanding the font shorthand at parsing time (like
other shorthands) via Bug 140577 and I want to make sure I don't break
line-height in the process.

  • fast/css/font-shorthand-line-height-expected.txt: Added.
  • fast/css/font-shorthand-line-height.html: Added.
5:57 PM Changeset in webkit [178975] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

[WK2][Cocoa] Drop WKWebViewConfiguration._featureCounterEnabled SPI.
https://bugs.webkit.org/show_bug.cgi?id=140799

Reviewed by Dan Bernstein.

Drop WKWebViewConfiguration._featureCounterEnabled SPI now that the
client-side has been updated.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _setAllowsAlternateFullscreen:]):
(-[WKWebViewConfiguration _featureCounterEnabled]): Deleted.
(-[WKWebViewConfiguration _setFeatureCounterEnabled:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
5:28 PM Changeset in webkit [178974] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.3

New tag.

5:19 PM Changeset in webkit [178973] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Fix ENABLE(NETWORK_CACHE) build

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFinishLoading):

5:16 PM Changeset in webkit [178972] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

[Win] Unreviewed test fix after r178965.

  • WebView.cpp: Supply missing implementation of 'setEditable'. It

currently asserts, causing all debug tests to fail.

4:47 PM Changeset in webkit [178971] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r178847): Yosemite 32-bit bot isn't doing any work
https://bugs.webkit.org/show_bug.cgi?id=140795

Reviewed by Jon Honeycutt.

  • BuildSlaveSupport/build.webkit.org-config/config.json:

r178847 accidentally remove the scheduler for this bot. Re-add it to the
Yosemite scheduler.

4:44 PM Changeset in webkit [178970] by jonowells@apple.com
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: ResourceContentView.js incorrectly contains call to WebInspector.UIString with a variable parameter
https://bugs.webkit.org/show_bug.cgi?id=140268

Reviewed by Timothy Hatcher.

UIString no longer incorrectly used around variables. Drive-by fixes to prototype inheritance style.
Use of Promises corrected such that requesting content for a resource resolves rather than rejects if
a resource can't be found or has another error that isn't a web inspector error.

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/Models/Resource.js: Change reject to resolve.
  • UserInterface/Models/Script.js:

(WebInspector.Script.prototype.requestContentFromBackend): Proper use of Error object.

  • UserInterface/Models/SourceCode.js: Use correct inheritance style.
  • UserInterface/Views/ResourceContentView.js:

(WebInspector.ResourceContentView.prototype._contentAvailable): Handle error now that promise resolves.
(WebInspector.ResourceContentView.prototype._contentError): Remove incorrect use of UIString.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._contentAvailable): Handle error now that promise resolves.

4:31 PM Changeset in webkit [178969] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Media controls disappear when loading a HLS live stream
https://bugs.webkit.org/show_bug.cgi?id=140792
rdar://problem/19491658

Reviewed by Dean Jackson.

Overload reconnectControls to reconnect the "start playback" button
if the control type has been set to "StartPlaybackButton".

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.reconnectControls):

4:18 PM Changeset in webkit [178968] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[Win] No plugin content on some sites.
https://bugs.webkit.org/show_bug.cgi?id=140780

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-22
Reviewed by Anders Carlsson.

Source/WebCore:

Return script instance from ScriptController::createScriptInstanceForWidget(),
instead of always returning null.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::createScriptInstanceForWidget):

  • plugins/PluginViewBase.h:

(WebCore::PluginViewBase::bindingInstance):

Source/WebKit/win:

Add override modifier to bindingInstance method.

  • Plugins/PluginView.h:
4:17 PM Changeset in webkit [178967] by jer.noble@apple.com
  • 6 edits in trunk/Source/WebCore

[Mac][EME] Adopt changes to AVStreamSession class methods
https://bugs.webkit.org/show_bug.cgi?id=140778
rdar://problem/19458200

Reviewed by Eric Carlson.

AVStreamSession class methods have added a "storageDirectoryAtURL:" parameter so as to be able to
read and modify records stored at non-default storage locations.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::mediaKeysStorageDirectory): Implement client method by querying document and settings.

  • Modules/encryptedmedia/MediaKeySession.h:
  • platform/graphics/CDMSession.h:
  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): Check whether the AVStreamSession class responds to new selector before calling.
(WebCore::CDMSessionMediaSourceAVFObjC::update): Ditto.
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyReleaseMessage): Ditto.
(WebCore::CDMSessionMediaSourceAVFObjC::storagePath): Fetch the storage path from the client.

4:15 PM Changeset in webkit [178966] by msaboff@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (174847): can't view NHK(Japan's national public broadcasting organization)’s news pages
https://bugs.webkit.org/show_bug.cgi?id=140794

Reviewed by Anders Carlsson.

Source/WebCore:

If a document.open has been set, return it instead of always returning a new,
non-cached instance of jsHTMLDocumentPrototypeFunctionOpen.

Test: js/dom/document-overwrite-open.html

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot):

LayoutTests:

  • js/dom/document-overwrite-open-expected.txt: Added.
  • js/dom/document-overwrite-open.html: Added.
3:46 PM Changeset in webkit [178965] by Brent Fulgham
  • 11 edits in trunk

[Win] Expose missing editing features through WebView interface
https://bugs.webkit.org/show_bug.cgi?id=140773
<rdar://problem/19565421>

Reviewed by Dean Jackson.

Connect the various WebView editing delegate methods to our
test infrastructure. Also prefer _bstr_t to raw BSTR types
to simplify life cycle management.

Source/WebKit/win:

  • DOMCoreClasses.cpp: Flesh out the DOMRange object.

(DOMElement::createInstance):
(DOMRange::QueryInterface):
(DOMRange::DOMRange):
(DOMRange::~DOMRange):
(DOMRange::createInstance):
(DOMRange::startContainer):
(DOMRange::startOffset):
(DOMRange::endContainer):
(DOMRange::endOffset):
(DOMRange::collapsed):
(DOMRange::commonAncestorContainer):
(DOMRange::setStart):
(DOMRange::setEnd):
(DOMRange::setStartBefore):
(DOMRange::setStartAfter):
(DOMRange::setEndBefore):
(DOMRange::setEndAfter):
(DOMRange::collapse):
(DOMRange::selectNode):
(DOMRange::selectNodeContents):
(DOMRange::compareBoundaryPoints):
(DOMRange::deleteContents):
(DOMRange::extractContents):
(DOMRange::cloneContents):
(DOMRange::insertNode):
(DOMRange::surroundContents):
(DOMRange::cloneRange):
(DOMRange::toString):
(DOMRange::detach):

  • DOMCoreClasses.h:

(DOMRange::AddRef):
(DOMRange::Release):
(DOMRange::throwException):
(DOMRange::callWebScriptMethod):
(DOMRange::evaluateWebScript):
(DOMRange::removeWebScriptKey):
(DOMRange::stringRepresentation):
(DOMRange::webScriptValueAtIndex):
(DOMRange::setWebScriptValueAtIndex):
(DOMRange::setException):

  • Interfaces/IWebEditingDelegate.idl:
  • Interfaces/IWebView.idl:
  • WebCoreSupport/WebEditorClient.cpp: Connect more methods

to actual editing features in WebCore.
(WebEditorClient::shouldBeginEditing):
(WebEditorClient::shouldEndEditing):
(WebEditorClient::didBeginEditing):
(WebEditorClient::respondToChangedContents):
(WebEditorClient::respondToChangedSelection):
(WebEditorClient::didEndEditing):
(WebEditorClient::shouldDeleteRange):
(WebEditorClient::shouldInsertNode):
(WebEditorClient::shouldInsertText):
(WebEditorClient::shouldChangeSelectedRange):
(WebEditorClient::webViewDidChangeTypingStyle):
(WebEditorClient::webViewDidChangeSelection):
(WebEditorClient::isSelectTrailingWhitespaceEnabled):

  • WebView.cpp:

(WebView::setEditingDelegate): Added.

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebViewToConsistentStateBeforeTesting):

  • DumpRenderTree/win/EditingDelegate.cpp:

(EditingDelegate::QueryInterface):
(dumpPath):
(dump):
(EditingDelegate::shouldBeginEditingInDOMRange):
(EditingDelegate::shouldEndEditingInDOMRange):
(EditingDelegate::shouldInsertNode):
(EditingDelegate::shouldInsertText):
(EditingDelegate::shouldDeleteDOMRange):
(EditingDelegate::shouldChangeSelectedDOMRange):
(EditingDelegate::shouldApplyStyle):
(EditingDelegate::shouldChangeTypingStyle):
(EditingDelegate::doPlatformCommand):
(EditingDelegate::webViewDidBeginEditing):
(EditingDelegate::webViewDidChange):
(EditingDelegate::webViewDidEndEditing):
(EditingDelegate::webViewDidChangeTypingStyle):
(EditingDelegate::webViewDidChangeSelection):
(EditingDelegate::checkSpellingOfString):
(EditingDelegate::onNotify):

  • DumpRenderTree/win/EditingDelegate.h:
3:42 PM Changeset in webkit [178964] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Reset LineState when starting a new line.
https://bugs.webkit.org/show_bug.cgi?id=140789

Reviewed by Antti Koivisto.

Reset LineState when starting a new line to ensure we always
start with a clean state.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::updateLineConstrains):
(WebCore::SimpleLineLayout::initializeNewLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::createTextRuns):

3:35 PM Changeset in webkit [178963] by roger_fong@apple.com
  • 12 edits
    15 adds in trunk

[WebGL2] Create empty interface files for new WebGL2 objects.
https://bugs.webkit.org/show_bug.cgi?id=140779.
<rdar://problem/15002288>

Reviewed by Dean Jackson.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/canvas/WebGLQuery.cpp: Added.

(WebCore::WebGLQuery::create):
(WebCore::WebGLQuery::~WebGLQuery):
(WebCore::WebGLQuery::WebGLQuery):
(WebCore::WebGLQuery::deleteObjectImpl):

  • html/canvas/WebGLQuery.h: Added.
  • html/canvas/WebGLQuery.idl: Added.
  • html/canvas/WebGLSampler.cpp: Added.

(WebCore::WebGLSampler::create):
(WebCore::WebGLSampler::~WebGLSampler):
(WebCore::WebGLSampler::WebGLSampler):
(WebCore::WebGLSampler::deleteObjectImpl):

  • html/canvas/WebGLSampler.h: Added.
  • html/canvas/WebGLSampler.idl: Added.
  • html/canvas/WebGLSharedObject.h:

(WebCore::WebGLSharedObject::isQuery):
(WebCore::WebGLSharedObject::isSampler):
(WebCore::WebGLSharedObject::isSync):
(WebCore::WebGLSharedObject::isTransformFeedback):
(WebCore::WebGLSharedObject::isVertexArrayObject):

  • html/canvas/WebGLSync.cpp: Added.

(WebCore::WebGLSync::create):
(WebCore::WebGLSync::~WebGLSync):
(WebCore::WebGLSync::WebGLSync):
(WebCore::WebGLSync::deleteObjectImpl):

  • html/canvas/WebGLSync.h: Added.
  • html/canvas/WebGLSync.idl: Added.
  • html/canvas/WebGLTransformFeedback.cpp: Added.

(WebCore::WebGLTransformFeedback::create):
(WebCore::WebGLTransformFeedback::~WebGLTransformFeedback):
(WebCore::WebGLTransformFeedback::WebGLTransformFeedback):
(WebCore::WebGLTransformFeedback::deleteObjectImpl):

  • html/canvas/WebGLTransformFeedback.h: Added.
  • html/canvas/WebGLTransformFeedback.idl: Added.
  • html/canvas/WebGLVertexArrayObject.cpp: Added.

(WebCore::WebGLVertexArrayObject::create):
(WebCore::WebGLVertexArrayObject::~WebGLVertexArrayObject):
(WebCore::WebGLVertexArrayObject::WebGLVertexArrayObject):
(WebCore::WebGLVertexArrayObject::deleteObjectImpl):

  • html/canvas/WebGLVertexArrayObject.h: Added.
  • html/canvas/WebGLVertexArrayObject.idl: Added.
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
3:35 PM Changeset in webkit [178962] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.15.1/Source/WebKit2

Merged r178958. rdar://problem/19438402

3:34 PM Changeset in webkit [178961] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitLibraries

[iOS] Fix build for external iphoneos SDK

Reviewed by Daniel Bates.

  • WebKitSystemInterface.h: Remove import of the

<IOSurface/IOSurface.h> header, and add a typedef for
IOSurfaceRef in its place.

3:32 PM Changeset in webkit [178960] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.15.1/Source

Versioning.

3:30 PM Changeset in webkit [178959] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.15.1

New tag.

3:21 PM Changeset in webkit [178958] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

UserData decoding of WKTypeRefWrapper always fails
https://bugs.webkit.org/show_bug.cgi?id=140791
<rdar://problem/19438402>

Reviewed by Anders Carlsson.

  • Shared/mac/ObjCObjectGraph.mm:

(WebKit::ObjCObjectGraph::decode):
Add a missing break.

3:20 PM Changeset in webkit [178957] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Skip another copy of oes-vertex-array-object test, because it has the same problems
as the old one.

  • platform/mac/TestExpectations:
3:16 PM Changeset in webkit [178956] by Brent Fulgham
  • 18 edits
    12 adds
    1 delete in trunk/LayoutTests

[Win] Unreviewed test gardening.

Clean up editing-related tests and rebaseline some output.

  • platform/win/TestExpectations:
  • platform/win/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt:
  • platform/win/editing/input/reveal-caret-of-multiline-input-expected.txt:
  • platform/win/editing/inserting/4960120-1-expected.txt:
  • platform/win/editing/inserting/break-blockquote-after-delete-expected.txt:
  • platform/win/editing/inserting/insert-3907422-fix-expected.txt: Removed.
  • platform/win/editing/pasteboard/4641033-expected.txt: Added.
  • platform/win/editing/pasteboard/4944770-1-expected.txt: Added.
  • platform/win/editing/pasteboard/4944770-2-expected.txt: Added.
  • platform/win/editing/pasteboard/drop-text-without-selection-expected.txt: Added.
  • platform/win/editing/selection/3690703-2-expected.txt:
  • platform/win/editing/selection/3690703-expected.txt:
  • platform/win/editing/selection/3690719-expected.txt:
  • platform/win/editing/selection/4975120-expected.txt: Added.
  • platform/win/editing/selection/5240265-expected.txt:
  • platform/win/editing/selection/caret-before-select-expected.txt: Added.
  • platform/win/editing/selection/caret-rtl-2-expected.txt: Added.
  • platform/win/editing/selection/caret-rtl-2-left-expected.txt:
  • platform/win/editing/selection/caret-rtl-expected.txt: Added.
  • platform/win/editing/selection/caret-rtl-right-expected.txt:
  • platform/win/editing/selection/drag-select-1-expected.txt: Added.
  • platform/win/editing/selection/mixed-editability-10-expected.txt:
  • platform/win/editing/selection/replaced-boundaries-3-expected.txt: Added.
  • platform/win/editing/selection/select-box-expected.txt: Added.
  • platform/win/editing/selection/select-element-paragraph-boundary-expected.txt: Added.
  • platform/win/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/win/editing/selection/selection-button-text-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt:
  • platform/win/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
3:13 PM Changeset in webkit [178955] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Fix remaining multiple targets per rule issues in DerivedSources.make
https://bugs.webkit.org/show_bug.cgi?id=140790

Reviewed by David Kilzer.

Fix remaining multiple target per rule issues in DerivedSources.make,
similarly to Bug 140784 and Bug 140756.

This was causing us to run scripts several times to generate the same
files and may lead to malformed files in case of concurrency.

  • DerivedSources.make:
3:12 PM Changeset in webkit [178954] by rniwa@webkit.org
  • 17 edits in trunk

Add a build flag for ES6 class syntax
https://bugs.webkit.org/show_bug.cgi?id=140760

Reviewed by Michael Saboff.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

Added ES6_CLASS_SYNTAX build flag and used it in tokenizer to recognize
"class", "extends", "static" and "super" keywords.

  • Configurations/FeatureDefines.xcconfig:
  • parser/Keywords.table:
  • parser/ParserTokens.h:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
3:09 PM Changeset in webkit [178953] by Joseph Pecoraro
  • 2 edits in trunk/LayoutTests

Unreviewed, skip flakey inspector test.

2:23 PM Changeset in webkit [178952] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

SVGNames.cpp and HTMLNames.cpp are sometimes malformed
https://bugs.webkit.org/show_bug.cgi?id=140784
<rdar://problem/17701233>

Reviewed by David Kilzer.

Due to bad rules in DerivedSources.make, make_names.pl was called
several times with the same arguments during build. This is because
SVG/HTML/MathML each had several targets associated to the same
command. This would cause the command (make_names.pl) to be called
once per target. However, make_names.pl only needs to be executed
once to generate all of the files currently marked as target.

Calling make_names.pl several times for the same files is not only
wasteful, but it can also lead to malformed generated files if the
scripts instances are executed in parallel as they will read / write
from / to the same files.

This patch uses INTERMEDIATE targets instead so that we can still
indicate which files are generated by make_names.pl but only run
the script once.

This is a similar fix as for Bug 140756. There may several other
similar issues in DerivedSources.make but this patch focuses on
make_names.pl. I will take care of other in follow-ups if needed.

  • DerivedSources.make:
2:21 PM Changeset in webkit [178951] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Have Counter::create() return a Ref<Counter>
https://bugs.webkit.org/show_bug.cgi?id=140777

Reviewed by Andreas Kling.

Have Counter::create() return a Ref<Counter> instead of a PassRefPtr.

The CSSPrimitiveValue class needed some updates as well to support
constructing a CSSPrimitiveValue object from a Ref<>.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::init):

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::create):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/Counter.h:

(WebCore::Counter::create):
(WebCore::Counter::cloneForCSSOM):

2:20 PM Changeset in webkit [178950] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r178426. rdar://problem/19526069

2:19 PM Changeset in webkit [178949] by Chris Dumez
  • 21 edits
    4 deletes in trunk/Source

Drop the legacy FeatureCounter class
https://bugs.webkit.org/show_bug.cgi?id=140749

Reviewed by Andreas Kling.

Drop the legacy FeatureCounter class and use DiagnosticLoggingClient
instead.

Source/WebCore:

  • CMakeLists.txt:
  • Configurations/WebCore.xcconfig:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::mustRevalidateDueToCacheHeaders):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::logMemoryCacheResourceRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::mustRevalidateIsExpiredKey):
(WebCore::DiagnosticLoggingKeys::playedKey):
(WebCore::DiagnosticLoggingKeys::noCacheKey):
(WebCore::DiagnosticLoggingKeys::noStoreKey):
(WebCore::DiagnosticLoggingKeys::notInMemoryCacheKey):
(WebCore::DiagnosticLoggingKeys::mediaKey):
(WebCore::DiagnosticLoggingKeys::isExpiredKey):
(WebCore::DiagnosticLoggingKeys::loadingKey):
(WebCore::DiagnosticLoggingKeys::inMemoryCacheKey):
(WebCore::DiagnosticLoggingKeys::reasonKey):
(WebCore::DiagnosticLoggingKeys::audioKey):
(WebCore::DiagnosticLoggingKeys::cachedResourceRevalidationKey):
(WebCore::DiagnosticLoggingKeys::resourceRequestKey):
(WebCore::DiagnosticLoggingKeys::revalidatingKey):
(WebCore::DiagnosticLoggingKeys::unusedKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonCredentialSettingsKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonErrorKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonMustRevalidateNoValidatorKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonNoStoreKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonRedirectChainKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonReloadKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonTypeMismatchKey):
(WebCore::DiagnosticLoggingKeys::usedKey):
(WebCore::DiagnosticLoggingKeys::userKey):
(WebCore::DiagnosticLoggingKeys::videoKey):
(WebCore::DiagnosticLoggingKeys::webViewKey):
(WebCore::DiagnosticLoggingKeys::zoomedKey):

  • page/DiagnosticLoggingKeys.h:
  • page/Settings.in:
  • platform/FeatureCounter.cpp: Removed.
  • platform/FeatureCounter.h: Removed.
  • platform/FeatureCounterKeys.h: Removed.
  • platform/ios/FeatureCounter.mm: Removed.

Source/WebKit2:

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

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _featureCounterEnabled]):
(-[WKWebViewConfiguration _setFeatureCounterEnabled:]):

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

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::willStartUserTriggeredZooming):

2:17 PM Changeset in webkit [178948] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

When extending the fallback transitions with their closure, we are modifying the Set while iterating it
https://bugs.webkit.org/show_bug.cgi?id=140785

Reviewed by Andreas Kling.

  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::populateTransitions):
Make that in two steps: accumulate the fallback transitions then add the closure
of every element.

2:16 PM Changeset in webkit [178947] by matthew_hanson@apple.com
  • 5 edits
    5 adds in branches/safari-600.5-branch

Merge r178038. rdar://problem/19451263

2:16 PM Changeset in webkit [178946] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit/mac

Merge r177611. rdar://problem/19451361

2:16 PM Changeset in webkit [178945] by matthew_hanson@apple.com
  • 1 edit
    5 adds in branches/safari-600.5-branch/LayoutTests

Merge r177408. rdar://problem/19451330

2:16 PM Changeset in webkit [178944] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r177360. rdar://problem/19451319

2:13 PM Changeset in webkit [178943] by ap@apple.com
  • 2 edits in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=140755
rdar://problem/7881290

  • http/tests/appcache/404-resource-with-slow-main-resource.php: Try updating the

tiemout, as it's not sufficient for appcache load to fail on some bots.

  • http/tests/appcache/404-resource-with-slow-main-resource.php:
2:02 PM Changeset in webkit [178942] by matthew_hanson@apple.com
  • 3 edits
    5 adds in branches/safari-600.5-branch

Merge r177292. rdar://problem/19452139

2:02 PM Changeset in webkit [178941] by matthew_hanson@apple.com
  • 18 edits in branches/safari-600.5-branch/Source

Merge r177152. rdar://problem/19451288

1:57 PM Changeset in webkit [178940] by Antti Koivisto
  • 118 edits
    2 moves in trunk/Source

Rename SimpleFontData to Font
https://bugs.webkit.org/show_bug.cgi?id=140496

Reviewed by Zalan Bujtas.

The fallback supporting Font type was renamed FontCascade.
We can now rename SimpleFontData to Font matching the usual definition.

1:54 PM Changeset in webkit [178939] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Make trailing whitespace handling more explicit.
https://bugs.webkit.org/show_bug.cgi?id=140776

Reviewed by Antti Koivisto.

Differentiate between committed and uncommitted trailing whitespace.
This enables further cleanup in removeTrailingWhitespace().

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::commitAndCreateRun):
(WebCore::SimpleLineLayout::LineState::addUncommitted):
(WebCore::SimpleLineLayout::LineState::hasWhitespaceOnly):
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::LineState::LineState): Deleted.
(WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace): Deleted.
(WebCore::SimpleLineLayout::LineState::resetTrailingWhitespace): Deleted.

1:40 PM Changeset in webkit [178938] by Beth Dakin
  • 6 edits in trunk/Source

ibtoold crash below -[WebView close]
https://bugs.webkit.org/show_bug.cgi?id=140782
-and corresponding-
rdar://problem/19558472

Reviewed by Tim Horton.

Retain the NSImmediateActionGestureRecognizer. This should not be necessary, but
Source/WebKit/mac:

it is because interface builder is messing with our views.

  • WebView/WebImmediateActionController.h:
  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController webViewClosed]):
(-[WebImmediateActionController _cancelImmediateAction]):
(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController _updateImmediateActionItem]):

Source/WebKit2:

it is because interface builder can mess with our views.

  • UIProcess/mac/WKImmediateActionController.h:
  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController willDestroyView:]):
(-[WKImmediateActionController _cancelImmediateAction]):
(-[WKImmediateActionController _cancelImmediateActionIfNeeded]):
(-[WKImmediateActionController _updateImmediateActionItem]):

1:04 PM Changeset in webkit [178937] by ap@apple.com
  • 6 edits
    2 adds in trunk

Crash in URL::protocol() after appcache load fails
https://bugs.webkit.org/show_bug.cgi?id=140755
rdar://problem/7881290

Reviewed by Dan Bates.

Source/WebCore:

Test: http/tests/appcache/404-resource-with-slow-main-resource.php

Not every cache that isn't being updated is complete. It could also be in a zombie
state after failing to load. We get rid of the cache once the main resource finishes
loading, but while it's being loaded, the zombie still looks like a regular
candidate application cache.

  • loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::isComplete):
  • loader/appcache/ApplicationCache.h:

Removed const from isComplete(), because otherwise we couldn't use ApplicationCacheGroup::m_caches.contains().
Constness doesn't make a lot of sense for these objects anyway.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::failedLoadingMainResource): Toned down an assertion.
We can fail a main resource load when the document has a zombie appcache, too.

  • loader/appcache/ApplicationCacheGroup.h:

(WebCore::ApplicationCacheGroup::cacheIsComplete):
(WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): Deleted.
These functions are only used in ApplicationCache::isComplete().

LayoutTests:

  • http/tests/appcache/404-resource-with-slow-main-resource-expected.txt: Added.
  • http/tests/appcache/404-resource-with-slow-main-resource.php: Added.
12:35 PM Changeset in webkit [178936] by matthew_hanson@apple.com
  • 3 edits
    5 adds in branches/safari-600.5-branch

Merge r177033. rdar://problem/19451244

12:34 PM Changeset in webkit [178935] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit/mac

Merge r177011. rdar://problem/19451253

12:34 PM Changeset in webkit [178934] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WTF

Merge r176982. rdar://problem/19452174

12:34 PM Changeset in webkit [178933] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r176971. rdar://problem/19452174

12:34 PM Changeset in webkit [178932] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r176768. rdar://problem/19451369

12:03 PM Changeset in webkit [178931] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r176285. rdar://problem/19452164

12:01 PM Changeset in webkit [178930] by g.czajkowski@samsung.com
  • 2 edits in trunk/Source/WebCore

Avoid defining always empty Vector<TextCheckingResult>
https://bugs.webkit.org/show_bug.cgi?id=140765

Reviewed by Alexey Proskuryakov.

Pass an empty vector direclty instead.

No new tests. No behavior change.

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::didCheckCancel):

11:38 AM Changeset in webkit [178929] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

makeprop.pl script is called too many times during build
https://bugs.webkit.org/show_bug.cgi?id=140756
<rdar://problem/19467942>

Reviewed by David Kilzer.

The makeprop.pl script was called 4 times (instead of once) during
build due to a bad Makefile rule in DerivedSources.make. makeprop.pl
had 4 associated targets and thus was called 4 times (with the same
parameter). Calling it once is sufficient to generate all 4 files
that were marked as target. This patch uses an INTERMEDIATE target
instead so that we can indicate that several files are generated
by the same command.

I believe this may be the reason for the sporatic build failures
that look like:
"""
CSSPropertyNames.gperf: No keywords in input file!
calling gperf failed: 256 at WebCore/css/makeprop.pl line 1036.
"""
The makeprop.pl script is generating gperf's input file and calling the
gperf executable on this file. If the script is executed several times
in parallel, it would explain the build failures as several instances
of makeprop.pl may be writing / reading from the same
CSSPropertyNames.gperf file.

  • DerivedSources.make:
11:34 AM Changeset in webkit [178928] by commit-queue@webkit.org
  • 31 edits
    3 deletes in trunk

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

Broke JSC and bindings tests (Requested by ap_ on #webkit).

Reverted changeset:

"put_by_val_direct need to check the property is index or not
for using putDirect / putDirectIndex"
https://bugs.webkit.org/show_bug.cgi?id=140426
http://trac.webkit.org/changeset/178894

11:27 AM Changeset in webkit [178927] by ddkilzer@apple.com
  • 9 edits
    2 copies
    1 add in trunk/Source

[iOS] Fix iphoneos SDK builds for ios-ews queue
<http://webkit.org/b/140748>

Reviewed by Daniel Bates.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Add new SPI headers.
  • platform/graphics/cg/ImageBufferCG.cpp: Switch to using

"IOSurfaceSPI.h" from <IOSurface/IOSurface.h>.

  • platform/graphics/cg/ImageBufferDataCG.cpp: Ditto.
  • platform/graphics/cocoa/IOSurface.mm: Ditto. Move definitions

in <IOSurface/IOSurfacePrivate.h> into "IOSurfaceSPI.h".

  • platform/spi/cg/CoreGraphicsSPI.h: Switch to

WTF_EXTERN_C_{BEGIN,END}. Add
CGContextGetFontAntialiasingStyle() and
CGContextSetFontAntialiasingStyle().

  • platform/spi/cocoa/IOPMLibSPI.h: Switch to use IOReturnSPI.h.
  • platform/spi/cocoa/IOReturnSPI.h: Add.
  • platform/spi/cocoa/IOSurfaceSPI.h: Add.
  • platform/spi/cocoa/IOTypesSPI.h: Add.

Source/WebKit2:

  • Platform/spi/ios/BKSProcessAssertionSPI.h: Add -invalidate

definition. Sort @property to the top of BKSProcessAssertion.

11:05 AM Changeset in webkit [178926] by mark.lam@apple.com
  • 5 edits
    3 adds in trunk

BytecodeGenerator::initializeCapturedVariable() sets a misleading value for the 5th operand of op_put_to_scope.
<https://webkit.org/b/140743>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

BytecodeGenerator::initializeCapturedVariable() was setting the 5th operand to
op_put_to_scope to an inappropriate value (i.e. 0). As a result, the execution
of put_to_scope could store a wrong inferred value into the VariableWatchpointSet
for which ever captured variable is at local index 0. In practice, this turns
out to be the local for the Arguments object. In this reproduction case in the
bug, the wrong inferred value written there is the boolean true.

Subsequently, DFG compilation occurs and CreateArguments is emitted to first do
a check of the local for the Arguments object. But because that local has a
wrong inferred value, the check always discovers a non-null value and we never
actually create the Arguments object. Immediately after this, an OSR exit
occurs leaving the Arguments object local uninitialized. Later on at arguments
tear off, we run into a boolean true where we had expected to find an Arguments
object, which in turn, leads to the crash.

The fix is to:

  1. In the case where the resolveModeType is LocalClosureVar, change the 5th operand of op_put_to_scope to be a boolean. True means that the local var is watchable. False means it is not watchable. We no longer pass the local index (instead of true) and UINT_MAX (instead of false).

This allows us to express more clearer in the code what that value means,
as well as remove the redundant way of getting the local's identifier.
The identifier is always the one passed in the 2nd operand.

  1. Previously, though intuitively, we know that the watchable variable identifier should be the same as the one that is passed in operand 2, this relationship was not clear in the code. By code analysis, I confirmed that the callers of BytecodeGenerator::emitPutToScope() always use the same identifier for operand 2 and for filling out the ResolveScopeInfo from which we get the watchable variable identifier later. I've changed the code to make this clear now by always using the identifier passed in operand 2.
  1. In the case where the resolveModeType is LocalClosureVar, initializeCapturedVariable() and emitPutToScope() will now query hasWatchableVariable() to determine if the local is watchable or not. Accordingly, we pass the boolean result of hasWatchableVariable() as operand 5 of op_put_to_scope.

Also added some assertions.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::initializeCapturedVariable):
(JSC::BytecodeGenerator::hasConstant):
(JSC::BytecodeGenerator::emitPutToScope):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::hasWatchableVariable):
(JSC::BytecodeGenerator::watchableVariableIdentifier):
(JSC::BytecodeGenerator::watchableVariable): Deleted.

LayoutTests:

  • js/dfg-osr-exit-between-create-and-tearoff-arguments-expected.txt: Added.
  • js/dfg-osr-exit-between-create-and-tearoff-arguments.html: Added.
  • js/script-tests/dfg-osr-exit-between-create-and-tearoff-arguments.js: Added.

(foo):

10:51 AM Changeset in webkit [178925] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS] run-webkit-tests --ios-sim dies with an error; fails to parse Apple Internal
runtime in simctl output
https://bugs.webkit.org/show_bug.cgi?id=140751

Reviewed by David Kilzer.

Following the fix for <rdar://problem/19444383>, run-webkit-tests --ios-sim dies
with an error because it does not know how to parse the output of the simctl tool
to identify an Apple Internal runtime.

  • Scripts/webkitpy/xcode/simulator.py:

(Runtime.init): Add parameter is_internal_runtime (defaults to False).
(Runtime.eq): Take is_internal_runtime when comparing two Runtime objects for equality.
(Runtime.repr): Update printable representation of Runtime object to indicate whether
the runtime is an internal runtime.
(Simulator): Update regular expressions runtime_re and version_re to match an internal runtime.
(Simulator._parse_runtimes): Pass is_internal_runtime to the Runtime constructor with the
appropriate value.
(Simulator._parse_devices): Pass argument is_internal_runtime to Simulator.runtime() so that
it updates the appropriate Runtime object.
(Simulator.runtime): Added optional parameter, is_internal_runtime. Modified to support
looking up a Runtime object for an internal runtime.

10:47 AM Changeset in webkit [178924] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r175771. rdar://problem/19451238

10:47 AM Changeset in webkit [178923] by matthew_hanson@apple.com
  • 7 edits in branches/safari-600.5-branch/Source/WebKit2

Merge r175759. rdar://problem/19450899

10:47 AM Changeset in webkit [178922] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-600.5-branch

Merge r175131. rdar://problem/19452187

10:46 AM Changeset in webkit [178921] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r174716. rdar://problem/19451273

10:46 AM Changeset in webkit [178920] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch

Merge r174698. rdar://problem/19451342

10:25 AM Changeset in webkit [178919] by Brent Fulgham
  • 8 edits
    5 adds in trunk/LayoutTests

[Win] More unskips and rebaselines.

  • platform/win/TestExpectations:
  • platform/win/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
  • platform/win/fast/repaint/repaint-across-writing-mode-boundary-expected.txt:
  • platform/win/inspector-protocol: Added.
  • platform/win/inspector-protocol/debugger: Added.
  • platform/win/inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt: Added.
  • platform/win/inspector-protocol/debugger/setBreakpoint-actions-expected.txt: Added.
  • platform/win/inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local-expected.txt: Added.
  • platform/win/svg/text/kerning-expected.txt:
  • platform/win/svg/text/multichar-glyph-expected.txt:
  • platform/win/svg/transforms/text-with-mask-with-svg-transform-expected.png:
  • platform/win/svg/transforms/text-with-mask-with-svg-transform-expected.txt:
10:07 AM Changeset in webkit [178918] by rniwa@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

PropertyListNode::emitNode duplicates the code to put a constant property
https://bugs.webkit.org/show_bug.cgi?id=140761

Reviewed by Geoffrey Garen.

Extracted PropertyListNode::emitPutConstantProperty to share the code.

Also made PropertyListNode::emitBytecode private since nobody is calling this function directly.

  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitBytecode):
(JSC::PropertyListNode::emitPutConstantProperty): Added.

  • parser/Nodes.h:
9:59 AM Changeset in webkit [178917] by ap@apple.com
  • 2 edits in trunk/Tools

LeaksViewer doesn't show recent builds if there are less than 10
https://bugs.webkit.org/show_bug.cgi?id=140716

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/RecentBuildsLoader.js:
9:21 AM Changeset in webkit [178916] by Brent Fulgham
  • 3 edits in trunk/WebKitLibraries

[Win] Unreviewed gardening.

Activate ENABLE(MOUSE_CURSOR_SCALE). This works on Windows and causes more tests to pass.

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
5:46 AM Changeset in webkit [178915] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

Fix up slave distribution for Apple bots.

5:14 AM Changeset in webkit [178914] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

Fix json.

5:12 AM Changeset in webkit [178913] by Lucas Forschler
  • 2 edits in trunk/Tools

Add Apple build slaves.
Fixed text alignment for slave list.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
4:22 AM Changeset in webkit [178912] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/LayoutTests

AX: [ATK] Mark accessibility/list-detection.html as a suitable test for EFL and GTK.
https://bugs.webkit.org/show_bug.cgi?id=140721

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-22
Reviewed by Chris Fleizach.

The test checks the heuristic to determine if a 'list' is really a list.
In the area of ATK a role for description list has been separated from the role AXList.
This made the test stopped giving positive results for ports EFL and GTK.
The proposed amendment restores test for these ports.

  • accessibility/list-detection.html:
  • platform/efl/TestExpectations:
  • platform/efl/accessibility/list-detection-expected.txt: Added.
  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/list-detection-expected.txt: Added.
2:35 AM WebKitGTK/Roadmap edited by Carlos Garcia Campos
(diff)
2:23 AM Changeset in webkit [178911] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Expected gutter highlight when selecting console input line, just like output line
https://bugs.webkit.org/show_bug.cgi?id=140696

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-01-22
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.css:
2:21 AM Changeset in webkit [178910] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/UIProcess module
https://bugs.webkit.org/show_bug.cgi?id=140758

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-22
Reviewed by Csaba Osztrogonác.

Fix build warnings by using UNUSED_PARAM macro

  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserContentFilter):
(WKPageGroupRemoveAllUserContentFilters):

2:18 AM WebKitGTK/Roadmap edited by Carlos Garcia Campos
(diff)
2:09 AM Changeset in webkit [178909] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merge r174381. rdar://problem/19450841

2:08 AM Changeset in webkit [178908] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WTF

Merge r174377. rdar://problem/19451247

2:08 AM Changeset in webkit [178907] by matthew_hanson@apple.com
  • 8 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merge r174371. rdar://problem/19450845

2:08 AM Changeset in webkit [178906] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r174345. rdar://problem/19451258

2:08 AM Changeset in webkit [178905] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r173790. rdar://problem/19451354

2:04 AM WebKitGTK/Roadmap edited by philn@igalia.com
(diff)
1:32 AM Changeset in webkit [178904] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r173688. rdar://problem/19451277

1:31 AM Changeset in webkit [178903] by matthew_hanson@apple.com
  • 4 edits
    32 adds in branches/safari-600.5-branch

Merge r172797. rdar://problem/19451324

1:31 AM Changeset in webkit [178902] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit

Merge r172509. rdar://problem/19451367

1:31 AM Changeset in webkit [178901] by matthew_hanson@apple.com
  • 6 edits
    2 adds in branches/safari-600.5-branch

Merge r172504. rdar://problem/19451367

1:31 AM Changeset in webkit [178900] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.5-branch

Merge r172326. rdar://problem/19452126

1:11 AM Changeset in webkit [178899] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r171404. rdar://problem/19451349

1:11 AM Changeset in webkit [178898] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r171392. rdar://problem/19451349

1:11 AM Changeset in webkit [178897] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r171388. rdar://problem/19451349

1:11 AM Changeset in webkit [178896] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r171385. rdar://problem/19451349

12:56 AM Changeset in webkit [178895] by svillar@igalia.com
  • 4 edits
    2 adds in trunk

[CSS Grid Layout] Skip items spanning flex tracks when sizing content based tracks
https://bugs.webkit.org/show_bug.cgi?id=140720

Reviewed by David Hyatt.

Source/WebCore:

Section "11.5. Resolve Intrinsic Track Sizes" of the specs forces
us to ignore items spanning tracks with flex sizing functions when
resolving the content-based track sizing functions. Items with
span < 2 are not affected by this rule (as they will belong to a
single track). This way the algorithm ensures that min-content and
max-content restrictions are fulfilled before distributing the
extra space.

Test: fast/css-grid-layout/flex-and-content-sized-resolution-columns.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::spanningItemCrossesFlexibleSizedTracks):
(WebCore::integerSpanForDirection):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):

  • rendering/RenderGrid.h:

LayoutTests:

  • fast/css-grid-layout/flex-and-content-sized-resolution-columns-expected.txt: Added.
  • fast/css-grid-layout/flex-and-content-sized-resolution-columns.html: Added.
12:54 AM Changeset in webkit [178894] by Yusuke Suzuki
  • 31 edits
    3 adds in trunk

put_by_val_direct need to check the property is index or not for using putDirect / putDirectIndex
https://bugs.webkit.org/show_bug.cgi?id=140426

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

In the put_by_val_direct operation, we use JSObject::putDirect.
However, it only accepts non-index property. For index property, we need to use JSObject::putDirectIndex.
This patch changes Identifier::asIndex() to return Optional<uint32_t>.
It forces callers to check the value is index or not explicitly.
Additionally, it checks toString-ed Identifier is index or not to choose putDirect / putDirectIndex.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitDirectPutById):

  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

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

(JSC::emitPutTransitionStubAndGetOldStructure):

  • jsc.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::getOwnPropertySlot):
(JSC::Arguments::put):
(JSC::Arguments::deleteProperty):
(JSC::Arguments::defineOwnProperty):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncSort):

  • runtime/JSArray.cpp:

(JSC::JSArray::defineOwnProperty):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitive):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot):
(JSC::JSGenericTypedArrayView<Adaptor>::put):
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty):

  • runtime/JSObject.cpp:

(JSC::JSObject::put):
(JSC::JSObject::putDirectAccessor):
(JSC::JSObject::putDirectCustomAccessor):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::putDirectMayBeIndex):
(JSC::JSObject::defineOwnProperty):

  • runtime/JSObject.h:

(JSC::JSObject::getOwnPropertySlot):
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::putDirectInternal):

  • runtime/JSString.cpp:

(JSC::JSString::getStringPropertyDescriptor):

  • runtime/JSString.h:

(JSC::JSString::getStringPropertySlot):

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::parse):

  • runtime/PropertyName.h:

(JSC::toUInt32FromCharacters):
(JSC::toUInt32FromStringImpl):
(JSC::PropertyName::asIndex):

  • runtime/PropertyNameArray.cpp:

(JSC::PropertyNameArray::add):

  • runtime/StringObject.cpp:

(JSC::StringObject::deleteProperty):

  • runtime/Structure.cpp:

(JSC::Structure::prototypeChainMayInterceptStoreTo):

Source/WebCore:

Test: js/dfg-put-by-val-direct-with-edge-numbers.html

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::item):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateImplementation):

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

(WebCore::JSFloat64Array::getOwnPropertySlot):
(WebCore::JSFloat64Array::getOwnPropertyDescriptor):
(WebCore::JSFloat64Array::put):

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

(WebCore::JSTestEventTarget::getOwnPropertySlot):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::put):

LayoutTests:

  • js/dfg-put-by-val-direct-with-edge-numbers-expected.txt: Added.
  • js/dfg-put-by-val-direct-with-edge-numbers.html: Added.
  • js/script-tests/dfg-put-by-val-direct-with-edge-numbers.js: Added.

(lookupWithKey):
(dfgShouldThrow):
(lookupWithKey2):
(toStringThrowsError.toString):

12:36 AM Changeset in webkit [178893] by svillar@igalia.com
  • 6 edits in trunk

[CSS Grid Layout] Size tracks using a list of all items sorted by span
https://bugs.webkit.org/show_bug.cgi?id=140615

Reviewed by Andreas Kling.

Source/WebCore:

In r173620 we fixed
RenderGrid::resolveContentBasedTrackSizingFunctions() so that it
now collects all items spanning content-sized tracks and process
them one by one after sorting them by ascending span.

The problem is that it was incorrectly implemented, it has two
important bugs. First one is that the hash table that collects
items is regenerated after processing each track, so it's actually
doing nothing. Secondly we're only sorting the items on each
track, instead of all the items in the grid.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):

LayoutTests:

  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:

Added tons of new test cases.

  • fast/css-grid-layout/grid-content-sized-columns-resolution.html: Ditto.
  • fast/css-grid-layout/grid-preferred-logical-widths.html:

Adjusted results.

12:30 AM Changeset in webkit [178892] by Carlos Garcia Campos
  • 11 edits in trunk/Source/WebKit2

[GTK] Use API::ContextMenuClient and API::InjectedBundle::PageContextMenuClient classes
https://bugs.webkit.org/show_bug.cgi?id=138467

Reviewed by Gustavo Noronha Silva.

  • UIProcess/API/gtk/WebKitContextMenu.cpp:

(webkitContextMenuPopulate): Add a version that receives a Vector<WebContextMenuItemData>&.
(webkitContextMenuCreate): Change it to receive a const
Vector<WebContextMenuItemData>& instead of a API::Array* and also
add a another version that receives const Vector<ContextMenuItem>&.

  • UIProcess/API/gtk/WebKitContextMenuClient.cpp:

(attachContextMenuClientToView): Use a class derived from
API::ContextMenuClient to implement the context menu client.
(getContextMenuFromProposedMenu): Deleted.

  • UIProcess/API/gtk/WebKitContextMenuItem.cpp:

(webkitContextMenuItemCreate): Change it to receive a const
WebContextMenuItemData& and added another version that receives a
const ContextMenuItem&.

  • UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
  • UIProcess/API/gtk/WebKitContextMenuPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewPopulateContextMenu): Remove the creation of a
WebHitTestResult::Data, since it receives it now as parameter.

  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResult.cpp:

(webkitWebHitTestResultCreate): Change it to receive a const
HitTestResult& instead of const InjectedBundleHitTestResult&.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResultPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkitWebPageCreate): Use a class derived from
API::InjectedBundle::PageContextMenuClient to implement the
context menu client.
(getContextMenuFromDefaultMenu): Deleted.

12:05 AM Changeset in webkit [178891] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Try to fix Debug build after r178889.

  • UIProcess/API/C/WKPage.cpp: Include Logging.h.
12:02 AM Changeset in webkit [178890] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r171357. rdar://problem/19451349

Jan 21, 2015:

11:53 PM Changeset in webkit [178889] by Carlos Garcia Campos
  • 13 edits
    1 copy
    1 move
    1 delete in trunk/Source/WebKit2

Add API::ContextMenuClient and API::InjectedBundle::PageContextMenuClient classes
https://bugs.webkit.org/show_bug.cgi?id=138466

Reviewed by Anders Carlsson.

Move ContextMenuClient to use API classes in both UI and Injected
Bundle APIs.

  • CMakeLists.txt: Remove WebPageContextMenuClient.cpp.
  • UIProcess/API/APIContextMenuClient.h: Renamed from Source/WebKit2/UIProcess/WebPageContextMenuClient.h.

(API::ContextMenuClient::~ContextMenuClient):
(API::ContextMenuClient::getContextMenuFromProposedMenu):
(API::ContextMenuClient::customContextMenuItemSelected):
(API::ContextMenuClient::contextMenuDismissed):
(API::ContextMenuClient::showContextMenu):
(API::ContextMenuClient::hideContextMenu):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageContextMenuClient):

  • UIProcess/WebPageContextMenuClient.cpp: Removed.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setContextMenuClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::internalShowContextMenu):
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::initializeContextMenuClient): Deleted.

  • UIProcess/WebPageProxy.h:
  • WebKit2.xcodeproj/project.pbxproj: Remove deleted files and add

new files to compilation.

  • WebProcess/InjectedBundle/API/APIInjectedBundlePageContextMenuClient.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h.

(API::InjectedBundle::PageContextMenuClient::~PageContextMenuClient):
(API::InjectedBundle::PageContextMenuClient::getCustomMenuFromDefaultItems):
(API::InjectedBundle::PageContextMenuClient::prepareForActionMenu):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageSetContextMenuClient):

  • WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:

(WebKit::InjectedBundlePageContextMenuClient::InjectedBundlePageContextMenuClient):
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
(WebKit::InjectedBundlePageContextMenuClient::prepareForActionMenu):

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

(WebKit::WebContextMenu::menuItemsWithUserData):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setInjectedBundleContextMenuClient):
(WebKit::WebPage::close):
(WebKit::WebPage::initializeInjectedBundleContextMenuClient): Deleted.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::injectedBundleContextMenuClient):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):

10:39 PM Changeset in webkit [178888] by rniwa@webkit.org
  • 6 edits
    1 add in trunk/Source/JavaScriptCore

Consolidate out arguments of parseFunctionInfo into a struct
https://bugs.webkit.org/show_bug.cgi?id=140754

Reviewed by Oliver Hunt.

Introduced ParserFunctionInfo for storing out arguments of parseFunctionInfo.

(JSC::ASTBuilder::createFunctionExpr):
(JSC::ASTBuilder::createGetterOrSetterProperty): This one takes a property name in addition to
ParserFunctionInfo since the property name and the function name could differ.
(JSC::ASTBuilder::createFuncDeclStatement):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parseMemberExpression):

  • parser/Parser.h:
  • parser/ParserFunctionInfo.h: Added.
  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createFunctionExpr):
(JSC::SyntaxChecker::createFuncDeclStatement):
(JSC::SyntaxChecker::createClassDeclStatement):
(JSC::SyntaxChecker::createGetterOrSetterProperty):

10:01 PM Changeset in webkit [178887] by Brent Fulgham
  • 14 edits
    4 adds in trunk/LayoutTests

[Win] Rebaseline SVG results from test machine.

  • platform/win/css2.1/20110323/c543-txt-decor-000-expected.png: Added.
  • platform/win/css2.1/20110323/c543-txt-decor-000-expected.txt: Added.
  • platform/win/css2.1/20110323/replaced-elements-001-expected.png: Added.
  • platform/win/css2.1/20110323/replaced-elements-001-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/text-align-08-b-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt:
9:31 PM Changeset in webkit [178886] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Update expectations file for failures on test machine.

  • platform/win/TestExpectations:
8:57 PM Changeset in webkit [178885] by Brent Fulgham
  • 2 edits
    2 adds in trunk/LayoutTests

[Win] Add more tests and baselines.

Stop skipping a number of tests that are fully functional. Add some
Windows baselines.

  • platform/win/TestExpectations:
  • platform/win/printing/setPrinting-expected.txt: Added.
  • platform/win/printing/width-overflow-expected.txt: Added.
6:56 PM Changeset in webkit [178884] by mhahnenb@gmail.com
  • 4 edits in trunk/Source/JavaScriptCore

Change Heap::m_compiledCode to use a Vector
https://bugs.webkit.org/show_bug.cgi?id=140717

Reviewed by Andreas Kling.

Right now it's a DoublyLinkedList, which is iterated during each
collection. This contributes to some of the longish Eden pause times.
A Vector would be more appropriate and would also allow ExecutableBase
to be 2 pointers smaller.

  • heap/Heap.cpp:

(JSC::Heap::deleteAllCompiledCode):
(JSC::Heap::deleteAllUnlinkedFunctionCode):
(JSC::Heap::clearUnmarkedExecutables):

  • heap/Heap.h:
  • runtime/Executable.h: No longer need to inherit from DoublyLinkedListNode.
6:08 PM Changeset in webkit [178883] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] More gardening.

Unskip the flexbox tests. These have been functional in Windows for YEARS!

  • platform/win/TestExpectations:
6:06 PM Changeset in webkit [178882] by rniwa@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

BytecodeGenerator shouldn't expose all of its member variables
https://bugs.webkit.org/show_bug.cgi?id=140752

Reviewed by Mark Lam.

Added "private:" and removed unused data members as detected by clang.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::lastOpcodeID): Added. Used in BinaryOpNode::emitBytecode.

  • bytecompiler/NodesCodegen.cpp:

(JSC::BinaryOpNode::emitBytecode):

6:06 PM Changeset in webkit [178881] by Lucas Forschler
  • 2 edits in trunk/Tools

Teach build.webkit.org about bot308 and bot309.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
5:31 PM Changeset in webkit [178880] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Gardening pass over file.

Convert Skips to Failure wherever possible. Try to delete unnecessary skips/failures.

  • platform/win/TestExpectations:
5:21 PM Changeset in webkit [178879] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r178072. rdar://problem/19395123

5:20 PM Changeset in webkit [178878] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r177329. rdar://problem/19419784

5:19 PM Changeset in webkit [178877] by bshafiei@apple.com
  • 3 edits
    1 copy in branches/safari-600.1.4.15-branch

Merged r177115. rdar://problem/19420090

5:10 PM Changeset in webkit [178876] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

After updating tests to use kerning, ligatures, and printer fonts, some tests fail
https://bugs.webkit.org/show_bug.cgi?id=139968

  • platform/mac/TestExpectations:

Mark svg/custom/svg-fonts-without-missing-glyph.xhtml as flaky.

5:03 PM Changeset in webkit [178875] by commit-queue@webkit.org
  • 4 edits in trunk

Web Inspector: ASSERT expanding objects in console PrimitiveBindingTraits<T>::assertValueHasExpectedType
https://bugs.webkit.org/show_bug.cgi?id=140746

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-21
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

Do not add impure properties to the descriptor object that will
eventually be sent to the frontend.

LayoutTests:

Unskip the test now that is doesn't ASSERT in debug builds.

4:50 PM Changeset in webkit [178874] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the iOS release build after <http://trac.webkit.org/changeset/178868>
(https://bugs.webkit.org/show_bug.cgi?id=140742)

Substitute ASSERT_UNUSED() for ASSERT() since the parameter layer is used only in the assertion expression.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack):

4:22 PM Changeset in webkit [178873] by Lucas Forschler
  • 2 edits in trunk/Tools

Add two Apple Mavericks slaves.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
4:04 PM Changeset in webkit [178872] by dbates@webkit.org
  • 3 edits
    90 deletes in trunk/LayoutTests

Update iOS WebKit2 expected results for compositing tests

Following the patch for bug #140742, <https://bugs.webkit.org/show_bug.cgi?id=140742>, we can remove
all iOS WebKit2-specific expected results that are identical to the platform-independent results.

  • platform/ios-simulator-wk2/TestExpectations: Add WebKit2-specific failures: compositing/reflections/nested-reflection-on-overflow.html

and compositing/repaint/invalidations-on-composited-layers.html.

  • platform/ios-simulator-wk2/compositing/absolute-inside-out-of-view-fixed-expected.txt: Removed.

[...]

  • platform/ios-simulator-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Removed.
  • platform/ios-simulator-wk2/compositing/visibility/layer-visible-content-expected.txt: Removed.
  • platform/ios-simulator-wk2/compositing/visible-rect/3d-transform-style-expected.txt: Removed.
  • platform/ios-simulator/TestExpectations: Remove tests that now pass in both iOS WebKit1 and WebKit2.
3:56 PM WebKitGTK/Roadmap edited by Adrian Perez de Castro
Add link to long-tap context-menu bug (diff)
3:52 PM Changeset in webkit [178871] by dbates@webkit.org
  • 3 edits in trunk/LayoutTests

Update iOS WebKit test expectations for compositing tests

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator/TestExpectations:
3:47 PM WebKitGTK/Roadmap edited by Adrian Perez de Castro
Add link to Python web-extension bug (diff)
3:47 PM Changeset in webkit [178870] by jhoneycutt@apple.com
  • 7 edits in trunk/Source/WebKit2

[iOS] WebKitTestRunner: Tests fail due to incorrect web view size

<https://bugs.webkit.org/show_bug.cgi?id=139736>
<rdar://problem/19282196>

This starts happening after we fail to reset the test controller to
consistent values in TestInvocation::invoke(). When we terminate the
web process and relaunch it, the new WebPage object created in the web
process is using the default ViewportConfiguration with dimensions of
1024x768.

The PageClient on iOS currently notifies the WKWebView and the
WKContentView when the web process is relaunched. This patch extends
that to also notify the WKView.

Reviewed by Benjamin Poulain.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Declare -_didRelaunchProcess.

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
Call the new method that accepts a WKView.
(-[WKView _didRelaunchProcess]):
Call -_frameOrBoundsChanged to update the web process's size to the
size of the WKView.

  • UIProcess/ios/PageClientImplIOS.h:

Add a constructor that takes a WKView, and add a member var to hold it.

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::PageClientImpl):
Implement the constructor that takes a WKView.
(WebKit::PageClientImpl::didRelaunchProcess):
Tell the WKView that the web process relaunched.

  • UIProcess/ios/WKContentView.h:

Declare an initializer that takes a WKView.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
Split out from -[WKContentView initWithFrame:processPool:configuration:webView:].
(-[WKContentView initWithFrame:processPool:configuration:webView:]):
Perform some initialization, including creating the PageClient, and
call the common initializer.
(-[WKContentView initWithFrame:processPool:configuration:wkView:]):
Ditto.

3:44 PM Changeset in webkit [178869] by weinig@apple.com
  • 10 edits in trunk/Source/WebKit2

Add WKPageGroupRef SPI for user content filters
https://bugs.webkit.org/show_bug.cgi?id=140728

Reviewed by Anders Carlsson.

While Safari is transitioning to WKUserContentController, it is useful
for them to have access to have access to content filters on the page group
where they currently have user content related functionality.

  • Shared/WebPageGroupData.cpp:

(WebKit::WebPageGroupData::encode):
(WebKit::WebPageGroupData::decode):

  • Shared/WebPageGroupData.h:
  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserContentFilter):
(WKPageGroupRemoveAllUserContentFilters):

  • UIProcess/API/C/WKPageGroup.h:
  • UIProcess/WebPageGroup.cpp:

(WebKit::WebPageGroup::addUserContentFilter):
(WebKit::WebPageGroup::removeAllUserContentFilters):

  • UIProcess/WebPageGroup.h:
  • WebProcess/WebPage/WebPageGroupProxy.cpp:

(WebKit::WebPageGroupProxy::WebPageGroupProxy):
(WebKit::WebPageGroupProxy::addUserContentFilter):
(WebKit::WebPageGroupProxy::removeAllUserContentFilters):

  • WebProcess/WebPage/WebPageGroupProxy.h:
  • WebProcess/WebPage/WebPageGroupProxy.messages.in:
3:42 PM Changeset in webkit [178868] by dbates@webkit.org
  • 8 edits
    1 delete in trunk

[iOS] Many compositing tests fail in DumpRenderTree due to contentsOpaque difference
https://bugs.webkit.org/show_bug.cgi?id=140742

Reviewed by Simon Fraser.

Source/WebCore:

Make RenderLayerBacking::layerTreeAsText() (including internals.layerTreeAsText()) always
report that the main frame's RenderView layer is opaque when running iOS DumpRenderTree to
avoid test failures and the need to maintain for iOS WebKit1 an almost identical copy of the
platform-independent compositing test results.

The main frame's RenderView layer is always transparent in iOS WebKit1 since it does
not make use of a tiled cache layer and defers to UIKit to handle the final compositing
of the web view, including applying the page scale factor.

  • platform/RuntimeApplicationChecksIOS.mm:

(WebCore::applicationIsDumpRenderTree): The app bundle identifier of DumpRenderTree has
the form org.webkit.DumpRenderTreeX where X is some non-negative integer.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::dumpProperties): Modified to report that a layer is opaque when
GraphicsLayerClient::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack() returns true.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): Added
default implementation (returns false).

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): Added;
returns true when running in DumpRenderTree and the passed GraphicsLayer corresponds to the main frame's
RenderView layer.

  • rendering/RenderLayerBacking.h:

LayoutTests:

Update test expectations and remove an unnecessary test result.

  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/compositing/backing/backface-visibility-flip-expected.txt: Removed.
3:29 PM Changeset in webkit [178867] by dbates@webkit.org
  • 4 edits
    2 adds in trunk

Add iOS WebKit1 TestExpectation file
https://bugs.webkit.org/show_bug.cgi?id=140739

Reviewed by David Kilzer.

Tools:

Teach run-webkit-tests to look for iOS WebKit1-specific test results and
expectations in directory LayoutTests/platform/ios-simulator-wk1.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.default_baseline_search_path):

LayoutTests:

iOS WebKit1 is different enough from iOS WebKit2 that it would benefit from having its
own TestExpectation file. We can work to reduce such differences over time.

  • platform/ios-simulator-wk1/TestExpectations: Added.
  • platform/ios-simulator/TestExpectations: Move iOS WebKit1-specific test expectation from here

to file LayoutTests/platform/ios-simulator-wk1/TestExpectations.

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

[iOS] Update configure-xcode-for-ios-development to copy missing headers to iphoneos SDK
<http://webkit.org/b/140704>

Reviewed by Daniel Bates.

  • Scripts/configure-xcode-for-ios-development:
  • Update copyright.
  • Remove FIXME addressed by r178709.
  • Call copyMissingHeadersToIPhoneOSSDKIfNeeded().

(copyMissingHeadersToIPhoneOSSDKIfNeeded): Add method to copy
missing headers from iphonesimulator SDK to iphoneos SDK.
(sdkDirectory): Add method that returns SDK directory.
(sdkPlatformDirectory): Extract method from
xcodeSDKSpecificationsPath() that returns SDK platform
directory.
(xcodeSDKSpecificationsPath): Update to use
sdkPlatformDirectory().

3:14 PM Changeset in webkit [178865] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

WebGL2 (spec section 3.1): Add new types to WebGL2 API.
https://bugs.webkit.org/show_bug.cgi?id=140741.
<rdar://problem/19552962>

Reviewed by Dean Jackson.

  • html/canvas/WebGL2RenderingContext.idl:
3:04 PM Changeset in webkit [178864] by saambarati1@gmail.com
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Change Annotator's isActive getter into an isActive() function.
https://bugs.webkit.org/show_bug.cgi?id=140729

Reviewed by Timothy Hatcher.

This patch also makes the child classes of Annotator use
the function instead of accessing the property directly.

  • UserInterface/Controllers/Annotator.js:

(WebInspector.Annotator.prototype.isActive):
(WebInspector.Annotator.prototype.get isActive): Deleted.

  • UserInterface/Controllers/BasicBlockAnnotator.js:

(WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):

  • UserInterface/Controllers/TypeTokenAnnotator.js:

(WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):

2:51 PM Changeset in webkit [178863] by saambarati1@gmail.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Don't allow the BasicBlockAnnotator to highlight a section if it's only a closing brace
https://bugs.webkit.org/show_bug.cgi?id=140727

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/BasicBlockAnnotator.js:

(WebInspector.BasicBlockAnnotator.prototype.set _highlightTextForBasicBlock):
(WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyClosingBrace):
BasicBlockAnnotator tries to no longer highlight a basic block if it is only
whitespace and a closing brace. These ranges are often after statements
that make these basic blocks unreachable, such as a return/break/continue
statement occurring inside a if/else/while/for block. This check won't
match every highlighted empty closing brace, but catches most of them
because it only does intra block analysis instead of inter block analysis.

2:51 PM Changeset in webkit [178862] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Simple line layout: Move nextTextFragment() to FlowContents class.
https://bugs.webkit.org/show_bug.cgi?id=140738

Reviewed by Antti Koivisto.

This is in preparation to make FlowContents an iterator class.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::addUncommitted):
(WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::initializeNewLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::TextFragment::TextFragment): Deleted.
(WebCore::SimpleLineLayout::TextFragment::isEmpty): Deleted.
(WebCore::SimpleLineLayout::nextFragment): Deleted.

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::FlowContents::nextTextFragment):

  • rendering/SimpleLineLayoutFlowContents.h:

(WebCore::SimpleLineLayout::FlowContents::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::FlowContents::TextFragment::isEmpty):

2:49 PM Changeset in webkit [178861] by ggaren@apple.com
  • 14 edits
    2 adds in trunk

bmalloc: support aligned allocation
https://bugs.webkit.org/show_bug.cgi?id=140732

Reviewed by Andreas Kling.

PerformanceTests:

  • MallocBench/MallocBench.xcodeproj/project.pbxproj:
  • MallocBench/MallocBench/Benchmark.cpp:
  • MallocBench/MallocBench/memalign.cpp:

(test):
(benchmark_memalign): Added a test for specific interesting memalign values.

  • MallocBench/MallocBench/stress_aligned.cpp: Added.

(benchmark_stress_aligned):

  • MallocBench/MallocBench/stress_aligned.h: Added. Added a stress test

for arbitrary memalign values.

Source/bmalloc:

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::allocate): New function for aligned allocation.

Small and medium requests just allocate and free until they find an
aligned pointer. This is slightly inefficient in the worst case, but
still constant-time with little-to-no space overhead.

Large requests use a new API that requires the client to specify both
its ideal size and alignment, and the worst-case size you would have to
allocate in order to produce some interior pointer of the requested size
and alignment. We put the burden of this calculation on the client
because it simplifies things if we guarantee that allocation won't fail.

XLarge requests are easy: we just forward them to vmAllocate, which
already supported aligned requests.

  • bmalloc/BoundaryTag.h:
  • bmalloc/BoundaryTagInlines.h:

(bmalloc::BoundaryTag::mergeLeft):
(bmalloc::BoundaryTag::mergeRight):
(bmalloc::BoundaryTag::merge):
(bmalloc::BoundaryTag::deallocate):
(bmalloc::BoundaryTag::split):
(bmalloc::BoundaryTag::allocate): No behavior change here. I just
refactored the interface to remove some reference out parameters in
order to clarify what changes and what doesn't.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::allocateXLarge): Added an alignment API.

(bmalloc::Heap::allocateLarge):

  • bmalloc/Heap.h: Added an alignment API. I split out allocateLarge into

a few variants, so aligned and unaligned allocation could share some code.

  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::take):

  • bmalloc/SegregatedFreeList.h: Changed to use a separate, explicit API

for aligned allocation. It turns out that the aligned path is pretty
different, since it ends up searching for two potential ways to satisfy
an allocation: either large enough and aligned, or large enough to split
into something not aligned and something large enough and aligned.

  • bmalloc/VMAllocate.h:

(bmalloc::vmAllocate): Switched alignment to come before size because
that's how the memalign API specifies it.

  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::allocateLargeRange): Added an alignment API.

2:43 PM Changeset in webkit [178860] by mmirman@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

Updated split such that it does not include the empty end of input string match.
https://bugs.webkit.org/show_bug.cgi?id=138129
<rdar://problem/18807403>

Reviewed by Filip Pizlo.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncSplit):

  • tests/stress/empty_eos_regex_split.js: Added.
2:33 PM Changeset in webkit [178859] by akling@apple.com
  • 13 edits in trunk/Source/WebCore

DocumentLoader::timing() should return a reference.
<https://webkit.org/b/128272>

Reviewed by Antti Koivisto.

There is always a DocumentLoadTiming object, so return it by
reference since it can never be null.

  • Modules/gamepad/NavigatorGamepad.cpp:

(WebCore::NavigatorGamepad::from):

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::serviceScriptedAnimations):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForTiming):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::continueAfterNavigationPolicy):
(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::timing):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchLoadEvent):

  • page/Performance.cpp:

(WebCore::Performance::now):

  • page/PerformanceNavigation.cpp:

(WebCore::PerformanceNavigation::redirectCount):

  • page/PerformanceResourceTiming.cpp:

(WebCore::monotonicTimeToDocumentMilliseconds):
(WebCore::PerformanceResourceTiming::resourceTimeToDocumentMilliseconds):

  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::documentLoadTiming):

2:30 PM Changeset in webkit [178858] by Beth Dakin
  • 4 edits in trunk/Source

Crash in QuickLook preview delegate method
https://bugs.webkit.org/show_bug.cgi?id=140740
-and corresponding-
rdar://problem/19540806

Reviewed by Tim Horton.

Clear out the delegate.
Source/WebKit/mac:

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController webViewClosed]):

Source/WebKit2:

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController willDestroyView:]):

1:56 PM Changeset in webkit [178857] by benjamin@webkit.org
  • 8 edits in trunk/Source/WebCore

Handle the transition on any character as a separate type of transition
https://bugs.webkit.org/show_bug.cgi?id=140711

Reviewed by Andreas Kling.

Instead of considering the universal transition as 127 transitions, it is now
handled as a separate type of transition.

The goal is to reduce the number of exit edge to consider for each node. Instead
of having 127 for any partition containing one universal transition, we have
as few exit edges as necessary + one universal transition.

In the NFA, the universal transition is stored directly on NFANode in a new
HashSet (transitionsOnAnyCharacter).
The target nodes are made exclusive between "transitionsOnAnyCharacter" and "transitions"
by construction. That is not strictly needed but it simplify debugging at the moment.

When converting a NFA to a DFA, we first find all the node that transition on any character.
Then, when we iterate over "real" transition, we also augment that set with the set on
any character.

When creating the DFA node, we first consider each "real" transition, then we have a single
"fallback" transition for any character that has not been handled yet.

When matching, we first search for any real transition. If there is none but a fallback exists,
we take the fallback.

  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::DFA::nextState):
(WebCore::ContentExtensions::printTransitions):
(WebCore::ContentExtensions::DFA::debugPrintDot):
(WebCore::ContentExtensions::printTransition): Deleted.

  • contentextensions/DFANode.h:
  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::NFA::addTransition):
(WebCore::ContentExtensions::NFA::addTransitionsOnAnyCharacter):
(WebCore::ContentExtensions::printTransitions):
(WebCore::ContentExtensions::NFA::debugPrintDot):
(WebCore::ContentExtensions::printTransition): Deleted.

  • contentextensions/NFA.h:
  • contentextensions/NFANode.h:
  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::populateTransitions):
(WebCore::ContentExtensions::getOrCreateDFANode):
(WebCore::ContentExtensions::NFAToDFA::convert):

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::GraphBuilder::generateTransition):

1:43 PM Changeset in webkit [178856] by msaboff@apple.com
  • 22 edits in trunk/Source/JavaScriptCore

Eliminate Scope slot from JavaScript CallFrame
https://bugs.webkit.org/show_bug.cgi?id=136724

Reviewed by Geoffrey Garen.

This finishes the removal of the scope chain slot from the call frame header.

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGPreciseLocalClobberize.h:

(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::emit):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):

  • interpreter/JSStack.h:
  • interpreter/VMInspector.cpp:

(JSC::VMInspector::dumpFrame):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall):

  • jit/Repatch.cpp:

(JSC::generateByIdStub):
(JSC::linkClosureCall):

  • jit/ThunkGenerators.cpp:

(JSC::virtualForThunkGenerator):
(JSC::nativeForGenerator):
Deleted ScopeChain slot from JSStack. Removed all code where ScopeChain was being
read or set. In most cases this was where we make JS calls.

  • interpreter/CallFrameClosure.h:

(JSC::CallFrameClosure::setArgument):
(JSC::CallFrameClosure::resetCallFrame): Deleted.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):

  • interpreter/ProtoCallFrame.cpp:

(JSC::ProtoCallFrame::init):

  • interpreter/ProtoCallFrame.h:

(JSC::ProtoCallFrame::scope): Deleted.
(JSC::ProtoCallFrame::setScope): Deleted.

  • llint/LLIntData.cpp:

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

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:

Removed the related scopeChainValue member from ProtoCallFrame. Reduced the number of
registers that needed to be copied from the ProtoCallFrame to a callee's frame
from 5 to 4.

  • llint/LowLevelInterpreter32_64.asm:

In addition to the prior changes, also deleted the unused macro getDeBruijnScope.

11:46 AM Changeset in webkit [178855] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Eliminate construct methods from NullGetterFunction and NullSetterFunction classes
https://bugs.webkit.org/show_bug.cgi?id=140708

Reviewed by Mark Lam.

Eliminated construct methods and change getConstructData() for both classes to return
ConstructTypeNone as they can never be called.

  • runtime/NullGetterFunction.cpp:

(JSC::NullGetterFunction::getConstructData):
(JSC::constructReturnUndefined): Deleted.

  • runtime/NullSetterFunction.cpp:

(JSC::NullSetterFunction::getConstructData):
(JSC::constructReturnUndefined): Deleted.

11:35 AM Changeset in webkit [178854] by commit-queue@webkit.org
  • 470 edits
    20 moves
    1 add in trunk/LayoutTests/imported/w3c

Move w3c/canvas/resources/ common resources to w3c/resources/.
https://bugs.webkit.org/show_bug.cgi?id=140712.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-21
Reviewed by Alexey Proskuryakov.

Move the w3c common resources from w3c/canvas/resources/ to w3c/resources/. All
the paths to the common resources from the w3c/canvas and w3c/common should be
../resources/<file name> instead of resources/<file name>

  • canvas/2d.clearRect.basic.html:
  • canvas/2d.clearRect.clip.html:
  • canvas/2d.clearRect.globalalpha.html:
  • canvas/2d.clearRect.globalcomposite.html:
  • canvas/2d.clearRect.negative.html:
  • canvas/2d.clearRect.nonfinite.html:
  • canvas/2d.clearRect.path.html:
  • canvas/2d.clearRect.shadow.html:
  • canvas/2d.clearRect.transform.html:
  • canvas/2d.clearRect.zero.html:
  • canvas/2d.composite.canvas.copy.html:
  • canvas/2d.composite.canvas.destination-atop.html:
  • canvas/2d.composite.canvas.destination-in.html:
  • canvas/2d.composite.canvas.destination-out.html:
  • canvas/2d.composite.canvas.destination-over.html:
  • canvas/2d.composite.canvas.lighter.html:
  • canvas/2d.composite.canvas.source-atop.html:
  • canvas/2d.composite.canvas.source-in.html:
  • canvas/2d.composite.canvas.source-out.html:
  • canvas/2d.composite.canvas.source-over.html:
  • canvas/2d.composite.canvas.xor.html:
  • canvas/2d.composite.clip.copy.html:
  • canvas/2d.composite.clip.destination-atop.html:
  • canvas/2d.composite.clip.destination-in.html:
  • canvas/2d.composite.clip.destination-out.html:
  • canvas/2d.composite.clip.destination-over.html:
  • canvas/2d.composite.clip.lighter.html:
  • canvas/2d.composite.clip.source-atop.html:
  • canvas/2d.composite.clip.source-in.html:
  • canvas/2d.composite.clip.source-out.html:
  • canvas/2d.composite.clip.source-over.html:
  • canvas/2d.composite.clip.xor.html:
  • canvas/2d.composite.globalAlpha.canvas.html:
  • canvas/2d.composite.globalAlpha.canvaspattern.html:
  • canvas/2d.composite.globalAlpha.fill.html:
  • canvas/2d.composite.globalAlpha.image.html:
  • canvas/2d.composite.globalAlpha.imagepattern.html:
  • canvas/2d.composite.image.copy.html:
  • canvas/2d.composite.image.destination-atop.html:
  • canvas/2d.composite.image.destination-in.html:
  • canvas/2d.composite.image.destination-out.html:
  • canvas/2d.composite.image.destination-over.html:
  • canvas/2d.composite.image.lighter.html:
  • canvas/2d.composite.image.source-atop.html:
  • canvas/2d.composite.image.source-in.html:
  • canvas/2d.composite.image.source-out.html:
  • canvas/2d.composite.image.source-over.html:
  • canvas/2d.composite.image.xor.html:
  • canvas/2d.composite.uncovered.image.copy.html:
  • canvas/2d.composite.uncovered.image.destination-atop.html:
  • canvas/2d.composite.uncovered.image.destination-in.html:
  • canvas/2d.composite.uncovered.image.source-in.html:
  • canvas/2d.composite.uncovered.image.source-out.html:
  • canvas/2d.composite.uncovered.pattern.copy.html:
  • canvas/2d.composite.uncovered.pattern.destination-atop.html:
  • canvas/2d.composite.uncovered.pattern.destination-in.html:
  • canvas/2d.composite.uncovered.pattern.source-in.html:
  • canvas/2d.composite.uncovered.pattern.source-out.html:
  • canvas/2d.drawImage.3arg.html:
  • canvas/2d.drawImage.5arg.html:
  • canvas/2d.drawImage.9arg.basic.html:
  • canvas/2d.drawImage.9arg.destpos.html:
  • canvas/2d.drawImage.9arg.destsize.html:
  • canvas/2d.drawImage.9arg.sourcepos.html:
  • canvas/2d.drawImage.9arg.sourcesize.html:
  • canvas/2d.drawImage.alpha.html:
  • canvas/2d.drawImage.animated.apng.html:
  • canvas/2d.drawImage.animated.gif.html:
  • canvas/2d.drawImage.animated.poster.html:
  • canvas/2d.drawImage.broken.html:
  • canvas/2d.drawImage.canvas.html:
  • canvas/2d.drawImage.clip.html:
  • canvas/2d.drawImage.composite.html:
  • canvas/2d.drawImage.floatsource.html:
  • canvas/2d.drawImage.image.incomplete.empty.html:
  • canvas/2d.drawImage.image.incomplete.omitted.html:
  • canvas/2d.drawImage.incomplete.html:
  • canvas/2d.drawImage.negativedest.html:
  • canvas/2d.drawImage.negativedir.html:
  • canvas/2d.drawImage.negativesource.html:
  • canvas/2d.drawImage.nonfinite.html:
  • canvas/2d.drawImage.nowrap.html:
  • canvas/2d.drawImage.path.html:
  • canvas/2d.drawImage.self.1.html:
  • canvas/2d.drawImage.self.2.html:
  • canvas/2d.drawImage.transform.html:
  • canvas/2d.drawImage.zerocanvas.html:
  • canvas/2d.drawImage.zerosource.html:
  • canvas/2d.fillRect.basic.html:
  • canvas/2d.fillRect.clip.html:
  • canvas/2d.fillRect.negative.html:
  • canvas/2d.fillRect.nonfinite.html:
  • canvas/2d.fillRect.path.html:
  • canvas/2d.fillRect.shadow.html:
  • canvas/2d.fillRect.transform.html:
  • canvas/2d.fillRect.zero.html:
  • canvas/2d.fillStyle.invalidstring.html:
  • canvas/2d.fillStyle.invalidtype.html:
  • canvas/2d.fillStyle.parse.current.basic.html:
  • canvas/2d.fillStyle.parse.current.changed.html:
  • canvas/2d.fillStyle.parse.invalid.hex1.html:
  • canvas/2d.fillStyle.parse.invalid.hex2.html:
  • canvas/2d.fillStyle.parse.invalid.hex3.html:
  • canvas/2d.fillStyle.parse.invalid.hex4.html:
  • canvas/2d.fillStyle.parse.invalid.hex5.html:
  • canvas/2d.fillStyle.parse.invalid.hex6.html:
  • canvas/2d.fillStyle.parse.invalid.hex7.html:
  • canvas/2d.fillStyle.parse.invalid.hex8.html:
  • canvas/2d.fillStyle.parse.invalid.hsl-1.html:
  • canvas/2d.fillStyle.parse.invalid.hsl-2.html:
  • canvas/2d.fillStyle.parse.invalid.hsl-3.html:
  • canvas/2d.fillStyle.parse.invalid.hsl-4.html:
  • canvas/2d.fillStyle.parse.invalid.hsl-5.html:
  • canvas/2d.fillStyle.parse.invalid.hsl-6.html:
  • canvas/2d.fillStyle.parse.invalid.hsla-1.html:
  • canvas/2d.fillStyle.parse.invalid.hsla-2.html:
  • canvas/2d.fillStyle.parse.invalid.name-1.html:
  • canvas/2d.fillStyle.parse.invalid.name-2.html:
  • canvas/2d.fillStyle.parse.invalid.name-3.html:
  • canvas/2d.fillStyle.parse.invalid.name-4.html:
  • canvas/2d.fillStyle.parse.invalid.name-5.html:
  • canvas/2d.fillStyle.parse.invalid.rgb-1.html:
  • canvas/2d.fillStyle.parse.invalid.rgb-2.html:
  • canvas/2d.fillStyle.parse.invalid.rgb-3.html:
  • canvas/2d.fillStyle.parse.invalid.rgb-4.html:
  • canvas/2d.fillStyle.parse.invalid.rgb-5.html:
  • canvas/2d.fillStyle.parse.invalid.rgb-6.html:
  • canvas/2d.fillStyle.parse.invalid.rgb-7.html:
  • canvas/2d.fillStyle.parse.invalid.rgba-1.html:
  • canvas/2d.fillStyle.parse.invalid.rgba-2.html:
  • canvas/2d.fillStyle.parse.invalid.rgba-3.html:
  • canvas/2d.fillStyle.parse.invalid.rgba-4.html:
  • canvas/2d.fillStyle.parse.invalid.rgba-5.html:
  • canvas/2d.fillStyle.parse.invalid.rgba-6.html:
  • canvas/2d.fillStyle.parse.invalid.rgba-7.html:
  • canvas/2d.getcontext.shared.html:
  • canvas/2d.gradient.empty.html:
  • canvas/2d.gradient.interpolate.outside.html:
  • canvas/2d.gradient.interpolate.overlap2.html:
  • canvas/2d.gradient.interpolate.solid.html:
  • canvas/2d.gradient.interpolate.zerosize.fill.html:
  • canvas/2d.gradient.interpolate.zerosize.fillRect.html:
  • canvas/2d.gradient.interpolate.zerosize.fillText.html:
  • canvas/2d.gradient.interpolate.zerosize.html:
  • canvas/2d.gradient.interpolate.zerosize.stroke.html:
  • canvas/2d.gradient.interpolate.zerosize.strokeRect.html:
  • canvas/2d.gradient.interpolate.zerosize.strokeText.html:
  • canvas/2d.gradient.linear.transform.1.html:
  • canvas/2d.gradient.linear.transform.2.html:
  • canvas/2d.gradient.linear.transform.3.html:
  • canvas/2d.gradient.object.crosscanvas.html:
  • canvas/2d.gradient.object.update.html:
  • canvas/2d.gradient.radial.cone.behind.html:
  • canvas/2d.gradient.radial.cone.beside.html:
  • canvas/2d.gradient.radial.cone.bottom.html:
  • canvas/2d.gradient.radial.cone.cylinder.html:
  • canvas/2d.gradient.radial.cone.front.html:
  • canvas/2d.gradient.radial.cone.shape1.html:
  • canvas/2d.gradient.radial.cone.shape2.html:
  • canvas/2d.gradient.radial.cone.top.html:
  • canvas/2d.gradient.radial.equal.html:
  • canvas/2d.gradient.radial.inside1.html:
  • canvas/2d.gradient.radial.inside2.html:
  • canvas/2d.gradient.radial.inside3.html:
  • canvas/2d.gradient.radial.outside1.html:
  • canvas/2d.gradient.radial.outside2.html:
  • canvas/2d.gradient.radial.outside3.html:
  • canvas/2d.gradient.radial.touch1.html:
  • canvas/2d.gradient.radial.touch2.html:
  • canvas/2d.gradient.radial.touch3.html:
  • canvas/2d.gradient.radial.transform.1.html:
  • canvas/2d.gradient.radial.transform.2.html:
  • canvas/2d.gradient.radial.transform.3.html:
  • canvas/2d.imageData.get.unaffected.html:
  • canvas/2d.imageData.put.basic.html:
  • canvas/2d.imageData.put.clip.html:
  • canvas/2d.imageData.put.created.html:
  • canvas/2d.imageData.put.cross.html:
  • canvas/2d.imageData.put.dirty.negative.html:
  • canvas/2d.imageData.put.dirty.outside.html:
  • canvas/2d.imageData.put.dirty.rect1.html:
  • canvas/2d.imageData.put.dirty.rect2.html:
  • canvas/2d.imageData.put.dirty.zero.html:
  • canvas/2d.imageData.put.modified.html:
  • canvas/2d.imageData.put.path.html:
  • canvas/2d.imageData.put.unaffected.html:
  • canvas/2d.imageData.put.wrongtype.html:
  • canvas/2d.line.cap.butt.html:
  • canvas/2d.line.cap.closed.html:
  • canvas/2d.line.cap.open.html:
  • canvas/2d.line.cap.round.html:
  • canvas/2d.line.cap.square.html:
  • canvas/2d.line.cross.html:
  • canvas/2d.line.join.bevel.html:
  • canvas/2d.line.join.closed.html:
  • canvas/2d.line.join.miter.html:
  • canvas/2d.line.join.open.html:
  • canvas/2d.line.join.parallel.html:
  • canvas/2d.line.join.round.html:
  • canvas/2d.line.miter.acute.html:
  • canvas/2d.line.miter.exceeded.html:
  • canvas/2d.line.miter.lineedge.html:
  • canvas/2d.line.miter.obtuse.html:
  • canvas/2d.line.miter.rightangle.html:
  • canvas/2d.line.miter.within.html:
  • canvas/2d.line.union.html:
  • canvas/2d.line.width.basic.html:
  • canvas/2d.line.width.scaledefault.html:
  • canvas/2d.line.width.transformed.html:
  • canvas/2d.path.arc.angle.1.html:
  • canvas/2d.path.arc.angle.2.html:
  • canvas/2d.path.arc.angle.3.html:
  • canvas/2d.path.arc.angle.4.html:
  • canvas/2d.path.arc.angle.5.html:
  • canvas/2d.path.arc.angle.6.html:
  • canvas/2d.path.arc.default.html:
  • canvas/2d.path.arc.empty.html:
  • canvas/2d.path.arc.end.html:
  • canvas/2d.path.arc.nonempty.html:
  • canvas/2d.path.arc.nonfinite.html:
  • canvas/2d.path.arc.scale.1.html:
  • canvas/2d.path.arc.scale.2.html:
  • canvas/2d.path.arc.selfintersect.1.html:
  • canvas/2d.path.arc.selfintersect.2.html:
  • canvas/2d.path.arc.shape.1.html:
  • canvas/2d.path.arc.shape.2.html:
  • canvas/2d.path.arc.shape.3.html:
  • canvas/2d.path.arc.shape.4.html:
  • canvas/2d.path.arc.shape.5.html:
  • canvas/2d.path.arc.twopie.1.html:
  • canvas/2d.path.arc.twopie.2.html:
  • canvas/2d.path.arc.twopie.3.html:
  • canvas/2d.path.arc.twopie.4.html:
  • canvas/2d.path.arc.zero.1.html:
  • canvas/2d.path.arc.zero.2.html:
  • canvas/2d.path.arc.zeroradius.html:
  • canvas/2d.path.arcTo.coincide.1.html:
  • canvas/2d.path.arcTo.coincide.2.html:
  • canvas/2d.path.arcTo.collinear.1.html:
  • canvas/2d.path.arcTo.collinear.2.html:
  • canvas/2d.path.arcTo.collinear.3.html:
  • canvas/2d.path.arcTo.ensuresubpath.1.html:
  • canvas/2d.path.arcTo.ensuresubpath.2.html:
  • canvas/2d.path.arcTo.nonfinite.html:
  • canvas/2d.path.arcTo.scale.html:
  • canvas/2d.path.arcTo.shape.curve1.html:
  • canvas/2d.path.arcTo.shape.curve2.html:
  • canvas/2d.path.arcTo.shape.end.html:
  • canvas/2d.path.arcTo.shape.start.html:
  • canvas/2d.path.arcTo.transformation.html:
  • canvas/2d.path.arcTo.zero.1.html:
  • canvas/2d.path.arcTo.zero.2.html:
  • canvas/2d.path.beginPath.html:
  • canvas/2d.path.bezierCurveTo.basic.html:
  • canvas/2d.path.bezierCurveTo.ensuresubpath.1.html:
  • canvas/2d.path.bezierCurveTo.ensuresubpath.2.html:
  • canvas/2d.path.bezierCurveTo.nonfinite.html:
  • canvas/2d.path.bezierCurveTo.scaled.html:
  • canvas/2d.path.bezierCurveTo.shape.html:
  • canvas/2d.path.clip.basic.1.html:
  • canvas/2d.path.clip.basic.2.html:
  • canvas/2d.path.clip.empty.html:
  • canvas/2d.path.clip.intersect.html:
  • canvas/2d.path.clip.unaffected.html:
  • canvas/2d.path.clip.winding.1.html:
  • canvas/2d.path.clip.winding.2.html:
  • canvas/2d.path.closePath.empty.html:
  • canvas/2d.path.closePath.newline.html:
  • canvas/2d.path.closePath.nextpoint.html:
  • canvas/2d.path.fill.closed.basic.html:
  • canvas/2d.path.fill.closed.unaffected.html:
  • canvas/2d.path.fill.winding.add.html:
  • canvas/2d.path.fill.winding.subtract.1.html:
  • canvas/2d.path.fill.winding.subtract.2.html:
  • canvas/2d.path.fill.winding.subtract.3.html:
  • canvas/2d.path.initial.html:
  • canvas/2d.path.lineTo.basic.html:
  • canvas/2d.path.lineTo.ensuresubpath.1.html:
  • canvas/2d.path.lineTo.ensuresubpath.2.html:
  • canvas/2d.path.lineTo.nextpoint.html:
  • canvas/2d.path.lineTo.nonfinite.html:
  • canvas/2d.path.moveTo.basic.html:
  • canvas/2d.path.moveTo.multiple.html:
  • canvas/2d.path.moveTo.newsubpath.html:
  • canvas/2d.path.moveTo.nonfinite.html:
  • canvas/2d.path.quadraticCurveTo.basic.html:
  • canvas/2d.path.quadraticCurveTo.ensuresubpath.1.html:
  • canvas/2d.path.quadraticCurveTo.ensuresubpath.2.html:
  • canvas/2d.path.quadraticCurveTo.nonfinite.html:
  • canvas/2d.path.quadraticCurveTo.scaled.html:
  • canvas/2d.path.quadraticCurveTo.shape.html:
  • canvas/2d.path.rect.basic.html:
  • canvas/2d.path.rect.closed.html:
  • canvas/2d.path.rect.end.1.html:
  • canvas/2d.path.rect.end.2.html:
  • canvas/2d.path.rect.newsubpath.html:
  • canvas/2d.path.rect.nonfinite.html:
  • canvas/2d.path.rect.selfintersect.html:
  • canvas/2d.path.rect.zero.1.html:
  • canvas/2d.path.rect.zero.2.html:
  • canvas/2d.path.rect.zero.3.html:
  • canvas/2d.path.rect.zero.4.html:
  • canvas/2d.path.rect.zero.5.html:
  • canvas/2d.path.rect.zero.6.html:
  • canvas/2d.path.stroke.empty.html:
  • canvas/2d.path.stroke.prune.arc.html:
  • canvas/2d.path.stroke.prune.closed.html:
  • canvas/2d.path.stroke.prune.corner.html:
  • canvas/2d.path.stroke.prune.curve.html:
  • canvas/2d.path.stroke.prune.line.html:
  • canvas/2d.path.stroke.prune.rect.html:
  • canvas/2d.path.stroke.scale1.html:
  • canvas/2d.path.stroke.scale2.html:
  • canvas/2d.path.stroke.skew.html:
  • canvas/2d.path.stroke.unaffected.html:
  • canvas/2d.path.stroke.union.html:
  • canvas/2d.path.transformation.basic.html:
  • canvas/2d.path.transformation.changing.html:
  • canvas/2d.path.transformation.multiple.html:
  • canvas/2d.pattern.animated.gif.html:
  • canvas/2d.pattern.basic.canvas.html:
  • canvas/2d.pattern.basic.image.html:
  • canvas/2d.pattern.basic.nocontext.html:
  • canvas/2d.pattern.basic.type.html:
  • canvas/2d.pattern.crosscanvas.html:
  • canvas/2d.pattern.image.incomplete.empty.html:
  • canvas/2d.pattern.image.incomplete.omitted.html:
  • canvas/2d.pattern.modify.canvas1.html:
  • canvas/2d.pattern.modify.canvas2.html:
  • canvas/2d.pattern.modify.image1.html:
  • canvas/2d.pattern.modify.image2.html:
  • canvas/2d.pattern.paint.norepeat.basic.html:
  • canvas/2d.pattern.paint.norepeat.coord1.html:
  • canvas/2d.pattern.paint.norepeat.coord2.html:
  • canvas/2d.pattern.paint.norepeat.coord3.html:
  • canvas/2d.pattern.paint.norepeat.outside.html:
  • canvas/2d.pattern.paint.orientation.canvas.html:
  • canvas/2d.pattern.paint.orientation.image.html:
  • canvas/2d.pattern.paint.repeat.basic.html:
  • canvas/2d.pattern.paint.repeat.coord1.html:
  • canvas/2d.pattern.paint.repeat.coord2.html:
  • canvas/2d.pattern.paint.repeat.coord3.html:
  • canvas/2d.pattern.paint.repeat.outside.html:
  • canvas/2d.pattern.paint.repeatx.basic.html:
  • canvas/2d.pattern.paint.repeatx.coord1.html:
  • canvas/2d.pattern.paint.repeatx.outside.html:
  • canvas/2d.pattern.paint.repeaty.basic.html:
  • canvas/2d.pattern.paint.repeaty.coord1.html:
  • canvas/2d.pattern.paint.repeaty.outside.html:
  • canvas/2d.pattern.repeat.empty.html:
  • canvas/2d.pattern.repeat.null.html:
  • canvas/2d.shadow.alpha.1.html:
  • canvas/2d.shadow.canvas.alpha.html:
  • canvas/2d.shadow.canvas.basic.html:
  • canvas/2d.shadow.canvas.transparent.1.html:
  • canvas/2d.shadow.canvas.transparent.2.html:
  • canvas/2d.shadow.clip.1.html:
  • canvas/2d.shadow.clip.2.html:
  • canvas/2d.shadow.clip.3.html:
  • canvas/2d.shadow.composite.1.html:
  • canvas/2d.shadow.composite.2.html:
  • canvas/2d.shadow.composite.3.html:
  • canvas/2d.shadow.enable.blur.html:
  • canvas/2d.shadow.enable.off.1.html:
  • canvas/2d.shadow.enable.off.2.html:
  • canvas/2d.shadow.enable.x.html:
  • canvas/2d.shadow.enable.y.html:
  • canvas/2d.shadow.gradient.basic.html:
  • canvas/2d.shadow.gradient.transparent.1.html:
  • canvas/2d.shadow.gradient.transparent.2.html:
  • canvas/2d.shadow.image.alpha.html:
  • canvas/2d.shadow.image.basic.html:
  • canvas/2d.shadow.image.scale.html:
  • canvas/2d.shadow.image.section.html:
  • canvas/2d.shadow.image.transparent.1.html:
  • canvas/2d.shadow.image.transparent.2.html:
  • canvas/2d.shadow.offset.negativeX.html:
  • canvas/2d.shadow.offset.negativeY.html:
  • canvas/2d.shadow.offset.positiveX.html:
  • canvas/2d.shadow.offset.positiveY.html:
  • canvas/2d.shadow.outside.html:
  • canvas/2d.shadow.pattern.alpha.html:
  • canvas/2d.shadow.pattern.basic.html:
  • canvas/2d.shadow.pattern.transparent.1.html:
  • canvas/2d.shadow.pattern.transparent.2.html:
  • canvas/2d.shadow.stroke.basic.html:
  • canvas/2d.shadow.stroke.cap.1.html:
  • canvas/2d.shadow.stroke.cap.2.html:
  • canvas/2d.shadow.stroke.join.1.html:
  • canvas/2d.shadow.stroke.join.2.html:
  • canvas/2d.shadow.stroke.join.3.html:
  • canvas/2d.shadow.transform.1.html:
  • canvas/2d.shadow.transform.2.html:
  • canvas/2d.state.saverestore.bitmap.html:
  • canvas/2d.state.saverestore.clip.html:
  • canvas/2d.state.saverestore.path.html:
  • canvas/2d.state.saverestore.transformation.html:
  • canvas/2d.strokeRect.basic.html:
  • canvas/2d.strokeRect.clip.html:
  • canvas/2d.strokeRect.globalalpha.html:
  • canvas/2d.strokeRect.globalcomposite.html:
  • canvas/2d.strokeRect.negative.html:
  • canvas/2d.strokeRect.nonfinite.html:
  • canvas/2d.strokeRect.path.html:
  • canvas/2d.strokeRect.shadow.html:
  • canvas/2d.strokeRect.transform.html:
  • canvas/2d.strokeRect.zero.1.html:
  • canvas/2d.strokeRect.zero.2.html:
  • canvas/2d.strokeRect.zero.3.html:
  • canvas/2d.strokeRect.zero.5.html:
  • canvas/2d.text.draw.align.center.html:
  • canvas/2d.text.draw.align.end.ltr.html:
  • canvas/2d.text.draw.align.end.rtl.html:
  • canvas/2d.text.draw.align.left.html:
  • canvas/2d.text.draw.align.right.html:
  • canvas/2d.text.draw.align.start.ltr.html:
  • canvas/2d.text.draw.align.start.rtl.html:
  • canvas/2d.text.draw.baseline.alphabetic.html:
  • canvas/2d.text.draw.fill.maxWidth.bound.html:
  • canvas/2d.text.draw.fill.maxWidth.fontface.html:
  • canvas/2d.text.draw.fill.maxWidth.negative.html:
  • canvas/2d.text.draw.fill.maxWidth.small.html:
  • canvas/2d.text.draw.fill.maxWidth.zero.html:
  • canvas/2d.text.draw.fill.unaffected.html:
  • canvas/2d.text.draw.fontface.html:
  • canvas/2d.text.draw.fontface.notinpage.html:
  • canvas/2d.text.draw.fontface.repeat.html:
  • canvas/2d.text.draw.kern.consistent.html:
  • canvas/2d.text.draw.space.basic.html:
  • canvas/2d.text.draw.space.collapse.nonspace.html:
  • canvas/2d.text.draw.stroke.unaffected.html:
  • canvas/2d.transformation.order.html:
  • canvas/2d.transformation.rotate.direction.html:
  • canvas/2d.transformation.rotate.nonfinite.html:
  • canvas/2d.transformation.rotate.radians.html:
  • canvas/2d.transformation.rotate.wrap.html:
  • canvas/2d.transformation.rotate.wrapnegative.html:
  • canvas/2d.transformation.rotate.zero.html:
  • canvas/2d.transformation.scale.basic.html:
  • canvas/2d.transformation.scale.large.html:
  • canvas/2d.transformation.scale.multiple.html:
  • canvas/2d.transformation.scale.negative.html:
  • canvas/2d.transformation.scale.nonfinite.html:
  • canvas/2d.transformation.scale.zero.html:
  • canvas/2d.transformation.setTransform.multiple.html:
  • canvas/2d.transformation.setTransform.nonfinite.html:
  • canvas/2d.transformation.setTransform.skewed.html:
  • canvas/2d.transformation.transform.identity.html:
  • canvas/2d.transformation.transform.multiply.html:
  • canvas/2d.transformation.transform.nonfinite.html:
  • canvas/2d.transformation.transform.skewed.html:
  • canvas/2d.transformation.translate.basic.html:
  • canvas/2d.transformation.translate.nonfinite.html:
  • canvas/2d.voidreturn.html:
  • canvas/initial.reset.clip.html:
  • canvas/initial.reset.gradient.html:
  • canvas/initial.reset.pattern.html:
  • canvas/initial.reset.transform.html:
  • canvas/resources/anim-gr.gif: Removed.
  • canvas/resources/anim-gr.png: Removed.
  • canvas/resources/anim-poster-gr.png: Removed.
  • canvas/resources/background.png: Removed.
  • canvas/resources/broken.png: Removed.
  • canvas/resources/clear-100x50.png: Removed.
  • canvas/resources/ggrr-256x256.png: Removed.
  • canvas/resources/green-100x50.png: Removed.
  • canvas/resources/green-16x16.png: Removed.
  • canvas/resources/green-1x1.png: Removed.
  • canvas/resources/green.png: Removed.
  • canvas/resources/red-16x16.png: Removed.
  • canvas/resources/red.png: Removed.
  • canvas/resources/redtransparent.png: Removed.
  • canvas/resources/rgrg-256x256.png: Removed.
  • canvas/resources/rrgg-256x256.png: Removed.
  • canvas/resources/transparent.png: Removed.
  • canvas/resources/transparent50.png: Removed.
  • canvas/resources/yellow.png: Removed.
  • canvas/resources/yellow75.png: Removed.
  • canvas/security.dataURI.html:
  • canvas/security.drawImage.canvas.html:
  • canvas/security.drawImage.image.html:
  • canvas/security.pattern.canvas.fillStyle.html:
  • canvas/security.pattern.canvas.strokeStyle.html:
  • canvas/security.pattern.canvas.timing.html:
  • canvas/security.pattern.create.html:
  • canvas/security.pattern.cross.html:
  • canvas/security.pattern.image.fillStyle.html:
  • canvas/security.pattern.image.strokeStyle.html:
  • canvas/security.reset.html:
  • resources: Added.
  • resources/anim-gr.gif: Added.
  • resources/anim-gr.png: Added.
  • resources/anim-poster-gr.png: Added.
  • resources/background.png: Added.
  • resources/broken.png: Added.
  • resources/clear-100x50.png: Added.
  • resources/ggrr-256x256.png: Added.
  • resources/green-100x50.png: Added.
  • resources/green-16x16.png: Added.
  • resources/green-1x1.png: Added.
  • resources/green.png: Added.
  • resources/red-16x16.png: Added.
  • resources/red.png: Added.
  • resources/redtransparent.png: Added.
  • resources/rgrg-256x256.png: Added.
  • resources/rrgg-256x256.png: Added.
  • resources/transparent.png: Added.
  • resources/transparent50.png: Added.
  • resources/yellow.png: Added.
  • resources/yellow75.png: Added.
11:33 AM Changeset in webkit [178853] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

REGRESSION(r178180): Membuster regressed ~4%
https://bugs.webkit.org/show_bug.cgi?id=140495

Reviewed by Andreas Kling.

After r178180 we keep system fallback fonts that are used on glyph pages alive.
Previously we would traverse the glyph pages and remove entries referencing system fallbacks.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::purgeInactiveFontData):

  • platform/graphics/FontCascade.cpp:

(WebCore::pruneUnreferencedEntriesFromFontGlyphsCache):
(WebCore::pruneSystemFallbackFonts):

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

(WebCore::FontGlyphs::pruneSystemFallbacks):

When clearing the font cache also remove the cached glyph pages that may contain system fallback fonts
and release the fallbacks.

  • platform/graphics/FontGlyphs.h:
11:31 AM Changeset in webkit [178852] by ap@apple.com
  • 2 edits in trunk/Tools

https://build.webkit.org/dashboard/metrics.html fails because of ios-ews
https://bugs.webkit.org/show_bug.cgi?id=140731

Reviewed by Tim Horton.

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

(Analyzer.prototype._analyzeAllBubblesPerformance): Corrected a typo.

11:27 AM Changeset in webkit [178851] by Brent Fulgham
  • 5 edits in trunk/LayoutTests

[Win] Unreviewed gardening based on TestBot runs.

Update a few failure cass with bug reports. Rebaseline a handful of tests.

  • platform/win/TestExpectations: Update based on bug reports.
  • platform/win/fast/regions/text-region-split-small-pagination-expected.txt:
  • platform/win/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
  • platform/win/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
11:13 AM Changeset in webkit [178850] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebKit2

AsyncRequestImpl casting in AsyncRequest::completeRequest() is incorrect
https://bugs.webkit.org/show_bug.cgi?id=139724

Reviewed by Darin Adler.

AsyncRequestImpl casting in AsyncRequest::completeRequest() relies on
the parameter pack to properly determine the type of the AsyncRequestImpl
object. The casting result can be incorrect when an argument is passed
by reference while the original object was constructed with a callback
that expects an argument that's passed by value.

To avoid this the AsyncRequestImpl template is now instantiated with
raw types, with callback parameters remaining raw types in case
of being integral (enforcing passing-by-value these arguments when
dispatching), and const references being used otherwise (enforcing
passing-by-reference).

This enables casting AsyncRequest objects to the correct AsyncRequestImpl<>
by running the parameter pack through std::decay.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::putRecord):
(WebKit::UniqueIDBDatabase::getRecord):
(WebKit::UniqueIDBDatabase::openCursor):
(WebKit::UniqueIDBDatabase::cursorAdvance):
(WebKit::UniqueIDBDatabase::cursorIterate):
(WebKit::UniqueIDBDatabase::count):
(WebKit::UniqueIDBDatabase::deleteRange):

  • Shared/AsyncRequest.h:

(WebKit::AsyncRequest::completeRequest):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::get):

10:59 AM Changeset in webkit [178849] by Brent Fulgham
  • 8 edits in trunk

[Win] eventSender does not support scalePageBy
https://bugs.webkit.org/show_bug.cgi?id=140726
<rdar://problem/19549865>

Reviewed by Dean Jackson.

Source/WebKit/win:

  • Interfaces/IWebViewPrivate.idl: Add scaleWebView API.
  • WebView.cpp:

(WebView::scaleWebView):
Connect WebCore implementation to the Windows COM interface.

  • WebView.h:

Tools:

  • DumpRenderTree/win/EventSender.cpp:

(scalePageByCallback): Provide implementation using new WebView method.

LayoutTests:

  • platform/win/TestExpectations: Unskip test.
10:55 AM Changeset in webkit [178848] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

[WK2] Stop using WKDiagnosticLoggingResultType.h C API header in Cocoa API
https://bugs.webkit.org/show_bug.cgi?id=140655

Reviewed by Anders Carlsson.

Stop using WKDiagnosticLoggingResultType.h C API header in Cocoa API.
Instead, introduce a new _WKDiagnosticLoggingResultType enum in
_WKDiagnosticLoggingDelegate.h.

A few defines mapping WKDiagnosticLoggingResultType enum and its values
to the new _WKDiagnosticLoggingResultType are temporarily added until
the client-side is transitioned.

  • UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
  • UIProcess/Cocoa/DiagnosticLoggingClient.mm:

(WebKit::toWKDiagnosticLoggingResultType):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithResult):

10:52 AM Changeset in webkit [178847] by Lucas Forschler
  • 2 edits in trunk/Tools

Remove Apple Mountain Lion Build & Test slaves.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
10:47 AM Changeset in webkit [178846] by bshafiei@apple.com
  • 1 edit
    1 copy
    1 delete in branches/safari-600.1.4.15-branch

Merged r177088. rdar://problem/19339033

10:46 AM Changeset in webkit [178845] by bshafiei@apple.com
  • 6 edits
    1 copy in branches/safari-600.1.4.15-branch

Merged r177000. rdar://problem/19339033

10:44 AM Changeset in webkit [178844] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r176977. rdar://problem/19420073

10:43 AM Changeset in webkit [178843] by bshafiei@apple.com
  • 3 edits
    3 copies in branches/safari-600.1.4.15-branch

Merged r176972. rdar://problem/19450085

10:42 AM Changeset in webkit [178842] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WTF

Merged r176982. rdar://problem/19419996

10:41 AM Changeset in webkit [178841] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r176971. rdar://problem/19419996

10:40 AM Changeset in webkit [178840] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r176969. rdar://problem/19302738

10:39 AM Changeset in webkit [178839] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r176948. rdar://problem/19419766

10:38 AM Changeset in webkit [178838] by bshafiei@apple.com
  • 9 edits in branches/safari-600.1.4.15-branch

Merged r176904. rdar://problem/19419865

10:32 AM Changeset in webkit [178837] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r176768. rdar://problem/19450126

10:31 AM Changeset in webkit [178836] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r176734. rdar://problem/19420067

10:30 AM Changeset in webkit [178835] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r176701. rdar://problem/19419925

10:30 AM Changeset in webkit [178834] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r176484. rdar://problem/19419988

10:29 AM Changeset in webkit [178833] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r176471. rdar://problem/19419820

10:28 AM Changeset in webkit [178832] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r176447. rdar://problem/19419828

10:25 AM Changeset in webkit [178831] by bshafiei@apple.com
  • 4 edits
    3 copies in branches/safari-600.1.4.15-branch

Merged r176372. rdar://problem/19419916

10:24 AM Changeset in webkit [178830] by bshafiei@apple.com
  • 5 edits
    9 copies in branches/safari-600.1.4.15-branch

Merged r176354. rdar://problem/19432696

10:20 AM Changeset in webkit [178829] by bshafiei@apple.com
  • 7 edits in branches/safari-600.1.4.15-branch

Merged r176318. rdar://problem/19339000

10:06 AM Changeset in webkit [178828] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r176305. rdar://problem/19395081

10:05 AM Changeset in webkit [178827] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r176285. rdar://problem/19420011

9:02 AM Changeset in webkit [178826] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening after reactivating some tests.

  • platform/win/TestExpectations: Add failure entries for a few tests with bug reports.
9:00 AM Changeset in webkit [178825] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebKit2

[WK2] Use C++ lambdas in ProcessLauncher class
https://bugs.webkit.org/show_bug.cgi?id=138186

Reviewed by Darin Adler.

Replace uses of WTF::bind() in the ProcessLauncher class with C++ lambdas.

  • UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):
(WebKit::tryPreexistingProcess):
(WebKit::createProcess):

8:55 AM Changeset in webkit [178824] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Clean up ViewUpdateDispatcher
https://bugs.webkit.org/show_bug.cgi?id=140619

Reviewed by Darin Adler.

  • WebProcess/WebPage/ViewUpdateDispatcher.cpp:

(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
Replace WTF::bind() with a C++ lambda.
(WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):
Use WTF::move() to move the HashMap member into the local variable.

2:20 AM Changeset in webkit [178823] by Csaba Osztrogonác
  • 2 edits in trunk

[EFL][WK2] EFL MiniBrowser doesn't run because shared library is not found
https://bugs.webkit.org/show_bug.cgi?id=140049

Reviewed by Gyuyoung Kim.

  • Source/cmake/OptionsCommon.cmake:
2:02 AM Changeset in webkit [178822] by Manuel Rego Casasnovas
  • 7 edits
    4 adds in trunk

first-letter pseudo-element from ancestors is not being ignored in grids and flexboxes
https://bugs.webkit.org/show_bug.cgi?id=138424

Reviewed by Benjamin Poulain.

Source/WebCore:

Source/WebCore:

According to the grid and flexbox specs:
"::first-letter pseudo-element do not apply to grid/flex containers".
http://dev.w3.org/csswg/css-grid/#grid-containers
http://dev.w3.org/csswg/css-flexbox/#flex-containers

Check also the CSS WG mailing list discussion:
http://lists.w3.org/Archives/Public/www-style/2014Dec/0305.html

This was almost working right, except in the case that an ancestor was
setting the ::first-letter pseudo-element.

Added a few more cases to the current tests in order to check this
behavior.
Also created some new tests to increase coverage

Tests: fast/css/first-letter-from-ancestors-not-apply-inline-elements.html

fast/css/first-letter-ignores-display-property.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::getFirstLetter): Go to the next sibling when
looking for the first text child if you reach a grid or flexbox.

LayoutTests:

Modified current tests to check that first-letter from ancestors is
ignored too.
Added 2 new tests to increase coverage.

  • css3/flexbox/flexbox-ignore-container-firstLetter-expected.txt:
  • css3/flexbox/flexbox-ignore-container-firstLetter.html:
  • fast/css-grid-layout/grid-container-ignore-first-letter-expected.txt:
  • fast/css-grid-layout/grid-container-ignore-first-letter.html:
  • fast/css/first-letter-from-ancestors-not-apply-inline-elements-expected.html: Added.
  • fast/css/first-letter-from-ancestors-not-apply-inline-elements.html: Added.
  • fast/css/first-letter-ignores-display-property-expected.html: Added.
  • fast/css/first-letter-ignores-display-property.html: Added.
1:52 AM WebKitGTK/Roadmap edited by philn@igalia.com
(diff)
1:51 AM WebKitGTK/Roadmap edited by philn@igalia.com
(diff)
12:46 AM Changeset in webkit [178821] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix cast-align warning in Source/WebCore/platform/efl/EflScreenUtilities.cpp
https://bugs.webkit.org/show_bug.cgi?id=140670

Reviewed by Darin Adler.

  • platform/efl/EflScreenUtilities.cpp:

(WebCore::createCustomCursor):

12:45 AM Changeset in webkit [178820] by Csaba Osztrogonác
  • 262 edits in trunk

Remove ENABLE(INSPECTOR) ifdef guards
https://bugs.webkit.org/show_bug.cgi?id=140668

Reviewed by Darin Adler.

.:

  • Source/PlatformEfl.cmake:
  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:
  • bindings/ScriptValue.cpp:

(Deprecated::ScriptValue::toInspectorValue):

  • bindings/ScriptValue.h:
  • inspector/ConsoleMessage.cpp:
  • inspector/ConsoleMessage.h:
  • inspector/ContentSearchUtilities.cpp:
  • inspector/ContentSearchUtilities.h:
  • inspector/IdentifiersFactory.cpp:
  • inspector/IdentifiersFactory.h:
  • inspector/InjectedScript.cpp:
  • inspector/InjectedScript.h:
  • inspector/InjectedScriptBase.cpp:
  • inspector/InjectedScriptBase.h:
  • inspector/InjectedScriptHost.cpp:
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptManager.cpp:
  • inspector/InjectedScriptManager.h:
  • inspector/InjectedScriptModule.cpp:
  • inspector/InjectedScriptModule.h:
  • inspector/InspectorAgentRegistry.cpp:
  • inspector/InspectorBackendDispatcher.cpp:
  • inspector/InspectorBackendDispatcher.h:
  • inspector/InspectorProtocolTypes.h:
  • inspector/JSGlobalObjectConsoleClient.cpp:
  • inspector/JSGlobalObjectInspectorController.cpp:
  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectScriptDebugServer.cpp:
  • inspector/JSGlobalObjectScriptDebugServer.h:
  • inspector/JSInjectedScriptHost.cpp:
  • inspector/JSInjectedScriptHost.h:
  • inspector/JSInjectedScriptHostPrototype.cpp:
  • inspector/JSInjectedScriptHostPrototype.h:
  • inspector/JSJavaScriptCallFrame.cpp:
  • inspector/JSJavaScriptCallFrame.h:
  • inspector/JSJavaScriptCallFramePrototype.cpp:
  • inspector/JSJavaScriptCallFramePrototype.h:
  • inspector/JavaScriptCallFrame.cpp:
  • inspector/JavaScriptCallFrame.h:
  • inspector/ScriptCallFrame.cpp:

(Inspector::ScriptCallFrame::buildInspectorObject):

  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/ScriptDebugServer.cpp:
  • inspector/agents/InspectorAgent.cpp:
  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorConsoleAgent.cpp:
  • inspector/agents/InspectorConsoleAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:
  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:
  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/agents/JSGlobalObjectConsoleAgent.cpp:
  • inspector/agents/JSGlobalObjectConsoleAgent.h:
  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
  • inspector/agents/JSGlobalObjectDebuggerAgent.h:
  • inspector/agents/JSGlobalObjectRuntimeAgent.cpp:
  • inspector/agents/JSGlobalObjectRuntimeAgent.h:
  • inspector/scripts/codegen/cpp_generator_templates.py:

(CppGeneratorTemplates):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::inspectorTypeSet):
(JSC::StructureShape::inspectorRepresentation):

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • WebCore.exp.in:
  • bindings/js/JSCommandLineAPIHostCustom.cpp:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::supportsProfiling):
(WebCore::JSDOMWindowBase::supportsRichSourceInfo):

  • bindings/js/JSInspectorFrontendHostCustom.cpp:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::collectIsolatedContexts):

  • bindings/js/ScriptController.h:
  • bindings/js/ScriptGlobalObject.cpp:

(WebCore::ScriptGlobalObject::set):

  • bindings/js/ScriptGlobalObject.h:
  • bindings/js/WorkerScriptDebugServer.cpp:
  • bindings/js/WorkerScriptDebugServer.h:
  • dom/Node.cpp:

(WebCore::Node::inspect):

  • inspector/CommandLineAPIHost.cpp:
  • inspector/CommandLineAPIHost.idl:
  • inspector/CommandLineAPIModule.cpp:
  • inspector/CommandLineAPIModule.h:
  • inspector/DOMEditor.cpp:
  • inspector/DOMEditor.h:
  • inspector/DOMPatchSupport.cpp:
  • inspector/DOMPatchSupport.h:
  • inspector/InspectorApplicationCacheAgent.cpp:
  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:
  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorClient.cpp:
  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::startConsoleTiming):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::startProfiling):
(WebCore::InspectorInstrumentation::stopProfiling):

  • inspector/InspectorController.cpp:
  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:
  • inspector/InspectorDatabaseAgent.cpp:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorDatabaseResource.cpp:
  • inspector/InspectorDatabaseResource.h:
  • inspector/InspectorFrontendClientLocal.cpp:
  • inspector/InspectorFrontendHost.cpp:
  • inspector/InspectorFrontendHost.idl:
  • inspector/InspectorHistory.cpp:
  • inspector/InspectorHistory.h:
  • inspector/InspectorIndexedDBAgent.cpp:
  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInstrumentation.cpp:
  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
(WebCore::InspectorInstrumentation::isDebuggerPaused):
(WebCore::InspectorInstrumentation::willInsertDOMNode):
(WebCore::InspectorInstrumentation::didInsertDOMNode):
(WebCore::InspectorInstrumentation::willRemoveDOMNode):
(WebCore::InspectorInstrumentation::didRemoveDOMNode):
(WebCore::InspectorInstrumentation::willModifyDOMAttr):
(WebCore::InspectorInstrumentation::didModifyDOMAttr):
(WebCore::InspectorInstrumentation::didRemoveDOMAttr):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
(WebCore::InspectorInstrumentation::frameWindowDiscarded):
(WebCore::InspectorInstrumentation::mediaQueryResultChanged):
(WebCore::InspectorInstrumentation::didPushShadowRoot):
(WebCore::InspectorInstrumentation::willPopShadowRoot):
(WebCore::InspectorInstrumentation::didCreateNamedFlow):
(WebCore::InspectorInstrumentation::willRemoveNamedFlow):
(WebCore::InspectorInstrumentation::didChangeRegionOverset):
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
(WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
(WebCore::InspectorInstrumentation::handleTouchEvent):
(WebCore::InspectorInstrumentation::handleMousePress):
(WebCore::InspectorInstrumentation::forcePseudoState):
(WebCore::InspectorInstrumentation::characterDataModified):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
(WebCore::InspectorInstrumentation::didInstallTimer):
(WebCore::InspectorInstrumentation::didRemoveTimer):
(WebCore::InspectorInstrumentation::willCallFunction):
(WebCore::InspectorInstrumentation::didCallFunction):
(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
(WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent):
(WebCore::InspectorInstrumentation::willDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::willHandleEvent):
(WebCore::InspectorInstrumentation::didHandleEvent):
(WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
(WebCore::InspectorInstrumentation::willEvaluateScript):
(WebCore::InspectorInstrumentation::didEvaluateScript):
(WebCore::InspectorInstrumentation::scriptsEnabled):
(WebCore::InspectorInstrumentation::willFireTimer):
(WebCore::InspectorInstrumentation::didFireTimer):
(WebCore::InspectorInstrumentation::didInvalidateLayout):
(WebCore::InspectorInstrumentation::willLayout):
(WebCore::InspectorInstrumentation::didLayout):
(WebCore::InspectorInstrumentation::didScroll):
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
(WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent):
(WebCore::InspectorInstrumentation::willPaint):
(WebCore::InspectorInstrumentation::didPaint):
(WebCore::InspectorInstrumentation::willScrollLayer):
(WebCore::InspectorInstrumentation::didScrollLayer):
(WebCore::InspectorInstrumentation::willRecalculateStyle):
(WebCore::InspectorInstrumentation::didRecalculateStyle):
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
(WebCore::InspectorInstrumentation::applyEmulatedMedia):
(WebCore::InspectorInstrumentation::willSendRequest):
(WebCore::InspectorInstrumentation::continueAfterPingLoader):
(WebCore::InspectorInstrumentation::markResourceAsCached):
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
(WebCore::InspectorInstrumentation::willReceiveResourceResponse):
(WebCore::InspectorInstrumentation::didReceiveResourceResponse):
(WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
(WebCore::InspectorInstrumentation::continueWithPolicyDownload):
(WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
(WebCore::InspectorInstrumentation::didReceiveData):
(WebCore::InspectorInstrumentation::didFinishLoading):
(WebCore::InspectorInstrumentation::didFailLoading):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient):
(WebCore::InspectorInstrumentation::willLoadXHR):
(WebCore::InspectorInstrumentation::didFailXHRLoading):
(WebCore::InspectorInstrumentation::didFinishXHRLoading):
(WebCore::InspectorInstrumentation::didReceiveXHRResponse):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::scriptImported):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
(WebCore::InspectorInstrumentation::didReceiveScriptResponse):
(WebCore::InspectorInstrumentation::domContentLoadedEventFired):
(WebCore::InspectorInstrumentation::loadEventFired):
(WebCore::InspectorInstrumentation::frameDetachedFromParent):
(WebCore::InspectorInstrumentation::didCommitLoad):
(WebCore::InspectorInstrumentation::frameDocumentUpdated):
(WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
(WebCore::InspectorInstrumentation::frameStartedLoading):
(WebCore::InspectorInstrumentation::frameStoppedLoading):
(WebCore::InspectorInstrumentation::frameScheduledNavigation):
(WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
(WebCore::InspectorInstrumentation::willRunJavaScriptDialog):
(WebCore::InspectorInstrumentation::didRunJavaScriptDialog):
(WebCore::InspectorInstrumentation::willDestroyCachedResource):
(WebCore::InspectorInstrumentation::willWriteHTML):
(WebCore::InspectorInstrumentation::didWriteHTML):
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
(WebCore::InspectorInstrumentation::didStartWorkerGlobalScope):
(WebCore::InspectorInstrumentation::workerGlobalScopeTerminated):
(WebCore::InspectorInstrumentation::didCreateWebSocket):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorInstrumentation::didCloseWebSocket):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
(WebCore::InspectorInstrumentation::didSendWebSocketFrame):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::segmentUnloaded):
(WebCore::InspectorInstrumentation::captureStarted):
(WebCore::InspectorInstrumentation::captureStopped):
(WebCore::InspectorInstrumentation::playbackStarted):
(WebCore::InspectorInstrumentation::playbackPaused):
(WebCore::InspectorInstrumentation::playbackFinished):
(WebCore::InspectorInstrumentation::playbackHitPosition):
(WebCore::InspectorInstrumentation::networkStateChanged):
(WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
(WebCore::InspectorInstrumentation::didRequestAnimationFrame):
(WebCore::InspectorInstrumentation::didCancelAnimationFrame):
(WebCore::InspectorInstrumentation::willFireAnimationFrame):
(WebCore::InspectorInstrumentation::didFireAnimationFrame):
(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):
(WebCore::InspectorInstrumentation::pseudoElementDestroyed):
(WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
(WebCore::InspectorInstrumentation::hasFrontends): Deleted.
(WebCore::InspectorInstrumentation::consoleAgentEnabled): Deleted.
(WebCore::InspectorInstrumentation::runtimeAgentEnabled): Deleted.
(WebCore::InspectorInstrumentation::timelineAgentEnabled): Deleted.
(WebCore::InspectorInstrumentation::replayAgentEnabled): Deleted.

  • inspector/InspectorLayerTreeAgent.cpp:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorOverlay.cpp:
  • inspector/InspectorPageAgent.cpp:
  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:
  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:
  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorStyleTextEditor.cpp:
  • inspector/InspectorStyleTextEditor.h:
  • inspector/InspectorTimelineAgent.cpp:
  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:
  • inspector/InspectorWorkerResource.h:
  • inspector/InstrumentingAgents.cpp:
  • inspector/NetworkResourcesData.cpp:
  • inspector/NetworkResourcesData.h:
  • inspector/PageConsoleAgent.cpp:
  • inspector/PageConsoleAgent.h:
  • inspector/PageDebuggerAgent.cpp:
  • inspector/PageDebuggerAgent.h:
  • inspector/PageRuntimeAgent.cpp:
  • inspector/PageRuntimeAgent.h:
  • inspector/PageScriptDebugServer.cpp:
  • inspector/PageScriptDebugServer.h:
  • inspector/TimelineRecordFactory.cpp:
  • inspector/WebConsoleAgent.cpp:
  • inspector/WebConsoleAgent.h:
  • inspector/WebDebuggerAgent.cpp:
  • inspector/WebDebuggerAgent.h:
  • inspector/WebInjectedScriptHost.cpp:
  • inspector/WebInjectedScriptHost.h:
  • inspector/WebInjectedScriptManager.cpp:
  • inspector/WebInjectedScriptManager.h:
  • inspector/WorkerConsoleAgent.cpp:
  • inspector/WorkerConsoleAgent.h:
  • inspector/WorkerDebuggerAgent.cpp:
  • inspector/WorkerDebuggerAgent.h:
  • inspector/WorkerInspectorController.cpp:
  • inspector/WorkerInspectorController.h:
  • inspector/WorkerRuntimeAgent.cpp:
  • inspector/WorkerRuntimeAgent.h:
  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::loadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::createResourceHandle):
(WebCore::ApplicationCacheGroup::didReceiveResponse):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::applicationCacheInfo):

  • loader/appcache/ApplicationCacheHost.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::showContextMenu):
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::addInspectElementItem):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):

  • page/FrameView.cpp:

(WebCore::FrameView::sendResizeEventIfNeeded):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::~Page):

  • page/Page.h:
  • platform/ContextMenuItem.h:
  • platform/efl/EflInspectorUtilities.cpp:
  • platform/efl/EflInspectorUtilities.h:
  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::ResourceRequestBase):

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

  • testing/Internals.cpp:

(WebCore::InspectorFrontendChannelDummy::sendMessageToFrontend):
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::inspectorHighlightRects):
(WebCore::Internals::inspectorHighlightObject):
(WebCore::Internals::setInspectorIsUnderTest):

  • testing/Internals.h:
  • testing/Internals.idl:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):

  • workers/WorkerGlobalScope.h:
  • workers/WorkerGlobalScopeProxy.h:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::sendMessageToInspector):
(WebCore::WorkerMessagingProxy::postMessageToPageInspector):

  • workers/WorkerMessagingProxy.h:
  • workers/WorkerReportingProxy.h:
  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::workerThread):

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchWillSendRequest):

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.cpp:

(registerWindowClass):

(WebInspector::setTimelineProfilingEnabled):

  • WebNodeHighlight.cpp:

(WebNodeHighlight::WebNodeHighlight):
(WebNodeHighlight::update):

  • WebNodeHighlight.h:
  • WebView.cpp:

(WebView::WebView):
(WebView::close):
(WebView::initWithFrame):
(WebView::inspector):

  • WebView.h:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI):
(WebKit::toImpl):

  • Shared/WebCoreArgumentCoders.cpp:

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

  • UIProcess/API/C/WKInspector.cpp:

(WKInspectorGetTypeID):
(WKInspectorGetPage):
(WKInspectorIsConnected):
(WKInspectorIsVisible):
(WKInspectorIsFront):
(WKInspectorConnect):
(WKInspectorShow):
(WKInspectorHide):
(WKInspectorClose):
(WKInspectorShowConsole):
(WKInspectorShowResources):
(WKInspectorShowMainResourceForFrame):
(WKInspectorIsAttached):
(WKInspectorAttach):
(WKInspectorDetach):
(WKInspectorIsProfilingPage):
(WKInspectorTogglePageProfiling):

  • UIProcess/API/C/WKPage.cpp:

(WKPageGetInspector):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_inspector_show):
(ewk_view_inspector_close):

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

(TEST_F):

  • UIProcess/PageClient.h:
  • UIProcess/WebInspectorProxy.cpp:
  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebInspectorProxy.messages.in:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getLaunchOptions):

  • UIProcess/efl/WebInspectorProxyEfl.cpp:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::disableInspectorNodeSearch):

  • UIProcess/ios/WebInspectorProxyIOS.mm:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::disableInspectorNodeSearch):

  • UIProcess/mac/WebInspectorProxyMac.mm:
  • WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:

(WKBundleInspectorGetTypeID):
(WKBundleInspectorShow):
(WKBundleInspectorClose):
(WKBundleInspectorEvaluateScriptForTest):
(WKBundleInspectorSetPageProfilingEnabled):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageGetInspector):

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:
  • WebProcess/WebCoreSupport/WebInspectorClient.h:
  • WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
  • WebProcess/WebPage/WebInspector.cpp:
  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebInspector.messages.in:
  • WebProcess/WebPage/WebInspectorUI.cpp:
  • WebProcess/WebPage/WebInspectorUI.h:
  • WebProcess/WebPage/WebInspectorUI.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::close):
(WebKit::WebPage::inspectorUI):
(WebKit::WebPage::didReceiveMessage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/efl/WebInspectorEfl.cpp:
  • WebProcess/WebPage/efl/WebInspectorUIEfl.cpp:
  • WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
  • WebProcess/WebPage/gtk/WebInspectorUIGtk.cpp:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::disableInspectorNodeSearch):

  • WebProcess/WebPage/mac/WebInspectorMac.mm:
  • WebProcess/WebPage/mac/WebInspectorUIMac.mm:
  • config.h:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::showWebInspector):
(TestRunner::closeWebInspector):
(TestRunner::evaluateInWebInspector):

  • Scripts/webkitperl/FeatureList.pm:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::showWebInspector):
(WTR::TestRunner::closeWebInspector):
(WTR::TestRunner::evaluateInWebInspector):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):

12:20 AM Changeset in webkit [178819] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r175818. rdar://problem/19419835

12:18 AM Changeset in webkit [178818] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r175812. rdar://problem/19420081

12:17 AM Changeset in webkit [178817] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r175771. rdar://problem/19450090

12:16 AM Changeset in webkit [178816] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r175718. rdar://problem/19395083

12:15 AM Changeset in webkit [178815] by bshafiei@apple.com
  • 6 edits
    2 copies in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r175698. rdar://problem/19419806

12:13 AM Changeset in webkit [178814] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r175636. rdar://problem/19419798

12:12 AM Changeset in webkit [178813] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r175334. rdar://problem/19302743

12:11 AM Changeset in webkit [178812] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r175277. rdar://problem/19419795

12:10 AM Changeset in webkit [178811] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r175266. rdar://problem/19420035

12:06 AM Changeset in webkit [178810] by bshafiei@apple.com
  • 4 edits
    3 copies in branches/safari-600.1.4.15-branch

Merged r175236. rdar://problem/19432709

Jan 20, 2015:

11:37 PM Changeset in webkit [178809] by matthew_hanson@apple.com
  • 9 edits in branches/safari-600.4-branch

Rollout r178679. rdar://problem/19448129

11:23 PM Changeset in webkit [178808] by Brent Fulgham
  • 21 edits
    157 adds in trunk/LayoutTests

[Win] Unreviewed gardening.

Rebaseline and clean-up of skipped files.

  • platform/win/TestExpectations:
  • platform/win/css2.1/20110323: Added.
  • platform/win/css2.1/20110323/abspos-containing-block-initial-001-expected.png: Added.
  • platform/win/css2.1/20110323/abspos-containing-block-initial-007-expected.png: Added.
  • platform/win/css2.1/20110323/border-conflict-style-079-expected.png: Added.
  • platform/win/css2.1/20110323/border-conflict-style-088-expected.png: Added.
  • platform/win/css2.1/20110323/border-spacing-applies-to-015-expected.png: Added.
  • platform/win/css2.1/20110323/dynamic-top-change-001-expected.png: Added.
  • platform/win/css2.1/20110323/dynamic-top-change-002-expected.png: Added.
  • platform/win/css2.1/20110323/dynamic-top-change-003-expected.png: Added.
  • platform/win/css2.1/20110323/dynamic-top-change-004-expected.png: Added.
  • platform/win/css2.1/20110323/floating-replaced-height-008-expected.png: Added.
  • platform/win/css2.1/20110323/height-width-inline-table-001-expected.png: Added.
  • platform/win/css2.1/20110323/height-width-table-001-expected.png: Added.
  • platform/win/css2.1/20110323/inline-block-replaced-height-008-expected.png: Added.
  • platform/win/css2.1/20110323/inline-replaced-height-008-expected.png: Added.
  • platform/win/css2.1/20110323/inline-table-001-expected.png: Added.
  • platform/win/css2.1/20110323/inline-table-002a-expected.png: Added.
  • platform/win/css2.1/20110323/inline-table-003-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-001-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-002-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-003-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-004-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-005-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-006-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-007-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-008-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-009-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-010-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-012-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-013-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-014-expected.png: Added.
  • platform/win/css2.1/20110323/margin-applies-to-015-expected.png: Added.
  • platform/win/css2.1/20110323/table-caption-001-expected.png: Added.
  • platform/win/css2.1/20110323/table-caption-002-expected.png: Added.
  • platform/win/css2.1/20110323/table-caption-horizontal-alignment-001-expected.png: Added.
  • platform/win/css2.1/20110323/table-caption-margins-001-expected.png: Added.
  • platform/win/css2.1/20110323/table-caption-optional-001-expected.png: Added.
  • platform/win/css2.1/20110323/table-caption-optional-002-expected.png: Added.
  • platform/win/css2.1/20110323/table-height-algorithm-023-expected.png: Added.
  • platform/win/css2.1/20110323/table-height-algorithm-024-expected.png: Added.
  • platform/win/css2.1/t0805-c5518-brdr-t-01-e-expected.png: Added.
  • platform/win/css2.1/t0805-c5518-brdr-t-01-e-expected.txt: Added.
  • platform/win/css2.1/t0805-c5519-brdr-r-00-a-expected.png: Added.
  • platform/win/css2.1/t0805-c5519-brdr-r-00-a-expected.txt: Added.
  • platform/win/css2.1/t0805-c5519-brdr-r-01-e-expected.png: Added.
  • platform/win/css2.1/t0805-c5519-brdr-r-01-e-expected.txt:
  • platform/win/css2.1/t0805-c5520-brdr-b-01-e-expected.png: Added.
  • platform/win/css2.1/t0805-c5520-brdr-b-01-e-expected.txt: Added.
  • platform/win/css2.1/t0805-c5521-brdr-l-00-a-expected.png: Added.
  • platform/win/css2.1/t0805-c5521-brdr-l-00-a-expected.txt: Added.
  • platform/win/css2.1/t0805-c5521-brdr-l-01-e-expected.png: Added.
  • platform/win/css2.1/t0805-c5521-brdr-l-01-e-expected.txt:
  • platform/win/css2.1/t0805-c5521-ibrdr-l-00-a-expected.png: Added.
  • platform/win/css2.1/t0805-c5521-ibrdr-l-00-a-expected.txt: Added.
  • platform/win/css2.1/t09-c5526c-display-00-e-expected.png: Added.
  • platform/win/css2.1/t09-c5526c-display-00-e-expected.txt: Added.
  • platform/win/css2.1/t0905-c414-flt-01-b-expected.png: Added.
  • platform/win/css2.1/t0905-c414-flt-01-b-expected.txt: Added.
  • platform/win/css2.1/t0905-c414-flt-02-c-expected.png: Added.
  • platform/win/css2.1/t0905-c414-flt-02-c-expected.txt: Added.
  • platform/win/css2.1/t0905-c414-flt-03-c-expected.png: Added.
  • platform/win/css2.1/t0905-c414-flt-03-c-expected.txt: Added.
  • platform/win/css2.1/t0905-c414-flt-04-c-expected.png: Added.
  • platform/win/css2.1/t0905-c414-flt-04-c-expected.txt: Added.
  • platform/win/css2.1/t0905-c414-flt-fit-01-d-g-expected.png: Added.
  • platform/win/css2.1/t0905-c414-flt-fit-01-d-g-expected.txt: Added.
  • platform/win/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/win/css2.1/t0905-c5525-fltblck-00-d-ag-expected.txt:
  • platform/win/css2.1/t0905-c5525-fltblck-01-d-expected.png: Added.
  • platform/win/css2.1/t0905-c5525-fltblck-01-d-expected.txt: Added.
  • platform/win/css2.1/t0905-c5525-fltcont-00-d-g-expected.png: Added.
  • platform/win/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt: Added.
  • platform/win/css2.1/t0905-c5525-flthw-00-c-g-expected.png: Added.
  • platform/win/css2.1/t0905-c5525-flthw-00-c-g-expected.txt: Added.
  • platform/win/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png: Added.
  • platform/win/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
  • platform/win/css2.1/t0905-c5525-fltwidth-02-c-g-expected.png: Added.
  • platform/win/css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt: Added.
  • platform/win/css2.1/t0905-c5525-fltwidth-03-c-g-expected.png: Added.
  • platform/win/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt: Added.
  • platform/win/css2.1/t0905-c5525-fltwrap-00-b-expected.png: Added.
  • platform/win/css2.1/t0905-c5525-fltwrap-00-b-expected.txt:
  • platform/win/css2.1/t0905-c5526-flthw-00-c-g-expected.png: Added.
  • platform/win/css2.1/t0905-c5526-flthw-00-c-g-expected.txt: Added.
  • platform/win/css2.1/t090501-c414-flt-01-b-expected.png: Added.
  • platform/win/css2.1/t090501-c414-flt-01-b-expected.txt: Added.
  • platform/win/css2.1/t090501-c414-flt-03-b-g-expected.png: Added.
  • platform/win/css2.1/t090501-c414-flt-03-b-g-expected.txt: Added.
  • platform/win/css2.1/t090501-c414-flt-ln-01-d-g-expected.txt: Added.
  • platform/win/css2.1/t090501-c5525-flt-l-00-b-g-expected.png: Added.
  • platform/win/css2.1/t090501-c5525-flt-l-00-b-g-expected.txt: Added.
  • platform/win/css2.1/t090501-c5525-flt-r-00-b-g-expected.png: Added.
  • platform/win/css2.1/t090501-c5525-flt-r-00-b-g-expected.txt: Added.
  • platform/win/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.png: Added.
  • platform/win/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.txt: Added.
  • platform/win/css2.1/t1202-counter-03-b-expected.txt: Added.
  • platform/win/css2.1/t1202-counter-04-b-expected.png: Added.
  • platform/win/css2.1/t1202-counter-04-b-expected.txt:
  • platform/win/css2.1/t1202-counters-03-b-expected.png: Added.
  • platform/win/css2.1/t1202-counters-03-b-expected.txt: Added.
  • platform/win/css2.1/t1202-counters-04-b-expected.png: Added.
  • platform/win/css2.1/t1202-counters-04-b-expected.txt:
  • platform/win/css2.1/t1205-c566-list-stl-01-c-g-expected.png: Added.
  • platform/win/css2.1/t1205-c566-list-stl-01-c-g-expected.txt: Added.
  • platform/win/css3/selectors3: Added.
  • platform/win/css3/selectors3/html: Added.
  • platform/win/css3/selectors3/html/css3-modsel-161-expected.png: Added.
  • platform/win/css3/selectors3/html/css3-modsel-161-expected.txt: Added.
  • platform/win/css3/selectors3/html/css3-modsel-19b-expected.png: Added.
  • platform/win/css3/selectors3/html/css3-modsel-19b-expected.txt: Added.
  • platform/win/css3/selectors3/html/css3-modsel-23-expected.png: Added.
  • platform/win/css3/selectors3/html/css3-modsel-23-expected.txt: Added.
  • platform/win/css3/selectors3/html/css3-modsel-24-expected.png: Added.
  • platform/win/css3/selectors3/html/css3-modsel-24-expected.txt: Added.
  • platform/win/css3/selectors3/html/css3-modsel-25-expected.png: Added.
  • platform/win/css3/selectors3/html/css3-modsel-25-expected.txt: Added.
  • platform/win/css3/selectors3/html/css3-modsel-64-expected.png: Added.
  • platform/win/css3/selectors3/html/css3-modsel-64-expected.txt: Added.
  • platform/win/css3/selectors3/html/css3-modsel-68-expected.png: Added.
  • platform/win/css3/selectors3/html/css3-modsel-68-expected.txt: Added.
  • platform/win/css3/selectors3/html/css3-modsel-69-expected.png: Added.
  • platform/win/css3/selectors3/html/css3-modsel-69-expected.txt: Added.
  • platform/win/css3/selectors3/html/css3-modsel-70-expected.png: Added.
  • platform/win/css3/selectors3/html/css3-modsel-70-expected.txt: Added.
  • platform/win/css3/selectors3/xhtml: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.txt: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-19b-expected.png: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-19b-expected.txt: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-23-expected.png: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-23-expected.txt: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-24-expected.png: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-24-expected.txt: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-25-expected.png: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-25-expected.txt: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-64-expected.png: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-64-expected.txt: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-68-expected.png: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-68-expected.txt: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-69-expected.png: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-69-expected.txt: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-70-expected.png: Added.
  • platform/win/css3/selectors3/xhtml/css3-modsel-70-expected.txt: Added.
  • platform/win/css3/selectors3/xml: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-161-expected.png: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-161-expected.txt: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-19b-expected.png: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-19b-expected.txt: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-23-expected.png: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-23-expected.txt: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-24-expected.png: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-24-expected.txt: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-25-expected.png: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-25-expected.txt: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-64-expected.png: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-64-expected.txt: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-68-expected.png: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-68-expected.txt: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-69-expected.png: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-69-expected.txt: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-70-expected.png: Added.
  • platform/win/css3/selectors3/xml/css3-modsel-70-expected.txt: Added.
  • platform/win/fast/block/float/016-expected.png: Added.
  • platform/win/fast/block/float/016-expected.txt: Added.
  • platform/win/fast/css/non-standard-checkbox-size-expected.txt: Added.
  • platform/win/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
  • platform/win/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt:
  • platform/win/fast/dom/HTMLMeterElement/meter-boundary-values-expected.png:
  • platform/win/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
  • platform/win/fast/dom/HTMLMeterElement/meter-element-expected.txt:
  • platform/win/fast/dom/HTMLMeterElement/meter-optimums-expected.png:
  • platform/win/fast/dom/HTMLMeterElement/meter-optimums-expected.txt:
  • platform/win/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.png:
  • platform/win/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
  • platform/win/fast/dom/HTMLMeterElement/meter-styles-expected.png:
  • platform/win/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
11:22 PM Changeset in webkit [178807] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit/mac

Merge r178680. rdar://problem/19489593

11:22 PM Changeset in webkit [178806] by matthew_hanson@apple.com
  • 9 edits in branches/safari-600.4-branch

Merge r178679. rdar://problem/19448129

11:21 PM Changeset in webkit [178805] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit/mac

Merge r178676. rdar://problem/19489593

11:21 PM Changeset in webkit [178804] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit/mac

Merge r178605. rdar://problem/19490114

11:21 PM Changeset in webkit [178803] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merge r178595. rdar://problem/19490114

11:17 PM Changeset in webkit [178802] by ap@apple.com
  • 4 edits
    4 deletes in trunk/Tools

Update build.webkit.org/dashboard to match current Mac queues.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Lion.png: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Lion@2x.png: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/MountainLion.png: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/MountainLion@2x.png: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.mac-os-x-mountain-lion img.logo): Deleted.
(table.queue-grid tr.platform.mac-os-x-lion img.logo): Deleted.

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

Versioning.

10:47 PM Changeset in webkit [178800] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.15

New tag.

10:40 PM Changeset in webkit [178799] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector/model/remote-object-get-properties.html asserts

9:08 PM Changeset in webkit [178798] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (Yosemite): HTTP tests time out waiting for subresources
https://bugs.webkit.org/show_bug.cgi?id=140715

Rubber-stamped by Mark Rowe.

Enable Apache performance logging to better isolate the issue.

  • http/conf/apache2.4-httpd.conf:
8:55 PM Changeset in webkit [178797] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit/mac

Remove USE(GLIB) code from WebKit1
https://bugs.webkit.org/show_bug.cgi?id=140714

Reviewed by Andreas Kling.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _close]):
(-[WebView _clearGlibLoopObserver]): Deleted.
(glibContextIterationCallback): Deleted.
(-[WebView _scheduleGlibContextIterations]): Deleted.

  • WebView/WebViewData.h:
  • WebView/WebViewInternal.h:
8:22 PM Changeset in webkit [178796] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Clean up InjectedScriptSource.js
https://bugs.webkit.org/show_bug.cgi?id=140709

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-20
Reviewed by Timothy Hatcher.

This patch includes some relevant Blink patches and small changes.

Patch by <aandrey@chromium.org>
DevTools: Remove console last result $_ on console clear.
https://src.chromium.org/viewvc/blink?revision=179179&view=revision

Patch by <eustas@chromium.org>
[Inspect DOM properties] incorrect CSS Selector Syntax
https://src.chromium.org/viewvc/blink?revision=156903&view=revision

  • inspector/InjectedScriptSource.js:
6:44 PM Changeset in webkit [178795] by Joseph Pecoraro
  • 3 edits in trunk/LayoutTests

Unreviewed gardening. Remove variable objectId from output.

  • inspector/model/remote-object-get-properties-expected.txt:
  • inspector/model/remote-object-get-properties.html:
6:16 PM Changeset in webkit [178794] by Chris Dumez
  • 10 edits in trunk/Source/WebCore

Simplify DiagnosticLoggingClient call sites
https://bugs.webkit.org/show_bug.cgi?id=140701

Reviewed by Andreas Kling.

Simplify DiagnosticLoggingClient call sites by:

  • Moving the Settings::diagnosticLoggingEnabled() check inside the MainFrame::diagnosticLoggingClient() getter.
  • Having MainFrame::diagnosticLoggingClient() return a reference instead of a pointer (returning a dummy client if necessary).

Otherwise, each call site needs to both check the setting and do a
null-check on the client which is a bit annoying.

  • history/PageCache.cpp:

(WebCore::logPageCacheFailureDiagnosticMessage):
(WebCore::logCanCacheFrameDecision):
(WebCore::logCanCachePageDecision):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::logNavigation):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):

  • loader/SubframeLoader.cpp:

(WebCore::logPluginRequest):

  • loader/SubresourceLoader.cpp:

(WebCore::logResourceLoaded):

  • page/DiagnosticLoggingClient.h:

(WebCore::DiagnosticLoggingClient::logDiagnosticMessage): Deleted.
(WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithResult): Deleted.
(WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithValue): Deleted.

  • page/MainFrame.cpp:

(WebCore::MainFrame::diagnosticLoggingClient):

  • page/MainFrame.h:
5:59 PM Changeset in webkit [178793] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

[Win] Rebaseline a test, unskip some working tests.

  • platform/win/TestExpectations:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
5:59 PM Changeset in webkit [178792] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

config fix after r178790.

5:54 PM Changeset in webkit [178791] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Web Inspector: Cleanup RuntimeAgent a bit
https://bugs.webkit.org/show_bug.cgi?id=140706

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-20
Reviewed by Timothy Hatcher.

  • inspector/InjectedScript.h:
  • inspector/InspectorBackendDispatcher.h:
  • inspector/ScriptCallFrame.cpp:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::getProperties):
(Inspector::InspectorRuntimeAgent::run):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::recompileAllJSFunctionsForTypeProfiling):
(Inspector::InspectorRuntimeAgent::setTypeProfilerEnabledState):

5:37 PM Changeset in webkit [178790] by Lucas Forschler
  • 2 edits in trunk/Tools

Update Apple MountainLion Leaks slave to Yosemite
Update Apple MountainLion Release (32-bit) Build slave to Yosemite

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
5:16 PM Changeset in webkit [178789] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] More test gardening.

  • platform/win/TestExpectations: Mark several tests as failing now that bug

reports have been filed for them.

5:12 PM Changeset in webkit [178788] by mmirman@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Made Identity in the DFG allocate a new temp register and move
the old data to it.
https://bugs.webkit.org/show_bug.cgi?id=140700
<rdar://problem/19339106>

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):
Added scratch registers for Identity.

  • tests/mozilla/mozilla-tests.yaml: enabled previously failing test
5:10 PM Changeset in webkit [178787] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Use spread operator in a few places
https://bugs.webkit.org/show_bug.cgi?id=140699

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-20
Reviewed by Geoffrey Garen.

  • UserInterface/Controllers/ProbeManager.js:

(WebInspector.ProbeManager.prototype.get probeSets):
Simplify by using the spread operator.

  • UserInterface/Models/TimelineRecording.js:

This actually fixes an issue. The one place this was used was expecting
an array and called ".length" on the result. However, the iterator being
returned does not have a ".length" property so it was always undefined.

5:08 PM Changeset in webkit [178786] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r175241. rdar://problem/19419939

5:06 PM Changeset in webkit [178785] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r175135. rdar://problem/19420028

5:05 PM Changeset in webkit [178784] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r175131. rdar://problem/19420045

5:04 PM Changeset in webkit [178783] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r174832. rdar://problem/19420050

5:03 PM Changeset in webkit [178782] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r174756. rdar://problem/19420050

5:02 PM Changeset in webkit [178781] by bshafiei@apple.com
  • 9 edits in branches/safari-600.1.4.15-branch

Merged r174741. rdar://problem/19369440

5:00 PM Changeset in webkit [178780] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r174716. rdar://problem/19432665

4:59 PM Changeset in webkit [178779] by bshafiei@apple.com
  • 10 edits in branches/safari-600.1.4.15-branch

Merged r174712. rdar://problem/19419947

4:56 PM Changeset in webkit [178778] by bshafiei@apple.com
  • 1 edit
    2 copies
    2 deletes in branches/safari-600.1.4.15-branch/LayoutTests

Merged r174614. rdar://problem/19419964

4:55 PM Changeset in webkit [178777] by bshafiei@apple.com
  • 6 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r174540. rdar://problem/19419964

4:52 PM Changeset in webkit [178776] by Lucas Forschler
  • 2 edits in trunk/Tools

Update LeaksViewer from MountainLion to Yosemite

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/LeaksViewer.js:

(LeaksViewer._displayURLPrompt):

4:51 PM Changeset in webkit [178775] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r174345. rdar://problem/19450106

4:50 PM Changeset in webkit [178774] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Tools

Merged r174376. rdar://problem/19419888

4:50 PM Changeset in webkit [178773] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r174330. rdar://problem/19419888

4:48 PM Changeset in webkit [178772] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r174148. rdar://problem/19419899

4:47 PM Changeset in webkit [178771] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r173934. rdar://problem/19419953

4:46 PM Changeset in webkit [178770] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r173790. rdar://problem/19433162

4:42 PM Changeset in webkit [178769] by Brent Fulgham
  • 3 edits
    93 adds in trunk/LayoutTests

[Win] Unreviewed test gardening.

Now that Mac has switched to new SVG font results, commit the old Mac output for
use with Windows tests until they are also cut over.

  • platform/win/TestExpectations:
  • platform/win/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png:
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/filters-light-04-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/filters-turb-02-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/render-elems-06-t-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/render-elems-07-t-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/render-elems-08-t-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/render-groups-01-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/render-groups-03-t-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/text-align-08-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/text-align-08-b-expected.txt: Added.
  • platform/win/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt: Added.
  • platform/win/svg/custom/glyph-setting-d-attribute-expected.png: Added.
  • platform/win/svg/custom/glyph-setting-d-attribute-expected.txt: Added.
  • platform/win/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png: Added.
  • platform/win/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt: Added.
  • platform/win/svg/foreignObject: Added.
  • platform/win/svg/foreignObject/text-tref-02-b-expected.png: Added.
  • platform/win/svg/foreignObject/text-tref-02-b-expected.txt: Added.
  • platform/win/svg/text/kerning-expected.png: Added.
  • platform/win/svg/text/kerning-expected.txt: Added.
  • platform/win/svg/text/multichar-glyph-expected.png: Added.
  • platform/win/svg/text/multichar-glyph-expected.txt: Added.
  • platform/win/svg/transforms: Added.
  • platform/win/svg/transforms/text-with-mask-with-svg-transform-expected.png: Added.
  • platform/win/svg/transforms/text-with-mask-with-svg-transform-expected.txt: Added.
4:34 PM Changeset in webkit [178768] by commit-queue@webkit.org
  • 11 edits
    2 adds in trunk

Web Inspector: Expanding event objects in console shows undefined for most values, it should have real values
https://bugs.webkit.org/show_bug.cgi?id=137306

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-20
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Provide another optional parameter to getProperties, to gather a list
of all own and getter properties.

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getProperties):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptSource.js:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getProperties):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/protocol/Runtime.json:

Source/WebInspectorUI:

When first expanding an object, show all the object's own properties and any
getter properties that may be on its prototype chain. Now, we only fetch
own properties, for proto properties.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.prototype.getOwnProperties):
(WebInspector.RemoteObject.prototype.getOwnAndGetterProperties):
(WebInspector.RemoteObject.prototype.getAllProperties):
(WebInspector.RemoteObject.prototype.get hasChildren): Deleted.

  • UserInterface/Views/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection):
(WebInspector.ObjectPropertiesSection.prototype.update):
(WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):

LayoutTests:

  • inspector/model/remote-object-get-properties-expected.txt: Added.
  • inspector/model/remote-object-get-properties.html: Added.
4:30 PM Changeset in webkit [178767] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

Web Inspector: Should show dynamic specificity values
https://bugs.webkit.org/show_bug.cgi?id=140647

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-20
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

  • inspector/protocol/CSS.json:

Clarify CSSSelector optional values and add "dynamic" property indicating
if the selector can be dynamic based on the element it is matched against.

Source/WebCore:

Test: inspector/css/selector-dynamic-specificity.html

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
When building a response for a particular element, pass the element along.

  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::hasDynamicSpecificity):
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
When building a response for a Selector, include the specificity if we know
the element in context.

Source/WebInspectorUI:

For dynamic selectors, provide text in the tooltip describing that the
specificity is dynamic and may change, and pointing out the element
the current value was calculated against.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Models/CSSSelector.js:

(WebInspector.CSSSelector):
(WebInspector.CSSSelector.prototype.get specificity):
(WebInspector.CSSSelector.prototype.get dynamic):

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload.return):
(WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload):

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):

LayoutTests:

  • inspector/css/selector-dynamic-specificity-expected.txt: Added.
  • inspector/css/selector-dynamic-specificity.html: Added.
4:28 PM Changeset in webkit [178766] by ap@apple.com
  • 3 edits in trunk/LayoutTests

http/tests/xmlhttprequest/xmlhttprequest-responseURL.html uses an incorrect resource path
https://bugs.webkit.org/show_bug.cgi?id=140689

Reviewed by Tim Horton.

  • http/tests/xmlhttprequest/xmlhttprequest-responseURL-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-responseURL.html:
4:26 PM Changeset in webkit [178765] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Noise about undefined $ENV{"HTTP_ORIGIN"} in Apache logs on several tests
https://bugs.webkit.org/show_bug.cgi?id=140690

Reviewed by Tim Horton.

  • http/tests/xmlhttprequest/resources/access-control-basic-allow-access-control-origin-header.cgi:
4:25 PM Changeset in webkit [178764] by ap@apple.com
  • 2 edits
    1 move in trunk/LayoutTests

malformed header from script 'noContentLength.asis': Bad header
https://bugs.webkit.org/show_bug.cgi?id=140693

Reviewed by Tim Horton.

Changed the resource to actually have no Content-Length, and adjusted incorrect test
expectations.

  • http/tests/xmlhttprequest/resources/noContentLength.asis: Removed.
  • http/tests/xmlhttprequest/resources/noContentLength.cgi: Copied from LayoutTests/http/tests/xmlhttprequest/resources/noContentLength.asis.
  • http/tests/xmlhttprequest/xmlhttprequest-no-content-length-onProgress.html:
4:21 PM Changeset in webkit [178763] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Apache logs a warning in http/tests/resources/post-and-verify-hybrid.cgi
https://bugs.webkit.org/show_bug.cgi?id=140680

Reviewed by Tim Horton.

  • http/tests/resources/post-and-verify-hybrid.cgi: Fix a "useless use of a variable

in void context".

4:13 PM Changeset in webkit [178762] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Build fix after r178760.

Windows will not accept a variable as the size declaration for an array.

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::appendGSUBTable): Make size argument a const.

4:05 PM Changeset in webkit [178761] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] Unreviewed Windows project file gardening.

  • WebCore.vcxproj/WebCore.vcxproj: Add missing SVG files and put things in their proper

folders.

  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3:32 PM Changeset in webkit [178760] by Brent Fulgham
  • 3 edits in trunk/WebKitLibraries

[Win] Unreviewed gardening.

  • win/tools/vsprops/FeatureDefines.props: Add feature definition for SVG converter,

but do NOT turn it on.

  • win/tools/vsprops/FeatureDefinesCairo.props: Ditto.
3:11 PM Changeset in webkit [178759] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

URLFilterParser dismisses the last atom when parsing a builtin character class
https://bugs.webkit.org/show_bug.cgi?id=140695

Reviewed by Andreas Kling.

The pending atom was not sunk before creating the new atom.

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):

3:10 PM Changeset in webkit [178758] by akling@apple.com
  • 5 edits
    1 add in trunk/Source/WebCore

Fast path for casting JSValue to JSDocument*.
<https://webkit.org/b/134655>

Add a custom JSType bit for JSDocument so we can quickly cast to it
from JSValue in the DocumentPrototype functions. This removes a bunch
of grunt work and branches from common functions like getElementById.

Also removed GetCastingHelperForBaseObject and replace it with
simple jsCasts since we don't need dynamic type checks for the base.

Reviewed by Darin Adler.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWrapper.h:
  • bindings/js/JSDocumentCustom.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GetCastingHelperForThisObject):
(GenerateImplementation):
(GetCastingHelperForBaseObject): Deleted.

  • dom/Document.idl:
2:43 PM Changeset in webkit [178757] by commit-queue@webkit.org
  • 7 edits in trunk/Tools

Fix EWS python unit tests and address code comments as per 140476
https://bugs.webkit.org/show_bug.cgi?id=140637

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2015-01-20
Reviewed by David Kilzer.

  • Scripts/webkitpy/port/base.py:

(Port):
(Port.init):
Adds DEFAULT_ARCHITECTURE member.
(Port.architecture):
Removes architecture member and instead uses
self.get_option('architecture'). Also removes redundant architecture
method.
(Port.set_architecture):
Adds a setter for the architecture variable to be able to set a flag
upon modification.
(Port.test_configuration):
Uses self.architecture() instead of self._architecture.

  • Scripts/webkitpy/port/ios.py:

Overrides DEFAULT_ARCHITECTURE.
(IOSPort):
(IOSPort.determine_full_port_name):
Uses subprocess.check_output instead of Popen. Uses rstrip instead of
strip. Fixes regex to not match arbitrary characters after the
relevent digits are matched.
(IOSPort.init):
Removes old _architecture defaulting strategy.
(IOSPort._build_driver_flags):
Uses self.architecture() instead of self._architecture.
(IOSSimulatorPort):
Overrides DEFAULT_ARCHITECTURE.
(IOSSimulatorPort.init):
Removes old _architecture defaulting strategy.

  • Scripts/webkitpy/port/mac.py:

(MacPort):
Overrides DEFAULT_ARCHITECTURE.
(MacPort.init):
Removes old _architecture defaulting strategy.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(AbstractEarlyWarningSystem.run_command):
Checks the did_override_architecture flag to determine whether to add
the --architecture option.

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

Uses ews.architecture rather than trying to discern the correct
architecture using a port object.
(EarlyWarningSystemTest._default_expected_logs):

  • Scripts/webkitpy/tool/commands/queues.py:

Removes use of optparse, and removes the import statement.
(AbstractQueue.init):
(PatchProcessingQueue.begin_work_queue):

2:43 PM Changeset in webkit [178756] by commit-queue@webkit.org
  • 32 edits
    3 deletes in trunk

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

Caused 32-bit JSC test failures (Requested by JoePeck on
#webkit).

Reverted changeset:

"put_by_val_direct need to check the property is index or not
for using putDirect / putDirectIndex"
https://bugs.webkit.org/show_bug.cgi?id=140426
http://trac.webkit.org/changeset/178751

2:21 PM Changeset in webkit [178755] by mhock@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS][WK2] Redraw find-in-page indicator on rotation
https://bugs.webkit.org/show_bug.cgi?id=140632
<rdar://problem/18858394>

Reviewed by Tim Horton.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::redraw): Add method to redraw find indicator (only used by iOS).

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

(WebKit::WebPage::mainFrameDidLayout):

  • WebProcess/WebPage/ios/FindControllerIOS.mm:

(WebKit::FindController::updateFindIndicator): Redraw should not trigger zoom.

2:07 PM Changeset in webkit [178754] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Use FlowContents::Segment::text instead of renderer when possible.
https://bugs.webkit.org/show_bug.cgi?id=140692

Reviewed by Myles C. Maxfield.

No change in functionality.

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::RunResolver::Run::text):

1:49 PM Changeset in webkit [178753] by ddkilzer@apple.com
  • 11 edits in trunk/Source

Switch to comparing PLATFORM_NAME in terms of macosx
<http://webkit.org/b/139516>

Reviewed by Timothy Hatcher.

Source/WebCore:

  • bindings/scripts/preprocessor.pm:

(applyPreprocessor):

  • generate-export-file:

(preprocessorMacros):

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • MigrateHeaders.make:
  • postprocess-headers.sh:

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:
  • mac/rewrite-availability-macros.sh: Remove the else block that

checked for an unknown PLATFORM_NAME.

1:46 PM Changeset in webkit [178752] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix 32bits builds after r178743

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):

1:14 PM Changeset in webkit [178751] by Yusuke Suzuki
  • 32 edits
    3 adds in trunk

put_by_val_direct need to check the property is index or not for using putDirect / putDirectIndex
https://bugs.webkit.org/show_bug.cgi?id=140426

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

In the put_by_val_direct operation, we use JSObject::putDirect.
However, it only accepts non-index property. For index property, we need to use JSObject::putDirectIndex.
This patch changes Identifier::asIndex() to return Optional<uint32_t>.
It forces callers to check the value is index or not explicitly.
Additionally, it checks toString-ed Identifier is index or not to choose putDirect / putDirectIndex.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitDirectPutById):

  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

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

(JSC::emitPutTransitionStubAndGetOldStructure):

  • jsc.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::getOwnPropertySlot):
(JSC::Arguments::put):
(JSC::Arguments::deleteProperty):
(JSC::Arguments::defineOwnProperty):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncSort):

  • runtime/JSArray.cpp:

(JSC::JSArray::defineOwnProperty):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitive):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot):
(JSC::JSGenericTypedArrayView<Adaptor>::put):
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty):

  • runtime/JSObject.cpp:

(JSC::JSObject::put):
(JSC::JSObject::putDirectAccessor):
(JSC::JSObject::putDirectCustomAccessor):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::putDirectMayBeIndex):
(JSC::JSObject::defineOwnProperty):

  • runtime/JSObject.h:

(JSC::JSObject::getOwnPropertySlot):
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::putDirectInternal):

  • runtime/JSString.cpp:

(JSC::JSString::getStringPropertyDescriptor):

  • runtime/JSString.h:

(JSC::JSString::getStringPropertySlot):

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::parse):

  • runtime/PropertyName.h:

(JSC::toUInt32FromCharacters):
(JSC::toUInt32FromStringImpl):
(JSC::PropertyName::asIndex):

  • runtime/PropertyNameArray.cpp:

(JSC::PropertyNameArray::add):

  • runtime/StringObject.cpp:

(JSC::StringObject::deleteProperty):

  • runtime/Structure.cpp:

(JSC::Structure::prototypeChainMayInterceptStoreTo):

Source/WebCore:

Test: js/dfg-put-by-val-direct-with-edge-numbers.html

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::item):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateImplementation):

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

(WebCore::JSFloat64Array::getOwnPropertySlot):
(WebCore::JSFloat64Array::getOwnPropertyDescriptor):
(WebCore::JSFloat64Array::put):

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

(WebCore::JSTestEventTarget::getOwnPropertySlot):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::put):

LayoutTests:

  • js/dfg-put-by-val-direct-with-edge-numbers-expected.txt: Added.
  • js/dfg-put-by-val-direct-with-edge-numbers.html: Added.
  • js/script-tests/dfg-put-by-val-direct-with-edge-numbers.js: Added.

(lookupWithKey):
(lookupWithKey2):
(toStringThrowsError.toString):

  • resources/js-test-pre.js:
12:58 PM Changeset in webkit [178750] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r173737. rdar://problem/19420100

12:57 PM Changeset in webkit [178749] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r173688. rdar://problem/19432669

12:56 PM Changeset in webkit [178748] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r173504. rdar://problem/19419972

12:54 PM Changeset in webkit [178747] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r173501. rdar://problem/19419972

12:54 PM Changeset in webkit [178746] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop width / height shorthands code from StylePropertyShorthand.*
https://bugs.webkit.org/show_bug.cgi?id=140686

Reviewed by Andreas Kling.

Drop width / height shorthands code from StylePropertyShorthand.*.
width / height are not shorthands for min-width/max-width and
min-height/max-height. Also, only matchingCustomShorthandsForLonghand()
treats these as shorthands. For e.g, the reverse method
(indexOfShorthandForLonghand()) does not.

  • css/StylePropertyShorthand.cpp:

(WebCore::widthShorthand): Deleted.
(WebCore::heightShorthand): Deleted.

  • css/StylePropertyShorthand.h:

(WebCore::matchingCustomShorthandsForLonghand):

12:53 PM Changeset in webkit [178745] by bshafiei@apple.com
  • 6 edits in branches/safari-600.1.4.15-branch/Source

Merged r173071. rdar://problem/19419981

12:52 PM Changeset in webkit [178744] by bshafiei@apple.com
  • 4 edits
    32 copies in branches/safari-600.1.4.15-branch

Merged r172797. rdar://problem/19450115

12:46 PM Changeset in webkit [178743] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Add a mechanism to ignore previous content extension rules
https://bugs.webkit.org/show_bug.cgi?id=140663

Reviewed by Andreas Kling.

  • contentextensions/ContentExtensionRule.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):

  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::loadAction):

12:46 PM Changeset in webkit [178742] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit

Merged r172509. rdar://problem/19432702

12:45 PM Changeset in webkit [178741] by bshafiei@apple.com
  • 6 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r172504. rdar://problem/19432702

12:44 PM Changeset in webkit [178740] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r172326. rdar://problem/19450253

12:43 PM Changeset in webkit [178739] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Resolve the epsilon transitions for each state upfront instead of dynamically
https://bugs.webkit.org/show_bug.cgi?id=140654

Reviewed by Andreas Kling.

Instead of recomputing the epsilon-closure for each set, we compute the closure
of every element at the beginning of the transformation.

We then remove the epsilon transitions from the NFA to simplify populateTransitions().
The epsilon transitions are still there, but they are now in a separate graph we use
in parallel.

  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::epsilonClosureExcludingSelf):
(WebCore::ContentExtensions::resolveEpsilonClosures):
(WebCore::ContentExtensions::extendSetWithClosure):
(WebCore::ContentExtensions::populateTransitions):
(WebCore::ContentExtensions::NFAToDFA::convert):
(WebCore::ContentExtensions::epsilonClosure): Deleted.
(WebCore::ContentExtensions::populateTransitionsExcludingEpsilon): Deleted.

  • contentextensions/NFAToDFA.h:
12:42 PM Changeset in webkit [178738] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r172215. rdar://problem/19419921

12:41 PM Changeset in webkit [178737] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r172199. rdar://problem/19419882

12:40 PM Changeset in webkit [178736] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r171984. rdar://problem/19419849

12:40 PM Changeset in webkit [178735] by bshafiei@apple.com
  • 9 edits
    3 copies in branches/safari-600.1.4.15-branch

Merged r171941. rdar://problem/19419871

12:37 PM Changeset in webkit [178734] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r171775. rdar://problem/19419960

12:37 PM Changeset in webkit [178733] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Log types of resources being loaded using DiagnosticLoggingClient
https://bugs.webkit.org/show_bug.cgi?id=140682

Reviewed by Andreas Kling.

Log types of resources being loaded using DiagnosticLoggingClient
instead of the legacy FeatureCounter.

  • loader/SubresourceLoader.cpp:

(WebCore::logResourceLoaded):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::logResourceLoadedUsingFeatureCounter): Deleted.

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::otherKey):
(WebCore::DiagnosticLoggingKeys::mainResourceKey):
(WebCore::DiagnosticLoggingKeys::loadedKey):
(WebCore::DiagnosticLoggingKeys::imageKey):
(WebCore::DiagnosticLoggingKeys::rawKey):
(WebCore::DiagnosticLoggingKeys::resourceKey):
(WebCore::DiagnosticLoggingKeys::scriptKey):
(WebCore::DiagnosticLoggingKeys::styleSheetKey):
(WebCore::DiagnosticLoggingKeys::svgDocumentKey):
(WebCore::DiagnosticLoggingKeys::fontKey):

  • page/DiagnosticLoggingKeys.h:
  • platform/FeatureCounterKeys.h:
12:36 PM Changeset in webkit [178732] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r171708. rdar://problem/19419842

12:35 PM Changeset in webkit [178731] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r171692. rdar://problem/19419903

12:33 PM Changeset in webkit [178730] by bshafiei@apple.com
  • 6 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r171691. rdar://problem/19420038

12:29 PM Changeset in webkit [178729] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Remove redundant style.preserveNewline check when collapsing trailing whitespace.
https://bugs.webkit.org/show_bug.cgi?id=140684

Reviewed by Antti Koivisto.

FlowContents::isLineBreak() checks whether we are at a hard newline.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::removeTrailingWhitespace):

11:35 AM Changeset in webkit [178728] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(178696): Sporadic crashes while garbage collecting
https://bugs.webkit.org/show_bug.cgi?id=140688

Reviewed by Geoffrey Garen.

Added missing visitor.append(&thisObject->m_nullSetterFunction).

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::visitChildren):

11:29 AM Changeset in webkit [178727] by ggaren@apple.com
  • 7 edits in trunk/Source/bmalloc

bmalloc: a little bit of cleanup
https://bugs.webkit.org/show_bug.cgi?id=140687

Reviewed by Anders Carlsson.

  • bmalloc/Algorithm.h:

(bmalloc::isPowerOfTwo): Added a check for 0, since 0 would break a lot
of code.

  • bmalloc/BoundaryTag.h:
  • bmalloc/BoundaryTagInlines.h:

(bmalloc::BoundaryTag::mergeLeft):
(bmalloc::BoundaryTag::mergeRight):
(bmalloc::BoundaryTag::merge):
(bmalloc::BoundaryTag::deallocate):
(bmalloc::BoundaryTag::split):
(bmalloc::BoundaryTag::allocate):
(bmalloc::BoundaryTag::mergeLargeLeft): Deleted.
(bmalloc::BoundaryTag::mergeLargeRight): Deleted.
(bmalloc::BoundaryTag::mergeLarge): Deleted.
(bmalloc::BoundaryTag::splitLarge): Deleted. Removed the word "Large"
from all these functions, since boundary tags always pertain to large
objects, and putting the word "Large" everywhere wasn't helping to
explain that.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::findXLarge):
(bmalloc::Heap::deallocateXLarge):

  • bmalloc/Heap.h:
  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::allocateXLarge): Deleted.
(bmalloc::VMHeap::findXLarge): Deleted.
(bmalloc::VMHeap::deallocateXLarge): Deleted. Moved XLarge allocation
from VMHeap to Heap. Since the purpose of the VMHeap is to cache VM
ranges, and the VMHeap never caches any XLarge ranges, it doesn't
really make sense for the VMHeap to be involved.

11:28 AM Changeset in webkit [178726] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[mac] Fix test expectations after r178188
https://bugs.webkit.org/show_bug.cgi?id=140641

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-01-20
Reviewed by Alexey Proskuryakov.

Remove references to removed tests.

  • platform/mac/TestExpectations:

removed reference to fast/workers/storage/use-same-database-in-page-and-workers.html

11:12 AM Changeset in webkit [178725] by berto@igalia.com
  • 3 edits in trunk/Source/WTF

Fix failed to build for Linux/MIPS64EL
https://bugs.webkit.org/show_bug.cgi?id=124370

Patch by YunQiang Su <wzssyqa@gmail.com> on 2015-01-20
Reviewed by Darin Adler.

Add MIPS64EL support.

  • wtf/Platform.h:
  • wtf/dtoa/utils.h:
10:51 AM Changeset in webkit [178724] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

10:40 AM Changeset in webkit [178723] by Simon Fraser
  • 12 edits
    2 adds in trunk/Source

Add a way to collect scrolling performance data (viewport tile coverage) with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=140474

Reviewed by Tim Horton.
Source/WebCore:

Add accessors for standard names for container CALayer for each of the tile grids,
and when tile grids are swapped, update those names as appropriate.

  • WebCore.exp.in:
  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::tileGridContainerLayerName):
(WebCore::TileController::zoomedOutTileGridContainerLayerName):
(WebCore::TileController::setContentsScale):

  • platform/graphics/ca/TileController.h:
  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::TileGrid):
(WebCore::TileGrid::setIsZoomedOutTileGrid):

  • platform/graphics/ca/TileGrid.h:

Source/WebKit2:

Add a private method to enable scrolling data collection to WKWebView. When enabled, create
a RemoteLayerTreeScrollingPerformanceData object that collects "blank pixel" data on
every layer tree commit and scroll, and stores them in a vector. A second SPI call
allows retrieval of an NSArray of this data.

To allow RemoteLayerTreeScrollingPerformanceData to find the correct layer which
contains the main tile grid, we set a layer name on the appropriate layer (even
in release builds).

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView visibleRectInScreenCoordinates]):
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView _setScrollPerformanceDataCollectionEnabled:]):
(-[WKWebView _scrollPerformanceDataCollectionEnabled]):
(-[WKWebView _scrollPerformanceData]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/RemoteLayerTreeScrollingPerformanceData.h: Added.

(WebKit::RemoteLayerTreeScrollingPerformanceData::BlankPixelCount::BlankPixelCount):

  • UIProcess/Cocoa/RemoteLayerTreeScrollingPerformanceData.mm: Added.

(WebKit::RemoteLayerTreeScrollingPerformanceData::RemoteLayerTreeScrollingPerformanceData):
(WebKit::RemoteLayerTreeScrollingPerformanceData::~RemoteLayerTreeScrollingPerformanceData):
(WebKit::RemoteLayerTreeScrollingPerformanceData::didCommitLayerTree):
(WebKit::RemoteLayerTreeScrollingPerformanceData::didScroll):
(WebKit::RemoteLayerTreeScrollingPerformanceData::BlankPixelCount::canCoalesce):
(WebKit::RemoteLayerTreeScrollingPerformanceData::appendBlankPixelCount):
(WebKit::RemoteLayerTreeScrollingPerformanceData::data):
(WebKit::findTileGridContainerLayer):
(WebKit::RemoteLayerTreeScrollingPerformanceData::blankPixelCount):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setScrollPerformanceDataCollectionEnabled):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::scrollPerformanceDataCollectionEnabled):
(WebKit::WebPageProxy::scrollingPerformanceData):

  • WebKit2.xcodeproj/project.pbxproj:
10:27 AM Changeset in webkit [178722] by ap@apple.com
  • 4 edits in trunk/Source/WTF

Make ASan do bounds checks for WTF::Vector
https://bugs.webkit.org/show_bug.cgi?id=140631
rdar://problem/19437718

Reviewed by Darin Adler.

  • wtf/SizeLimits.cpp: Disable Vector object size checks for ASan enabled builds.
  • wtf/Vector.h:

(WTF::VectorBuffer::endOfBuffer):
(WTF::Vector::Vector):
(WTF::Vector::~Vector):
(WTF::Vector::swap):
(WTF::OverflowHandler>::Vector):
(WTF::=):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::asanSetInitialBufferSizeTo):
(WTF::OverflowHandler>::asanSetBufferSizeToFullCapacity):
(WTF::OverflowHandler>::asanBufferSizeWillChangeTo):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::appendSlowCase):
(WTF::OverflowHandler>::uncheckedAppend):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::remove):
(WTF::OverflowHandler>::releaseBuffer):

  • wtf/Compiler.h: Changed ASAN_ENABLED macro fallback value from false to 0,

MSVC was not happy with false.

10:26 AM Changeset in webkit [178721] by ap@apple.com
  • 31 edits
    1 delete in trunk/LayoutTests

fast/hidpi/image-srcset-change-dynamically-from-js-2x.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=140649

fast/dom/HTMLImageElement/sizes/image-sizes-js-change.html is failing on some bots
https://bugs.webkit.org/show_bug.cgi?id=134769

Reviewed by Darin Adler.

Streamline resources/srcset-helper.js and remove races.

  • TestExpectations: Unskip fast/dom/HTMLImageElement/sizes/image-sizes-js-change.html.
  • fast/hidpi/resources/srcset-helper.js: Deleted. We aleady had a copy in /resources,

no need for two copies.

  • resources/srcset-helper.js: This script used to depend on setBackingScaleFactor

invoke its callback really fast, which is not guaranteed. Also, it had broken logic
that used non-existent window.deviceScaleFactor.

  • fast/dom/HTMLImageElement/sizes/image-sizes-2x.html:
  • fast/dom/HTMLImageElement/sizes/image-sizes-js-change-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-js-change.html:
  • fast/dom/HTMLImageElement/sizes/image-sizes-js-innerhtml-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-js-innerhtml.html:

Updated to run the tests from runTest() function, not a load event handler.
Where appropriate, changed from testRunner.dumpResourceLoadCallbacks() to
testRunner.dumpResourceResponseMIMETypes(), because the latter doesn't unnecessarily
include reloaded scripts. It feels somewhat hacky, but the hack is already used in
fast/hidpi, and it improves output.

  • fast/hidpi/image-srcset-change-dynamically-from-js-1x.html:
  • fast/hidpi/image-srcset-change-dynamically-from-js-2x.html:
  • fast/hidpi/image-srcset-fraction-1.5x.html:
  • fast/hidpi/image-srcset-fraction.html:
  • fast/hidpi/image-srcset-intrinsic-size.html:
  • fast/hidpi/image-srcset-invalid-descriptor.html:
  • fast/hidpi/image-srcset-invalid-inputs-except-one.html:
  • fast/hidpi/image-srcset-nomodifier.html:
  • fast/hidpi/image-srcset-only-src-attribute.html:
  • fast/hidpi/image-srcset-remove-dynamically-from-js.html:
  • fast/hidpi/image-srcset-same-alternative-for-both-attributes.html:
  • fast/hidpi/image-srcset-simple-1x.html:
  • fast/hidpi/image-srcset-simple-2x.html:
  • fast/hidpi/image-srcset-space-left-nomodifier.html:
  • fast/hidpi/image-srcset-space-prefix-nomodifier.html:
  • fast/hidpi/image-srcset-space-suffix-nomodifier.html:
  • fast/hidpi/image-srcset-space-surrounded-nomodifier.html:
  • fast/hidpi/image-srcset-src-selection-1x-both.html:
  • fast/hidpi/image-srcset-src-selection-1x.html:
  • fast/hidpi/image-srcset-src-selection-2x.html:
  • fast/hidpi/image-srcset-viewport-modifiers.html:

Updated to run the tests from runTest() function, not a load event handler.

  • http/tests/loading/sizes/preload-image-sizes-2x-expected.txt: Updated results

for srcset-helper.js now always starting the redirect after the load is fully finished.

  • svg/css/svg-resource-fragment-identifier-img-src.html: Updated for the unified

location of the script.

9:51 AM Changeset in webkit [178720] by weinig@apple.com
  • 2 edits in trunk/Tools

Attempt to fix Mountain Lion and EFL tests.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):
Disable Process-per-tab and network process on Mountain Lion and EFL.

9:34 AM Changeset in webkit [178719] by Csaba Osztrogonác
  • 11 edits in trunk/Source

Remove non-Windows cruft from WebKit/win/Plugins
https://bugs.webkit.org/show_bug.cgi?id=140675

Reviewed by Anders Carlsson.

Source/WebKit/win:

  • Plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::defaultPluginDirectories):
(WebCore::PluginDatabase::isPreferredPluginDirectory):
(WebCore::PluginDatabase::getPluginPathsInDirectories):

  • Plugins/PluginDebug.cpp:

(WebCore::prettyNameForNPNVariable):
(WebCore::prettyNameForNPPVariable):
(WebCore::prettyNameForDrawingModel): Deleted.
(WebCore::prettyNameForEventModel): Deleted.

  • Plugins/PluginDebug.h:
  • Plugins/PluginPackage.cpp:

(WebCore::PluginPackage::compareFileVersion):
(WebCore::PluginPackage::determineQuirks): Deleted.
(WebCore::PluginPackage::determineModuleVersionFromDescription): Deleted.
(WebCore::PluginPackage::hash): Deleted.
(WebCore::PluginPackage::equal): Deleted.

  • Plugins/PluginView.cpp:

(WebCore::PluginView::setFrameRect):
(WebCore::PluginView::handleEvent):
(WebCore::PluginView::stop):
(WebCore::PluginView::setValue):
(WebCore::PluginView::PluginView):

  • Plugins/PluginView.h:

(WebCore::PluginView::platformPluginWidget): Deleted.
(WebCore::PluginView::setPlatformPluginWidget): Deleted.

  • Plugins/PluginViewWin.cpp:

(windowHandleForPageClient):
(WebCore::PluginView::hookedBeginPaint):
(WebCore::PluginView::hookedEndPaint):
(WebCore::hook):
(WebCore::registerPluginView):
(WebCore::PluginView::paint):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::snapshot):

  • Plugins/npapi.cpp:

(NPN_InvalidateRect):

Source/WTF:

  • wtf/FeatureDefines.h:
9:25 AM Changeset in webkit [178718] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

Fix unused-private-field warning in IconEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=140676

Reviewed by Darin Adler.

  • platform/graphics/Icon.h:
  • platform/graphics/efl/IconEfl.cpp:

(WebCore::Icon::Icon): Deleted.

9:23 AM Changeset in webkit [178717] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

Fix unused-private-field warning in FontCustomPlatformDataFreeType.cpp
https://bugs.webkit.org/show_bug.cgi?id=140677

Reviewed by Martin Robinson.

  • platform/graphics/cairo/FontCustomPlatformData.h:
  • platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:

(WebCore::FontCustomPlatformData::FontCustomPlatformData):
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):

9:21 AM Changeset in webkit [178716] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Plugin content not loaded.
https://bugs.webkit.org/show_bug.cgi?id=140672

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-20
Reviewed by Brent Fulgham.

It seems this is caused by a std::unique_ptr in CClass::methodNamed being moved,
resetting its raw pointer. The raw pointer, which now is null, is then returned
from the method.

  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::methodNamed):
(JSC::Bindings::CClass::fieldNamed):

9:11 AM Changeset in webkit [178715] by Darin Adler
  • 32 edits
    3 deletes in trunk

Remove SVGElementInstanceList, m_instanceUnderMouse, DUMP_INSTANCE_TREE, DUMP_SHADOW_TREE
https://bugs.webkit.org/show_bug.cgi?id=140679

Reviewed by Anders Carlsson.

Source/WebCore:

First step in removing the SVG instance tree.
All based on redoing the same excellent work Rob Buis did to remove this in Blink in crbug.com/313438.

  • CMakeLists.txt: Removed the source files.
  • DerivedSources.cpp: Ditto.
  • DerivedSources.make: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • page/EventHandler.cpp:

(WebCore::EventHandler::clear): Removed code to set unused m_instanceUnderMouse.
(WebCore::EventHandler::updateMouseEventTargetNode): Ditto.

  • page/EventHandler.h: Removed m_instanceUnderMouse.
  • svg/SVGAllInOne.cpp: Removed the source files.
  • svg/SVGElementInstance.cpp:

(WebCore::SVGElementInstance::childNodes): Deleted.

  • svg/SVGElementInstance.h: Removed childNodes.
  • svg/SVGElementInstance.idl: Ditto.
  • svg/SVGElementInstanceList.cpp: Removed.
  • svg/SVGElementInstanceList.h: Removed.
  • svg/SVGElementInstanceList.idl: Removed.
  • svg/SVGUseElement.cpp:

(WebCore::dumpInstanceTree): Deleted.
(WebCore::SVGUseElement::buildShadowAndInstanceTree): Removed DUMP_INSTANCE_TREE and
DUMP_SHADOW_TREE code.

Tools:

  • Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl:

Removed a reference to SVGElementInstanceList.

LayoutTests:

  • fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
  • js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/ios-sim-deprecated/fast/dom/Window/window-property-descriptors-expected.txt:
  • platform/ios-sim-deprecated/fast/js/global-constructors-expected.txt:
  • platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
  • svg/custom/global-constructors-expected.txt:
  • svg/custom/script-tests/global-constructors.js:
  • svg/dom/svg2-inheritance-expected.txt:
  • svg/dom/svg2-inheritance.html:

Removed all tests and results referencing SVGElementInstanceList.

8:52 AM Changeset in webkit [178714] by Brian Burg
  • 43 edits
    4 deletes in trunk/Source

Web Replay: code generator should take supplemental specifications and allow cross-framework references
https://bugs.webkit.org/show_bug.cgi?id=136312

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Some types are shared between replay inputs from different frameworks.
Previously, these type declarations were duplicated in every input
specification file in which they were used. This caused some type encoding
traits to be emitted twice if used from WebCore inputs and WebKit2 inputs.

This patch teaches the replay inputs code generator to accept multiple
input specification files. Inputs can freely reference types from other
frameworks without duplicating declarations.

On the code generation side, the model could contain types and inputs from
frameworks that are not the target framework. Only generate code for the
target framework.

To properly generate cross-framework type encoding traits, use
Type.encoding_type_argument in more places, and add the export macro for WebCore
and the Test framework.

Adjust some tests so that enum coverage is preserved by moving the enum types
into "Test" (the target framework for tests).

For Windows, copy over JSInputs.json as if it were a private header.

  • JavaScriptCore.xcodeproj/project.pbxproj: Make JSInputs.json a private header.
  • replay/JSInputs.json:

Put all primitive types and WTF types in this specification file.

  • replay/scripts/CodeGeneratorReplayInputs.py:

(Input.init):
(InputsModel.init): Keep track of the input's framework.
(InputsModel.parse_specification): Parse the framework here. Adjust to new format,
and allow either types or inputs to be missing from a single file.

(InputsModel.parse_type_with_framework):
(InputsModel.parse_input_with_framework):
(Generator.should_generate_item): Added helper method.
(Generator.generate_header): Filter inputs to generate.
(Generator.generate_implementation): Filter inputs to generate.
(Generator.generate_enum_trait_declaration): Filter enums to generate.
Add WEBCORE_EXPORT macro to enum encoding traits.

(Generator.generate_for_each_macro): Filter inputs to generate.
(Generator.generate_enum_trait_implementation): Filter enums to generate.
(generate_from_specifications): Added.
(generate_from_specifications.parse_json_from_file):
(InputsModel.parse_toplevel): Deleted.
(InputsModel.parse_type_with_framework_name): Deleted.
(InputsModel.parse_input): Deleted.
(generate_from_specification): Deleted.

  • replay/scripts/CodeGeneratorReplayInputsTemplates.py:
  • replay/scripts/tests/expected/fail-on-no-inputs.json-error: Removed.
  • replay/scripts/tests/expected/fail-on-no-types.json-error: Removed.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp:
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp:
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.cpp:
  • replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.cpp:
  • replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h:
  • replay/scripts/tests/fail-on-c-style-enum-no-storage.json:
  • replay/scripts/tests/fail-on-duplicate-enum-type.json:
  • replay/scripts/tests/fail-on-duplicate-input-names.json:
  • replay/scripts/tests/fail-on-duplicate-type-names.json:
  • replay/scripts/tests/fail-on-enum-type-missing-values.json:
  • replay/scripts/tests/fail-on-missing-input-member-name.json:
  • replay/scripts/tests/fail-on-missing-input-name.json:
  • replay/scripts/tests/fail-on-missing-input-queue.json:
  • replay/scripts/tests/fail-on-missing-type-mode.json:
  • replay/scripts/tests/fail-on-missing-type-name.json:
  • replay/scripts/tests/fail-on-no-inputs.json:

Removed, no longer required to be in a single file.

  • replay/scripts/tests/fail-on-no-types.json:

Removed, no longer required to be in a single file.

  • replay/scripts/tests/fail-on-unknown-input-queue.json:
  • replay/scripts/tests/fail-on-unknown-member-type.json:
  • replay/scripts/tests/fail-on-unknown-type-mode.json:
  • replay/scripts/tests/generate-enum-encoding-helpers-with-guarded-values.json:
  • replay/scripts/tests/generate-enum-encoding-helpers.json:
  • replay/scripts/tests/generate-enum-with-guard.json:

Include enums that are and are not generated.

  • replay/scripts/tests/generate-enums-with-same-base-name.json:
  • replay/scripts/tests/generate-event-loop-shape-types.json:
  • replay/scripts/tests/generate-input-with-guard.json:
  • replay/scripts/tests/generate-input-with-vector-members.json:
  • replay/scripts/tests/generate-inputs-with-flags.json:
  • replay/scripts/tests/generate-memoized-type-modes.json:

Source/WebCore:

Changes covered by existing input generator tests.

  • DerivedSources.make: Add JSInputs.json as supplemental specification.
  • replay/WebInputs.json: Moved common types to JSInputs.json.
8:49 AM Changeset in webkit [178713] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] WebViewTest should prohibit overriding initializeWebExtensions()
https://bugs.webkit.org/show_bug.cgi?id=140028

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-20
Reviewed by Carlos Garcia Campos.

This won't work as expected, since this function is called before the
WebViewTest constructor completes.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
8:48 AM Changeset in webkit [178712] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix unused-const-variable warning in RenderLayerCompositor.cpp
https://bugs.webkit.org/show_bug.cgi?id=140678

Reviewed by Simon Fraser.

  • rendering/RenderLayerCompositor.cpp:
8:24 AM Changeset in webkit [178711] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[gstreamer] Fix expression result unused warning in GRefPtrGStreamer.cpp
https://bugs.webkit.org/show_bug.cgi?id=140671

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/GRefPtrGStreamer.cpp:

(WTF::refGPtr<GstToc>):

8:10 AM WebKitGTK/Roadmap edited by Carlos Garcia Campos
(diff)
8:03 AM Changeset in webkit [178710] by dino@apple.com
  • 18 edits
    2 adds in trunk

Support "plus-darker" in mix-blend mode
https://bugs.webkit.org/show_bug.cgi?id=140646
<rdar://problem/19523370>

Reviewed by Simon Fraser.

Source/WebCore:

Support the "plus-darker" blending mode to CSS.
See: https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0021.html

Test: css3/blending/svg-blend-plus-darker.html

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): mix-blend-mode can now accept
the new keyword.

  • css/CSSPrimitiveValueMappings.h: Add the mappings.

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator BlendMode):

  • platform/graphics/GraphicsTypes.cpp: Add the new GraphicsType.
  • platform/graphics/GraphicsTypes.h:
  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Map to the CA compositing filter.

(PlatformCAFilters::setBlendingFiltersOnLayer):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation): Map to the CG blending flag.

Source/WebKit2:

Output the appropriate blending type when logging.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<):

LayoutTests:

Add tests and new expected results for plus-darker.

  • css3/blending/blend-mode-property-parsing-expected.txt:
  • css3/blending/blend-mode-simple-composited.html:
  • css3/blending/blend-mode-simple.html:
  • css3/blending/script-tests/blend-mode-property-parsing.js:
  • css3/blending/svg-blend-plus-darker.html: Added.
  • platform/mac/css3/blending/blend-mode-simple-composited-expected.png:
  • platform/mac/css3/blending/blend-mode-simple-composited-expected.txt:
  • platform/mac/css3/blending/blend-mode-simple-expected.png:
  • platform/mac/css3/blending/blend-mode-simple-expected.txt:
  • platform/mac/css3/blending/svg-blend-plus-darker-expected.txt: Added.
7:51 AM Changeset in webkit [178709] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

configure-xcode-for-ios-development needs to update iPhoneOS SDK
<http://webkit.org/b/140661>

Reviewed by Daniel Bates.

  • Scripts/configure-xcode-for-ios-development: Add for() loop to

run createXcodeSpecificationFilesForSDKIfNeeded() for both
"iphoneos" and "iphonesimulator" SDKs.
(createXcodeSpecificationFilesForSDKIfNeeded): Extracted from
the main body of the script.

6:01 AM Changeset in webkit [178708] by Carlos Garcia Campos
  • 2 edits in trunk/Source/JavaScriptCore

[GTK] Cannot compile 2.7.3 on PowerPC machines
https://bugs.webkit.org/show_bug.cgi?id=140616

Include climits for INT_MAX and wtf/DataLog.h for dataLogF

Patch by Tomas Popela <tpopela@redhat.com> on 2015-01-20
Reviewed by Csaba Osztrogonác.

  • runtime/BasicBlockLocation.cpp:
5:47 AM Changeset in webkit [178707] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.7.4

WebKitGTK+ 2.7.4

5:43 AM Changeset in webkit [178706] by Carlos Garcia Campos
  • 4 edits in trunk

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

.:

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

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.7.4.
5:00 AM Changeset in webkit [178705] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk/LayoutTests

[EFL] [GTK] Change/supplement expectations for two accessibility layout tests.
https://bugs.webkit.org/show_bug.cgi?id=140620

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-20

  • platform/efl/TestExpectations:
  • platform/efl/accessibility/media-element-expected.txt: Currently, accessibility/media-element.html is positive for EFL with a new, richer description.
  • platform/efl/accessibility/render-counter-text-expected.txt: Added. Omitted file by r178508.
  • platform/gtk/accessibility/render-counter-text-expected.txt: Added. Omitted file by r178508.
4:53 AM WebKitGTK/Roadmap edited by Adrian Perez de Castro
(diff)
4:33 AM Changeset in webkit [178704] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix 'register' storage class specifier is deprecated warning
https://bugs.webkit.org/show_bug.cgi?id=140669

Reviewed by Carlos Garcia Campos.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcLoop):

3:46 AM WebKitGTK/Roadmap edited by Carlos Garcia Campos
(diff)
3:46 AM WebKitGTK/Roadmap edited by Carlos Garcia Campos
(diff)
3:46 AM WebKitGTK/Roadmap edited by Carlos Garcia Campos
(diff)
3:42 AM WebKitGTK/Roadmap created by Carlos Garcia Campos
3:22 AM Changeset in webkit [178703] by commit-queue@webkit.org
  • 8 edits in trunk

[GTK] Add API to set the web view editable into WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=139443

Patch by Tomas Popela <tpopela@redhat.com> on 2015-01-20
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Provide a way to set the web view editable, without accessing the DOM
and setting the contenteditable attribute to elements.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_class_init):
(webkit_web_view_is_editable):
(webkit_web_view_set_editable):

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:

Tools:

Create the new test cases for setting the editable property on the web
view and on the contenteditable enabled document. Also rework the
current tests that are expecting that the web view is editable.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:

(loadTestHtml):
(testWebViewEditorCutCopyPasteNonEditable):
(testWebViewEditorCutCopyPasteEditable):
(testWebViewEditorSelectAllNonEditable):
(testWebViewEditorSelectAllEditable):
(runEditorEditableCutTests):
(testWebViewEditorEditableOnNonEditable):
(testWebViewEditorEditableOnContentEditable):
(testWebViewEditorNonEditable):
(beforeAll):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::isEditable):
(WebViewTest::setEditable):

2:07 AM Changeset in webkit [178702] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Use DiagnosticLoggingClient to log page cache failures
https://bugs.webkit.org/show_bug.cgi?id=140650

Reviewed by Andreas Kling.

Use DiagnosticLoggingClient to log page cache failures instead of the
legacy FeatureCounter.

  • history/PageCache.cpp:

(WebCore::logPageCacheFailureDiagnosticMessage):
(WebCore::logCanCacheFrameDecision):
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCache):
(WebCore::pruningReasonToDiagnosticLoggingKey):
(WebCore::PageCache::take):
(WebCore::PageCache::get):
(WebCore::pruningReasonToFeatureCounterKey): Deleted.

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::successKey):
(WebCore::DiagnosticLoggingKeys::failureKey):
(WebCore::DiagnosticLoggingKeys::pageLoadedKey):
(WebCore::DiagnosticLoggingKeys::engineFailedToLoadKey):
(WebCore::DiagnosticLoggingKeys::navigationKey):
(WebCore::DiagnosticLoggingKeys::pageCacheKey):
(WebCore::DiagnosticLoggingKeys::noDocumentLoaderKey):
(WebCore::DiagnosticLoggingKeys::mainDocumentErrorKey):
(WebCore::DiagnosticLoggingKeys::isErrorPageKey):
(WebCore::DiagnosticLoggingKeys::hasPluginsKey):
(WebCore::DiagnosticLoggingKeys::httpsNoStoreKey):
(WebCore::DiagnosticLoggingKeys::hasOpenDatabasesKey):
(WebCore::DiagnosticLoggingKeys::noCurrentHistoryItemKey):
(WebCore::DiagnosticLoggingKeys::quirkRedirectComingKey):
(WebCore::DiagnosticLoggingKeys::loadingAPISenseKey):
(WebCore::DiagnosticLoggingKeys::documentLoaderStoppingKey):
(WebCore::DiagnosticLoggingKeys::cannotSuspendActiveDOMObjectsKey):
(WebCore::DiagnosticLoggingKeys::applicationCacheKey):
(WebCore::DiagnosticLoggingKeys::deniedByClientKey):
(WebCore::DiagnosticLoggingKeys::deviceMotionKey):
(WebCore::DiagnosticLoggingKeys::deviceOrientationKey):
(WebCore::DiagnosticLoggingKeys::deviceProximityKey):
(WebCore::DiagnosticLoggingKeys::reloadKey):
(WebCore::DiagnosticLoggingKeys::reloadFromOriginKey):
(WebCore::DiagnosticLoggingKeys::sameLoadKey):
(WebCore::DiagnosticLoggingKeys::expiredKey):
(WebCore::DiagnosticLoggingKeys::prunedDueToMemoryPressureKey):
(WebCore::DiagnosticLoggingKeys::prunedDueToCapacityReached):
(WebCore::DiagnosticLoggingKeys::prunedDueToProcessSuspended):
(WebCore::DiagnosticLoggingKeys::passKey): Deleted.
(WebCore::DiagnosticLoggingKeys::failKey): Deleted.
(WebCore::DiagnosticLoggingKeys::noopKey): Deleted.

  • page/DiagnosticLoggingKeys.h:
  • platform/FeatureCounterKeys.h:
1:19 AM Changeset in webkit [178701] by svillar@igalia.com
  • 5 edits in trunk

[CSS Grid Layout] Wrong arguments passed to computeNormalizedFractionBreadth
https://bugs.webkit.org/show_bug.cgi?id=139058

Reviewed by Andreas Kling.

Source/WebCore:

The method RenderGrid::computeNormalizedFractionBreadth() is
supposed to get as fourth argument either the grid element's
content box size or the max-size of a particular grid item. For
the former we were incorrectly passing the free space after
distributing the available space to tracks.

Apart from that, that method has a bug in its implementation. As
we were using the free space instead of the grid element's content
box size, we didn't have to subtract the usedBreadth of grid
tracks from the passed in value. That did not work for the case of
the caller passing the max-size of a particular item.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::computeNormalizedFractionBreadth):

LayoutTests:

from r148642) as the test works as expected now.

  • fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html:
12:29 AM Changeset in webkit [178700] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] Add an option to create WebKitWebView snapshots with transparent background
https://bugs.webkit.org/show_bug.cgi?id=140617

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add WEBKIT_SNAPSHOT_OPTIONS_TRANSPARENT_BACKGROUND flag to not
fill with white the background before rendering the snapshot.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_get_snapshot): Pass a TransparentBackground
boolean argument to the WEbProcess.

  • UIProcess/API/gtk/WebKitWebView.h:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkitWebPageDidReceiveMessage): Set the FrameView background as
transparent when TransparentBackground option is True before
rendering the snapshot.

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewSnapshot): Check that the same snapshot with
transparent background is different than the default one filled
with white.

12:25 AM Changeset in webkit [178699] by Carlos Garcia Campos
  • 12 edits in trunk

[GTK] Add API to change the WebKitWebView background color
https://bugs.webkit.org/show_bug.cgi?id=140610

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

When a color different than the default one (opaque white) is
used, the SetDrawsBackground message is sent to the WebProcess with
a False value to indicate WebCore to not render backgrounds. The
background color passed is saved in the WebPageProxy and used by
the backing store to fill the background before the actual
contents are rendered in the WebView.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_set_background_color):
(webkit_web_view_get_background_color):

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Initialize m_backgroundColor member.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::backgroundColor): Return m_backgroundColor.
(WebKit::WebPageProxy::setBackgroundColor): Set m_backgroundColor.

  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::BackingStore::incorporateUpdate): Fill the damage region
with the WebPageProxy background color when the WebProcess is not
rendering backgrounds. If the background color is not fully opaque
we need to clear the region before filling it with the color.

Tools:

Add --bg-color command line option to MiniBrowser to be able to
manually test the API passing any RGBA color to MiniBrowser.
Also add a simple unit test to check that getting and setting
colors from the API point of view.

  • MiniBrowser/gtk/BrowserWindow.c:

(browser_window_set_background_color):

  • MiniBrowser/gtk/BrowserWindow.h:
  • MiniBrowser/gtk/main.c:

(createBrowserWindow):
(parseBackgroundColor):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewBackgroundColor):
(beforeAll):

Jan 19, 2015:

9:58 PM Changeset in webkit [178698] by msaboff@apple.com
  • 2 edits in trunk/LayoutTests

Re-enable js/dom/string-replace-exception-crash.html as root problem is fixed.
https://bugs.webkit.org/show_bug.cgi?id=140666

Rubber Stamped by Filip Pizlo.

  • platform/mac/TestExpectations:

Re-enabled js/dom/string-replace-exception-crash.html.

9:55 PM Changeset in webkit [178697] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Layout Test fast/xmlhttprequest/xmlhttprequest-no-file-access.html is failing
https://bugs.webkit.org/show_bug.cgi?id=140665

Reviewed by Brian Burg.

  • DumpRenderTree/win/UIDelegate.cpp:

(UIDelegate::webViewAddMessageToConsole): Correct string search and concatenation to
match expected test output.

9:28 PM Changeset in webkit [178696] by msaboff@apple.com
  • 9 edits
    5 adds in trunk

A "cached" null setter should throw a TypeException when called in strict mode and doesn't
https://bugs.webkit.org/show_bug.cgi?id=139418

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Made a new NullSetterFunction class similar to NullGetterFunction. The difference is that
NullSetterFunction will throw a TypeError per the ECMA262 spec for a strict mode caller.

Added new files NullSetterFunction.cpp and NullSetterFunction.h.

  • runtime/GetterSetter.h:

(JSC::GetterSetter::GetterSetter):
(JSC::GetterSetter::isSetterNull):
(JSC::GetterSetter::setSetter):
Change setter instances from using NullGetterFunction to using NullSetterFunction.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::nullSetterFunction):
Added m_nullSetterFunction and accessor.

  • runtime/NullSetterFunction.cpp: Added.

(JSC::GetCallerStrictnessFunctor::GetCallerStrictnessFunctor):
(JSC::GetCallerStrictnessFunctor::operator()):
(JSC::GetCallerStrictnessFunctor::callerIsStrict):
(JSC::callerIsStrict):
Method to determine if the caller is in strict mode.

(JSC::callReturnUndefined):
(JSC::constructReturnUndefined):
(JSC::NullSetterFunction::getCallData):
(JSC::NullSetterFunction::getConstructData):

  • runtime/NullSetterFunction.h: Added.

(JSC::NullSetterFunction::create):
(JSC::NullSetterFunction::createStructure):
(JSC::NullSetterFunction::NullSetterFunction):
Class with handlers for a null setter.

LayoutTests:

New regression test.

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

(InnerObjectNoSetter):
(InnerObjectNoSetter.prototype.get enabled):
(StrictOuterObject):
(StrictOuterObject.prototype.get enabled):
(StrictOuterObject.prototype.set enabled):

9:17 PM Changeset in webkit [178695] by saambarati1@gmail.com
  • 10 edits
    1 add
    1 delete in trunk/Source

Web Inspector: Provide a front end for JSC's Control Flow Profiler
https://bugs.webkit.org/show_bug.cgi?id=138454

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

This patch puts the final touches on what JSC needs to provide
for the Web Inspector to show a UI for the control flow profiler.

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::recompileAllJSFunctionsForTypeProfiling):

  • runtime/ControlFlowProfiler.cpp:

(JSC::ControlFlowProfiler::getBasicBlocksForSourceID):

  • runtime/FunctionHasExecutedCache.cpp:

(JSC::FunctionHasExecutedCache::getFunctionRanges):
(JSC::FunctionHasExecutedCache::getUnexecutedFunctionRanges): Deleted.

  • runtime/FunctionHasExecutedCache.h:

Source/WebInspectorUI:

This patch creates a user interface for JSC's control flow profiler.
The Web Inspector gets basic block ranges from JSC, and displays
basic blocks that have not executed as having a gray background.

BasicBlockAnnotator is the class responsible for this UI logic.
It also does a few nifty things when presenting a UI for this gray
background color: if an entire line of code is within the basic
block's boundary, the annotator will not just highlight the background
behind the text, but the background of the entire line itself. This
provides a nicer experience when glancing through large JavaScript files.

This patch also adds some necessary wrapper methods inside TextEditor
for accessing CodeMirror's text highlighting functionality. It also
creates a way for TextEditor and SourceCodeTextEditor to listen
for focus events inside CodeMirror.

  • UserInterface/Controllers/AnnotatorManager.js: Removed.
  • UserInterface/Controllers/BasicBlockAnnotator.js: Added.

(WebInspector.BasicBlockAnnotator):
(WebInspector.BasicBlockAnnotator.prototype.clearAnnotations):
(WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):
(WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
(WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
(WebInspector.BasicBlockAnnotator.prototype.set _highlightTextForBasicBlock):
(WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyWhitespace):
(WebInspector.BasicBlockAnnotator.prototype._canGrayOutEntireLine):
(WebInspector.BasicBlockAnnotator.prototype._grayOutLine):
(WebInspector.BasicBlockAnnotator.prototype._clearRangeForBasicBlockMarker.get marker):
(WebInspector.BasicBlockAnnotator.prototype._clearRangeForBasicBlockMarker):

  • UserInterface/Main.html:
  • UserInterface/Views/SourceCodeTextEditor.css:

(.basic-block-has-not-executed):
(.basic-block-has-not-executed-prepend::before):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.hidden):
(WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
(WebInspector.SourceCodeTextEditor.prototype.gainedFocus):
(WebInspector.SourceCodeTextEditor.prototype.lostFocus):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._makeBasicBlockAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor):
(WebInspector.TextEditor.prototype.getTextInRange):
(WebInspector.TextEditor.prototype.addStyleToTextRange):
(WebInspector.TextEditor.prototype.gainedFocus):
(WebInspector.TextEditor.prototype.lostFocus):

9:09 PM Changeset in webkit [178694] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[iOS] Only use LLVM static library arguments on 64-bit builds of libllvmForJSC.dylib
<http://webkit.org/b/140658>

Reviewed by Filip Pizlo.

  • Configurations/LLVMForJSC.xcconfig: Set OTHER_LDFLAGS_LLVM

only when building for 64-bit architectures.

9:01 PM Changeset in webkit [178693] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

ClosureCallStubRoutine no longer needs codeOrigin
https://bugs.webkit.org/show_bug.cgi?id=140659

Reviewed by Michael Saboff.

Once upon a time, we would look for the CodeOrigin associated with a return PC. This search
would start with the CodeBlock according to the caller frame's call frame header. But if the
call was a closure call, the return PC would be inside some closure call stub. So if the
CodeBlock search failed, we would search *all* closure call stub routines to see which one
encompasses the return PC. Then, we would use the CodeOrigin stored in the stub routine
object. This was all a bunch of madness, and we actually got rid of it - we now determine
the CodeOrigin for a call frame using the encoded code origin bits inside the tag of the
argument count.

This patch removes the final vestiges of the madness:

  • Remove the totally unused method declaration for the thing that did the closure call stub search.


  • Remove the CodeOrigin field from the ClosureCallStubRoutine. Except for that crazy search that we no longer do, everyone else who finds a ClosureCallStubRoutine will find it via the CallLinkInfo. The CallLinkInfo also has the CodeOrigin, so we don't need this field anymore.
  • bytecode/CodeBlock.h:
  • jit/ClosureCallStubRoutine.cpp:

(JSC::ClosureCallStubRoutine::ClosureCallStubRoutine):

  • jit/ClosureCallStubRoutine.h:

(JSC::ClosureCallStubRoutine::executable):
(JSC::ClosureCallStubRoutine::codeOrigin): Deleted.

  • jit/Repatch.cpp:

(JSC::linkClosureCall):

8:47 PM Changeset in webkit [178692] by saambarati1@gmail.com
  • 7 edits in trunk/Source/JavaScriptCore

Basic block start offsets should never be larger than end offsets in the control flow profiler
https://bugs.webkit.org/show_bug.cgi?id=140377

Reviewed by Filip Pizlo.

The bytecode generator will emit code more than once for some AST nodes. For instance,
the finally block of TryNode will emit two code paths for its finally block: one for
the normal path, and another for the path where an exception is thrown in the catch block.

This repeated code emission of the same AST node previously broke how the control
flow profiler computed text ranges of basic blocks because when the same AST node
is emitted multiple times, there is a good chance that there are ranges that span
from the end offset of one of these duplicated nodes back to the start offset of
the same duplicated node. This caused a basic block range to report a larger start
offset than end offset. This was incorrect. Now, when this situation is encountered
while linking a CodeBlock, the faulty range in question is ignored.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler):

  • bytecode/CodeBlock.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ForInNode::emitMultiLoopBytecode):
(JSC::ForOfNode::emitBytecode):
(JSC::TryNode::emitBytecode):

  • parser/Parser.cpp:

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

  • runtime/ControlFlowProfiler.cpp:

(JSC::ControlFlowProfiler::ControlFlowProfiler):

  • runtime/ControlFlowProfiler.h:

(JSC::ControlFlowProfiler::dummyBasicBlock):

8:04 PM Changeset in webkit [178691] by mmaxfield@apple.com
  • 82 edits
    1 add
    6 deletes in trunk

[SVG -> OTF Converter] Flip the switch on
https://bugs.webkit.org/show_bug.cgi?id=140592

Source/JavaScriptCore:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

Updating test expected results.

svg/W3C-SVG-1.1/fonts-glyph-04-t.svg tests something which isn't spec'ed
and is impossible to perform with the converter, so I have deleted that
test.

svg/custom/skip-underline-missing-glyph-expected.html was testing
incorrect behavior, so I have updated the test.

The getStartPositionOfChar() calls in svg/text/kerning.svg and
svg/text/multichar-glyph.svg are currently impossible to be implemented
correctly with the converter, so I have updated the expected results to
test for the updated results of those calls.

Reviewed by Antti Koivisto.

  • platform/mac/TestExpectations:
  • platform/mac/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt: Removed.
  • platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-align-08-b-expected.txt:
  • platform/mac/svg/custom/glyph-setting-d-attribute-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac/svg/custom/svg-fonts-fallback-expected.txt:
  • platform/mac/svg/foreignObject/text-tref-02-b-expected.txt:
  • platform/mac/svg/text/kerning-expected.txt:
  • platform/mac/svg/text/multichar-glyph-expected.txt:
  • platform/mac/svg/transforms/text-with-mask-with-svg-transform-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/text-align-08-b-expected.txt:
  • platform/mac-mountainlion/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac-mountainlion/svg/custom/svg-fonts-fallback-expected.txt:
  • platform/mac-mountainlion/svg/text/kerning-expected.txt:
  • platform/mac-mountainlion/svg/text/multichar-glyph-expected.txt:
  • platform/mac-mountainlion/svg/transforms/text-with-mask-with-svg-transform-expected.txt:
  • svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt: Removed.
  • svg/W3C-SVG-1.1/fonts-glyph-04-t-w3c.png: Removed.
  • svg/W3C-SVG-1.1/fonts-glyph-04-t.svg: Removed.
  • svg/custom/skip-underline-missing-glyph-expected.html: Removed.
  • svg/custom/skip-underline-missing-glyph-expected.txt: Added.
  • svg/custom/skip-underline-missing-glyph.html:
7:48 PM WebKitGTK/StableRelease edited by clopez@igalia.com
(diff)
7:46 PM Changeset in webkit [178690] by mrowe@apple.com
  • 6 edits in trunk/Source/WebKit2

<https://webkit.org/b/140504> REGRESSION (r178452): Visited link coloring only appears to work in the first web process

Roll out r178452 since it broke visited link coloring.

Reviewed by Anders Carlsson.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::~VisitedLinkProvider):
(WebKit::VisitedLinkProvider::addProcess):
(WebKit::VisitedLinkProvider::removeProcess):
(WebKit::VisitedLinkProvider::removeAll):
(WebKit::VisitedLinkProvider::webProcessWillOpenConnection):
(WebKit::VisitedLinkProvider::webProcessDidCloseConnection):
(WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
(WebKit::VisitedLinkProvider::resizeTable):

  • UIProcess/VisitedLinkProvider.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::processDidFinishLaunching):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::addVisitedLinkProvider):
(WebKit::WebProcessProxy::didDestroyVisitedLinkProvider):

  • UIProcess/WebProcessProxy.h:
7:43 PM Changeset in webkit [178689] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

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

Lots of asserts in tests. (Requested by JoePeck on #webkit).

Reverted changeset:

"LayoutState and subtree layout code should use
RenderElement."
https://bugs.webkit.org/show_bug.cgi?id=126878
http://trac.webkit.org/changeset/178683

7:38 PM Changeset in webkit [178688] by weinig@apple.com
  • 13 edits in trunk/Source/WebKit2

Sprinkle some CTTE on API::PolicyClient and API::FormClient
https://bugs.webkit.org/show_bug.cgi?id=140656

Reviewed by Tim Horton.

  • Use references rather than pointers where possible.
  • Store and pass the listeners as Refs.
  • Make API::FormClient more like API::PolicyClient by making it the responsibility of the client implementation to call the default policy.
  • UIProcess/API/APIFormClient.h:

(API::FormClient::willSubmitForm):

  • UIProcess/API/APIPolicyClient.h:

(API::PolicyClient::decidePolicyForNavigationAction):
(API::PolicyClient::decidePolicyForNewWindowAction):
(API::PolicyClient::decidePolicyForResponse):
(API::PolicyClient::unableToImplementPolicy):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPagePolicyClient):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setFormDelegate:]):

  • UIProcess/API/gtk/WebKitPolicyClient.cpp:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForNewWindowAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):

  • UIProcess/WebFormClient.cpp:

(WebKit::WebFormClient::willSubmitForm):

  • UIProcess/WebFormClient.h:
  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::setUpPolicyListenerProxy):
(WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy):

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::unableToImplementPolicy):
(WebKit::WebPageProxy::willSubmitForm):

6:10 PM Changeset in webkit [178687] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed gardening.

Avoid compiling files twice when they are included in an 'AllInOne.cpp' file.

  • WebCore.vcxproj/WebCore.vcxproj: Mark several files as 'not to be built', since

they are also build as part of an 'AllInOne.cpp' file.

6:06 PM Changeset in webkit [178686] by benjamin@webkit.org
  • 5 edits in trunk/Tools

Remove the support for custom suffixes on ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=140648

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-19
Reviewed by David Kilzer.

Custom suffixes were used for the iOS branch of WebKit.
Now that everything is opensource, there is no need for it.

  • Scripts/VCSUtils.pm:

(changeLogSuffix): Deleted.
(changeLogFileName): Deleted.

  • Scripts/commit-log-editor:
  • Scripts/prepare-ChangeLog:

(getLatestChangeLogs):
(generateNewChangeLogs):
(generateFileList):

  • Scripts/resolve-ChangeLogs:

(findChangeLog):

5:35 PM Changeset in webkit [178685] by weinig@apple.com
  • 21 edits
    1 add in trunk/Source/WebKit2

Merge API::ProcessPoolConfiguration and _WKProcessPoolConfiguration
https://bugs.webkit.org/show_bug.cgi?id=140601

Reviewed by Anders Carlsson.

  • Converts _WKProcessPoolConfiguration to be backed via API::ProcessPoolConfiguration.
  • Expands API::ProcessPoolConfiguration to add all the parameters necessary to fully initialize a WebProcessPool. This allows -[WKProcessPool _initWithConfiguration:] to be a simple pass through initializer, which in turn allows us to consider WebProcessPools created on the C++ and Objective-C sides as equivalent.
  • Makes WebProcessPool own the reference to the API::ProcessPoolConfiguration (rather than the WKProcessPool wrapper).
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Create the API::ProcessPoolConfigurations using [_WKProcessPoolConfiguration alloc] as its
storage..

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::create):
(API::ProcessPoolConfiguration::createWithLegacyOptions):
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::~ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::copy):
(API::ProcessPoolConfiguration::webProcessPoolConfiguration): Deleted.

  • UIProcess/API/APIProcessPoolConfiguration.h:

Add the remaining initialization parameters and add a convenience create function
for configuring legacy WebProcessPools (for use by the C-SPI).

  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):

  • UIProcess/API/APIWebsiteDataStore.h:
  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::defaultDataStoreConfiguration):
Expose helper for getting the website data directories for use in the ProcessPoolConfiguration.

  • UIProcess/API/C/WKContext.cpp:

(WKContextCreate):
(WKContextCreateWithInjectedBundlePath):
(WKContextCreateWithConfiguration):
Use ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.

  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCreate):
Update for ProcessPoolConfiguration::create() returning a Ref. Note, this function
was not changed to call ProcessPoolConfiguration::createWithLegacyOptions() since
it has not been around long enough to warrant it.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup initWithInjectedBundleURL:]):
Use ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool description]):
Change to pull the configuration from the underlying API::Object.

(-[WKProcessPool _configuration]):
Change to pull the configuration from the underlying API::Object and call the new
copy() helper on it.

(-[WKProcessPool _initWithConfiguration:]):
Convert to be a simple pass through to API::Object::constructInWrapper.

(websiteDataDirectoryURL): Deleted.
Moved to APIWebsiteDataStore.h

  • UIProcess/API/Cocoa/WKProcessPoolInternal.h:

Removes the _WKProcessPoolConfiguration member, now that it is stored on the WebProcessPool.

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration init]):
(-[_WKProcessPoolConfiguration dealloc]):
Added to support API::Object bridging.

(-[_WKProcessPoolConfiguration injectedBundleURL]):
(-[_WKProcessPoolConfiguration setInjectedBundleURL:]):
Convert to getting the URL from the underlying object. Moved the exception
that used to be on creation of the WKProcessPool.

(-[_WKProcessPoolConfiguration maximumProcessCount]):
(-[_WKProcessPoolConfiguration setMaximumProcessCount:]):
Convert to getting the count from the underlying object.

(-[_WKProcessPoolConfiguration cachePartitionedURLSchemes]):
Convert to constructing the NSArray on demand from the underlying Vector.

(-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
Converts the NSArray to a Vector rather than storing the array.

  • UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h: Added.

(API::wrapper):
Add boilerplate for API::Object bridging.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed):
Update to use API::ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::inspectorProcessPool):
Update to call API::ProcessPoolConfiguration::createWithLegacyOptions().

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::create):
(WebKit::websiteDataStoreConfiguration):
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::applyPlatformSpecificConfigurationDefaults): Deleted.
This functionality was moved to the constructor of the API::ProcessPoolConfiguration.

  • UIProcess/WebProcessPool.h:

Changed to take (and store) a API::ProcessPoolConfiguration rather than the WebProcessPoolConfiguration.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.

  • UIProcess/gtk/WebProcessPoolGtk.cpp:

(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.
Renamed to make it clear these were the legacy locations for these directories.

  • WebKit2.xcodeproj/project.pbxproj:

Added new files.

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

Stop using FeatureCounter to log navigation types
https://bugs.webkit.org/show_bug.cgi?id=140642

Reviewed by Andreas Kling.

Stop using FeatureCounter to log navigation types now that
DiagnosticLoggingClient is working on iOS.

  • loader/FrameLoader.cpp:

(WebCore::logNavigation):

  • platform/FeatureCounterKeys.h:
4:39 PM Changeset in webkit [178683] by akling@apple.com
  • 11 edits in trunk/Source/WebCore

LayoutState and subtree layout code should use RenderElement.
<https://webkit.org/b/126878>

Subtree layout will never begin at a RenderText, so tighten up
the code to operate on RenderElements instead of RenderObjects.

Reviewed by Antti Koivisto.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::willLayout):

  • page/FrameView.cpp:

(WebCore::FrameView::layoutRoot):
(WebCore::FrameView::layout):

  • page/FrameView.h:

Make FrameView::layoutRoot() return RenderElement*.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):

  • rendering/RenderObject.h:

Move subtree layout root clearing logic in willBeDestroyed()
from RenderObject to RenderElement.

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/LayoutState.h:
  • rendering/RenderView.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):

Make all of these functions take RenderElement instead of
RenderObject since layout never starts from a RenderText.

(WebCore::RenderView::shouldDisableLayoutStateForSubtree):

Tweak loop since it's never null on first iteration.

4:36 PM Changeset in webkit [178682] by gyuyoung.kim@samsung.com
  • 2 edits in trunk

[CMAKE] Fix cmake warning
https://bugs.webkit.org/show_bug.cgi?id=140497

Reviewed by Gustavo Noronha Silva.

r173155 already tried to fix cmake warning though, the warning is still exist.
CMAKE_LINK_INTERFACE_LIBRARIES seems to cause this warning. Individual target is
already set for their libraries though, INTERFACE_LINK_LIBRARIES contains the list
of transitive link dependencies, and CMAKE_LINK_INTERFACE_LIBRARIES can override
the INTERFACE_LINK_LIBRARIES property when CMP0022 is not set. CMake warns this override.
To avoid it, EFL port doesn't set CMAKE_LINK_INTERFACE_LIBRARIES.

  • CMakeLists.txt:
4:24 PM Changeset in webkit [178681] by Beth Dakin
  • 6 edits in trunk/Source

Source/WebCore:
Speculative build fix.

  • platform/spi/mac/NSViewSPI.h:

Source/WebKit/mac:
Speculative build fix.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit2:

Speculative build fix.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:processPool:configuration:webView:]):

4:17 PM Changeset in webkit [178680] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Speculative build fix.

  • WebView/WebView.mm:

(-[WebView _convertRectFromRootView:]):

3:46 PM Changeset in webkit [178679] by timothy_horton@apple.com
  • 10 edits in trunk

Adjust naming of action menu SPI
https://bugs.webkit.org/show_bug.cgi?id=140644
<rdar://problem/19448129>

Reviewed by Brian Weinstein.

  • platform/spi/mac/NSViewSPI.h:

Add an underscore.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController willOpenMenu:withEvent:]):
(-[WebActionMenuController didCloseMenu:withEvent:]):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView prepareForMenu:withEvent:]):
(-[WebView willOpenMenu:withEvent:]):
(-[WebView didCloseMenu:withEvent:]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:processPool:configuration:webView:]):

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(-[WKActionMenuController menuNeedsUpdate:]):
(-[WKActionMenuController _updateActionMenuItems]):

  • TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:

(-[ActionMenusTestWKView runMenuSequenceAtPoint:preDidCloseMenuHandler:]):
(TestWebKitAPI::TEST):

3:43 PM Changeset in webkit [178678] by Brent Fulgham
  • 6 edits in trunk/LayoutTests

[Win] Unreviewed Windows gardening.

Rebaseline a few tests based on current bot output.

  • platform/win/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
  • platform/win/fast/regions/region-dynamic-after-before-expected.txt:
  • platform/win/fast/regions/region-generated-content-before-after-expected.txt:
  • platform/win/fast/regions/text-region-split-small-pagination-expected.txt:
  • platform/win/fast/text/international/thai-baht-space-expected.txt:
3:25 PM Changeset in webkit [178677] by roger_fong@apple.com
  • 3 edits in trunk/LayoutTests

[Mac] Test fix after r178674.

  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
3:24 PM Changeset in webkit [178676] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

REGRESSION (r178290): Yellow highlight from context menu Lookup in Dictionary is
offset by flipped-ness
https://bugs.webkit.org/show_bug.cgi?id=140643
-and corresponding-
rdar://problem/19489593

Reviewed by Tim Horton.

We universally flipped because we assumed that the root view was flipped and the
WebView was not. However, in Dictionary, the WebView is flipped! So this patch
fixes that assumption by checking the WebView’s flipped-ness.

  • WebView/WebView.mm:

(-[WebView _convertRectFromRootView:]):

3:09 PM Changeset in webkit [178675] by commit-queue@webkit.org
  • 11 edits in trunk

Canonicalization of :lang() should preserve the :lang()'s arguments representations
https://bugs.webkit.org/show_bug.cgi?id=139928

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2015-01-19
Reviewed by Benjamin Poulain.

Source/WebCore:

Preserve the representation of IDENT and STRING when serializing the
:lang(). For example, :lang(foo,"bar", baz) should be serialize as
:lang(foo, "bar", baz) instead of :lang(foo, bar, baz).

Rename CSSParserSelector::setArgumentList, CSSSelector::setArgumentList
and CSSSelector::argumentList to CSSParserSelector::setLangArgumentList,
CSSSelector::setLangArgumentList and CSSSelector::langArgumentList
respectively, since those methods are being exclusively used in respect
with :lang().

Update the test of serializing :lang() with IDENT and STRING arguments.

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

(WebCore::CSSParserSelector::setLangArgumentList):
(WebCore::CSSParserSelector::setArgumentList): Deleted.

  • css/CSSParserValues.h:

(WebCore::CSSParserString::tokenType):
(WebCore::CSSParserString::setTokenType):

  • css/CSSSelector.cpp:

(WebCore::appendLangArgumentList):
(WebCore::CSSSelector::selectorText):
(WebCore::CSSSelector::setLangArgumentList):
(WebCore::appendArgumentList): Deleted.
(WebCore::CSSSelector::setArgumentList): Deleted.

  • css/CSSSelector.h:

(WebCore::CSSSelector::langArgumentList):
(WebCore::CSSSelector::argumentList): Deleted.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesLangPseudoClass):

LayoutTests:

  • fast/css/css-lang-selector-with-string-arguments-text-expected.txt:
  • fast/css/css-lang-selector-with-string-arguments-text.html:
2:15 PM Changeset in webkit [178674] by roger_fong@apple.com
  • 85 edits
    3 copies
    8 adds in trunk

WebGL2: Support webgl2 context creation.
https://bugs.webkit.org/show_bug.cgi?id=126408
<rdar://problem/15002170>

Reviewed by Dean Jackson.

Tests covered by existing Khronos tests for WebGL 1.0 conformance.

Create a WebGLRenderingContextBase class that extends to a WebGLRenderingContext and WebGL2RenderingContext.
Replace all previous instances of WebGLRenderingContext usages with WebGLRenderingContextBase usages for now.
As the first step, the WebGL1 and WebGL2 contexts will have the exact same functionality.

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

(WebCore::toJS):

  • bindings/js/JSDocumentCustom.cpp:
  • bindings/js/JSHTMLCanvasElementCustom.cpp:
  • bindings/js/JSWebGL2RenderingContextCustom.cpp: Added.

(WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):

  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp: Added.
  • bindings/js/JSWebGLRenderingContextCustom.cpp: Move code to JSWebGLRenderingContextBaseCustom.cpp.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::getImageData):

  • html/canvas/ANGLEInstancedArrays.cpp:

(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::supported):

  • html/canvas/ANGLEInstancedArrays.h:
  • html/canvas/CanvasRenderingContext.h:

(WebCore::CanvasRenderingContext::isWebGL1):
(WebCore::CanvasRenderingContext::isWebGL2):
(WebCore::CanvasRenderingContext::is3d):

  • html/canvas/EXTBlendMinMax.cpp:

(WebCore::EXTBlendMinMax::EXTBlendMinMax):

  • html/canvas/EXTBlendMinMax.h:
  • html/canvas/EXTFragDepth.cpp:

(WebCore::EXTFragDepth::EXTFragDepth):

  • html/canvas/EXTFragDepth.h:
  • html/canvas/EXTShaderTextureLOD.cpp:

(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):

  • html/canvas/EXTShaderTextureLOD.h:
  • html/canvas/EXTTextureFilterAnisotropic.cpp:

(WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):

  • html/canvas/EXTTextureFilterAnisotropic.h:
  • html/canvas/EXTsRGB.cpp:

(WebCore::EXTsRGB::EXTsRGB):

  • html/canvas/EXTsRGB.h:
  • html/canvas/OESElementIndexUint.cpp:

(WebCore::OESElementIndexUint::OESElementIndexUint):

  • html/canvas/OESElementIndexUint.h:
  • html/canvas/OESStandardDerivatives.cpp:

(WebCore::OESStandardDerivatives::OESStandardDerivatives):

  • html/canvas/OESStandardDerivatives.h:
  • html/canvas/OESTextureFloat.cpp:

(WebCore::OESTextureFloat::OESTextureFloat):

  • html/canvas/OESTextureFloat.h:
  • html/canvas/OESTextureFloatLinear.cpp:

(WebCore::OESTextureFloatLinear::OESTextureFloatLinear):

  • html/canvas/OESTextureFloatLinear.h:
  • html/canvas/OESTextureHalfFloat.cpp:

(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):

  • html/canvas/OESTextureHalfFloat.h:
  • html/canvas/OESTextureHalfFloatLinear.cpp:

(WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):

  • html/canvas/OESTextureHalfFloatLinear.h:
  • html/canvas/OESVertexArrayObject.cpp:

(WebCore::OESVertexArrayObject::OESVertexArrayObject):

  • html/canvas/OESVertexArrayObject.h:
  • html/canvas/WebGL2RenderingContext.cpp: Added.

(WebCore::WebGL2RenderingContext::WebGL2RenderingContext):

  • html/canvas/WebGL2RenderingContext.h: Added.
  • html/canvas/WebGL2RenderingContext.idl: Added.
  • html/canvas/WebGLBuffer.cpp:

(WebCore::WebGLBuffer::create):
(WebCore::WebGLBuffer::WebGLBuffer):

  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLCompressedTextureATC.cpp:

(WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::supported):

  • html/canvas/WebGLCompressedTextureATC.h:
  • html/canvas/WebGLCompressedTexturePVRTC.cpp:

(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::supported):

  • html/canvas/WebGLCompressedTexturePVRTC.h:
  • html/canvas/WebGLCompressedTextureS3TC.cpp:

(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::supported):

  • html/canvas/WebGLCompressedTextureS3TC.h:
  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::getAGraphicsContext3D):
(WebCore::WebGLContextGroup::addContext):
(WebCore::WebGLContextGroup::removeContext):
(WebCore::WebGLContextGroup::loseContextGroup):

  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:

(WebCore::WebGLContextObject::WebGLContextObject):

  • html/canvas/WebGLContextObject.h:

(WebCore::WebGLContextObject::context):

  • html/canvas/WebGLDebugRendererInfo.cpp:

(WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo):

  • html/canvas/WebGLDebugRendererInfo.h:
  • html/canvas/WebGLDebugShaders.cpp:

(WebCore::WebGLDebugShaders::WebGLDebugShaders):

  • html/canvas/WebGLDebugShaders.h:
  • html/canvas/WebGLDepthTexture.cpp:

(WebCore::WebGLDepthTexture::WebGLDepthTexture):

  • html/canvas/WebGLDepthTexture.h:
  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):

  • html/canvas/WebGLDrawBuffers.h:
  • html/canvas/WebGLExtension.cpp:

(WebCore::WebGLExtension::WebGLExtension):

  • html/canvas/WebGLExtension.h:

(WebCore::WebGLExtension::context):

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::create):
(WebCore::WebGLFramebuffer::WebGLFramebuffer):

  • html/canvas/WebGLFramebuffer.h:
  • html/canvas/WebGLLoseContext.cpp:

(WebCore::WebGLLoseContext::WebGLLoseContext):
(WebCore::WebGLLoseContext::loseContext):

  • html/canvas/WebGLLoseContext.h:
  • html/canvas/WebGLObject.cpp:

(WebCore::WebGLObject::WebGLObject):

  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::create):
(WebCore::WebGLProgram::WebGLProgram):

  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLRenderbuffer.cpp:

(WebCore::WebGLRenderbuffer::create):
(WebCore::WebGLRenderbuffer::WebGLRenderbuffer):

  • html/canvas/WebGLRenderbuffer.h:
  • html/canvas/WebGLRenderingContext.cpp: Move implementation to WebGLRenderingContextBase.cpp.
  • html/canvas/WebGLRenderingContext.h: Move implementation to WebGLRenderingContextBase.h.
  • html/canvas/WebGLRenderingContext.idl: Move implementation to WebGLRenderingContextBase.idl.
  • html/canvas/WebGLRenderingContextBase.cpp: Added.
  • html/canvas/WebGLRenderingContextBase.h: Added.
  • html/canvas/WebGLRenderingContextBase.idl: Added.
  • html/canvas/WebGLShader.cpp:

(WebCore::WebGLShader::create):
(WebCore::WebGLShader::WebGLShader):

  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLSharedObject.cpp:

(WebCore::WebGLSharedObject::WebGLSharedObject):

  • html/canvas/WebGLSharedObject.h:
  • html/canvas/WebGLTexture.cpp:

(WebCore::WebGLTexture::create):
(WebCore::WebGLTexture::WebGLTexture):

  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLVertexArrayObjectOES.cpp:

(WebCore::WebGLVertexArrayObjectOES::create):
(WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):

  • html/canvas/WebGLVertexArrayObjectOES.h:

Layout test fixes:

  • fast/canvas/webgl/bad-arguments-test-expected.txt:
  • fast/canvas/webgl/null-object-behaviour-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
2:02 PM Changeset in webkit [178673] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION(r178250): ~2% PLT regression
https://bugs.webkit.org/show_bug.cgi?id=140640

Reviewed by Andreas Kling.

  • platform/graphics/FontCache.cpp:

The patch accidentally contained a change to reduce the size of the cache (to verify that purgin works).
Restore it back to the original value.

1:58 PM Changeset in webkit [178672] by commit-queue@webkit.org
  • 4 edits
    1 move in trunk

[GTK] Generate the make dist manifest from a CMake template file
https://bugs.webkit.org/show_bug.cgi?id=139387

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-19
Reviewed by Martin Robinson.

.:

Generate manifest.txt from manifest.txt.in. Only expose the dist and
distcheck targets for developer builds, as they won't work when
building from a tarball because the manifest is not distributed.

  • Source/PlatformGTK.cmake:

Tools:

Remove the code that performs variable substitution on manifest.txt.
Replace the custom variables used in that file with CMake variables.

  • gtk/make-dist.py:

(Manifest.add_directory):
(Manifest.get_full_source_path):
(Manifest.process_line):
(Manifest.resolve_variables): Deleted.
(Manifest.get_full_tarball_path): Deleted.

  • gtk/manifest.txt.in: Renamed from Tools/gtk/manifest.txt.
1:03 PM Changeset in webkit [178671] by commit-queue@webkit.org
  • 5 edits in trunk

[WinCairo][Video] Windows Media Foundation implementation is not completed.
https://bugs.webkit.org/show_bug.cgi?id=140337

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-19
Reviewed by Alex Christensen.

Source/WebCore:

This patch aims to complete some of the methods which are not implemented.
Currently, only MP4 is supported.
Video is rendered in a child window of the main window.
We should eventually render the video directly in the main window,
by reading and painting individual video frames from the stream.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
(WebCore::MediaPlayerPrivateMediaFoundation::~MediaPlayerPrivateMediaFoundation):
(WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes):
(WebCore::MediaPlayerPrivateMediaFoundation::supportsType):
(WebCore::MediaPlayerPrivateMediaFoundation::load):
(WebCore::MediaPlayerPrivateMediaFoundation::play):
(WebCore::MediaPlayerPrivateMediaFoundation::pause):
(WebCore::MediaPlayerPrivateMediaFoundation::naturalSize):
(WebCore::MediaPlayerPrivateMediaFoundation::hasVideo):
(WebCore::MediaPlayerPrivateMediaFoundation::hasAudio):
(WebCore::MediaPlayerPrivateMediaFoundation::setVisible):
(WebCore::MediaPlayerPrivateMediaFoundation::paused):
(WebCore::MediaPlayerPrivateMediaFoundation::readyState):
(WebCore::MediaPlayerPrivateMediaFoundation::didLoadingProgress):
(WebCore::MediaPlayerPrivateMediaFoundation::setSize):
(WebCore::MediaPlayerPrivateMediaFoundation::paint):
(WebCore::MediaPlayerPrivateMediaFoundation::createSession):
(WebCore::MediaPlayerPrivateMediaFoundation::endSession):
(WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
(WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource):
(WebCore::MediaPlayerPrivateMediaFoundation::addBranchToPartialTopology):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoViewWndProc):
(WebCore::MediaPlayerPrivateMediaFoundation::registerVideoWindowClass):
(WebCore::MediaPlayerPrivateMediaFoundation::createVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::destroyVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::createOutputNode):
(WebCore::MediaPlayerPrivateMediaFoundation::createSourceStreamNode):
(WebCore::MediaPlayerPrivateMediaFoundation::onCreatedMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AsyncCallback):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::~AsyncCallback):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::QueryInterface):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AddRef):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Release):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::GetParameters):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:

WebKitLibraries:

Link with Media Foundation libraries.

  • win/tools/vsprops/WinCairo.props:
1:01 PM Changeset in webkit [178670] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Correct merge error in last commit.

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(findAccessibleObjectById): Undo accidental paste made during landing.

12:58 PM Changeset in webkit [178669] by Brent Fulgham
  • 16 edits in trunk

[Win] Periodic failure in DumpRenderTree related to WebActionPropertyBag::Read
https://bugs.webkit.org/show_bug.cgi?id=139906

Reviewed by Dean Jackson.

WebKit on Windows was creating uninitialized VARIANT structures, then attempting
to use them. This patch fixes that.

Source/WebKit/win:

Identified by dom/html/level2/html/HTMLIFrameElement03.html (and others)

  • COMEnumVariant.h:

(COMEnumVariant<ContainerType>::Next):

  • COMPropertyBag.h:

(HashType>::Read):

  • DefaultPolicyDelegate.cpp:

(DefaultPolicyDelegate::decidePolicyForNavigationAction):

  • WebActionPropertyBag.cpp:

(WebActionPropertyBag::Read):

  • WebDatabaseManager.cpp:

(DatabaseDetailsPropertyBag::Read):

  • WebElementPropertyBag.cpp:

(WebElementPropertyBag::Read):

  • WebFrame.cpp:

(EnumChildFrames::Next):

  • WebView.cpp:

(WebView::notifyDidAddIcon):

Tools:

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(findAccessibleObjectById):
(AccessibilityController::focusedElement):
(logEventProc):
(notificationListenerProc):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::getChildAtIndex):
(AccessibilityUIElement::titleUIElement):
(self):
(AccessibilityUIElement::role):
(AccessibilityUIElement::valueDescription):
(accessibilityState):
(AccessibilityUIElement::isChecked):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(dumpFrameScrollPosition):
(dumpFramesAsText):

  • DumpRenderTree/win/PolicyDelegate.cpp:

(PolicyDelegate::decidePolicyForNavigationAction):

  • DumpRenderTree/win/UIDelegate.cpp:

(UIDelegate::exceededDatabaseQuota):

  • WinLauncher/Common.cpp:

(setWindowText):

12:49 PM Changeset in webkit [178668] by Brian Burg
  • 16 edits in trunk/Source

Web Replay: convert to is<T> and downcast<T> for decoding replay inputs
https://bugs.webkit.org/show_bug.cgi?id=140512

Reviewed by Chris Dumez.

Source/JavaScriptCore:

Generate a SPECIALIZE_TYPE_TRAITS_* chunk of code for each input. This cannot
be done using REPLAY_INPUT_NAMES_FOR_EACH macro since that doesn't fully qualify
input types, and the type traits macro is defined in namespace WTF.

  • replay/NondeterministicInput.h: Make overridden methods public.
  • replay/scripts/CodeGeneratorReplayInputs.py:

(Generator.generate_header):
(Generator.qualified_input_name): Allow forcing qualification. WTF is never a target framework.
(Generator.generate_input_type_trait_declaration): Added.

  • replay/scripts/CodeGeneratorReplayInputsTemplates.py: Add a template.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h:

Source/WebCore:

No new tests, no behavior changed.

  • replay/EventLoopInput.h: Make overridden methods public.
  • replay/MemoizedDOMResult.h: Add type trait specialization here. It is

special-cased because the input type parameter doesn't work with macros.

  • replay/SerializationMethods.cpp:

(JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
Use is() and downcast() when dispatching to encoders based on type.

12:34 PM Changeset in webkit [178667] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Replace use of WTF::bind() in MemoryPressureHandlerLinux.cpp with a C++ lambda
https://bugs.webkit.org/show_bug.cgi?id=140614

Reviewed by Carlos Garcia Campos.

Use a C++ lambda instead of WTF::bind() in the MemoryPressureHandler
implementation for Linux.

  • platform/linux/MemoryPressureHandlerLinux.cpp:

(WebCore::MemoryPressureHandler::waitForMemoryPressureEvent):

12:32 PM Changeset in webkit [178666] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update expectations for media/track/track-forced-subtitles-in-band.html.

This test was marked as flaky on Yosemite, but the bug that tracked that was already
fixed. The test is flaky on Mavericks and above for some other reason.

  • platform/mac/TestExpectations:
12:31 PM Changeset in webkit [178665] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Use C++ lambda instead of WTF::bind() in ThreadedCompositor::updateSceneState()
https://bugs.webkit.org/show_bug.cgi?id=140613

Reviewed by Carlos Garcia Campos.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::updateSceneState): Replace the use of WTF::bind() with a C++ lambda.

12:30 PM Changeset in webkit [178664] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Replace uses of WTF::bind() in MockMediaPlayerMediaSource with C++ lambdas
https://bugs.webkit.org/show_bug.cgi?id=140612

Reviewed by Philippe Normand.

Use C++ lambdas in place of WTF::bind() in the MockMediaPlayerMediaSource class.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::play):
(WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
(WebCore::MockMediaPlayerMediaSource::seekCompleted):

12:17 PM Changeset in webkit [178663] by commit-queue@webkit.org
  • 61 edits
    1 copy
    5 adds
    1 delete in trunk

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

Broke multiple SVG tests on Mountain Lion (Requested by ap on
#webkit).

Reverted changeset:

"[SVG -> OTF Converter] Flip the switch on"
https://bugs.webkit.org/show_bug.cgi?id=140592
http://trac.webkit.org/changeset/178653

12:03 PM Changeset in webkit [178662] by dino@apple.com
  • 5 edits
    3 adds in trunk

ES6: Support Array.of construction
https://bugs.webkit.org/show_bug.cgi?id=140605
<rdar://problem/19513655>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add and implementation of Array.of, described in 22.1.2.3 of the ES6
specification (15 Jan 2015). The Array.of() method creates a new Array
instance with a variable number of arguments, regardless of number or type
of the arguments.

  • runtime/ArrayConstructor.cpp:

(JSC::arrayConstructorOf): Create a new empty Array, then iterate
over the arguments, setting them to the appropriate index.

LayoutTests:

Add 'of' to the Array properties, and a
test for Array.of().

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/array-of-expected.txt: Added.
  • js/array-of.html: Added.
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/array-of.js: Added.
12:02 PM Changeset in webkit [178661] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

Layers need to be already updated before we call adjustViewSize
https://bugs.webkit.org/show_bug.cgi?id=135514

Reviewed by Simon Fraser.

Tested by 'fast/dynamic/layer-no-longer-paginated.html'

Defer painting operations until we have finished layout. This
has a couple of benefits:
(1) We do not attempt to modify render layers during layout.
(2) In WK1 we do not attempt to paint during layout.

Add a new virtual predicate to ScrollView indicating when we are in
layout so that calls to setContentsSize do not attempt
to adjust scrollbars.

Modify FrameView to set its ScrollView state to block paint
operations during layout. Also add a post-layout handler to
complete the scrollbar updates after layout is finished.

  • WebCore.exp.in: Move linker symbol to ScrollView (from FrameView).
  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
(WebCore::FrameView::scrollPositionChangedViaPlatformWidget): Removed (Renamed).
(WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added (Renamed)
(WebCore::FrameView::paintContents): Do not paint if we are inside view size adjustment.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollPositionChangedViaPlatformWidget): Added. Checks whether we need to defer
painting, and calls virtual scrollPositionChangedViaPlatformWidgetImpl if we do not.
(WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added.
(WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added.
(WebCore::ScrollView::scrollTo): If we should defer painting, cache the
the scroll delta and apply it after the layout is complete.
(WebCore::ScrollView::completeUpdatesAfterScrollTo): Split off part of 'scrollTo' into its own method
so we can reuse it in handleDeferredScrollUpdateAfterContentSizeChange.

  • platform/ScrollView.h:

(WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added.

11:45 AM Changeset in webkit [178660] by dino@apple.com
  • 7 edits in trunk

Add "override" to fix the build with newer clangs.

Source/WebKit2:

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::transformHandlesToObjects):
(WebKit::WebProcessProxy::transformObjectsToHandles):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::transformObjectsToHandles):

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::transformHandlesToObjects):
(WebKit::WebProcess::transformObjectsToHandles):

Tools:

  • TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:

(TestWebKitAPI::CalculationDeletionTestNode::operator==):

11:30 AM Changeset in webkit [178659] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

11:28 AM Changeset in webkit [178658] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

11:26 AM Changeset in webkit [178657] by bshafiei@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

11:04 AM Changeset in webkit [178656] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

[iOS] Do not hard-code iphoneos.internal SDK in buildXCodeProject()
<http://webkit.org/b/140623>

Reviewed by Daniel Bates.

  • Scripts/build-webkit: Update help for --device switch.
  • Scripts/webkitdirs.pm:

(determineXcodeSDK): When passing --device, prefer the internal
iOS SDK if it exists, else fall back to the external iOS SDK.
(buildXCodeProject): Use xcodeSDK() as -sdk argument for
xcodebuild instead of trying to sanitize values.

10:50 AM Changeset in webkit [178655] by adachan@apple.com
  • 3 edits
    2 adds in trunk

HTMLMediaElement::isPlayingAudio() should return false if the element is explicitly muted by script.
https://bugs.webkit.org/show_bug.cgi?id=140524

Reviewed by Andreas Kling.

Source/WebCore:

Test: media/muted-video-is-playing-audio.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setMuted):
Call Document::updateIsPlayingAudio() to recalculate the overall audio playing state.
(WebCore::HTMLMediaElement::isPlayingAudio):
HTMLMediaElement::isPlayingAudio() should return false if the media element is explicitly muted.

LayoutTests:

The test contains a looping video. It makes sure initially Page::isPlayingAudio() returns true.
It should return false after the video is muted, and true again after the video is unmuted.

  • media/muted-video-is-playing-audio-expected.txt: Added.
  • media/muted-video-is-playing-audio.html: Added.
10:40 AM Changeset in webkit [178654] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit

Try to fix build warnings with newer versions of clang.

  • Storage/StorageAreaImpl.h:
10:37 AM Changeset in webkit [178653] by mmaxfield@apple.com
  • 61 edits
    1 add
    6 deletes in trunk

[SVG -> OTF Converter] Flip the switch on
https://bugs.webkit.org/show_bug.cgi?id=140592

Source/JavaScriptCore:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

Updating test expected results.

svg/W3C-SVG-1.1/fonts-glyph-04-t.svg tests something which isn't spec'ed
and is impossible to perform with the converter, so I have deleted that
test.

svg/custom/skip-underline-missing-glyph-expected.html was testing
incorrect behavior, so I have updated the test.

The getStartPositionOfChar() calls in svg/text/kerning.svg and
svg/text/multichar-glyph.svg are currently impossible to be implemented
correctly with the converter, so I have updated the expected results to
test for the updated results of those calls.

Reviewed by Antti Koivisto.

  • platform/mac/TestExpectations:
  • platform/mac/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt: Removed.
  • platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-align-08-b-expected.txt:
  • platform/mac/svg/custom/glyph-setting-d-attribute-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac/svg/custom/svg-fonts-fallback-expected.txt:
  • platform/mac/svg/foreignObject/text-tref-02-b-expected.txt:
  • platform/mac/svg/text/kerning-expected.txt:
  • platform/mac/svg/text/multichar-glyph-expected.txt:
  • platform/mac/svg/transforms/text-with-mask-with-svg-transform-expected.txt:
  • svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt: Removed.
  • svg/W3C-SVG-1.1/fonts-glyph-04-t-w3c.png: Removed.
  • svg/W3C-SVG-1.1/fonts-glyph-04-t.svg: Removed.
  • svg/custom/skip-underline-missing-glyph-expected.html: Removed.
  • svg/custom/skip-underline-missing-glyph-expected.txt: Added.
  • svg/custom/skip-underline-missing-glyph.html:
10:32 AM Changeset in webkit [178652] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Mark a couple slow tests as such.

10:05 AM Changeset in webkit [178651] by ap@apple.com
  • 2 edits in trunk/Tools

"Unknown option: sharedworkerglobalscopeconstructorsfile" when running bindings tests.
https://bugs.webkit.org/show_bug.cgi?id=140606

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/bindings/main.py:

(BindingsTests.generate_supplemental_dependency):
(BindingsTests.main):

9:43 AM Changeset in webkit [178650] by Brent Fulgham
  • 1 edit
    1 delete in trunk/LayoutTests

[Win] Unreviewed gardening: Remove unneeded win-specific result.

At one point, Windows error messages did not include line numbers and needed its own results.
This is no longer the case, and any such results should be removed

  • platform/win/fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt: Removed.
9:35 AM Changeset in webkit [178649] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening: Mark some passing tests appropriately.

  • platform/win/TestExpectations:
9:25 AM Changeset in webkit [178648] by ap@apple.com
  • 32 edits in trunk

Console log sometimes prefixed with line number
https://bugs.webkit.org/show_bug.cgi?id=105280

Reviewed by Darin Adler.

Source/WebCore:

Improve the logic for determining whether a console message should be associated
with a source code location.

  • dom/ScriptableDocumentParser.h:
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::shouldAssociateConsoleMessagesWithTextPosition):

  • html/parser/HTMLDocumentParser.h:
  • page/PageConsoleClient.cpp:

(WebCore::getParserLocationForConsoleMessage):
(WebCore::PageConsoleClient::addMessage):

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::pauseParsing):

  • xml/parser/XMLDocumentParser.h:
  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::shouldAssociateConsoleMessagesWithTextPosition):

LayoutTests:

Some messages lost line numbers now. Some of these were definitely wrong, others
were roughly right. Unfortunately, it is not currently possible to figure out whether
ScriptController actually executes a script after passing control to it. So the cases
where it refuses to execute the script and logs a message are handled like those
where it does.

I think that it shouldn't be a big obstacle in practice, it is easy enough to find
a script in a page when Web Inspector tells you that scripts were not allowed.

  • fast/frames/sandboxed-iframe-attribute-parsing-06-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-07-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-08-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-09-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-10-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-11-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-12-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-13-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-14-expected.txt:
  • fast/frames/sandboxed-iframe-parsing-space-characters-expected.txt:
  • fast/frames/sandboxed-iframe-scripting-04-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-empty-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-empty-subframe-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-in-http-header-control-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-in-http-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-invalid-header-expected.txt:
  • http/tests/security/isolatedWorld/sandboxed-iframe-expected.txt:
  • http/tests/security/mixedContent/insecure-script-in-iframe-expected.txt:
  • http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe-expected.txt:
  • http/tests/security/no-javascript-refresh-expected.txt:
  • http/tests/security/no-javascript-refresh-spaces-expected.txt:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:

Unmark tests that were broken by this.

8:32 AM Changeset in webkit [178647] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[SVG -> OTF Converter] Glyphs get clipped weirdly
https://bugs.webkit.org/show_bug.cgi?id=137095

Reviewed by Antti Koivisto.

The Adobe CFF spec doesn't actually tell you how to serialize a
"FontBBox." After trial and error, it seems to be (x, y, width,
height).

Test: svg/text/kerning.svg

svg/W3C-SVG-1.1/fonts-kern-01-t.svg

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::appendHEADTable):
(WebCore::SVGToOTFFontConverter::appendCFFTable):
(WebCore::SVGToOTFFontConverter::appendVHEATable):
(WebCore::CFFBuilder::CFFBuilder):
(WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
(WebCore::SVGToOTFFontConverter::processGlyphElement):

7:27 AM Changeset in webkit [178646] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

REGRESSION(r178486): It broke the !ENABLE(VIDEO) build
https://bugs.webkit.org/show_bug.cgi?id=140611

Reviewed by Eric Carlson.

  • testing/Internals.cpp:

(WebCore::Internals::elementIsBlockingDisplaySleep):

  • testing/Internals.h:
6:23 AM Changeset in webkit [178645] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Win] REGRESSION(r177542 or r177613): svg/W3C tests are broken
https://bugs.webkit.org/show_bug.cgi?id=139972

Unreviewed gardening, unskip now passing tests after r178139.

  • platform/win/TestExpectations:
5:33 AM Changeset in webkit [178644] by Carlos Garcia Campos
  • 5 edits in trunk/Tools

[GTK] [WK2] TestWebKitWebView snapshot fails
https://bugs.webkit.org/show_bug.cgi?id=120404

Reviewed by Žan Doberšek.

Rework the test to make sure the snapshot is always created at the
desired size.

  • Scripts/run-gtk-tests:

(TestRunner): Unskip /webkit2/WebKitWebView/snapshot.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewSnapshot): Use a fixed size for the document, and
disable scrollbars to make sure the visible area is always the
WebView size.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::showInWindowAndWaitUntilMapped): Add optional width
and height parameters to create the window with a given size.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
3:21 AM Changeset in webkit [178643] by svillar@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed, when committing r178642 I forgot to add the
TestExpectations change.

fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html.

1:44 AM Changeset in webkit [178642] by svillar@igalia.com
  • 9 edits
    2 adds in trunk

[CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space
https://bugs.webkit.org/show_bug.cgi?id=139059

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):

LayoutTests:

The third step of the grid track sizing algorithm (method
ComputeUsedBreadthOfGridTracks in the old specs version of the
algorithm) tries to grow all grid tracks until the remaining space
is exhausted. Should the remaining space is undefined we should fill
the tracks up to their limits. This is specified in pseudocode like
this:

For each Grid track t in GridTracks

t.UsedBreadth = t.MaxBreadth

That's correct for most of the cases, but it becomes
wrong whenever t.UsedBreadth > t.MaxBreadth something that is not
incorrect. What we actually want to do is to grow the track to its
maximum if and only if the used breadth is smaller than the maximum.

due to another bug (wkb.ug/139058).

  • fast/css-grid-layout/grid-auto-columns-rows-update.html:
  • fast/css-grid-layout/grid-grow-tracks-to-their-max-expected.txt: Added.
  • fast/css-grid-layout/grid-grow-tracks-to-their-max.html: Added.
  • fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
  • fast/css-grid-layout/minmax-max-content-resolution-rows.html:
  • fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size.html:

Jan 18, 2015:

11:15 PM Changeset in webkit [178641] by ddkilzer@apple.com
  • 5 edits in trunk/Tools

iOS EWS queue name should be consistent
<http://webkit.org/b/140585>

Reviewed by Daniel Bates.

  • Scripts/webkitpy/common/config/ews.json: Rename 'ios-device'

to 'ios'.

  • Scripts/webkitpy/common/config/ports.py: Ditto.

(DeprecatedPort.port):
(IOSPort):

  • Scripts/webkitpy/port/ios.py: Ditto.

(IOSPort):

  • Scripts/webkitpy/port/factory.py:

(PortFactory): Re-order PORT_CLASSES so ios.IOSSimulatorPort
appears before ios.IOSPort. If this is not done,
run-webkit-tests --ios-simulator will get the wrong Port class
(IOSPort instead of IOSSimulatorPort) due to the way that
PortFactory.get() uses prefix matching of <Port>.port_name to
find the correct class to use.

11:07 PM Changeset in webkit [178640] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/navigation/navigation-interrupted-by-fragment.html frequently times out
https://bugs.webkit.org/show_bug.cgi?id=140607

  • platform/mac-wk2/TestExpectations: Added an expectation.
10:57 PM Changeset in webkit [178639] by ap@apple.com
  • 4 edits in trunk/Source/WebCore

Update bindings generation test results after <https://trac.webkit.org/changeset/178633>.

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

(WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):

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

(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):

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

(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):

9:32 PM Changeset in webkit [178638] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Generate matchingShorthandsForLonghand() implementation from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140599

Reviewed by Antti Koivisto.

Generate matchingShorthandsForLonghand() implementation from
CSSPropertyNames.in. We already have all the information we need in
CSSPropertyNames.in to generate the big switch() in
matchingShorthandsForLonghand().

A few shorthands still aren't generated. I will look into getting rid
of the custom code in a follow-up patch.

  • css/StylePropertyShorthand.cpp:

(WebCore::makeVector): Deleted.
(WebCore::matchingShorthandsForLonghand): Deleted.

  • css/StylePropertyShorthand.h:

(WebCore::matchingCustomShorthandsForLonghand):

  • css/makeprop.pl:

(constructShorthandsVector):

9:14 PM Changeset in webkit [178637] by dino@apple.com
  • 3 edits
    2 adds in trunk

Out of bounds write in canvas.toDataURL
https://bugs.webkit.org/show_bug.cgi?id=140594
<rdar://problem/19449135>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

In the case where we have a canvas object that does
not have premultiplied alpha (an option you can select
when using WebGL) we have to multiply out the alpha when
converting to JPEG via toDataURL.

For this we created a buffer, but were not accurately
resizing it before flattening the alpha.

Test: fast/canvas/webgl/toDataURL-unpremultipliedAlpha.html

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageDataToDataURL): Call resize once we've
determined we have enough space.

LayoutTests:

Creates a WebGL context that does not have
premultiplied alpha, fills it with 50% transparent white,
and attempts to convert the canvas to a JPEG data URL. This
exercises the code path that was not accurately
allocating data (to flatten the alpha).

  • fast/canvas/webgl/toDataURL-unpremultipliedAlpha-expected.txt: Added.
  • fast/canvas/webgl/toDataURL-unpremultipliedAlpha.html: Added.
4:03 PM Changeset in webkit [178636] by dbates@webkit.org
  • 5 edits in trunk/Source

Attempt to fix the iOS build after <http://trac.webkit.org/changeset/178631>
(https://bugs.webkit.org/show_bug.cgi?id=129441)

Source/WebKit/mac:

Pass lvalue reference to WebCore::Highlight instead of pointer in call to InspectorController::getHighlight().
Also substitute HighlightType::Node and HighlightType::Rects for HighlightTypeNode and HighlightTypeRects, respectively.

  • WebInspector/WebNodeHighlightView.mm:

(-[WebNodeHighlightView layoutSublayers:]):

Source/WebKit2:

  • UIProcess/WKInspectorHighlightView.mm:

(-[WKInspectorHighlightView update:]): Substitute HighlightType::Node and
HighlightType::Rects for HighlightTypeNode and HighlightTypeRects, respectively.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::highlight): Pass lvalue reference to WebCore::Highlight
instead of pointer in call to InspectorController::getHighlight().

2:16 PM Changeset in webkit [178635] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

Fix style issues and add availability macros missed in r178634
https://bugs.webkit.org/show_bug.cgi?id=140597

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:

Add missing availability macros.

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

(-[_WKUserContentFilter initWithName:serializedRules:]):
(-[_WKUserContentFilter _initWithName:serializedRules:]): Deleted.
Removed unnecessary leading underscore from init method.

1:54 PM Changeset in webkit [178634] by weinig@apple.com
  • 33 edits
    8 adds
    2 deletes in trunk/Source

Add initial experimental user content filtering API
https://bugs.webkit.org/show_bug.cgi?id=140584

Reviewed by Benjamin Poulain.

Source/WebCore:

Change content extensions to be managed through the UserContentController.

  • WebCore.exp.in:

Update exports.

  • WebCore.xcodeproj/project.pbxproj:

Update for removed files.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::removeAllRuleLists):
(WebCore::ContentExtensions::ContentExtensionsBackend::sharedInstance): Deleted.

  • contentextensions/ContentExtensionsBackend.h:

Remove concept of a shared instance and add a removeAllRuleLists() function.

  • contentextensions/ContentExtensionsInterface.cpp: Removed.
  • contentextensions/ContentExtensionsInterface.h: Removed.

Since there is no shared instance anymore, checking if a URL should be blocked
now has to go directly to the backend.

  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::createRuleList):
(WebCore::ContentExtensions::ExtensionsManager::loadExtension): Deleted.

  • contentextensions/ContentExtensionsManager.h:

Update interface to accommodate the lack of a shared instance. Now, all this
file does is take a serialized rule list and outputs the Vector of ContentExtensionRules

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):
Check with the UserContentController to see if the URL should be blocked.

  • page/UserContentController.cpp:

(WebCore::UserContentController::addUserContentFilter):
(WebCore::UserContentController::removeAllUserContentFilters):
(WebCore::UserContentController::contentFilterBlocksURL):

  • page/UserContentController.h:

Add single point of interaction for both the WebKit level to add and remove
content filters and WebCore to check to see if URLs should be blocked.

Source/WebKit2:

Moves content filtering from being per-ProcessPool to per-UserContentController.

  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • UIProcess/API/APIUserContentFilter.cpp: Added.

(API::UserContentFilter::UserContentFilter):
(API::UserContentFilter::~UserContentFilter):

  • UIProcess/API/APIUserContentFilter.h: Added.
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKUserContentFilterRef.cpp: Added.

(WKUserContentFilterGetTypeID):
(WKUserContentFilterCreate):

  • UIProcess/API/C/WKUserContentFilterRef.h: Added.
  • UIProcess/API/C/WebKit2_C.h:
  • UIProcess/API/Cocoa/_WKUserContentFilter.h: Added.
  • UIProcess/API/Cocoa/_WKUserContentFilter.mm: Added.

(WKUserContentControllerAddUserContentFilter):
(WKUserContentControllerRemoveAllUserContentFilters):
(-[_WKUserContentFilter _initWithName:ruleList:]):

  • UIProcess/API/Cocoa/_WKUserContentFilterInternal.h: Added.

Add a basic UserContentFilter type and expose it via both the Objective-C API (as _WKUserContentFilter)
and via the C SPI (as WKUserContentFilterRef).

  • UIProcess/API/C/WKUserContentControllerRef.h:
  • UIProcess/API/C/WKUserContentControllerRef.cpp:

Add C-SPI to set and remove WKUserContentFilterRefs.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _loadContentExtensionWithIdentifier:serializedRules:successCompletionHandler:errorCompletionHandler:]): Deleted.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::loadContentExtension): Deleted.

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::loadContentExtension): Deleted.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

Remove the old SPI for loading content filters that was per-ProcessPool. Content filters now follow
the same pattern as UserScripts and UserStyleSheets as being per-UserContentController.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController _addUserContentFilter:]):
(-[WKUserContentController _removeAllUserContentFilters]):

  • UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Added.
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserContentFilter):
(WebKit::WebUserContentControllerProxy::removeAllUserContentFilters):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addUserContentFilters):
(WebKit::WebUserContentController::removeAllUserContentFilters):

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:

Pipe user content filters over to all the WebProcesses that the UserContentController is
connected to.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

12:57 PM Changeset in webkit [178633] by Darin Adler
  • 5 edits in trunk/Source/WebCore

REGRESSION (r125251): wrapper lifetimes of SVGElementInstance are incorrect
https://bugs.webkit.org/show_bug.cgi?id=132148

Reviewed by Anders Carlsson.

Test: svg/custom/use-instanceRoot-event-listeners.xhtml

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::addEventListener): Updated for the new return type
of JSListener::create. For the event type, use JSString::toAtomicString instead of
calling JSString::value and then converting to an AtomicString.
(WebCore::JSDOMWindow::removeEventListener): Same changes as for addEventListener.

  • bindings/js/JSEventListener.cpp:

(WebCore::forwardsEventListeners): Added. Helper to detect the special case needed
for SVGElementInstance. In the future, for better encapsulation, we could use virtual
functions, but for now hard coding this single class seems fine.
(WebCore::correspondingElementWrapper): Added. For use if forwardsEventListeners
returns true, to find out where event listeners will be forwarded.
(WebCore::createJSEventListenerForAttribute): Added. Replaces the old function
createJSAttributeEventListener, for SVGElementInstance attributes only.
(WebCore::createJSEventListenerForAdd): Added. Helper function to avoid repeated
generated code in the addElementListener bindings other than the DOMWindow one.

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::create): Changed to return a Ref instead of a PassRefPtr.
(WebCore::createJSEventListenerForAttribute): Renamed from createJSAttributeEventListener,
changed to return a RefPtr instead of a PassRefPtr and to take references rather than
pointers for non-null things.
(WebCore::createJSEventListenerForRemove): Added. Small wrapper that calls
createJSEventListenerForAdd since they are currently identical.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeEventListenerCall): Removed the special case for JSSVGElementInstance
and updated to call the new createJSEventListenerForAttribute. The special case for
SVGElementInstance is now in JSEventListener.h/cpp, which is nicer since we prefer to
keep the generated code simpler if possible.
(GenerateEventListenerCall): Removed the special case for JSSVGElementInstance. This
has been dead code since the explicit definition of add/removeEventListener was removed
from SVGElementInstance.idl, and was also a problem if someone were to use the
addEventListener function from EventTarget on an SVGElementInstance object. The function
needs to be generic at runtime. Use toAtomicString as in JSDOMWindow::addEventListener above.
Call the two new functions, createJSEventListenerForAdd and createJSEventListenerForRemove.
Those new functions properly handle SVGElementInstance.
(GenerateImplementation): Don't pass the class name to GenerateAttributeEventListenerCall
or GenerateEventListenerCall any more.
(GenerateConstructorDefinition): Use JSString::toAtomicString instead of calling
JSString::value and then converting to AtomicString.

12:03 PM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
12:00 PM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
11:52 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
11:50 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
10:39 AM Changeset in webkit [178632] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: OS X EWS is now on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=140595

Reviewed by Csaba Osztrogonác.

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

(BubbleQueueServer):

9:07 AM Changeset in webkit [178631] by Brian Burg
  • 13 edits
    1 add in trunk/Source

Web Inspector: highlight data for overlay should use protocol type builders
https://bugs.webkit.org/show_bug.cgi?id=129441

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Add a new domain for overlay types.

  • CMakeLists.txt:
  • DerivedSources.make:
  • inspector/protocol/OverlayTypes.json: Added.

Source/WebCore:

As a first step towards cleaning up the inspector overlay, convert highlight
data construction to use protocol type builders. It's now really obvious what
data is being sent to the inspector overlay page.

This change paves the way towards using inspector protocol commands and events
if we want to support more interactive functionality in the inspector overlay.

This patch makes a few style cleanups, such as standardizing variable names,
using default member initializers, passing by reference, and fixing casts.

No new tests, no behavior changed.

  • WebCore.exp.in:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::getHighlight):
(WebCore::InspectorController::buildObjectForHighlightedNode):
(WebCore::InspectorController::inspect): Deleted.

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

(WebCore::buildRendererHighlight):
(WebCore::buildNodeHighlight):
(WebCore::buildQuadHighlight):
(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::getHighlight):
(WebCore::buildObjectForPoint):
(WebCore::buildObjectForRect):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::buildObjectForRegion):
(WebCore::buildObjectForFlowRegions):
(WebCore::buildObjectForSize):
(WebCore::buildQuadObjectForCSSRegionContentClip):
Simplify how the clipping area is encoded. It's now 'regionClippingArea'
stored on a FragmentHighlightData instance.

(WebCore::InspectorOverlay::updatePaintRectsTimerFired):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::buildArrayForRendererFragments):
(WebCore::appendPathCommandAndPoints):
(WebCore::appendPathSegment):
(WebCore::buildObjectForShapeOutside):
(WebCore::buildObjectForElementData):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::drawNodeHighlight):
(WebCore::InspectorOverlay::drawQuadHighlight):
(WebCore::InspectorOverlay::reset):
(WebCore::buildObjectForRegionHighlight): Deleted.
(WebCore::buildObjectForCSSRegionsHighlight): Deleted.
(WebCore::buildObjectForCSSRegionContentClip): Deleted.
(WebCore::buildObjectForRendererFragments): Deleted.
(WebCore::buildObjectForElementInfo): Deleted.

  • inspector/InspectorOverlay.h:

(WebCore::Highlight::Highlight):

  • inspector/InspectorOverlayPage.js:

(_createElementTitle):
(_drawElementTitle):
(_drawFragmentHighlight):
(drawNodeHighlight):

  • testing/Internals.cpp:

(WebCore::Internals::inspectorHighlightRects):
(WebCore::Internals::inspectorHighlightObject):

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Update symbol.

Jan 17, 2015:

5:41 PM Changeset in webkit [178630] by Chris Dumez
  • 9 edits
    3 copies
    1 add in trunk/Source/WebKit2

[WK2][iOS] Add Cocoa delegate for logging diagnostic messages
https://bugs.webkit.org/show_bug.cgi?id=140410

Reviewed by Sam Weinig.

Add Cocoa delegate for logging diagnostic messages.

  • UIProcess/API/APIDiagnosticLoggingClient.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h.

(API::DiagnosticLoggingClient::~DiagnosticLoggingClient):
(API::DiagnosticLoggingClient::logDiagnosticMessage):
(API::DiagnosticLoggingClient::logDiagnosticMessageWithResult):
(API::DiagnosticLoggingClient::logDiagnosticMessageWithValue):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageDiagnosticLoggingClient):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _diagnosticLoggingDelegate]):
(-[WKWebView _setDiagnosticLoggingDelegate:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h.
  • UIProcess/Cocoa/DiagnosticLoggingClient.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h.
  • UIProcess/Cocoa/DiagnosticLoggingClient.mm: Added.

(WebKit::DiagnosticLoggingClient::DiagnosticLoggingClient):
(WebKit::DiagnosticLoggingClient::delegate):
(WebKit::DiagnosticLoggingClient::setDelegate):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithValue):

  • UIProcess/WebPageDiagnosticLoggingClient.cpp:

(WebKit::WebPageDiagnosticLoggingClient::WebPageDiagnosticLoggingClient):

  • UIProcess/WebPageDiagnosticLoggingClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setDiagnosticLoggingClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::logDiagnosticMessage):
(WebKit::WebPageProxy::logDiagnosticMessageWithResult):
(WebKit::WebPageProxy::logDiagnosticMessageWithValue):
(WebKit::WebPageProxy::initializeDiagnosticLoggingClient): Deleted.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::diagnosticLoggingClient):

  • WebKit2.xcodeproj/project.pbxproj:
4:20 PM Changeset in webkit [178629] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

Crash in JSScope::resolve() on tools.ups.com
https://bugs.webkit.org/show_bug.cgi?id=140579

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

For op_resolve_scope of a global property or variable that needs to check for the var
injection check watchpoint, we need to keep the scope around with a Phantom. The
baseline JIT slowpath for op_resolve_scope needs the scope value if the watchpoint
fired.

  • dfg/DFGByteCodeParser.cpp:

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

LayoutTests:

New regression test.

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

(Test.this.isString):
(Test.this.test):
(Test):

2:51 PM Changeset in webkit [178628] by mmaxfield@apple.com
  • 5 edits in trunk/Source/WebCore

[SVG -> OTF Converter] Crashes when SVG font is invalid
https://bugs.webkit.org/show_bug.cgi?id=140378

Reviewed by Antti Koivisto.

Because CachedSVGFonts are cached, they have to be able to be used
in subsequent documents regardless how the first document left it.

Tests: fast/css/font-face-svg-decoding-error.html

svg/custom/svg-fonts-in-html.html
svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureCustomFontData):

  • loader/cache/CachedFont.h:
  • loader/cache/CachedSVGFont.cpp:

(WebCore::CachedSVGFont::getFontData):
(WebCore::CachedSVGFont::ensureCustomFontData):
(WebCore::CachedSVGFont::maybeInitializeExternalSVGFontElement):

  • loader/cache/CachedSVGFont.h:
9:18 AM Changeset in webkit [178627] by Chris Dumez
  • 6 edits in trunk

Converting time, angle and frequency units in CSS calc() function
https://bugs.webkit.org/show_bug.cgi?id=138356

Reviewed by Darin Adler.

Source/WebCore:

Update CSSPrimitiveValue::primitiveType() to actually query the
primitiveType of the CSSCalcValue instead of assuming a given
type based on its category (e.g. If category is CalcTime, then
assume type is CSS_MS, even though it would be CSS_S as well).

This would like to calculation errors such as:
calc(4s + 1s) -> 5ms

Because we would assume the unit is CSS_MS without actually
checking.

This patch is inspired by the following Blink revision
by <rhodovan.u-szeged@partner.samsung.com> and initial WebKit
patch from <tmeszaros.u-szeged@partner.samsung.com>:
https://src.chromium.org/viewvc/blink?view=rev&revision=179101

Test: fast/css/calc-with-angle-time-frequency.html

  • css/CSSCalculationValue.h:

(WebCore::CSSCalcValue::primitiveType):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::primitiveType):

LayoutTests:

Update fast/css/calc-with-angle-time-frequency.html to include more
test cases and actually validate the result of the calculation,
instead of merely setting the CSS property and being happy if we don't
crash.

  • fast/css/calc-with-angle-time-frequency-expected.txt:
  • fast/css/calc-with-angle-time-frequency.html:
8:54 AM Changeset in webkit [178626] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Generate shorthandForProperty() implementation from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140556

Reviewed by Darin Adler.

Generate shorthandForProperty() implementation from CSSPropertyNames.in.
This is just a big switch() statement calling the right
StylePropertyShorthand factory function for a given CSSPropertyID.

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty): Deleted.

  • css/StylePropertyShorthand.h:
  • css/makeprop.pl:
8:49 AM Changeset in webkit [178625] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r178618): Change to WKWebViewConfiguration broke iOS build
<https://bugs.webkit.org/show_bug.cgi?id=140559>

Blind fix to address the following build failure:

Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:79:7: error: interface type cannot be statically allocated

T m_value;


*

Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:94:55: note: in instantiation of template class 'LazyInitialized<WKWebViewContentProviderRegistry>' requested here

LazyInitialized<WKWebViewContentProviderRegistry> _contentProviderRegistry;


Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:53:21: error: assigning to 'WKWebViewContentProviderRegistry *' from incompatible type 'RetainPtr<WKWebViewContentProviderRegistry *>'

m_value = f();

~

Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:222:37: note: in instantiation of function template specialization 'LazyInitialized<WKWebViewContentProviderRegistry>::get<(lambda at Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:222:41)>' requested here

return _contentProviderRegistry.get([] { return adoptNS([[WKWebViewContentProviderRegistry alloc] init]); });


Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:57:24: error: property 'get' not found on object of type 'WKWebViewContentProviderRegistry *'

return m_value.get();


3 errors generated.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Change

_contentProviderRegistry to be a LazyInitialized<RetainPtr<>> to
match other instance variables.

8:08 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
7:55 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
2:48 AM Changeset in webkit [178624] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Attempt to fix webkitpy tests on Mountain Lion, Mavericks bots

  • Scripts/webkitpy/port/ios.py:

(IOSPort): Add 'ios-device-7' to VERSION_FALLBACK_ORDER so that
test-webkitpy doesn't fail since iOS 7.x SDKs are installed on
the Mountain Lion and Mavericks bots.

2:08 AM Changeset in webkit [178623] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Attempt to fix webkitpy tests on GTK Linux ports

  • Scripts/webkitpy/port/ios.py:

(IOSPort.determine_full_port_name): Set a sensible default if
not running on a Mac platform or if no iOS SDK is installed.

12:42 AM Changeset in webkit [178622] by ddkilzer@apple.com
  • 14 edits in trunk/Tools

Create iOS-EWS client queue
https://bugs.webkit.org/show_bug.cgi?id=140476

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2015-01-17
Reviewed by Alexey Proskuryakov.

  • EWSTools/start-queue-mac.sh:

Adds call to configure-xcode-for-ios-development for iOS EWS.

  • Scripts/webkitpy/common/config/ews.json:

Adds the iOS EWS config entry.

  • Scripts/webkitpy/common/config/ports.py:

(DeprecatedPort.port):
Adds IOSPort to the port map.
(IOSPort):
(IOSPort.build_webkit_command):
Adds --sdk=iphoneos to the webkit build command.

  • Scripts/webkitpy/port/base.py:

(Port.architecture):
Adds an accessor for the architecture member variable.

  • Scripts/webkitpy/port/factory.py:

(PortFactory):
Adds IOSPort to the port class list.

  • Scripts/webkitpy/port/ios.py:

Adds the IOSPort to encapsulate iOS-specific things.
(IOSPort):
(IOSPort.determine_full_port_name):
(IOSPort.init):
(IOSPort._build_driver_flags):
(IOSPort.operating_system):

  • Scripts/webkitpy/tool/commands/download_unittest.py:

Adds the archetecture option to the mock options.
(DownloadCommandsTest._default_options):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

Appends the archetecture option into calls to webkit-patch.
(AbstractEarlyWarningSystem.review_patch):
(AbstractEarlyWarningSystem.run_command):
(AbstractEarlyWarningSystem.load_ews_classes):

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

Adds logic to soothe the unittest now that --architecture is being
thrown around everywhere.
(EarlyWarningSystemTest._default_expected_logs):

  • Scripts/webkitpy/tool/commands/queues.py:

Adds glue code to ferry the --architecture option around.
(AbstractQueue.init):
(PatchProcessingQueue.begin_work_queue):

  • Scripts/webkitpy/tool/steps/abstractstep.py:

Adds the archetecture option to all AbstractSteps so that
EarlyWarningSystem doesn't start shoving --architecture into
unsuspecting commands.
(AbstractStep.options):

  • Scripts/webkitpy/tool/steps/build.py:

Translates the --architecture option into an ARCHS= format to pass to
build-webkit.
(Build.build):

  • Scripts/webkitpy/tool/steps/options.py:

Adds a definition for the --architecture option.
(Options):

Jan 16, 2015:

6:53 PM Changeset in webkit [178621] by ggaren@apple.com
  • 12 edits
    1 delete in trunk/Source/bmalloc

bmalloc: refactored XLarge allocation for better alignment
https://bugs.webkit.org/show_bug.cgi?id=140582

Reviewed by Andreas Kling.

XLarge objects used to be Large objects with an extra bit of metadata
that said "actually, I'm not large -- I'm extra large".

The metadata header in an XLarge allocation made it impossible for the
XLarge object to honor a very large alignment request.

The solution is to stop using a metadata header for XLarge objects, and
instead to store explicit metadata on the side.

This is a bit less astonishing, which is also nice.

Finding XLarge metadata is now a linear search. That's probably OK, since
it was always so in TCMalloc, and the usual number of XLarge allocations
in a process is 0.

This design makes it possible for the heap to cache XLarge allocations
with and/or without physical pages. I haven't actually done that yet
because the tradeoffs are subtle, so I don't want to do anything without
a motivating test case.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::reallocate): Removed the concept of an XLargeChunk,
since an XLarge allocation is now just a naked buffer without a header.

(bmalloc::Allocator::allocateXLarge): Added an explicit qualifier for
XLarge alignment, since XLargeChunk won't give this to us implicitly
anymore.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::setRange):
(bmalloc::BoundaryTag::isXLarge): Deleted.
(bmalloc::BoundaryTag::setXLarge): Deleted.

  • bmalloc/BoundaryTagInlines.h:

(bmalloc::validate):
(bmalloc::BoundaryTag::deallocate): Removed the XLarge hacks from Large allocations.

  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::deallocateXLarge):
(bmalloc::Deallocator::deallocateSlowCase):

  • bmalloc/Heap.cpp:

(bmalloc::Heap::findXLarge):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::deallocateXLarge):

  • bmalloc/Heap.h: Updated for interface changes.
  • bmalloc/ObjectType.cpp:

(bmalloc::objectType):

  • bmalloc/ObjectType.h:

(bmalloc::isXLarge): We can now tell if a pointer is XLarge just by
examining its bit pattern -- just like we do for other kinds of
allocations -- which is nice.

  • bmalloc/Sizes.h:
  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::allocateXLarge):
(bmalloc::VMHeap::findXLarge):
(bmalloc::VMHeap::deallocateXLarge): Keep an explicit vector of metadata
for XLarge allocations.

  • bmalloc/XLargeChunk.h: Removed.
6:26 PM Changeset in webkit [178620] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Make message selection in the console more readable
https://bugs.webkit.org/show_bug.cgi?id=140385

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-01-16
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.css:

(.console-item.selected):
(.console-messages:focus .console-item.selected):
(.console-item.selected .console-message::after):
(.console-messages:focus .console-item.selected .console-message::after):
(.console-messages:focus .console-item.selected .go-to-link):

  • UserInterface/Views/Main.css:

(.go-to-link):
!important statements seem to be unnecessary, remove them.

6:12 PM Changeset in webkit [178619] by dbates@webkit.org
  • 121 edits in trunk/LayoutTests

Update some expected results for iOS

  • platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/ios-simulator-wk2/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/ios-simulator/TestExpectations:

[...]

6:07 PM Changeset in webkit [178618] by weinig@apple.com
  • 19 edits
    10 adds in trunk

Add a basic configuration object for WKView
https://bugs.webkit.org/show_bug.cgi?id=140559

Reviewed by Anders Carlsson.

Source/WebKit2:

  • Adds WKPageConfigurationRef (backed by API::PageConfiguration). WKWebView configuration is not yet bridged to this, but that will happen soon. For now, it has a few basic configuration options.
  • Adds WKUserContentControllerRef as C-SPI version of WKUserContentController.
  • Adds WKUserScriptRef as C-SPI version of WKUserScript.
  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toWKUserScriptInjectionTime):

  • UIProcess/API/APIPageConfiguration.cpp: Added.

(API::PageConfiguration::PageConfiguration):
(API::PageConfiguration::~PageConfiguration):
(API::PageConfiguration::processPool):
(API::PageConfiguration::setProcessPool):
(API::PageConfiguration::userContentController):
(API::PageConfiguration::setUserContentController):
(API::PageConfiguration::pageGroup):
(API::PageConfiguration::setPageGroup):
(API::PageConfiguration::preferences):
(API::PageConfiguration::setPreferences):
(API::PageConfiguration::relatedPage):
(API::PageConfiguration::setRelatedPage):
(API::PageConfiguration::webPageConfiguration):

  • UIProcess/API/APIPageConfiguration.h: Added.

(API::PageConfiguration::create):

  • UIProcess/API/APIUserScript.cpp: Added.

(API::generateIdentifier):
(API::UserScript::generateUniqueURL):

  • UIProcess/API/APIUserScript.h:
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKPageConfigurationRef.cpp: Added.

(WKPageConfigurationGetTypeID):
(WKPageConfigurationCreate):
(WKPageConfigurationGetContext):
(WKPageConfigurationSetContext):
(WKPageConfigurationGetPageGroup):
(WKPageConfigurationSetPageGroup):
(WKPageConfigurationGetUserContentController):
(WKPageConfigurationSetUserContentController):
(WKPageConfigurationGetPreferences):
(WKPageConfigurationSetPreferences):
(WKPageConfigurationGetRelatedPage):
(WKPageConfigurationSetRelatedPage):

  • UIProcess/API/C/WKPageConfigurationRef.h: Added.
  • UIProcess/API/C/WKUserContentControllerRef.cpp: Added.

(WKUserContentControllerGetTypeID):
(WKUserContentControllerCreate):
(WKUserContentControllerCopyUserScripts):
(WKUserContentControllerAddUserScript):
(WKUserContentControllerRemoveAllUserScripts):

  • UIProcess/API/C/WKUserContentControllerRef.h: Added.
  • UIProcess/API/C/WKUserScriptRef.cpp: Added.

(WKUserScriptGetTypeID):
(WKUserScriptCreateWithSource):
(WKUserScriptCopySource):
(WKUserScriptGetInjectionTime):
(WKUserScriptGetMainFrameOnly):

  • UIProcess/API/C/WKUserScriptRef.h: Added.
  • UIProcess/API/C/WebKit2_C.h:
  • UIProcess/API/Cocoa/WKUserScript.mm:

(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
(generateIdentifier): Deleted.

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

(LazyInitialized::get):
(LazyInitialized::set):
(LazyInitialized::peek):

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:configurationRef:]):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:

(WebKit::WebUserContentControllerProxy::create):

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

Add tests for WKPageConfigurationRef.

  • TestWebKitAPI/PlatformWebView.h:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/WKPageConfiguration.cpp: Added.

(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/mac/PlatformWebViewMac.mm:

(TestWebKitAPI::PlatformWebView::initialize):
(TestWebKitAPI::PlatformWebView::PlatformWebView):

5:49 PM Changeset in webkit [178617] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Mac] Correct infinite loop in Wheel Handler code in EventHandlerMac
https://bugs.webkit.org/show_bug.cgi?id=140564
<rdar://problem/19386426.

Reviewed by Dean Jackson.

  • page/mac/EventHandlerMac.mm:

(WebCore::latchingIsLockedToAncestorOfThisFrame): Put missing assignment
back into the loop!

5:15 PM Changeset in webkit [178616] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.2

New tag.

4:39 PM Changeset in webkit [178615] by mmaxfield@apple.com
  • 6 edits
    1 add in trunk

WeakPtr functions crash when created with default constructor
https://bugs.webkit.org/show_bug.cgi?id=140479

Reviewed by Andreas Kling.

Source/WTF:

This patch rearranges how WeakPtr works, and has the following ideas behind it:

  1. WeakPtr should use Ref internally. This solves the crash by always having a

valid WeakReference.

  1. Clients should not be able to construct WeakReferences directly. Instead,

only WeakPtrFactory (and WeakPtr's default constructor) should be able to
construct them. They are considered an implementation detail of WeakPtr.

  1. Except for the default constructor, clients should not be able to construct

WeakPtrs directly. Instead, the WeakPtrFactory must construct them. This
guarantees that the WeakPtrs all reference the same WeakReference.

  1. Clients can construct a WeakPtr using its default constructor, and then

use the assignment operator to make it non-null. (Or they could use
WeakPtrFactory to make it non-null at creation-time.)

  1. No one was using WeakReference::bindTo(), and it doesn't seem useful, so I

removed it.

Tests: WTF_WeakPtr API tests

  • wtf/Ref.h:

(WTF::Ref::Ref): Added extra ASSERT()s, and explicitly deleted copy
constructors with a comment.
(WTF::Ref::operator=): Added extra ASSERT()s, and explicitly deleted copy
assignment operators with a comment.

  • wtf/WeakPtr.h:

(WTF::WeakReference::clear): Used nullptr.
(WTF::WeakReference::create): Moved to private:
(WTF::WeakPtr::WeakPtr): For the default constructor, initialized the Ref with
a new WeakReference. For the other constructor, moved it to private:. Also added
copy constructors and copy assignment operators (since Ref doesn't have them but
RefPtr does). These constructors/operators are relied upon in various places
throughout WebCore.
(WTF::WeakPtr::operator bool): Made non-explicit.
(WTF::WeakReference::createUnbound): Deleted.
(WTF::WeakReference::bindTo): Deleted.
(WTF::WeakReference::WeakReference): Deleted.
(WTF::WeakPtrFactory::WeakPtrFactory): Deleted.

Tools:

Add WeakPtr API tests.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Added.
  • TestWebKitAPI/Tests/WTF/Ref.cpp: Update to not use copy constructor.
4:37 PM Changeset in webkit [178614] by msaboff@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION(178591): js/slow-stress/call-spread.html & js/slow-stress/new-spread.html
https://bugs.webkit.org/show_bug.cgi?id=140574

Rubber stamped by Oliver Hunt.

Changed the loop counts in the test to lower values to speed up the tests.

  • js/slow-stress/script-tests/call-spread.js:

(test2):
(test3):

  • js/slow-stress/script-tests/new-spread.js:

(test2):
(test3):

4:35 PM Changeset in webkit [178613] by Alan Bujtas
  • 5 edits
    2 adds in trunk

When border-radius is present, inset/outset/groove/ridge border color changes.
https://bugs.webkit.org/show_bug.cgi?id=140551

Reviewed by Simon Fraser.

This patch applies the same color lighten/darken adjustment on the radius borders
that we use for non-radius border.

Source/WebCore:

Test: fast/borders/wrong-border-color-when-radius-is-present.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::drawBoxSideFromPath):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::calculateBorderStyleColor):

  • rendering/RenderObject.h:

LayoutTests:

  • fast/borders/wrong-border-color-when-radius-is-present-expected.html: Added.
  • fast/borders/wrong-border-color-when-radius-is-present.html: Added.
4:12 PM Changeset in webkit [178612] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Web pages fail to load using public iOS WebKit; ASSERT(!isMainThread()) in
-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]
https://bugs.webkit.org/show_bug.cgi?id=140470

Patch by Pratik Solanki <psolanki@apple.com> on 2015-01-16
Reviewed by Alexey Proskuryakov.

Fixes an issue where a web page would fail to load in iOS WebKit2 built with the public iOS SDK
because NSURLConnection callbacks were always being scheduled on the main thread.

Currently we always schedule NSURLConnection callbacks to occur on the WebThread or the main
thread depending on whether the WebThread was started. In iOS WebKit2, the callbacks were
always being scheduled on the main thread regardless of whether we were using the NetworkProcess
(since the WebThread is only started when using WebKit1). This led to an assertion failure.
Instead we want to schedule callbacks to an NSOperationsQueue queue when using WebKit2 with the
NetworkProcess (i.e. ResourceHandleClient::usesAsyncCallbacks() is true), on the main thread when
using WebKit2 without the NetworkProcess and on the WebThread when using WebKit1.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::operationQueueForAsyncClients): Remove PLATFORM(IOS)-guards as we want to make use
of this code for iOS WebKit2 with the NetworkProcess.
(WebCore::ResourceHandle::start): Modified to use the existing Mac code path to conditionally
schedule NSURLConnection callbacks to an operation queue when ResourceHandleClient::usesAsyncCallbacks()
is true. Otherwise, schedule the callbacks on the run loop returned by WebThreadNSRunLoop(),
which is either the WebThread or the main thread run loop when using WebKit1 and WebKit2 without
the NetworkProcess, respectively.

4:10 PM Changeset in webkit [178611] by ggaren@apple.com
  • 5 edits
    2 adds in trunk/PerformanceTests

bmalloc: added the tiniest bit of testing for aligned allocation
https://bugs.webkit.org/show_bug.cgi?id=140573

Reviewed by Andreas Kling.

Just good enoug to catch two bugs in a preliminary implementation.

  • MallocBench/MallocBench.xcodeproj/project.pbxproj:
  • MallocBench/MallocBench/Benchmark.cpp:
  • MallocBench/MallocBench/mbmalloc.cpp:
  • MallocBench/MallocBench/mbmalloc.h:
  • MallocBench/MallocBench/memalign.cpp: Added.

(benchmark_memalign):

  • MallocBench/MallocBench/memalign.h: Added.
4:10 PM Changeset in webkit [178610] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused WebInspector.LocalJSONObject
https://bugs.webkit.org/show_bug.cgi?id=140570

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-16
Reviewed by Timothy Hatcher.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.fromLocalObject): Deleted.
(WebInspector.LocalJSONObject): Deleted.
(WebInspector.LocalJSONObject.prototype.get description.switch.case.string_appeared_here): Deleted.
(WebInspector.LocalJSONObject.prototype.get description.switch.default): Deleted.
(WebInspector.LocalJSONObject.prototype.get description): Deleted.
(WebInspector.LocalJSONObject.prototype._concatenate): Deleted.
(WebInspector.LocalJSONObject.prototype.get type): Deleted.
(WebInspector.LocalJSONObject.prototype.get subtype): Deleted.
(WebInspector.LocalJSONObject.prototype.get hasChildren): Deleted.
(WebInspector.LocalJSONObject.prototype.getOwnProperties): Deleted.
(WebInspector.LocalJSONObject.prototype.getAllProperties): Deleted.
(WebInspector.LocalJSONObject.prototype._children.buildProperty): Deleted.
(WebInspector.LocalJSONObject.prototype._children): Deleted.
(WebInspector.LocalJSONObject.prototype.isError): Deleted.

4:01 PM Changeset in webkit [178609] by ggaren@apple.com
  • 8 edits in trunk/Source/bmalloc

bmalloc: added some infrastructure for aligned allocation
https://bugs.webkit.org/show_bug.cgi?id=140572

Reviewed by Andreas Kling.

  • bmalloc/Algorithm.h:

(bmalloc::isPowerOfTwo):
(bmalloc::roundUpToMultipleOf):
(bmalloc::roundDownToMultipleOf): Refactored some duplicate code to use our
isPowerOfTwo helper function.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::allocate):

  • bmalloc/Allocator.h: Stubbed out an implementation of aligned allocation.

Doesn't do anything yet, but does correctly forward to system malloc
when bmalloc is disabled.

  • bmalloc/Cache.cpp:

(bmalloc::Cache::allocateSlowCaseNullCache):

  • bmalloc/Cache.h:

(bmalloc::Cache::allocate):

  • bmalloc/bmalloc.h:

(bmalloc::api::memalign):

  • bmalloc/mbmalloc.cpp: Stubbed out an API for aligned allocation.
3:41 PM Changeset in webkit [178608] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Pass the connection along to WebProcessLifetimeTracker
https://bugs.webkit.org/show_bug.cgi?id=140569

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionDidClose):

  • UIProcess/WebProcessLifetimeTracker.cpp:

(WebKit::WebProcessLifetimeTracker::connectionWillOpen):
(WebKit::WebProcessLifetimeTracker::connectionDidClose):
(WebKit::WebProcessLifetimeTracker::connectionWillClose): Deleted.

  • UIProcess/WebProcessLifetimeTracker.h:
3:32 PM Changeset in webkit [178607] by Chris Dumez
  • 2 edits in trunk/Tools

Regression(r178586): Caused webkitpy.w3c.test_converter_unittest.W3CTestConverterTest.test_convert_prefixed_properties to fail
https://bugs.webkit.org/show_bug.cgi?id=140568

Reviewed by Alexey Proskuryakov.

Fix the script parsing CSSPropertyNames.in to stop splitting lines
on '=' sign. The '=' sign is also used in StyleBuilder parameters:
e.g. "Longhands=background-position-x|background-position-y".
This would confuse the script and treat this as a CSS property:
"background-position-x|background-position-y".

We now split on white space and treat the first string on the line
to be the property name (this is the syntax in this file).

  • Scripts/webkitpy/w3c/test_converter.py:

(_W3CTestConverter.init):
(_W3CTestConverter.read_webkit_prefixed_css_property_list):

3:17 PM Changeset in webkit [178606] by Brian Burg
  • 16 edits in trunk/Source/JavaScriptCore

Web Inspector: code generator should introduce typedefs for protocol types that are arrays
https://bugs.webkit.org/show_bug.cgi?id=140557

Reviewed by Joseph Pecoraro.

Currently, there is no generated type name for "array" type declarations such as Console.CallStack.
This makes it longwinded and confusing to use the type in C++ code.

This patch adds a typedef for array type declarations, so types such as Console::CallStack
can be referred to directly, rather than using Inspector::Protocol::Array<Console::CallFrame>.

Some tests were updated to cover array type declarations used as parameters and type members.

  • inspector/ScriptCallStack.cpp: Use the new typedef.

(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_protocol_type_for_type): If an ArrayType is nominal, use the typedef'd name instead.

  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:

(_generate_typedefs_for_domain): Also generate typedefs for array type declarations.
(_generate_typedefs_for_domain.Inspector):

  • inspector/scripts/codegen/models.py: Save the name of an ArrayType when it is a type declaration.

(ArrayType.init):
(Protocol.resolve_types):
(Protocol.lookup_type_reference):

  • inspector/scripts/tests/commands-with-async-attribute.json:
  • inspector/scripts/tests/commands-with-optional-call-return-parameters.json:
  • inspector/scripts/tests/events-with-optional-parameters.json:
  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • inspector/scripts/tests/type-declaration-object-type.json:
2:51 PM Changeset in webkit [178605] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Make sure early cancellation of immediate action actually does that in WK1
https://bugs.webkit.org/show_bug.cgi?id=140566
-and corresponding-
rdar://problem/19490114

Reviewed by Tim Horton.

Work around an AppKit bug by dispatching the call to _cancelImmediateAction
asynchronously.

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):

2:22 PM Changeset in webkit [178604] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

More WebPageProxy CTTE
https://bugs.webkit.org/show_bug.cgi?id=140565

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionDidClose):
(WebKit::WebPageProxy::connectionWillClose): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionDidClose):

2:13 PM Changeset in webkit [178603] by Brian Burg
  • 21 edits in trunk/Source

Web Replay: purge remaining PassRefPtr uses and minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=140456

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Get rid of PassRefPtr. Introduce default initializers where it makes sense.
Remove mistaken uses of AtomicString that were not removed as part of r174113.

  • replay/EmptyInputCursor.h:
  • replay/InputCursor.h:

(JSC::InputCursor::InputCursor):

Source/WebCore:

Get rid of PassRefPtr. Introduce default initializers where it makes sense. Change
uses of ASSERT to ASSERT_ARG when the assert is a precondition on an argument.

Remove mistaken uses of AtomicString that were not removed as part of r174113.

No new tests, no behavior changed.

  • inspector/InspectorReplayAgent.cpp:

(WebCore::SerializeInputToJSONFunctor::operator()):
(WebCore::SerializeInputToJSONFunctor::returnValue):
(WebCore::InspectorReplayAgent::sessionCreated):
(WebCore::InspectorReplayAgent::sessionModified):
(WebCore::InspectorReplayAgent::sessionLoaded):
(WebCore::InspectorReplayAgent::segmentCreated):
(WebCore::InspectorReplayAgent::segmentCompleted):
(WebCore::InspectorReplayAgent::segmentLoaded):
(WebCore::InspectorReplayAgent::switchSession):
(WebCore::InspectorReplayAgent::insertSessionSegment):
(WebCore::InspectorReplayAgent::removeSessionSegment):
(WebCore::InspectorReplayAgent::findSession):
(WebCore::InspectorReplayAgent::findSegment):

  • inspector/InspectorReplayAgent.h:
  • replay/CapturingInputCursor.cpp:

(WebCore::CapturingInputCursor::CapturingInputCursor):
(WebCore::CapturingInputCursor::create):
(WebCore::CapturingInputCursor::loadInput):

  • replay/CapturingInputCursor.h:
  • replay/EventLoopInputDispatcher.cpp:

(WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher):

  • replay/EventLoopInputDispatcher.h:
  • replay/FunctorInputCursor.h:

(WebCore::FunctorInputCursor::FunctorInputCursor):
(WebCore::FunctorInputCursor::loadInput):

  • replay/ReplayController.cpp:

(WebCore::ReplayController::ReplayController):
(WebCore::ReplayController::setForceDeterministicSettings):
(WebCore::ReplayController::setSessionState):
(WebCore::ReplayController::setSegmentState):
(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):
(WebCore::ReplayController::unloadSegment):
(WebCore::ReplayController::frameNavigated):
(WebCore::ReplayController::loadedSession):
(WebCore::ReplayController::loadedSegment):
(WebCore::ReplayController::activeInputCursor):
(WebCore::ReplayController::dispatcher):

  • replay/ReplayController.h:
  • replay/ReplaySession.cpp:

(WebCore::ReplaySession::create):
(WebCore::ReplaySession::at):
(WebCore::ReplaySession::appendSegment):
(WebCore::ReplaySession::insertSegment):
(WebCore::ReplaySession::removeSegment):

  • replay/ReplaySession.h:
  • replay/ReplaySessionSegment.cpp:

(WebCore::ReplaySessionSegment::create):
(WebCore::ReplaySessionSegment::ReplaySessionSegment):

  • replay/ReplaySessionSegment.h:
  • replay/ReplayingInputCursor.cpp:

(WebCore::ReplayingInputCursor::ReplayingInputCursor):
(WebCore::ReplayingInputCursor::create):
(WebCore::ReplayingInputCursor::loadInput):

  • replay/ReplayingInputCursor.h:
  • replay/SegmentedInputStorage.cpp:

(WebCore::SegmentedInputStorage::store):
(WebCore::SegmentedInputStorage::queue):
(WebCore::SegmentedInputStorage::SegmentedInputStorage): Deleted.

  • replay/SegmentedInputStorage.h:
2:05 PM Changeset in webkit [178602] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Remove dead code
https://bugs.webkit.org/show_bug.cgi?id=140563

Reviewed by Geoffrey Garen.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processWillOpenConnection): Deleted.
(WebKit::WebProcessPool::processWillCloseConnection): Deleted.

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionDidClose):

1:58 PM Changeset in webkit [178601] by dbates@webkit.org
  • 2 edits in trunk/Tools

REGRESSION (r171968): run-safari --simulator fails to launch Safari on iOS
https://bugs.webkit.org/show_bug.cgi?id=135589

Reviewed by David Kilzer.

Derived from a patch by David Farler.

Following the removal IPhoneSimulatorNotification.pm in <http://trac.webkit.org/changeset/171968>
run-safari --simulator fails to launch Safari on iOS. We need to implement run-safari
in terms of the simctl command line utility.

  • Scripts/webkitdirs.pm: Added constant SIMULATOR_DEVICE_STATE_BOOTED.

(eraseIOSSimulatorDevice): Added.
(bootedIOSSimulatorDevice): Added.
(iosSimulatorApplicationsPath): Added.
(installedMobileSafariBundle): Implemented in terms of iosSimulatorApplicationsPath().
(openIOSSimulator): Modified to launch iOS Simulator using OPEN(1).
(quitIOSSimulator): Added.
(iosSimulatorDeviceByName): Modified to find the first simulator device that matches
the specified name and currently selected iOS runtime.
(isIOSSimulatorSystemInstalledApp): Added.
(runIOSWebKitAppInSimulator): Modified to use simctl launch to launch an app in the simulator.
(deleteiOSSimulatorDevice): Deleted.
(loadIPhoneSimulatorNotificationIfNeeded): Deleted.
(installAndLaunchIOSWebKitAppInSimulator): Deleted.

1:42 PM Changeset in webkit [178600] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Remove assertion that Page::m_editorClient is non-null.

Unreviewed debug build fix. (It's a reference, it won't be null.)

  • page/Page.cpp:

(WebCore::Page::Page):

1:40 PM Changeset in webkit [178599] by Brian Burg
  • 2 edits
    8 adds in trunk/Source/JavaScriptCore

Web Inspector: code generator should fail on duplicate parameter and member names
https://bugs.webkit.org/show_bug.cgi?id=140555

Reviewed by Timothy Hatcher.

  • inspector/scripts/codegen/models.py:

(find_duplicates): Add a helper function to find duplicates in a list.
(Protocol.parse_type_declaration):
(Protocol.parse_command):
(Protocol.parse_event):

  • inspector/scripts/tests/expected/fail-on-duplicate-command-call-parameter-names.json-error: Added.
  • inspector/scripts/tests/expected/fail-on-duplicate-command-return-parameter-names.json-error: Added.
  • inspector/scripts/tests/expected/fail-on-duplicate-event-parameter-names.json-error: Added.
  • inspector/scripts/tests/expected/fail-on-duplicate-type-member-names.json-error: Added.
  • inspector/scripts/tests/fail-on-duplicate-command-call-parameter-names.json: Added.
  • inspector/scripts/tests/fail-on-duplicate-command-return-parameter-names.json: Added.
  • inspector/scripts/tests/fail-on-duplicate-event-parameter-names.json: Added.
  • inspector/scripts/tests/fail-on-duplicate-type-member-names.json: Added.
1:37 PM Changeset in webkit [178598] by andersca@apple.com
  • 11 edits in trunk/Source/WebKit2

Sprinkle some CTTE in ChildProcessProxy member functions
https://bugs.webkit.org/show_bug.cgi?id=140562

Reviewed by Andreas Kling.

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::didFinishLaunching):
(WebKit::ChildProcessProxy::clearConnection):
(WebKit::ChildProcessProxy::connectionWillOpen):
(WebKit::ChildProcessProxy::connectionDidClose):
(WebKit::ChildProcessProxy::connectionWillClose): Deleted.

  • Shared/ChildProcessProxy.h:
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::connectionWillOpen): Deleted.
(WebKit::DatabaseProcessProxy::connectionWillClose): Deleted.

  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::connectionWillOpen):
(WebKit::NetworkProcessProxy::connectionWillClose): Deleted.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionDidClose):
(WebKit::WebProcessProxy::connectionWillClose): Deleted.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/mac/SecItemShimProxy.cpp:

(WebKit::SecItemShimProxy::initializeConnection):

  • UIProcess/mac/SecItemShimProxy.h:
1:33 PM Changeset in webkit [178597] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Page::editorClient() should return a reference.
<https://webkit.org/b/140552>

Reviewed by Chris Dumez.

Page always has an EditorClient, so make editorClient() return a reference.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::editorClient):
(WebCore::AlternativeTextController::textChecker):

  • editing/Editor.cpp:

(WebCore::Editor::client):

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::client):

  • page/FocusController.cpp:

(WebCore::FocusController::setFocusedElement):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::clearUndoRedoOperations):

  • page/Page.h:

(WebCore::Page::editorClient):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

1:25 PM Changeset in webkit [178596] by alex.christensen@flexsim.com
  • 4 edits in trunk/Tools

Resurrect the WinCairo bot.
https://bugs.webkit.org/show_bug.cgi?id=139908

Patch by Alex Christensen <alex.christensen@flexsim.com> on 2015-01-16
Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(appendCustomBuildFlags):

  • BuildSlaveSupport/test-result-archive:

(archiveTestResults):
Add WinCairo buildbot.

1:11 PM Changeset in webkit [178595] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Should cancel immediate action sooner in WK2
https://bugs.webkit.org/show_bug.cgi?id=140561
-and corresponding-
rdar://problem/19490114

Reviewed by Tim Horton.

_cancelImmediateActionIfNeeded will cancel the immediate action if there is no
animation controller or if the DDActionContext doesn’t want to use its actions.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _cancelImmediateActionIfNeeded]):

Call _cancelImmediateActionIfNeeded to cancel earlier.
(-[WKImmediateActionController didPerformActionMenuHitTest:userData:]):

Re-factor this code to use the newly-added method _cancelImmediateActionIfNeeded
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):

1:04 PM Changeset in webkit [178594] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't try to send SetSession messages before the web page has been constructed in the web process
https://bugs.webkit.org/show_bug.cgi?id=140558

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
We already send the session ID along in the page creation parameters so just message the network process
if we need to create an ephemeral session.

(WebKit::WebPageProxy::setSessionID):
Add an isValid call for good measure.

1:01 PM Changeset in webkit [178593] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

Make URL filters case-insensitive by default
https://bugs.webkit.org/show_bug.cgi?id=140531

Reviewed by Andreas Kling.

Safari's filters were case-insensitive. Adopt that convention in the engine,
and add a flag in case someone ever need a case-sensitive filter.

  • contentextensions/ContentExtensionRule.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):

  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::loadTrigger):

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::trivialAtomFromASCIICharacter):
(WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
(WebCore::ContentExtensions::GraphBuilder::generateTransition):
(WebCore::ContentExtensions::URLFilterParser::addPattern):

  • contentextensions/URLFilterParser.h:
12:57 PM Changeset in webkit [178592] by benjamin@webkit.org
  • 11 edits
    10 adds in trunk

Add the alternative syntax for CSS Selector's descendant combinator (">>")
https://bugs.webkit.org/show_bug.cgi?id=140525

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-16
Reviewed by Antti Koivisto.

Source/WebCore:

The latest Selector spec introduces the combinator ">>" as an alias for the descendant
relation: http://dev.w3.org/csswg/selectors-4/#descendant-combinators

This patch implements that combinator as an alias of the existing one. For CSSOM's selector
serialization, I use one bit of CSSSelector to store if that alternative syntax was used.

Tests: fast/css/descendant-combinator-doubled-child-syntax-styling.html

fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html
fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html
fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html
fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html

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

(WebCore::CSSParserSelector::appendTagHistory):

  • css/CSSParserValues.h:

(WebCore::CSSParserSelector::setDescendantUseDoubleChildSyntax):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:

(WebCore::CSSSelector::setDescendantUseDoubleChildSyntax):
(WebCore::CSSSelector::CSSSelector):

LayoutTests:

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/css/descendant-combinator-doubled-child-syntax-styling-expected.html: Added.
  • fast/css/descendant-combinator-doubled-child-syntax-styling.html: Added.
  • fast/css/parsing-css-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html: Added.
  • fast/selectors/element-closest-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html: Added.
  • fast/selectors/element-matches-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html: Added.
  • fast/selectors/querySelector-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html: Added.
12:40 PM Changeset in webkit [178591] by msaboff@apple.com
  • 10 edits
    3 adds in trunk

REGRESSION (r174226): Header on huffingtonpost.com is too large
https://bugs.webkit.org/show_bug.cgi?id=140306

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

BytecodeGenerator::willResolveToArguments() is used to check to see if we can use the
arguments register or whether we need to resolve "arguments". If the arguments have
been captured, then they are stored in the lexical environment and the arguments
register is not used.

Changed BytecodeGenerator::willResolveToArguments() to also check to see if the arguments
register is captured. Renamed the function to willResolveToArgumentsRegister() to
better indicate what we are checking.

Aligned 32 and 64 bit paths in ArgumentsRecoveryGenerator::generateFor() for creating
an arguments object that was optimized out of an inlined callFrame. The 32 bit path
incorrectly calculated the location of the reified callee frame. This alignment resulted
in the removal of operationCreateInlinedArgumentsDuringOSRExit()

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::willResolveToArgumentsRegister):
(JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::willResolveToArguments): Deleted.

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

(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::getArgumentByVal):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::ArgumentsRecoveryGenerator::generateFor):

  • dfg/DFGOperations.cpp:

(JSC::operationCreateInlinedArgumentsDuringOSRExit): Deleted.

  • dfg/DFGOperations.h:

(JSC::operationCreateInlinedArgumentsDuringOSRExit): Deleted.

LayoutTests:

Updated js/arguments-iterator to test changing argument to array values.
Removed tests that changed arguments to a string and an object as they were
bogus and didn't test what the appeared to test.
for .. of works on iterable objects only.

Added new regression test, js/regress-140306.

  • js/arguments-iterator-expected.txt:
  • js/regress-140306-expected.txt: Added.
  • js/regress-140306.html: Added.
  • js/script-tests/arguments-iterator.js:

(testEmptyArrayArguments):
(testArrayArguments):
(testOverwrittenArguments): Deleted.
(testNullArguments): Deleted.
(testNonArrayLikeArguments): Deleted.

  • js/script-tests/regress-140306.js: Added.

(checkArgs):
(applyToArgs):

12:22 PM Changeset in webkit [178590] by Brent Fulgham
  • 5 edits in branches/safari-600.5-branch/Source/WebCore

Merge r174295. rdar://problem/19501151

2014-09-09 Roger Fong <roger_fong@apple.com>

Unreviewed build fix for Windows.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
12:06 PM Changeset in webkit [178589] by Chris Dumez
  • 3 edits in trunk/Tools

webkit-patch should auto-install the keyring python module
https://bugs.webkit.org/show_bug.cgi?id=140547

Reviewed by David Kilzer.

Auto-install the keyring python module. This is the module that
webkit-patch uses for cross-platform access to the keyring
service.

Without this module, if the password if not in the keychain,
webkit-patch will keep asking for your username / password and
never remember them.

  • Scripts/webkitpy/common/net/credentials.py:
  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_keyring):

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

[mac] Fix test expectations after r178310.
https://bugs.webkit.org/show_bug.cgi?id=140503

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-01-16
Reviewed by Alexey Proskuryakov.

Remove references to removed tests.

  • platform/mac-wk2/TestExpectations: removed reference to storage/indexeddb/basics-shared-workers.html removed reference to js/dom/global-constructors-attributes-shared-worker.html
  • platform/mac/TestExpectations: removed reference to fast/workers/shared-worker-storagequota-query-usage.html
12:01 PM Changeset in webkit [178587] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Log unhandled messages in the web process
https://bugs.webkit.org/show_bug.cgi?id=140549

Reviewed by Andreas Kling.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):

11:39 AM Changeset in webkit [178586] by Chris Dumez
  • 14 edits in trunk/Source/WebCore

Generate StylePropertyShorthand.* from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140501

Reviewed by Darin Adler.

Add initial support for having makeprop.pl generate most of
StylePropertyShorthand.* from CSSPropertyNames.in.

This patch replaces [Shorthand] parameter in CSSPropertyNames.in by a
more descriptive [Longhands=property1|property2|...] parameter. With
this information, makeprop.pl is now able to generate the
StylePropertyShorthand factories for all CSS shorthand properties
in a new StylePropertyShorthandFunctions.h header.

The switches in StylePropertyShorthand.cpp could also be generated
but this will be taken care of in follow-up patches to reduce patch
size.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPropertyNames.in:
  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue):

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
(WebCore::backgroundShorthand): Deleted.
(WebCore::backgroundPositionShorthand): Deleted.
(WebCore::backgroundRepeatShorthand): Deleted.
(WebCore::borderShorthand): Deleted.
(WebCore::borderBottomShorthand): Deleted.
(WebCore::borderColorShorthand): Deleted.
(WebCore::borderImageShorthand): Deleted.
(WebCore::borderLeftShorthand): Deleted.
(WebCore::borderRadiusShorthand): Deleted.
(WebCore::webkitBorderRadiusShorthand): Deleted.
(WebCore::borderRightShorthand): Deleted.
(WebCore::borderSpacingShorthand): Deleted.
(WebCore::borderStyleShorthand): Deleted.
(WebCore::borderTopShorthand): Deleted.
(WebCore::borderWidthShorthand): Deleted.
(WebCore::listStyleShorthand): Deleted.
(WebCore::marginShorthand): Deleted.
(WebCore::markerShorthand): Deleted.
(WebCore::outlineShorthand): Deleted.
(WebCore::overflowShorthand): Deleted.
(WebCore::paddingShorthand): Deleted.
(WebCore::transitionShorthand): Deleted.
(WebCore::animationShorthand): Deleted.
(WebCore::webkitAnimationShorthand): Deleted.
(WebCore::webkitBorderAfterShorthand): Deleted.
(WebCore::webkitBorderBeforeShorthand): Deleted.
(WebCore::webkitBorderEndShorthand): Deleted.
(WebCore::webkitBorderStartShorthand): Deleted.
(WebCore::webkitColumnsShorthand): Deleted.
(WebCore::webkitColumnRuleShorthand): Deleted.
(WebCore::flexFlowShorthand): Deleted.
(WebCore::flexShorthand): Deleted.
(WebCore::webkitMarginCollapseShorthand): Deleted.
(WebCore::webkitGridShorthand): Deleted.
(WebCore::webkitGridTemplateShorthand): Deleted.
(WebCore::webkitGridAreaShorthand): Deleted.
(WebCore::webkitGridColumnShorthand): Deleted.
(WebCore::webkitGridRowShorthand): Deleted.
(WebCore::webkitMarqueeShorthand): Deleted.
(WebCore::webkitMaskShorthand): Deleted.
(WebCore::webkitMaskPositionShorthand): Deleted.
(WebCore::webkitMaskRepeatShorthand): Deleted.
(WebCore::webkitTextDecorationShorthand): Deleted.
(WebCore::webkitTextEmphasisShorthand): Deleted.
(WebCore::webkitTextStrokeShorthand): Deleted.
(WebCore::webkitTransitionShorthand): Deleted.
(WebCore::webkitPerspectiveOriginShorthand): Deleted.
(WebCore::webkitTransformOriginShorthand): Deleted.

  • css/StylePropertyShorthand.h:
  • css/makeprop.pl:
11:38 AM Changeset in webkit [178585] by Brent Fulgham
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r174295. rdar://problem/19501151

2014-10-03 Brent Fulgham <Brent Fulgham>

[Win] Unreviewed build fix for MSVC 2013 SP 3.

The std::array initializer is not fully implemented in SP3 and causes a
build error.

  • platform/graphics/transforms/AffineTransform.cpp: Use old style assignment initialization for MSVC builds until this bug is fixed.
11:33 AM Changeset in webkit [178584] by Brent Fulgham
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r173391. rdar://problem/19501151

2014-09-08 peavo@outlook.com <peavo@outlook.com>

[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=136633

Reviewed by Darin Adler.

Enum name has already been defined.

  • platform/audio/AudioHardwareListener.h:

Patch by Brent Fulgham <bfulgham@webkit.org> on 2015-01-16

10:50 AM Changeset in webkit [178583] by commit-queue@webkit.org
  • 11 edits in trunk

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

Broke fast/css/parsing-css-lang.html on some bots (Requested
by ap on #webkit).

Reverted changeset:

"Canonicalization of :lang() should preserve the :lang()'s
arguments representations"
https://bugs.webkit.org/show_bug.cgi?id=139928
http://trac.webkit.org/changeset/178532

10:36 AM Changeset in webkit [178582] by commit-queue@webkit.org
  • 12 edits
    2 deletes in trunk

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

Broke fast/css-grid-layout/grid-content-sized-columns-
resolution.html (Requested by ap on #webkit).

Reverted changeset:

"[CSS Grid Layout] Tracks shrink sometimes with indefinite
remaining space"
https://bugs.webkit.org/show_bug.cgi?id=139059
http://trac.webkit.org/changeset/178577

10:15 AM Changeset in webkit [178581] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

std::all_of requires complete C++ iterators in GCC 4.8
https://bugs.webkit.org/show_bug.cgi?id=140530

Reviewed by Darin Adler.

In the WebKit2/UIProcess/WebProcessLifetimeObserver.cpp, std::all_of
is used for HashIterators. However, std::all_of requires the complete
C++ iterator interface including iterator_category typedef member and
it raises compile error in GCC 4.8 (and libstdc++) environment.

This patch inherits std::iterator with appropriate type parameters.
It automatically defines required typedefs including iterator_category.

  • wtf/HashIterators.h:
9:50 AM Changeset in webkit [178580] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Some improvements to RuleSet shrinking.
<https://webkit.org/b/140534>

Reviewed by Antti Koivisto.

Give an inline capacity (1) to the RuleData Vectors in RuleSet.
The vast majority of Vectors have only a single entry, and this
avoids having to allocate a separate Vector backing store for them.

Also make sure to shrink some Vectors that we weren't already,
like those in RuleFeatureSet.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRulesForList):

  • css/ElementRuleCollector.h:
  • css/RuleFeature.cpp:

(WebCore::RuleFeatureSet::shrinkToFit):

  • css/RuleFeature.h:
  • css/RuleSet.cpp:

(WebCore::RuleSet::addToRuleSet):
(WebCore::rulesCountForName):
(WebCore::shrinkMapVectorsToFit):
(WebCore::RuleSet::shrinkToFit):

  • css/RuleSet.h:

(WebCore::RuleSet::idRules):
(WebCore::RuleSet::classRules):
(WebCore::RuleSet::tagRules):
(WebCore::RuleSet::shadowPseudoElementRules):
(WebCore::RuleSet::linkPseudoClassRules):
(WebCore::RuleSet::cuePseudoRules):
(WebCore::RuleSet::focusPseudoClassRules):
(WebCore::RuleSet::universalRules):

9:13 AM Changeset in webkit [178579] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Fix the public iOS SDK build after <http://trac.webkit.org/changeset/178285>
(https://bugs.webkit.org/show_bug.cgi?id=140360)

Forward declare protocol NSURLDownloadDelegate as it is SPI on iOS.

  • Misc/WebDownload.h:
8:07 AM Changeset in webkit [178578] by Antti Koivisto
  • 5 edits
    1 move
    2 deletes in trunk/Source/WebCore

Correct naming for FontCascade implementation files
https://bugs.webkit.org/show_bug.cgi?id=140544

Reviewed by Zalan Bujtas.

Also reduce their number.

Merge FontFastPath.cpp into FontCascade.cpp
Merge FontMac.mm and FontComplexTextMac.cpp into FontCascadeCocoa.mm

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::getEmphasisMarkGlyphData):
(WebCore::FontCascade::emphasisMarkAscent):
(WebCore::FontCascade::emphasisMarkDescent):
(WebCore::FontCascade::emphasisMarkHeight):
(WebCore::FontCascade::getGlyphsAndAdvancesForSimpleText):
(WebCore::FontCascade::drawSimpleText):
(WebCore::FontCascade::drawEmphasisMarksForSimpleText):
(WebCore::FontCascade::drawGlyphBuffer):
(WebCore::offsetToMiddleOfGlyph):
(WebCore::offsetToMiddleOfGlyphAtIndex):
(WebCore::FontCascade::drawEmphasisMarks):
(WebCore::FontCascade::floatWidthForSimpleText):
(WebCore::FontCascade::adjustSelectionRectForSimpleText):
(WebCore::FontCascade::offsetForPositionForSimpleText):

  • platform/graphics/FontFastPath.cpp: Removed.
  • platform/graphics/cocoa/FontCascadeCocoa.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm.

(WebCore::FontCascade::drawGlyphs):
(WebCore::FontCascade::adjustSelectionRectForComplexText):
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
(WebCore::FontCascade::drawComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):
(WebCore::FontCascade::floatWidthForComplexText):
(WebCore::FontCascade::offsetForPositionForComplexText):
(WebCore::FontCascade::fontDataForCombiningCharacterSequence):

  • platform/graphics/mac/FontComplexTextMac.cpp: Removed.
  • platform/graphics/mac/FontMac.mm: Removed.
2:22 AM Changeset in webkit [178577] by svillar@igalia.com
  • 12 edits
    2 adds in trunk

[CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space
https://bugs.webkit.org/show_bug.cgi?id=139059

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):

LayoutTests:

The third step of the grid track sizing algorithm (method
ComputeUsedBreadthOfGridTracks in the old specs version of the
algorithm) tries to grow all grid tracks until the remaining space
is exhausted. Should the remaining space is undefined we should fill
the tracks up to their limits. This is specified in pseudocode like
this:

For each Grid track t in GridTracks

t.UsedBreadth = t.MaxBreadth

That's correct for most of the cases, but it becomes
wrong whenever t.UsedBreadth > t.MaxBreadth something that is not
incorrect. What we actually want to do is to grow the track to its
maximum if and only if the used breadth is smaller than the maximum.

due to another bug (wkb.ug/139058).

  • fast/css-grid-layout/grid-auto-columns-rows-update.html:
  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:
  • fast/css-grid-layout/grid-grow-tracks-to-their-max-expected.txt: Added.
  • fast/css-grid-layout/grid-grow-tracks-to-their-max.html: Added.
  • fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
  • fast/css-grid-layout/minmax-max-content-resolution-rows.html:
  • fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size.html:
12:12 AM Changeset in webkit [178576] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/UIProcess module.
https://bugs.webkit.org/show_bug.cgi?id=140538

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-16
Reviewed by Csaba Osztrogonác.

Fix build warnings by removing parameter name from functions

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::processWillOpenConnection):
(WebKit::StorageManager::processDidCloseConnection):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processWillOpenConnection):
(WebKit::WebProcessPool::processWillCloseConnection):

12:05 AM Changeset in webkit [178575] by Csaba Osztrogonác
  • 162 edits in trunk

Remove ENABLE(SQL_DATABASE) guards
https://bugs.webkit.org/show_bug.cgi?id=140434

Reviewed by Darin Adler.

.:

  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • inspector/protocol/Database.json:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • Modules/webdatabase/AbstractDatabaseServer.h:
  • Modules/webdatabase/ChangeVersionData.h:
  • Modules/webdatabase/ChangeVersionWrapper.cpp:
  • Modules/webdatabase/ChangeVersionWrapper.h:
  • Modules/webdatabase/DOMWindowWebDatabase.cpp:
  • Modules/webdatabase/DOMWindowWebDatabase.h:
  • Modules/webdatabase/DOMWindowWebDatabase.idl:
  • Modules/webdatabase/Database.cpp:
  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/Database.idl:
  • Modules/webdatabase/DatabaseBackend.cpp:
  • Modules/webdatabase/DatabaseBackend.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:
  • Modules/webdatabase/DatabaseBackendBase.h:
  • Modules/webdatabase/DatabaseBasicTypes.h:
  • Modules/webdatabase/DatabaseCallback.h:
  • Modules/webdatabase/DatabaseCallback.idl:
  • Modules/webdatabase/DatabaseContext.cpp:
  • Modules/webdatabase/DatabaseContext.h:
  • Modules/webdatabase/DatabaseDetails.h:
  • Modules/webdatabase/DatabaseError.h:
  • Modules/webdatabase/DatabaseManager.cpp:
  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseManagerClient.h:
  • Modules/webdatabase/DatabaseServer.cpp:
  • Modules/webdatabase/DatabaseServer.h:
  • Modules/webdatabase/DatabaseTask.cpp:
  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/DatabaseThread.cpp:
  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/DatabaseTracker.cpp:
  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/webdatabase/OriginLock.cpp:
  • Modules/webdatabase/OriginLock.h:
  • Modules/webdatabase/SQLCallbackWrapper.h:
  • Modules/webdatabase/SQLError.h:
  • Modules/webdatabase/SQLError.idl:
  • Modules/webdatabase/SQLException.cpp:
  • Modules/webdatabase/SQLException.h:
  • Modules/webdatabase/SQLException.idl:
  • Modules/webdatabase/SQLResultSet.cpp:
  • Modules/webdatabase/SQLResultSet.h:
  • Modules/webdatabase/SQLResultSet.idl:
  • Modules/webdatabase/SQLResultSetRowList.cpp:
  • Modules/webdatabase/SQLResultSetRowList.h:
  • Modules/webdatabase/SQLResultSetRowList.idl:
  • Modules/webdatabase/SQLStatement.cpp:
  • Modules/webdatabase/SQLStatement.h:
  • Modules/webdatabase/SQLStatementBackend.cpp:
  • Modules/webdatabase/SQLStatementBackend.h:
  • Modules/webdatabase/SQLStatementCallback.h:
  • Modules/webdatabase/SQLStatementCallback.idl:
  • Modules/webdatabase/SQLStatementErrorCallback.h:
  • Modules/webdatabase/SQLStatementErrorCallback.idl:
  • Modules/webdatabase/SQLTransaction.cpp:
  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webdatabase/SQLTransaction.idl:
  • Modules/webdatabase/SQLTransactionBackend.cpp:
  • Modules/webdatabase/SQLTransactionBackend.h:
  • Modules/webdatabase/SQLTransactionCallback.h:
  • Modules/webdatabase/SQLTransactionCallback.idl:
  • Modules/webdatabase/SQLTransactionClient.cpp:
  • Modules/webdatabase/SQLTransactionClient.h:
  • Modules/webdatabase/SQLTransactionCoordinator.cpp:
  • Modules/webdatabase/SQLTransactionCoordinator.h:
  • Modules/webdatabase/SQLTransactionErrorCallback.h:
  • Modules/webdatabase/SQLTransactionErrorCallback.idl:
  • Modules/webdatabase/SQLTransactionState.h:
  • Modules/webdatabase/SQLTransactionStateMachine.cpp:
  • Modules/webdatabase/SQLTransactionStateMachine.h:
  • bindings/js/JSCommandLineAPIHostCustom.cpp:

(WebCore::JSCommandLineAPIHost::databaseId):

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  • bindings/js/JSExceptionBase.cpp:

(WebCore::toExceptionBase):

  • bindings/js/JSSQLResultSetRowListCustom.cpp:
  • bindings/js/JSSQLTransactionCustom.cpp:
  • bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:

(webkit_dom_test_callback_finalize):
(webkit_dom_test_callback_constructor):
(webkit_dom_test_callback_callback_with_no_param):
(webkit_dom_test_callback_callback_with_array_param):
(webkit_dom_test_callback_callback_with_serialized_script_value_param):
(webkit_dom_test_callback_callback_with_non_bool_return_type):
(webkit_dom_test_callback_callback_with_string_list):
(webkit_dom_test_callback_callback_with_boolean):
(webkit_dom_test_callback_callback_requires_this_to_pass):

  • bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
  • bindings/scripts/test/JS/JSTestCallback.cpp:
  • bindings/scripts/test/JS/JSTestCallback.h:
  • bindings/scripts/test/ObjC/DOMTestCallback.mm:
  • bindings/scripts/test/TestCallback.idl:
  • dom/DOMExceptions.in:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::setDatabaseContext):

  • dom/ScriptExecutionContext.h:
  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::CommandLineAPIHost):
(WebCore::CommandLineAPIHost::disconnect):
(WebCore::CommandLineAPIHost::databaseIdImpl):

  • inspector/CommandLineAPIHost.h:

(WebCore::CommandLineAPIHost::init):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorDatabaseAgent.cpp:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorDatabaseResource.cpp:
  • inspector/InspectorDatabaseResource.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):

  • inspector/InspectorInstrumentation.h:
  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

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

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):

  • page/ChromeClient.h:
  • platform/FeatureCounterKeys.h:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • Storage/WebDatabaseManager.mm:

(databasesDirectoryPath):

  • Storage/WebDatabaseManagerClient.h:
  • Storage/WebDatabaseManagerClient.mm:
  • Storage/WebDatabaseManagerInternal.h:
  • Storage/WebDatabaseManagerPrivate.h:
  • Storage/WebDatabaseQuotaManager.mm:

(-[WebDatabaseQuotaManager usage]):
(-[WebDatabaseQuotaManager quota]):
(-[WebDatabaseQuotaManager setQuota:]):

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:
  • WebCoreSupport/WebSecurityOrigin.mm:

(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):

  • WebView/WebFrame.mm:

(-[WebFrame _cacheabilityDictionary]):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _preferencesChanged:]):

Source/WebKit/win:

  • ForEachCoClass.h:
  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::exceededDatabaseQuota):

  • WebCoreSupport/WebChromeClient.h:
  • WebDatabaseManager.cpp:

(WebKitInitializeWebDatabasesIfNecessary):

  • WebDatabaseManager.h:
  • WebSecurityOrigin.cpp:

(WebSecurityOrigin::usage):
(WebSecurityOrigin::quota):
(WebSecurityOrigin::setQuota):

  • WebView.cpp:

(WebView::initWithFrame):
(WebView::notifyPreferencesChanged):

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/OriginAndDatabases.cpp:
  • Shared/OriginAndDatabases.h:
  • Shared/WebCoreArgumentCoders.cpp:
  • UIProcess/API/C/WKContext.cpp:

(WKContextGetDatabaseManager):

  • UIProcess/API/C/WKDatabaseManager.cpp:

(WKDatabaseManagerGetTypeID):
(WKDatabaseManagerGetOriginKey):
(WKDatabaseManagerGetOriginQuotaKey):
(WKDatabaseManagerGetOriginUsageKey):
(WKDatabaseManagerGetDatabaseDetailsKey):
(WKDatabaseManagerGetDatabaseDetailsNameKey):
(WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
(WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
(WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
(WKDatabaseManagerSetClient):
(WKDatabaseManagerGetDatabasesByOrigin):
(WKDatabaseManagerGetDatabaseOrigins):
(WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
(WKDatabaseManagerDeleteDatabasesForOrigin):
(WKDatabaseManagerDeleteAllDatabases):
(WKDatabaseManagerSetQuotaForOrigin):

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::informDatabaseQuotaReached):

  • UIProcess/WebDatabaseManagerProxy.cpp:
  • UIProcess/WebDatabaseManagerProxy.h:
  • UIProcess/WebDatabaseManagerProxy.messages.in:
  • UIProcess/WebProcessPool.cpp:
  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::PageUIClientEfl):
(WebKit::PageUIClientEfl::exceededDatabaseQuota):

  • UIProcess/efl/PageUIClientEfl.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::clearAllDatabases):
(WebKit::InjectedBundle::setDatabaseQuota):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::exceededDatabaseQuota):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  • WebProcess/WebCoreSupport/WebDatabaseManager.h:
  • WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp:
  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
Note: See TracTimeline for information about the timeline view.