Timeline
Jan 30, 2015:
- 10:26 PM Changeset in webkit [179438] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 11 edits1 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
-
- 52 edits7 copies7 moves18 adds2 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* inObject.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*.
- CMakeLists.txt:
- DerivedSources.make:
- JavaScriptCore.order:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/BuiltinExecutables.cpp:
(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'sisName
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 checkisUnique()
.
- 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
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Remove outdated comment.
- loader/cache/MemoryCache.cpp:
- 4:58 PM Changeset in webkit [179427] by
-
- 5 edits1 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 1 copy in tags/Safari-600.1.4.15.3
New tag.
- 3:56 PM Changeset in webkit [179419] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 5 edits2 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
-
- 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
-
- 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
-
- 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
- Import from Github gist.
- 1:39 PM WikiStart edited by
- (diff)
- 12:49 PM Changeset in webkit [179409] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 10 edits1 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
-
- 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
-
- 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
-
- 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:
- Add items to one end
- 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
-
- 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
-
- 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
-
- 57 edits5 copies19 adds2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 1 edit1 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
-
- 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
-
- 45 edits2 copies3 adds2 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
-
- 18 edits25 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits in trunk/Source/WebCore
Try to fix the iOS build.
- WebCore.exp.in:
- 4:45 PM Changeset in webkit [179383] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 1 copy in tags/Safari-600.4.5
New Tag.
- 3:30 PM Changeset in webkit [179374] by
-
- 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
-
- 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
-
- 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
-
- 10 edits6 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
-
- 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
-
- 7 edits2 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
-
- 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
-
- 6 edits1 copy1 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
-
- 15 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix no-JIT build.
- jit/PolymorphicCallStubRoutine.cpp:
- 12:33 PM Changeset in webkit [179357] by
-
- 45 edits2 adds5 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.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/CallEdge.h:
(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
-
- 2 edits in branches/safari-600.5-branch/Source/WebKit2
Merge r179339. rdar://problem/19619999
- 12:12 PM Changeset in webkit [179355] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebKit2
Merge r179320. rdar://problem/19619999
- 11:49 AM Changeset in webkit [179354] by
-
- 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
-
- 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
-
- 2 edits in branches/safari-600.4-branch/Source/WebKit2
Merge r179339. rdar://problem/19619999
- 11:34 AM Changeset in webkit [179351] by
-
- 2 edits in branches/safari-600.4-branch/Source/WebKit2
Merge r179320. rdar://problem/19619999
- 11:28 AM Changeset in webkit [179350] by
-
- 2 edits in trunk/LayoutTests
Mark more tests as slow in debug.
- 11:25 AM Changeset in webkit [179349] by
-
- 22 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits in trunk/Tools
Jan 28, 2015:
- 11:44 PM Changeset in webkit [179337] by
-
- 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
-
- 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
-
- 3 edits4 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
-
- 3 edits4 adds in branches/safari-600.5-branch
Merge r179027. rdar://problem/19585744
- 8:45 PM Changeset in webkit [179333] by
-
- 2 edits in branches/safari-600.5-branch/LayoutTests
Merge r178953. rdar://problem/19617631
- 8:30 PM Changeset in webkit [179332] by
-
- 3 edits in branches/safari-600.5-branch/LayoutTests
Merge r178795. rdar://problem/19617631
- 8:29 PM Changeset in webkit [179331] by
-
- 11 edits3 adds in branches/safari-600.5-branch
Merge r178768. rdar://problem/19617631
- 8:29 PM Changeset in webkit [179330] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merge r178571. rdar://problem/19585723
- 8:29 PM Changeset in webkit [179329] by
-
- 2 edits in branches/safari-600.5-branch/Source/JavaScriptCore
Merge r178365. rdar://problem/19617809
- 7:05 PM Changeset in webkit [179328] by
-
- 13 edits4 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
-
- 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
-
- 28 edits5 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
-
- 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
-
- 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
-
- 6 edits16 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 6 edits in branches/safari-600.5-branch/Source
Merged r179230. rdar://problem/19621509
- 4:43 PM Changeset in webkit [179317] by
-
- 5 edits in branches/safari-600.4-branch/Source
Versioning.
- 4:40 PM Changeset in webkit [179316] by
-
- 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
-
- 1 edit1 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
-
- 1 copy in tags/Safari-600.4.4
New tag.
- 4:37 PM Changeset in webkit [179313] by
-
- 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
-
- 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
-
- 2 edits in trunk/Tools
Fix the build.
- Scripts/copy-webkitlibraries-to-product-directory:
- 3:46 PM Changeset in webkit [179310] by
-
- 1 edit1 delete in trunk/WebKitLibraries
Remove libWebKitSystemInterfaceMountainLion.a
Reviewed by Mark Rowe.
- libWebKitSystemInterfaceMountainLion.a: Removed.
- 3:36 PM Changeset in webkit [179309] by
-
- 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
-
- 3 edits2 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
-
- 3 edits2 adds in branches/safari-600.5-branch
Merge r178363. rdar://problem/19617795
- 2:52 PM Changeset in webkit [179306] by
-
- 2 edits in branches/safari-600.5-branch/Source/JavaScriptCore
Merge r178311. rdar://problem/19617780
- 2:52 PM Changeset in webkit [179305] by
-
- 4 edits2 adds in branches/safari-600.5-branch
Merge r178231. rdar://problem/19617801
- 2:52 PM Changeset in webkit [179304] by
-
- 4 edits5 adds in branches/safari-600.5-branch
Merge r177927. rdar://problem/19585726
- 2:52 PM Changeset in webkit [179303] by
-
- 4 edits4 adds in branches/safari-600.5-branch
Merge r177165. rdar://problem/19617570
- 2:51 PM Changeset in webkit [179302] by
-
- 3 edits4 copies in branches/safari-600.1.4.15-branch
Merged r179027. rdar://problem/19432904
- 2:47 PM Changeset in webkit [179301] by
-
- 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
-
- 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
-
- 4 edits4 copies in branches/safari-600.1.4.15-branch
Merged r178380. rdar://problem/19432909
- 2:26 PM Changeset in webkit [179298] by
-
- 6 edits6 adds in branches/safari-600.5-branch
Merge r177135. rdar://problem/19451316
- 2:26 PM Changeset in webkit [179297] by
-
- 3 edits2 adds in branches/safari-600.5-branch
Merge r177089. rdar://problem/19617712
- 2:26 PM Changeset in webkit [179296] by
-
- 5 edits8 adds in branches/safari-600.5-branch
Merge r177050. rdar://problem/19452133
- 2:25 PM Changeset in webkit [179295] by
-
- 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
-
- 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
-
- 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
-
- 6 edits in branches/safari-600.1.4.15-branch/Source
Merged r178175. rdar://problem/19433008
- 1:58 PM Changeset in webkit [179291] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merge r176475. rdar://problem/19451346
- 1:58 PM Changeset in webkit [179290] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merge r175251. rdar://problem/19451346
- 1:57 PM Changeset in webkit [179289] by
-
- 5 edits5 copies in branches/safari-600.1.4.15-branch
Merged r178038. rdar://problem/19450100
- 1:53 PM Changeset in webkit [179288] by
-
- 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
-
- 11 edits in branches/safari-600.1.4.15-branch/Source
Merged r177738. rdar://problem/19445865
- 1:45 PM Changeset in webkit [179286] by
-
- 23 edits2 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
-
- 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 4 edits1 copy1 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
-
- 2 edits in trunk/LayoutTests
[Win] Unreviewed gardening. Reskip some region tests.
- platform/win/TestExpectations:
- 10:55 AM Changeset in webkit [179274] by
-
- 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
-
- 6 edits in branches/safari-600.1.4.15-branch/Source
Merged r177666. rdar://problem/19445905
- 10:48 AM Changeset in webkit [179272] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebKit2
Merge r179195. rdar://problem/19572685
- 10:44 AM Changeset in webkit [179271] by
-
- 6 edits in branches/safari-600.5-branch/Source
Merge r179129. rdar://problem/19489518
- 10:29 AM Changeset in webkit [179270] by
-
- 5 edits in tags/Safari-600.5.3.2/Source
Versioning.
- 10:28 AM Changeset in webkit [179269] by
-
- 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
-
- 1 copy in tags/Safari-600.5.3.2
New tag.
- 10:24 AM Changeset in webkit [179267] by
-
- 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
-
- 2 edits in branches/safari-600.5-branch/Source/WebKit2
Merge r179087. rdar://problem/19571057
- 10:17 AM Changeset in webkit [179265] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merge r179086. rdar://problem/19566089
- 10:14 AM Changeset in webkit [179264] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebKit2
Merge r179023. rdar://problem/19573674
- 10:09 AM Changeset in webkit [179263] by
-
- 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
-
- 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
-
- 10 edits in branches/safari-600.5-branch/Source
Merge r179014. rdar://problem/19573674
- 9:59 AM Changeset in webkit [179260] by
-
- 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
-
- 4 edits in branches/safari-600.5-branch/Source
Merge r179013. rdar://problem/19571601
- 9:50 AM Changeset in webkit [179258] by
-
- 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
-
- 6 edits in branches/safari-600.5-branch/Source
Merge r178938. rdar://problem/19558472
- 9:43 AM Changeset in webkit [179256] by
-
- 4 edits in branches/safari-600.5-branch/Source
Merge r178858. rdar://problem/19540806
- 9:22 AM Changeset in webkit [179255] by
-
- 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
-
- 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
-
- 15 edits3 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 6 edits in branches/safari-600.4-branch/Source
Merged r179230. rdar://problem/19621509
- 9:53 PM Changeset in webkit [179242] by
-
- 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
-
- 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
-
- 1 edit2 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
-
- 5 edits in trunk/Source
Versioning.
- 9:09 PM Changeset in webkit [179238] by
-
- 1 copy in tags/Safari-601.1.16
New tag.
- 6:37 PM Changeset in webkit [179237] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 3 edits1 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 6 edits in branches/safari-600.4-branch/Source
Merge r179129. rdar://problem/19489518
- 3:38 PM Changeset in webkit [179225] by
-
- 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
-
- 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
-
- 5 edits2 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
-
- 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
-
- 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
-
- 7 edits1 copy3 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 41 edits1 copy4 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
-
- 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
-
- 22 edits3 copies3 deletes in branches/safari-600.1.4.15-branch/Source
Merged r177455. rdar://problem/19445868
- 1:10 PM Changeset in webkit [179208] by
-
- 8 edits11 adds1 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
-
- 5 edits in tags/Safari-600.5.3.1/Source
Versioning.
- 12:55 PM Changeset in webkit [179206] by
-
- 1 copy in tags/Safari-600.5.3.1
New tag.
- 12:50 PM Changeset in webkit [179205] by
-
- 1 edit2 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
-
- 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
-
- 1 edit10 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits in branches/safari-600.4-branch/Source/WebKit2
Merge r179195. rdar://problem/19572685
- 11:39 AM Changeset in webkit [179197] by
-
- 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
-
- 2 edits2 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
-
- 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
-
- 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
-
- 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
-
- 41 edits5 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.
- API/JSBase.cpp:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj: Feed the compiler.
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 3 edits1 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 7 edits26 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
-
- 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
-
- 3 edits2 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
-
- 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
-
- 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
-
- 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
-
- 4 edits14 adds1 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
-
- 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
-
- 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
-
- 8 edits4 copies in branches/safari-600.1.4.15-branch/Source
Merged r177328. rdar://problem/19445865
- 8:39 PM Changeset in webkit [179163] by
-
- 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
-
- 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
-
- 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
-
- 2 edits1 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
-
- 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
-
- 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
-
- 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
-
- 2 edits in branches/safari-600.4-branch/Source/WebKit2
Merge r179087. rdar://problem/19571057
- 4:19 PM Changeset in webkit [179155] by
-
- 2 edits in branches/safari-600.4-branch/Source/WebCore
Merge r179086. rdar://problem/19566089
- 4:19 PM Changeset in webkit [179154] by
-
- 2 edits in branches/safari-600.4-branch/Source/WebKit2
Merge r179023. rdar://problem/19573674
- 4:19 PM Changeset in webkit [179153] by
-
- 10 edits in branches/safari-600.4-branch/Source
Merge r179014. rdar://problem/19573674
- 4:19 PM Changeset in webkit [179152] by
-
- 4 edits in branches/safari-600.4-branch/Source
Merge r179013. rdar://problem/19571601
- 4:19 PM Changeset in webkit [179151] by
-
- 6 edits in branches/safari-600.4-branch/Source
Merge r178938. rdar://problem/19558472
- 4:19 PM Changeset in webkit [179150] by
-
- 4 edits in branches/safari-600.4-branch/Source
Merge r178858. rdar://problem/19540806
- 3:23 PM Changeset in webkit [179149] by
-
- 2 edits in trunk/LayoutTests
[Win] More test gardening.
- platform/win/TestExpectations:
- 3:20 PM Changeset in webkit [179148] by
-
- 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
-
- 3 edits3 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
-
- 4 edits5 adds in branches/safari-600.1.4.15-branch
Merged r177927. rdar://problem/19565854
- 2:44 PM Changeset in webkit [179145] by
-
- 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
-
- 4 edits2 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
-
- 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
-
- 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
-
- 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
-
- 3 edits2 adds in branches/safari-600.1.4.15-branch
Merged r177404. rdar://problem/19419787
- 1:26 PM Changeset in webkit [179139] by
-
- 1 edit5 adds in branches/safari-600.1.4.15-branch/LayoutTests
Merged r177408. rdar://problem/19432686
- 1:26 PM Changeset in webkit [179138] by
-
- 38 edits in branches/safari-600.1.4.15-branch
Merged r177398. rdar://problem/19432686
- 12:57 PM Changeset in webkit [179137] by
-
- 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
-
- 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
-
- 2 edits in trunk/Tools
Update bot assignments.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- 12:41 PM Changeset in webkit [179134] by
-
- 11 edits4 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
-
- 14 edits in branches/safari-600.1.4.15-branch
Merged r177377. rdar://problem/19419793
- 12:40 PM Changeset in webkit [179132] by
-
- 15 edits32 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
-
- 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
-
- 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 echoxcrun --sdk iphonesimulator --show-sdk-path
/Applications/, contains a
symbolic link. Specifically, echoxcrun --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
-
- 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
-
- 3 edits2 adds in branches/safari-600.1.4.15-branch
Merged r177360. rdar://problem/19432691
- 11:38 AM Changeset in webkit [179127] by
-
- 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
-
- 11 edits2 adds in branches/safari-600.1.4.15-branch
Merged r172854. rdar://problem/19432691
- 10:33 AM Changeset in webkit [179125] by
-
- 6 edits6 adds in branches/safari-600.1.4.15-branch
Merged r177135. rdar://problem/19450110
- 10:33 AM Changeset in webkit [179124] by
-
- 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
-
- 2 edits in trunk/Tools
Update bot assignments.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- 10:18 AM Changeset in webkit [179122] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 3 edits4 adds in branches/safari-600.1.4.15-branch
Merged r177292. rdar://problem/19419760
- 9:51 AM Changeset in webkit [179117] by
-
- 1 edit2 adds in branches/safari-600.1.4.15-branch/PerformanceTests
Merged r177051. rdar://problem/19419760
- 9:20 AM Changeset in webkit [179116] by
-
- 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
-
- 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
-
- 2 edits in trunk/Tools
Unreviewed. Moving myself to the committer section.
- 7:15 AM Changeset in webkit [179113] by
-
- 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
-
- 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
-
- 10 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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.