Timeline
Mar 23, 2014:
- 11:42 PM Changeset in webkit [166151] by
-
- 2 edits in trunk/Source/WebCore
Convert WebHTMLConverter to C++
https://bugs.webkit.org/show_bug.cgi?id=130655
Patch by Sam Weinig <sam@webkit.org> on 2014-03-23
Reviewed by Andreas Kling.
- Mechanically converts the Objective-C class WebHTMLConverter, to the C++ HTMLConverter (lots of cleanup to follow).
- Removes unused members
- _standardFontFamily (never assigned to)
- _textSizeMultiplier (always exactly 1)
- _webViewTextSizeMultiplier (always exactly 0)
- _defaultFontSize (always exactly 12, changed to be constant)
- _minimumFontSize (always exactly 1, changed to be constant)
- _colorsForNodes (never assigned to)
- _indexingLimit (always exactly 0)
- _thumbnailLimit (always exactly 0)
- _flags.isIndexing (always false)
- _flags.isTesting (always false)
- editing/cocoa/HTMLConverter.mm:
(HTMLConverter::convert):
(HTMLConverter::HTMLConverter):
(HTMLConverter::~HTMLConverter):
(defaultParagraphStyle):
(_childrenForNode):
(HTMLConverter::_stringForNode):
(HTMLConverter::_getFloat):
(_webKitBundle):
(HTMLConverter::_elementIsBlockLevel):
(HTMLConverter::_elementHasOwnBackgroundColor):
(HTMLConverter::_blockLevelElementForNode):
(HTMLConverter::_colorForNode):
(HTMLConverter::_computedAttributesForElement):
(HTMLConverter::_attributesForElement):
(HTMLConverter::_newParagraphForElement):
(HTMLConverter::_newLineForElement):
(HTMLConverter::_newTabForElement):
(_WebMessageDocumentClass):
(HTMLConverter::_addAttachmentForElement):
(HTMLConverter::_addQuoteForElement):
(HTMLConverter::_addValue):
(HTMLConverter::_fillInBlock):
(HTMLConverter::_processMetaElementWithName):
(HTMLConverter::_processHeadElement):
(HTMLConverter::_enterElement):
(HTMLConverter::_addTableForElement):
(HTMLConverter::_addTableCellForElement):
(HTMLConverter::_processElement):
(HTMLConverter::_addMarkersToList):
(HTMLConverter::_exitElement):
(HTMLConverter::_processText):
(HTMLConverter::_traverseNode):
(HTMLConverter::_traverseFooterNode):
(HTMLConverter::_adjustTrailingNewline):
(HTMLConverter::_loadFromDOMRange):
(fileWrapperForURL):
(fileWrapperForElement):
(WebCore::attributedStringFromRange):
(WebCore::editingAttributedStringFromRange):
- 10:16 PM Changeset in webkit [166150] by
-
- 3 edits in trunk/Source/WebCore
Remove Dead Stores from editing directory
https://bugs.webkit.org/show_bug.cgi?id=130634
Reviewed by Darin Adler.
Remove Dead Stores from editing directory which assigning a value to a variable
and never reading that value.
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
- editing/markup.cpp:
(WebCore::createMarkupInternal):
- 9:51 PM Changeset in webkit [166149] by
-
- 28 edits1 add in trunk
Move all EFL typedefs into EflTypedefs.h.
https://bugs.webkit.org/show_bug.cgi?id=130511
Source/JavaScriptCore:
Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim
- heap/HeapTimer.h: Remove EFL typedefs.
Source/WebCore:
Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim.
- platform/FileSystem.h: Remove EFL typedefs.
- platform/Widget.h: Ditto.
- platform/efl/EflScreenUtilities.h: Ditto.
- platform/graphics/Icon.h: Ditto.
- platform/graphics/Image.h: Ditto.
- platform/graphics/IntPoint.h: Ditto.
- platform/graphics/IntRect.h: Ditto.
- platform/network/NetworkStateNotifier.h: Ditto.
Source/WebKit/efl:
Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim.
- WebCoreSupport/BatteryClientEfl.h: Remove EFL typedefs.
- WebCoreSupport/DumpRenderTreeSupportEfl.h: Ditto.
- WebCoreSupport/EditorClientEfl.h: Ditto.
- WebCoreSupport/FrameNetworkingContextEfl.h: Ditto.
- WebCoreSupport/NavigatorContentUtilsClientEfl.h: Ditto.
- WebCoreSupport/ProgressTrackerClientEfl.h: Ditto.
Source/WebKit2:
Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim.
- Shared/API/c/efl/WKArrayEfl.h: Remove EFL typedefs.
- UIProcess/API/efl/EwkView.h: Ditto.
Source/WTF:
Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim.
- wtf/Platform.h: include EflTypedefs.h.
- wtf/efl/EflTypedefs.h: Added.
- wtf/efl/RefPtrEfl.h: Remove EFL typedefs.
Tools:
Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim.
- TestWebKitAPI/PlatformWebView.h: Remove EFL typedefs.
- WebKitTestRunner/InjectedBundle/TestRunner.h: Ditto.
- WebKitTestRunner/PlatformWebView.h: Ditto.
- 9:37 PM Changeset in webkit [166148] by
-
- 6 edits in trunk/Source/WebKit2
[WK2] Refine WebKit2 BatteryStatus code
https://bugs.webkit.org/show_bug.cgi?id=130573
Reviewed by Anders Carlsson.
Refinements
- Return PassRef instead of PassRefPtr in create methods
- Use auto instead of iterator
- UIProcess/WebBatteryManagerProxy.cpp:
(WebKit::WebBatteryManagerProxy::create):
- UIProcess/WebBatteryManagerProxy.h:
- UIProcess/efl/BatteryProvider.cpp:
(BatteryProvider::create):
- UIProcess/efl/BatteryProvider.h:
- WebProcess/Battery/WebBatteryManager.cpp:
(WebKit::WebBatteryManager::didChangeBatteryStatus):
(WebKit::WebBatteryManager::updateBatteryStatus):
- 3:14 PM Changeset in webkit [166147] by
-
- 2 edits2 moves1 add in trunk/Source/WebCore
Move HTMLConverter from platform/mac to editing/cocoa.
Rubber-stamped by Darin Adler.
- WebCore.xcodeproj/project.pbxproj:
- editing/cocoa: Added.
- editing/cocoa/HTMLConverter.h: Copied from platform/mac/HTMLConverter.h.
- editing/cocoa/HTMLConverter.mm: Copied from platform/mac/HTMLConverter.mm.
- platform/mac/HTMLConverter.h: Removed.
- platform/mac/HTMLConverter.mm: Removed.
- 2:47 PM Changeset in webkit [166146] by
-
- 3 edits in trunk/Source/WebKit/mac
Remove some unnecessary .get()s that Darin noticed.
- WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
- WebView/WebHTMLView.mm:
(-[WebHTMLView attributedString]):
- 2:41 PM Changeset in webkit [166145] by
-
- 15 edits in trunk/Source
Simplify the HTMLConverter interface (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=130654
Reviewed by Darin Adler.
../WebCore:
Switch HTMLConverter from using an Objective-C interface to C functions.
- WebCore.exp.in:
- editing/ios/EditorIOS.mm:
(WebCore::Editor::writeSelectionToPasteboard):
- editing/mac/EditorMac.mm:
(WebCore::Editor::dataSelectionForPasteboard):
(WebCore::Editor::writeSelectionToPasteboard):
- platform/ios/PasteboardIOS.mm:
- platform/mac/HTMLConverter.h:
- platform/mac/HTMLConverter.mm:
(WebCore::attributedStringFromRange):
(WebCore::editingAttributedStringFromRange):
- platform/mac/PasteboardMac.mm:
../WebKit/mac:
- WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
- WebView/WebHTMLView.mm:
(-[WebHTMLView attributedSubstringFromRange:]):
(-[WebHTMLView attributedString]):
(-[WebHTMLView selectedAttributedString]):
../WebKit2:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::performDictionaryLookupForRange):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::getAttributedSubstringFromRange):
(WebKit::WebPage::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::WebPage::performDictionaryLookupForSelection):
(WebKit::WebPage::performDictionaryLookupForRange):
- 2:37 PM Changeset in webkit [166144] by
-
- 21 edits in trunk
Remove code in HTMLObjectElement attribute parsing that forces style resolution and layout
https://bugs.webkit.org/show_bug.cgi?id=130653
Reviewed by Antti Koivisto.
Source/WebCore:
- dom/ContainerNode.cpp: Moved the post-attach callback code from here to
StyleResolveTree.h/cpp.
- dom/ContainerNode.h: Ditto.
- dom/Document.cpp:
(WebCore::Document::recalcStyle): Use Style::PostResolutionCallbackDisabler instead of
PostAttachCallbackDisabler.
- dom/Element.h: Moved the post-attach callback code from here to StyleResolveTree.h/cpp.
- html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseAttribute): Simplified the code for typeAttr, turning
it into a 1-liner. Added a FIXME in codeAttr about the fact that it does not have the
code to trigger image loads. Changed srcAttr to call updateImageLoaderWithNewURLSoon to
do the image loading logic.
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::didAttachRenderers): Updated to use
Style::queuePostResolutionCallback and use a lambda instead of a function.
(WebCore::HTMLFormControlElement::didRecalcStyle): Ditto. Also added RefPtr instead
of just using wishful thinking to keep the object alive.
- html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc): Ditto.
- html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseAttribute):: Simplified the code for typeAttr, turning
it into a 1-liner. Changed dataAttr to use updateImageLoaderWithNewURLSoon(). Also made
it call setNeedsWidgetUpdate(true) unconditionally after checking carefully to see that's
harmless if there is no renderer. Changed classidAttr to call setNeedsWidgetUpdate(true)
unconditionally and not set m_classId.
(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Use fastGetAttribute
instead of classId and descendantsOfType instead of getElementsByTagName.
(WebCore::HTMLObjectElement::hasValidClassId): Use fastGetAttribute instead of classId.
(WebCore::HTMLObjectElement::renderFallbackContent): Use imageLoader instead of m_imageLoader.
- html/HTMLObjectElement.h: Removed classId, since there is no reason to cache that
attribute in a data member. Rearranged header, making more private, and fixing some typos,
and doing a "using" instead of a function to disambiguate the inherited form functions.
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialize m_needsImageReload.
(WebCore::HTMLPlugInImageElement::createElementRenderer): Fixed some code that assumed the
first child of the shadow root is guaranteed to be an element.
(WebCore::HTMLPlugInImageElement::didRecalcStyle): Added. Calls the new
scheduleUpdateForAfterStyleResolution function.
(WebCore::HTMLPlugInImageElement::didAttachRenderers): Moved all the logic from this
function into scheduleUpdateForAfterStyleResolution. Also added a call through to the base
class; cleaner even though it's just an assertion.
(WebCore::HTMLPlugInImageElement::scheduleUpdateForAfterStyleResolution): Added.
Schedules a call to updateAfterStyleResolution when needed.
(WebCore::HTMLPlugInImageElement::updateAfterStyleResolution): Added.
Combines updateWidgetIfNecessary and startLoadingImage, and also deals with the new
m_needsImageReload boolean in cases where no actual loading is done.
(WebCore::HTMLPlugInImageElement::removedFrom): Added. Do not delay the load event of
document once this element is removed, clears m_needsImageReload.
(WebCore::HTMLPlugInImageElement::didMoveToNewDocument): Removed null check on oldDocument,
since m_needsDocumentActivationCallbacks can't be true if the old document was null.
(WebCore::is100Percent): Added helper to make function below more readable.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Restructured the code a
bit. The part that attracted my attention was the local variable of type RenderBox, which
was named renderEmbeddedObject. Turns out the caller guarantees to only call this if there
is a renderer of type RenderEmbeddedObject, so depend on that.
(WebCore::HTMLPlugInImageElement::setNeedsImageReload): Added. When called with true, sets
the flag and triggers a style recalculation, and lets updateAfterStyleResolution do the rest.
When called with false, reverses the effects and stops delaying the load event.
- html/HTMLPlugInImageElement.h: Trimmed includes a bit. Made more members private.
Marked more function members final. Made a protected imageLoader function so that
m_imageLoader can be private. Added new protected function updateImageLoaderWithNewURLSoon,
as well as other new private functions. Made m_imageLoader be std::unique_ptr instead of
OwnPtr, and added m_needsImageReload.
- style/StyleResolveTree.cpp:
(WebCore::Style::needsPseudoElement): Fixed spelling error in the name of this function.
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded): Updated for name change.
(WebCore::Style::attachRenderTree): Update for new name of PostResolutionCallbackDisabler.
(WebCore::Style::updateBeforeOrAfterPseudoElement): Updated for name change.
(WebCore::Style::postResolutionCallbackQueue): Added.
(WebCore::Style::queuePostResolutionCallback): Added.
(WebCore::Style::suspendMemoryCacheClientCalls): Added. This is a side effect of the original
PostAttachCallbackDisabler that is now done in a cleaner way, using the callback queue, instead
of as a special case. It should not work for multiple documents across multiple pages instead of
only the outermost one.
(WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler): Added.
Calls suspendMemoryCacheClientCalls, but a FIXME tries to point out why that isn't so great.
(WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler): Added.
(WebCore::Style::postResolutionCallbacksAreSuspended): Added.
- style/StyleResolveTree.h: Added queuePostResolutionCallback and
postResolutionCallbacksAreSuspended. Also added PostResolutionCallbackDisabler, which should
eventually become a private implementation detail.
Source/WebKit/mac:
- WebCoreSupport/WebFrameLoaderClient.mm: Call toHTMLPlugInImageElement instead of
doing a static_cast.
LayoutTests:
- plugins/plugin-remove-readystatechange-expected.txt: Added a blank line; not what this
test is testing, but the different timing of loads results in this blank line.
- plugins/plugin-remove-readystatechange.html: Updated test to use waitUntilDone/notifyDone
rather than racing. Added a computation of offsetLeft to trigger layout and adding a long
comment explaining why this is needed and potentially insufficient in the long run.
- svg/custom/object-no-size-attributes-expected.txt: Removed expectation of an empty text
renderer from the render tree.
- svg/custom/object-no-size-attributes.xhtml: Restructured the source so there is no text
to render. Without this, we were seeing two text renderers due to the loading timing change.
- 1:17 PM Changeset in webkit [166143] by
-
- 5 edits in trunk/Source/WebCore
Simplify the HTMLConverter interface (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=130654
Reviewed by Dan Bernstein.
Convert WebHTMLConverter's interface to only use class methods as the first
step of simplifying the interface.
- editing/ios/EditorIOS.mm:
(WebCore::attributedStringForRange):
- editing/mac/EditorMac.mm:
(WebCore::attributedStringForRange):
- platform/mac/HTMLConverter.h:
- platform/mac/HTMLConverter.mm:
(+[WebHTMLConverter attributedStringFromRange:]):
- 11:56 AM Changeset in webkit [166142] by
-
- 4 edits2 adds in trunk/Source/JavaScriptCore
Gotta grow the locals vectors if we are about to do SetLocals beyond the bytecode's numCalleeRegisters
https://bugs.webkit.org/show_bug.cgi?id=130650
<rdar://problem/16122966>
Reviewed by Michael Saboff.
Previously, it was only in the case of inlining that we would do SetLocal's beyond the
previously established numLocals limit. But then we added generalized op_call_varargs
handling, which results in us emitting SetLocals that didn't previously exist in the
bytecode.
This factors out the inliner's ensureLocals loop and calls it from op_call_varargs.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::ensureLocals):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parse):
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub): Make this do alignment correctly.
- runtime/Options.h:
- tests/stress/call-varargs-from-inlined-code.js: Added.
- tests/stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js: Added.
- 10:32 AM Changeset in webkit [166141] by
-
- 10 edits in trunk
Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls.
https://bugs.webkit.org/show_bug.cgi?id=130635
Patch by James Craig <jcraig@apple.com> on 2014-03-23
Reviewed by Timothy Hatcher.
Support for @aria-owns, @aria-controls, and @aria-flowto.
Source/WebCore:
Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
- inspector/protocol/DOM.json:
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/DOMNode.js:
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
LayoutTests:
- inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
- inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
- 9:12 AM Changeset in webkit [166140] by
-
- 2 edits in trunk/Source/WebKit2
WebKit::resistanceForDelta() truncates 'scaleDistance' to integer value using abs()
<http://webkit.org/b/130651>
Reviewed by Darin Adler.
Fixes the following build failure with trunk clang:
WebKit2/UIProcess/mac/ViewGestureControllerMac.mm:112:28: error: using integer absolute value function 'abs' when argument is of floating point type [-Werror,-Wabsolute-value]
double scaleDistance = abs(limit - currentScale);
WebKit2/UIProcess/mac/ViewGestureControllerMac.mm:112:28: note: use function 'fabs' instead
double scaleDistance = abs(limit - currentScale);
fabs
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::resistanceForDelta): Use fabs() instead of abs().
- 8:36 AM Changeset in webkit [166139] by
-
- 2 edits in trunk/Source
Clean up #includes by geometry classes
https://bugs.webkit.org/show_bug.cgi?id=130645
Reviewed by Andreas Kling.
Pulling in <wtf/Vector.h> and <wtf/PrintStream.h> in the simple geometry
classes brings in a lot of additional headers. Fix by adding a new
GeometryUtilities file so that the basic files don't need Vector,
and including GeometryUtilities.h where necessary.
Also forward declare PrintStream.h and only bring in the header
in implementation files.
Source/WebCore:
- CMakeLists.txt:
- GNUmakefile.list.am:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSToStyleMap.h:
- html/HTMLCanvasElement.cpp:
- platform/cairo/WidgetBackingStoreCairo.h:
- platform/graphics/FloatPoint.cpp:
- platform/graphics/FloatPoint.h:
- platform/graphics/FloatRect.cpp:
- platform/graphics/FloatRect.h:
- platform/graphics/FloatSize.cpp:
- platform/graphics/FloatSize.h:
- platform/graphics/GeometryUtilities.cpp: Added.
(WebCore::findSlope):
(WebCore::findIntersection):
(WebCore::unionRect):
(WebCore::mapRect):
- platform/graphics/GeometryUtilities.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.h.
- platform/graphics/IntPoint.h:
- platform/graphics/IntRect.cpp:
- platform/graphics/IntRect.h:
- platform/graphics/IntSize.h:
- platform/graphics/TextTrackRepresentation.h:
- platform/graphics/Tile.h:
- platform/graphics/texmap/coordinated/UpdateAtlas.h:
- platform/gtk/WidgetBackingStoreGtkX11.h:
- rendering/RenderBoxModelObject.cpp:
- rendering/RenderImage.cpp:
- rendering/RenderObject.cpp:
Source/WebKit2:
- Shared/UpdateInfo.h:
- UIProcess/BackingStore.h:
- UIProcess/CoordinatedGraphics/PageViewportController.h:
- UIProcess/FindIndicator.cpp:
- UIProcess/mac/WKPrintingView.h:
- 1:36 AM Changeset in webkit [166138] by
-
- 32 edits1 copy1 add in trunk/Source
Clean up #includes by geometry classes
https://bugs.webkit.org/show_bug.cgi?id=130645
Reviewed by Andreas Kling.
Pulling in <wtf/Vector.h> and <wtf/PrintStream.h> in the simple geometry
classes brings in a lot of additional headers. Fix by adding a new
GeometryUtilities file so that the basic files don't need Vector,
and including GeometryUtilities.h where necessary.
Also forward declare PrintStream.h and only bring in the header
in implementation files.
Source/WebCore:
- CMakeLists.txt:
- GNUmakefile.list.am:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSToStyleMap.h:
- html/HTMLCanvasElement.cpp:
- platform/cairo/WidgetBackingStoreCairo.h:
- platform/graphics/FloatPoint.cpp:
- platform/graphics/FloatPoint.h:
- platform/graphics/FloatRect.cpp:
- platform/graphics/FloatRect.h:
- platform/graphics/FloatSize.cpp:
- platform/graphics/FloatSize.h:
- platform/graphics/GeometryUtilities.cpp: Added.
(WebCore::findSlope):
(WebCore::findIntersection):
(WebCore::unionRect):
(WebCore::mapRect):
- platform/graphics/GeometryUtilities.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.h.
- platform/graphics/IntPoint.h:
- platform/graphics/IntRect.cpp:
- platform/graphics/IntRect.h:
- platform/graphics/IntSize.h:
- platform/graphics/TextTrackRepresentation.h:
- platform/graphics/Tile.h:
- platform/gtk/WidgetBackingStoreGtkX11.h:
- rendering/RenderBoxModelObject.cpp:
- rendering/RenderImage.cpp:
- rendering/RenderObject.cpp:
Source/WebKit2:
- UIProcess/BackingStore.h:
- UIProcess/FindIndicator.cpp:
- UIProcess/mac/WKPrintingView.h:
Mar 22, 2014:
- 10:40 PM Changeset in webkit [166137] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, adjust sizes for ARM64.
- ftl/FTLInlineCacheSize.cpp:
(JSC::FTL::sizeOfCall):
- 9:36 PM Changeset in webkit [166136] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
Protect the silent spiller/filler's desire to fill Int32Constants by making sure that we don't mark something as having a Int32 register format if it's a non-Int32 constant
https://bugs.webkit.org/show_bug.cgi?id=130649
<rdar://problem/16399949>
Reviewed by Andreas Kling.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
- tests/stress/fuzz-bug-16399949.js: Added.
(tryItOut.f):
(tryItOut):
- 9:34 PM Changeset in webkit [166135] by
-
- 28 edits1 add in trunk/Source/JavaScriptCore
Call linking slow paths should be passed a CallLinkInfo* directly so that you can create a call IC without adding it to any CodeBlocks
https://bugs.webkit.org/show_bug.cgi?id=130644
Reviewed by Andreas Kling.
This is conceptually a really simple change but it involves the following:
- The inline part of the call IC stuffs a pointer to the CallLinkInfo into regT2.
- CodeBlock uses a Bag of CallLinkInfos instead of a Vector.
- Remove the significance of a CallLinkInfo's index. This means that DFG::JITCode no longer has a vector of slow path counts that shadows the CallLinkInfo vector.
- Make CallLinkInfo have its own slowPathCount, which counts actual slow path executions and not all relinking.
This makes planting JS->JS calls inside other inline caches or stubs a lot easier, since
the CallLinkInfo and the call IC slow paths no longer rely on the call being associated
with a op_call/op_construct instruction and a machine code return PC within such an
instruction.
- bytecode/CallLinkInfo.h:
(JSC::getCallLinkInfoCodeOrigin):
- bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeDFGStatuses):
- bytecode/CallLinkStatus.h:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::getCallLinkInfoMap):
(JSC::CodeBlock::getCallLinkInfoForBytecodeIndex):
(JSC::CodeBlock::addCallLinkInfo):
(JSC::CodeBlock::unlinkCalls):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::stubInfoBegin):
(JSC::CodeBlock::stubInfoEnd):
(JSC::CodeBlock::callLinkInfosBegin):
(JSC::CodeBlock::callLinkInfosEnd):
(JSC::CodeBlock::byValInfo):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
- dfg/DFGJITCode.h:
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
- dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addJSCall):
(JSC::DFG::JITCompiler::JSCallRecord::JSCallRecord):
- dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::reifyInlinedCallFrames):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
- ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
- ftl/FTLInlineCacheSize.cpp:
(JSC::FTL::sizeOfCall):
- ftl/FTLJSCall.cpp:
(JSC::FTL::JSCall::JSCall):
(JSC::FTL::JSCall::emit):
(JSC::FTL::JSCall::link):
- ftl/FTLJSCall.h:
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
- jit/JIT.h:
- jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
- jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
(JSC::operationLinkFor):
(JSC::operationVirtualFor):
(JSC::operationLinkClosureCallFor):
- jit/Repatch.cpp:
(JSC::linkClosureCall):
- jit/ThunkGenerators.cpp:
(JSC::slowPathFor):
(JSC::virtualForThunkGenerator):
- tests/stress/eval-that-is-not-eval.js: Added.
- 7:43 PM Changeset in webkit [166134] by
-
- 14 edits in trunk
Replace deprecatedIsCollapsibleWhitespace with RenderStyle::isCollapsibleWhiteSpace in TextIterator.
https://bugs.webkit.org/show_bug.cgi?id=130612.
Patch by Chang Shu <cshu@webkit.org> on 2014-03-22
Reviewed by Darin Adler.
Source/WebCore:
Some layout tests are affected by this change but the new behavior should be correct.
- editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
LayoutTests:
- accessibility/table-scope-expected.txt:
- editing/deleting/delete-block-table-expected.txt:
- editing/pasteboard/paste-into-anchor-text-expected.txt:
- fast/dom/Element/offsetTop-table-cell-expected.txt:
- fast/html/object-border-expected.txt:
- fast/table/cell-in-row-before-misnested-text-crash-css-expected.txt:
- fast/table/cell-in-row-before-misnested-text-crash-expected.txt:
- fast/tokenizer/script_extra_close-expected.txt:
- fast/xsl/mozilla-tests-expected.txt:
- platform/mac/accessibility/aria-grid-with-strange-hierarchy-expected.txt:
- platform/mac/accessibility/table-multi-bodies-expected.txt:
- 6:30 PM Changeset in webkit [166133] by
-
- 1 edit1 move in trunk/Source/JavaScriptCore
Unreviewed, fix mispelled test name.
- tests/stress/constand-folding-osr-exit.js: Removed.
- tests/stress/constant-folding-osr-exit.js: Copied from Source/JavaScriptCore/tests/stress/constand-folding-osr-exit.js.
- 6:20 PM Changeset in webkit [166132] by
-
- 2 edits in trunk/Source/WebCore
Switch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
https://bugs.webkit.org/show_bug.cgi?id=130639
Reviewed by Darin Adler.
This is a ~15% speedup on PerformanceTests/Interactive/CopyAll.html.
- Removes gratuitous lookup of CSS properties that are known at compile time.
- Removes attempted use of non-supported CSS properties (font-effect and horizontal-align) that will alway yield the same results.
- Fix some obvious typos where the author thought they were testing for fontKerning or fontLigatures but instead used the non-existent font-effect.
- platform/mac/HTMLConverter.mm:
(HTMLConverterCaches::computedStylePropertyForElement):
(HTMLConverterCaches::inlineStylePropertyForElement):
(HTMLConverterCaches::propertyValueForNode):
(-[WebHTMLConverter _stringForNode:property:]):
(HTMLConverterCaches::floatPropertyValueForNode):
(-[WebHTMLConverter _getFloat:forNode:property:]):
(HTMLConverterCaches::isBlockElement):
(HTMLConverterCaches::elementHasOwnBackgroundColor):
(HTMLConverterCaches::colorPropertyValueForNode):
(-[WebHTMLConverter _colorForNode:property:]):
(-[WebHTMLConverter _computedAttributesForElement:]):
(-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
(-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
(-[WebHTMLConverter _addTableForElement:]):
(-[WebHTMLConverter _addTableCellForElement:]):
(-[WebHTMLConverter _processElement:tag:display:depth:]):
(-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
(-[WebHTMLConverter _processText:]):
(-[WebHTMLConverter _traverseNode:depth:embedded:]):
- 6:03 PM Changeset in webkit [166131] by
-
- 2 edits in trunk/Source/WebCore
Fix debug build.
- bindings/js/JSDOMBinding.h:
(WebCore::createWrapper):
- 6:01 PM Changeset in webkit [166130] by
-
- 2 edits in trunk/Source/WebCore
Add *final* keyword to NavigatorContentUtils class
https://bugs.webkit.org/show_bug.cgi?id=130636
Reviewed by Darin Adler.
NavigatorContentUtils won't be used as a base class. So, added final keyword.
No new tests, no behavior changes.
- Modules/navigatorcontentutils/NavigatorContentUtils.h:
- 5:38 PM Changeset in webkit [166129] by
-
- 1 edit in trunk/WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme
Revert accidental changes to WebKit.xcworkspace
- 5:35 PM Changeset in webkit [166128] by
-
- 49 edits in trunk
CREATE_DOM_WRAPPER doesn't need the ExecState.
<https://webkit.org/b/130648>
Source/JavaScriptCore:
Add a fast path from JSGlobalObject to the VM so we don't have
to dance via the Heap.
Reviewed by Darin Adler.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::vm):
Source/WebCore:
Remove the ExecState parameter from CREATE_DOM_WRAPPER and get all
that we need from the global object instead.
toJS() and toJSNewlyCreated() still take an ExecState, that needs
to be dealt with separately since some of them have scary looking
currentWorld() checks.
Reviewed by Darin Adler.
- bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContextConstructor::constructJSAudioContext):
- bindings/js/JSBlobCustom.cpp:
(WebCore::toJS):
(WebCore::JSBlobConstructor::constructJSBlob):
- bindings/js/JSCDATASectionCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
- bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJS):
- bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::toJS):
- bindings/js/JSDOMBinding.h:
(WebCore::createWrapper):
(WebCore::wrap):
(WebCore::createNewWrapper):
- bindings/js/JSDocumentCustom.cpp:
(WebCore::toJS):
- bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
- bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::toJS):
- bindings/js/JSHTMLTemplateElementCustom.cpp:
(WebCore::JSHTMLTemplateElement::content):
- bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
- bindings/js/JSImageDataCustom.cpp:
(WebCore::toJS):
- bindings/js/JSMediaStreamCapabilitiesCustom.cpp:
(WebCore::toJS):
- bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
- bindings/js/JSPerformanceEntryCustom.cpp:
(WebCore::toJS):
- bindings/js/JSRTCIceCandidateCustom.cpp:
(WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):
- bindings/js/JSRTCPeerConnectionCustom.cpp:
(WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):
- bindings/js/JSRTCSessionDescriptionCustom.cpp:
(WebCore::JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription):
- bindings/js/JSSVGPathSegCustom.cpp:
(WebCore::toJS):
- bindings/js/JSStyleSheetCustom.cpp:
(WebCore::toJS):
- bindings/js/JSTextCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::toJS):
- bindings/js/JSTouchCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSTouchListCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSTrackCustom.cpp:
(WebCore::toJS):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- dom/make_names.pl:
(printWrapperFunctions):
(printWrapperFactoryCppFile):
(printWrapperFactoryHeaderFile):
- 4:18 PM Changeset in webkit [166127] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix FTL build.
- ftl/FTLJITFinalizer.cpp:
- 4:06 PM Changeset in webkit [166126] by
-
- 13 edits3 adds in trunk
toThis() on a JSWorkerGlobalScope should return a JSProxy and not undefined
https://bugs.webkit.org/show_bug.cgi?id=130554
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
Did some cleanup as well. Moved the setting of the thisObject in a JSGlobalObject to
happen in finishCreation() so that it will also happen for other derived classes including
JSWorkerGlobalScopeBase.
- API/JSContextRef.cpp:
(JSGlobalContextCreateInGroup):
- jsc.cpp:
(GlobalObject::create):
- API/tests/testapi.c:
(globalObject_initialize): Eliminated ASSERT that the global object we are creating matches
the result from JSContextGetGlobalObject() as that will return the proxy.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Removed thisValue parameter and the call to setGlobalThis() since
we now call setGlobalThis in finishCreation().
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::setGlobalThis): Made this a private method.
Source/WebCore:
Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
Added cast from JSProxy->target() if the jsCast<>() to the native object fails
in toJSDedicatedWorkerGlobalScope() and toJSSharedWorkerGlobalScope().
The original cast is needed for access to the local side of the worker, while the JSProxy
cast is used on the remote side of a worker.
Test: fast/workers/worker-strict.html
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::toJSDedicatedWorkerGlobalScope):
(WebCore::toJSSharedWorkerGlobalScope):
- bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate): Changed to pass in the JSProxy and not
the WorkerGlobalScope object as the this object to script evaluation.
- workers/DedicatedWorkerGlobalScope.idl:
- workers/SharedWorkerGlobalScope.idl:
- workers/WorkerGlobalScope.idl:
Added the new CustomProxyToJSObject attribute so we'll call to<{nativeClass}>() for
getting the object to use for global evaluation.
LayoutTests:
Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
New regressions tests.
- fast/workers/resources/worker-strict.js: Added.
- fast/workers/worker-strict-expected.txt: Added.
- fast/workers/worker-strict.html: Added.
- 1:57 PM Changeset in webkit [166125] by
-
- 3 edits in trunk/Source/JavaScriptCore
Fix debug build.
- bytecode/CodeBlock.cpp:
- runtime/Executable.cpp:
- 1:02 PM Changeset in webkit [166124] by
-
- 9 edits in trunk/Source/WebCore
Some #include hygiene in Node/Element etc
https://bugs.webkit.org/show_bug.cgi?id=130642
Reviewed by Geoffrey Garen.
Clean up various #includes.
- accessibility/AccessibilityObject.h:
- bindings/js/WebCoreTypedArrayController.h:
- dom/Element.h:
- dom/EventListenerMap.h:
- dom/EventTarget.h:
- dom/Node.h:
- rendering/RenderObject.h:
- rendering/svg/RenderSVGRoot.h:
- 12:42 PM Changeset in webkit [166123] by
-
- 2 edits in trunk/Source/WebCore
FloatRect.h on iOS should not suck in a system header
https://bugs.webkit.org/show_bug.cgi?id=130641
Reviewed by Geoff Garen.
Don't pull in <CoreGraphics/CGGeometry.h> from FloatRect.h.
- platform/graphics/FloatRect.h:
- 12:19 PM Changeset in webkit [166122] by
-
- 2 edits in trunk/Source/WebCore
Fixed the iOS build.
Reviewed by Darin Adler.
- page/ios/FrameIOS.mm:
(WebCore::Frame::interpretationsForCurrentRoot):
- 11:56 AM Changeset in webkit [166121] by
-
- 8 edits1 add in trunk/Source
Cut down on JSC profiler includes in WebCore & co.
<https://webkit.org/b/130637>
Most of WebKit was pulling in JSC's profiler headers via VM.h.
Reviewed by Darin Adler.
- dfg/DFGDisassembler.cpp:
- dfg/DFGDisassembler.h:
- dfg/DFGJITFinalizer.cpp:
- jsc.cpp:
- runtime/VM.cpp:
- runtime/VM.h:
- 11:52 AM Changeset in webkit [166120] by
-
- 41 edits in trunk/Source
Remove String::deprecatedCharacters
https://bugs.webkit.org/show_bug.cgi?id=126854
Reviewed by Sam Weinig.
Source/WebCore:
- bindings/scripts/StaticString.pm:
(GenerateStrings): Remove the code to generate the null m_copyData16 pointer.
- editing/TextIterator.cpp:
(WebCore::SearchBuffer::prependContext): Changed to use the new append function in
StringView.h and removed the one defined locally here.
- editing/VisibleUnits.cpp:
(WebCore::wordBreakIteratorForMinOffsetBoundary): Use the new append function
in StringView.h instead of using deprecatedCharacters.
(WebCore::wordBreakIteratorForMaxOffsetBoundary): Ditto.
Removed an append function defined locally here and use the one in StringView.h.
- editing/htmlediting.cpp:
(WebCore::stringWithRebalancedWhitespace): Use StringView::getCharactersWithUpconvert.
- html/parser/HTMLToken.h:
(WebCore::HTMLToken::appendToAttributeValue): Changed to take a StringView instead
of a const String&.
- loader/appcache/ManifestParser.cpp:
(WebCore::parseManifest): Use StringView and StringView::upconvertedCharacters.
- page/EventSource.cpp:
(WebCore::EventSource::didReceiveData): Use the new append overload from StringView.h.
Also added a comment about incorrect use of the decode function.
- page/ios/FrameIOS.mm:
(WebCore::Frame::interpretationsForCurrentRoot): Use the new StringView append function.
Also use simpler new-style for loops.
- platform/LinkHash.cpp:
(WebCore::visitedURLInline): Use the new append function and StringView::substring.
(WebCore::visitedLinkHash): Use upconvertedCharacters for the non-8-bit case.
- platform/URL.cpp:
(WebCore::findFirstOf): Chagned to take a StringView.
(WebCore::containsOnlyASCII): Added. Works on StringView. Could move to a WTF header in
the future if it's needed elsewhere.
(WebCore::protocolIs): Added. Works on StringView. Could put in URL.h if needed elsewhere,
or consider replacing the one that takes const String& with just this one.
(WebCore::appendEncodedHostname): Changed to take a StringView and use
StringView::upconvertedCharacters.
(WebCore::findHostnamesInMailToURL): Changed to take a StringView.
(WebCore::findHostnameInHierarchicalURL): Ditto.
(WebCore::encodeHostnames): Ditto.
(WebCore::encodeRelativeString): Ditto.
- platform/graphics/StringTruncator.cpp:
(WebCore::StringTruncator::width): Use StringView::upconvertedCharacters.
- platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::setFontFeatures): Use indexing directly on the string instead
of on a UChar*.
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use StringView::upconvertedCharacters.
- platform/text/TextCodecICU.cpp:
(WebCore::TextCodecICU::encode): Use a Vector<UChar> rather than a String to copy and
replace the backslashes with yen signs. Also optimize case where there are no backslashes.
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint): Use TextRun::setText(StringView).
- rendering/RenderText.cpp:
(WebCore::maxWordFragmentWidth): Pass a String to RenderBlock::constructTextRun instead of
calling StringBuilder::deprecatedCharacters.
- rendering/RenderText.h: Removed deprecatedCharacters function.
- rendering/line/BreakingContextInlineHeaders.h: Added now-needed header include.
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::constructTextRun): Use StringView version of TextRun constructor.
- rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::SVGTextMetrics): Take references instead of pointers.
(WebCore::SVGTextMetrics::constructTextRun): Take references instead of pointers, and don't
take a character pointer any more. Instead, extract the text and use the StringView version of
the TextRun constructor.
(WebCore::SVGTextMetrics::measureCharacterRange): Take references instead of pointers and
update for above changes.
- rendering/svg/SVGTextMetrics.h: Updated for changes above. Also tweaked style a bit.
- rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::advanceSimpleText): Updated for SVGTextMetrics changes.
(WebCore::SVGTextMetricsBuilder::advanceComplexText): Ditto.
(WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer): Ditto.
(WebCore::SVGTextMetricsBuilder::measureTextRenderer): Change code to store a character
for lastCharacter rather than storing a pointer to a character. Stop using TextRun::data16.
- rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::subStringLengthCallback): Updated for SVGTextMetrics changes.
(WebCore::SVGTextQuery::startPositionOfCharacterCallback): Ditto.
(WebCore::SVGTextQuery::endPositionOfCharacterCallback): Ditto.
(WebCore::calculateGlyphBoundaries): Ditto.
- xml/XPathFunctions.cpp:
(WebCore::XPath::atomicSubstring): Added.
(WebCore::XPath::FunId::evaluate): Tweaked a bit to use a new style for loop.
Use the atomicSubstring function to avoid making a temporary String just to make an AtomicString.
That function also uses characters8/16 rather than depreccatedCharacters.
- xml/XPathNodeSet.h: Added begin and end so this collection can be iterated with new style for loop.
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doWrite): Use StringView::upconvertedCharacters.
(WebCore::parseAttributes): Ditto.
Source/WebKit:
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Removed getData16SlowCase.
Source/WebKit/ios:
- Misc/WebNSStringDrawing.h: Added a FIXME about deleting this file; we can probably do it soon.
- Misc/WebNSStringDrawing.mm:
(+[NSString _web_setWordRoundingEnabled:]):
(+[NSString _web_wordRoundingEnabled]):
(+[NSString _web_setWordRoundingAllowed:]):
(+[NSString _web_wordRoundingAllowed]):
(+[NSString _web_setAscentRoundingEnabled:]):
(+[NSString _web_ascentRoundingEnabled]):
(-[NSString _web_drawAtPoint:withFont:]):
(-[NSString _web_sizeWithFont:]):
(-[NSString _web_sizeWithFont:forWidth:ellipsis:]):
(-[NSString _web_sizeWithFont:forWidth:ellipsis:letterSpacing:]):
(-[NSString _web_sizeWithFont:forWidth:ellipsis:letterSpacing:resultRange:]):
(-[NSString _web_drawAtPoint:forWidth:withFont:ellipsis:]):
(-[NSString _web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:]):
(-[NSString _web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:includeEmoji:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:includeEmoji:truncationRect:measureOnly:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:includeEmoji:truncationRect:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:]):
(-[NSString _web_sizeInRect:withFont:ellipsis:lineSpacing:]):
(-[NSString _web_sizeInRect:withFont:ellipsis:]):
(-[NSString _web_stringForWidth:withFont:ellipsis:letterSpacing:includeEmoji:]):
(-[NSString _web_sizeForWidth:withAttributes:]):
(-[NSString _web_drawAtPoint:forWidth:withAttributes:]):
(-[NSString _web_sizeInRect:withAttributes:]):
(-[NSString _web_drawInRect:withAttributes:]):
Emptied out all these functions since callers aren't really using them any more.
Source/WebKit/win:
- WebKitStatistics.cpp:
(WebKitStatistics::comClassNameCounts): Update to not use Vector::append(String).
Source/WTF:
- wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::reifyString): Removed code to update 16-bit shadow.
- wtf/text/StringBuilder.h: Removed deprecatedCharacters.
(WTF::StringBuilder::StringBuilder): Removed m_valid16BitShadowLength.
(WTF::StringBuilder::clear): Removed code to clear m_valid16BitShadowLength.
(WTF::StringBuilder::swap): Removed code to swap m_valid16BitShadowLength.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl): Removed code to free m_copyData16.
(WTF::StringImpl::upper): Use StringView::upconvertedCharacters for slow case.
(WTF::StringImpl::lower): Ditto.
(WTF::StringImpl::find): Use characters8/16 rather than deprecatedCharacters.
Added an 8-bit code path to one of the overloads. Might want to revisit later
to decide whether to use templates instead of copy/paste, or even use StringView
to cut down on duplicate code paths.
(WTF::StringImpl::findIgnoringCase): Ditto.
(WTF::StringImpl::sizeInBytes): Remove code to handle has16BitShadow case.
(WTF::equalIgnoringNullity): Added. To be called by the Vector template in the header.
- wtf/text/StringImpl.h: Removed deprecatedCharacters, has16BitShadow,
upconvertCharacters, getData16SlowCase, s_hashFlagHas16BitShadow, and m_copyData16.
(WTF::equalIgnoringNullity): Changed the template function into an inline that calls
a non-inline helper function. The non-inline function handles both 8-bit and 16-bit
strings.
- wtf/text/StringView.h:
(WTF::StringView::StringView): Added an overload so we can make one of these directly
from a StringImpl without first wrapping it in a string. Added an adapter so we can
use StringView as part of string concatenation. Added an append function so we can
append to a Vector<UChar>.
- wtf/text/WTFString.cpp:
(WTF::String::append): Use StringView::getCharactersWithUpconvert. Also changed
single-character append so it won't always turn an 8-bit string into a 16-bit one.
(WTF::String::insert): Removed one insert overload and changed the other to use
StringView::getCharactersWithUpconvert.
(WTF::String::truncate): Changed to use StringImpl::substring.
(WTF::String::percentage): Added characters8/16 paths instead of using
deprecatedCharacters.
- wtf/text/WTFString.h: Removed deprecatedCharacters, getCharactersWithUpconvert,
insert(UChar*, unsigned, unsigned), and the append overload for Vector<UChar>.
- 11:31 AM Changeset in webkit [166119] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r166118.
https://bugs.webkit.org/show_bug.cgi?id=130640
Crashing things (Requested by weinig on #webkit).
Reverted changeset:
"Switch HTMLConverter to use CSSPropertyIDs to refer to CSS
properties"
https://bugs.webkit.org/show_bug.cgi?id=130639
http://trac.webkit.org/changeset/166118
- 11:01 AM Changeset in webkit [166118] by
-
- 2 edits in trunk/Source/WebCore
Switch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
https://bugs.webkit.org/show_bug.cgi?id=130639
Reviewed by Simon Fraser.
This is a ~15% speedup on PerformanceTests/Interactive/CopyAll.html.
- Removes gratuitous lookup of CSS properties that are known at compile time.
- Removes attempted use of non-supported CSS properties (font-effect and horizontal-align) that will alway yield the same results.
- Fix some obvious typos where the author thought they were testing for fontKerning or fontLigatures but instead used the non-existent font-effect.
- platform/mac/HTMLConverter.mm:
(HTMLConverterCaches::computedStylePropertyForElement):
(HTMLConverterCaches::inlineStylePropertyForElement):
(HTMLConverterCaches::propertyValueForNode):
(-[WebHTMLConverter _stringForNode:property:]):
(HTMLConverterCaches::floatPropertyValueForNode):
(-[WebHTMLConverter _getFloat:forNode:property:]):
(HTMLConverterCaches::isBlockElement):
(HTMLConverterCaches::elementHasOwnBackgroundColor):
(HTMLConverterCaches::colorPropertyValueForNode):
(-[WebHTMLConverter _colorForNode:property:]):
(-[WebHTMLConverter _computedAttributesForElement:]):
(-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
(-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
(-[WebHTMLConverter _addTableForElement:]):
(-[WebHTMLConverter _addTableCellForElement:]):
(-[WebHTMLConverter _processElement:tag:display:depth:]):
(-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
(-[WebHTMLConverter _processText:]):
(-[WebHTMLConverter _traverseNode:depth:embedded:]):
- 10:52 AM Changeset in webkit [166117] by
-
- 9 edits in trunk
Source/WebCore: Don't flush compositing layers within FrameView::willPaintContents()
https://bugs.webkit.org/show_bug.cgi?id=130627
<rdar://problem/16368869>
Reviewed by Sam Weinig.
Remove the call to flushCompositingStateForThisFrame() here. We should
have always flushed before painting via other mechanisms in WebKit2 and WebKit2.
Flushing during painting is actually harmful, since we could be inside
a CA commit already, and creating or destroying layers via flushing is bad.
- page/FrameView.cpp:
(WebCore::FrameView::willPaintContents):
Source/WebKit/mac: Don't flush compositing layers within FrameView::willPaintContents()
https://bugs.webkit.org/show_bug.cgi?id=130627
Reviewed by Sam Weinig.
Make _flushCompositingChanges private so DRT can call it;
moved it into the Private category.
- WebView/WebView.mm:
(-[WebView _flushCompositingChanges]):
- WebView/WebViewPrivate.h:
Tools: Don't flush compositing layers within FrameView::willPaintContents()
https://bugs.webkit.org/show_bug.cgi?id=130627
<rdar://problem/16368869>
Reviewed by Sam Weinig.
Fix DRT to correctly render tests with layers now that FrameView::paintContents
does not flush.
Move the -[WebView displayIfNeeded] from -[FrameLoadDelegate webView:didFinishLoadForFrame:]
into an explicit function called before dumping.
Then explicitly call _flushCompositingChanges to ensure that GraphicsLayer changes
are flushed to CA. They will be pushed to the window by snapshotting.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
Fix weird path to IOKit.framework.
- DumpRenderTree/mac/DumpRenderTree.mm:
(updateDisplay):
(dump):
- DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]): Fix parameter name.
(-[FrameLoadDelegate webView:didFinishLoadForFrame:]): Remove display call.
- 10:51 AM Changeset in webkit [166116] by
-
- 2 edits in trunk/Source/WebKit/mac
Remove duplicate line added during merging
https://bugs.webkit.org/show_bug.cgi?id=130623
Reviewed by Beth Dakin.
Remove a duplicate call to -_viewWillDrawInternal which
was added during merges.
- WebView/WebView.mm:
(LayerFlushController::flushLayers):
- 9:50 AM Changeset in webkit [166115] by
-
- 2 edits in trunk/Source/WebKit2
Assertions in WebPage::rangeFromEditingRange when requested range location is NSNotFound
https://bugs.webkit.org/show_bug.cgi?id=130633
<rdar://problem/16397583>
Reviewed by Darin Adler.
- UIProcess/API/mac/WKView.mm:
(-[WKView firstRectForCharacterRange:completionHandler:]):
(-[WKView firstRectForCharacterRange:actualRange:]):
Return NSZeroRect, like NSTextView does for any locations that are out of bounds.
There is no need for a round trip to WebProcess in this case.
- 8:16 AM Changeset in webkit [166114] by
-
- 3 edits2 adds in trunk
ASSERTION FAILED: std::isfinite(num) in WebCore::CSSPrimitiveValue::CSSPrimitiveValue
https://bugs.webkit.org/show_bug.cgi?id=127361
Source/WebCore:
Huge numbers represented by the 'INF' value can not be used
in CSS rules, so they make the assert fail. We have to make
sure that the parsed property value is finite, otherwise
the property will be dropped.
Test: fast/css/infinite-floating-value.html
Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-03-22
- css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createValue):
LayoutTests:
Added test shows that CSS rules containing huge numbers
(which are transformed into 'INF' values after parsing)
are dropped.
Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-03-22
Reviewed by Darin Adler.
- fast/css/infinite-floating-value-expected.txt: Added.
- fast/css/infinite-floating-value.html: Added.
- 7:31 AM Changeset in webkit [166113] by
-
- 2 edits in trunk/Source/JavaScriptCore
Use pthread_stackseg_np() to find the stack bounds on OpenBSD.
https://bugs.webkit.org/show_bug.cgi?id=129965
Reviewed By Anders Carlsson.
Patch by Landry Breuil <landry@openbsd.org> on 2014-03-22
- 12:36 AM Changeset in webkit [166112] by
-
- 2 edits in branches/safari-537.75-branch/Source/WebCore
Finish merge of r160065.
Mar 21, 2014:
- 8:41 PM Changeset in webkit [166111] by
-
- 2 edits in trunk/Source/WebCore
Remove redundant friending from class Image.
https://bugs.webkit.org/show_bug.cgi?id=130628
Reviewed by Simon Fraser.
Those friend classes are subclasses. No need to make them friend of their parent class.
No change in functionality.
- platform/graphics/Image.h:
- 7:40 PM Changeset in webkit [166110] by
-
- 11 edits in trunk/Source
[iOS][WK2] Reduce the tiling coverage to the current rect and 1 tile size ahead
https://bugs.webkit.org/show_bug.cgi?id=130555
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-21
Reviewed by Simon Fraser.
Source/WebCore:
- WebCore.exp.in:
- platform/ScrollView.h:
- platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::computeTileCoverageRect):
- platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::setScrollVelocityInformation):
(WebCore::ScrollView::computeCoverageRect):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
Source/WebKit2:
- Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
- Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::operator==):
- UIProcess/ios/WKContentView.mm:
(WebKit::HistoricalKinematicData::HistoricalKinematicData):
(WebKit::HistoricalKinematicData::velocityForNewData):
(WebKit::HistoricalKinematicData::clear):
(WebKit::HistoricalKinematicData::append):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
- WebProcess/WebPage/ViewUpdateDispatcher.cpp:
(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
- 6:02 PM Changeset in webkit [166109] by
-
- 5 edits in branches/safari-537.75-branch/Source
Versioning.
- 5:59 PM Changeset in webkit [166108] by
-
- 1 copy in tags/Safari-537.75.12
New tag.
- 4:48 PM Changeset in webkit [166107] by
-
- 6 edits3 adds in trunk
Crash when BytecodeGenerator::emitJump calls Label::bind on null pointer.
<https://webkit.org/b/124508>
Reviewed by Oliver Hunt.
Source/JavaScriptCore:
The issue is that BreakNode::emitBytecode() is holding onto a LabelScope
pointer from the BytecodeGenerator's m_localScopes vector, and then it
calls emitPopScopes(). emitPopScopes() may do finally clause handling
which will require the m_localScopes to be cloned so that it can change
the local scopes for the finally block, and then restore it after
handling the finally clause. These modifications of the m_localScopes
vector will result in the LabelScope pointer in BreakNode::emitBytecode()
becoming stale, thereby causing the crash.
The same issue applies to the ContinueNode as well.
The fix is to use the existing LabelScopePtr abstraction instead of raw
LabelScope pointers. The LabelScopePtr is resilient to the underlying
vector re-allocating its backing store.
I also changed the LabelScopePtr constructor that takes a LabelScopeStore
to expect a reference to the owner store instead of a pointer because the
owner store should never be a null pointer.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::newLabelScope):
(JSC::BytecodeGenerator::breakTarget):
(JSC::BytecodeGenerator::continueTarget):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/LabelScope.h:
(JSC::LabelScopePtr::LabelScopePtr):
(JSC::LabelScopePtr::operator bool):
(JSC::LabelScopePtr::null):
- bytecompiler/NodesCodegen.cpp:
(JSC::ContinueNode::trivialTarget):
(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::trivialTarget):
(JSC::BreakNode::emitBytecode):
LayoutTests:
- js/regress-124508-expected.txt: Added.
- js/regress-124508.html: Added.
- js/script-tests/regress-124508.js: Added.
(function_0):
- 4:18 PM Changeset in webkit [166106] by
-
- 2 edits in trunk/Source/WebCore
[iOS] clean up fullscreen player controller when exiting fullscreen
https://bugs.webkit.org/show_bug.cgi?id=130621
Reviewed by Jer Noble.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVVideoLayer setBounds:]): Do nothing if _avPlayerController is nil.
(-[WebAVVideoLayer setVideoLayerGravity:]): Ditto.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Set m_playerViewController delegate
and player controller to nil.
- 3:58 PM Changeset in webkit [166105] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r165356): Predictive Chinese input is broken
https://bugs.webkit.org/show_bug.cgi?id=130619
Reviewed by Enrica Casucci.
- UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::executeKeypressCommands):
Like after insertText, we are no longer in an intermediate state after executeKeypressCommands.
Make sure that we don't call -discardMarkedText the next time we get a non-intermediate
state with closed composition.
- 3:45 PM Changeset in webkit [166104] by
-
- 3 edits2 copies in branches/safari-537.75-branch
Merge r166090.
- 3:43 PM Changeset in webkit [166103] by
-
- 10 edits1 copy in trunk/Source/WebKit2
[WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130528
Reviewed by Tim Horton.
- Platform/IPC/Connection.h:
- Platform/IPC/mac/ConnectionMac.cpp:
(IPC::Connection::getAuditToken):
Expose the audit data if available.
- NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
- WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
Pass the audit data corresponding to the UIProcess.
- Configurations/Network-iOS.entitlements: Copied from Configurations/WebContent-iOS.entitlements.
- Configurations/NetworkProcess.xcconfig:
- Configurations/NetworkService.Development.xcconfig:
- Configurations/NetworkService.xcconfig:
- Configurations/WebContent-iOS.entitlements:
Add entitlement allowing the audit data to be used.
- 3:30 PM Changeset in webkit [166102] by
-
- 4 edits in branches/safari-537.75-branch/Source/WebKit2
Merge r166026.
- 3:21 PM Changeset in webkit [166101] by
-
- 3 edits in trunk/Source/WebCore
[iOS] remote command callbacks must happen on the WebThread
https://bugs.webkit.org/show_bug.cgi?id=130618
Reviewed by Jer Noble.
- platform/ios/RemoteCommandListenerIOS.h:
(WebCore::RemoteCommandListenerIOS::createWeakPtr):
- platform/ios/RemoteCommandListenerIOS.mm:
(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS): Dispatch commands to the
main thread before making listener callbacks.
- 3:09 PM Changeset in webkit [166100] by
-
- 11 edits2 adds in trunk
Subpixel rendering: Make <img> positioning subpixel aware.
https://bugs.webkit.org/show_bug.cgi?id=130596
Reviewed by Simon Fraser.
Change <img> positioning from integral to device pixel. It enables us
to paint hairline borders around <img> properly.
This patch changes the behavior of broken image representation from constant 1 CSS px border
to a dynamic 1 device px.
Source/WebCore:
Test: fast/images/hidpi-image-position-on-device-pixels.html
- WebCore.exp.in:
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
- platform/graphics/GraphicsContext.h:
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawRect):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawRect):
- platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::drawRect):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
- rendering/RenderImage.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::drawPlatformResizerImage):
LayoutTests:
- fast/images/hidpi-image-position-on-device-pixels-expected.html: Added.
- fast/images/hidpi-image-position-on-device-pixels.html: Added.
- 2:53 PM Changeset in webkit [166099] by
-
- 2 edits in trunk/Source/JavaScriptCore
6% SunSpider commandline regression due to r165940
https://bugs.webkit.org/show_bug.cgi?id=130617
Reviewed by Michael Saboff.
In GCActivityCallback::didAllocate, lastGCLength() returns 0 if we've never collected
before. Some of the benchmarks are never running a single EdenCollection, which causes
them to repeatedly call scheduleTimer with a newDelay of 0. This defeats our timer
slop heuristic, causing us to invoke CFRunLoopTimerSetNextFireDate a couple orders of
magnitude more than we normally would.
The fix is to seed the last GC lengths in Heap with a non-zero length so that our heuristic works.
- heap/Heap.cpp:
(JSC::Heap::Heap):
- 2:49 PM Changeset in webkit [166098] by
-
- 4 edits in trunk/Source
Always retrieve the screen scale factor from WKSI
<rdar://problem/16329679>
Reviewed by Sam Weinig.
- Misc/WebUIKitSupport.mm:
(WebKitSetIsClassic): Empty this out; it's no longer needed, but will still be called.
- UIProcess/ios/WKContentView.mm:
(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
(-[WKContentView _updateForScreen:]):
Use WKGetScreenScaleFactor/WKGetScaleFactorForScreen.
- 2:26 PM Changeset in webkit [166097] by
-
- 12 edits3 adds in trunk/Source/WebCore
Merge VTTScanner Code from Blink
https://bugs.webkit.org/show_bug.cgi?id=130616
Reviewed by Eric Carlson.
Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/f1ceb058d574a1174b524c57f67350510a942071
http://crbug.com/75273002
https://chromium.googlesource.com/chromium/blink/+/3e2c67969486e86347b328c72c67cacabfe6f4a1
http://crbug.com/134173002
https://chromium.googlesource.com/chromium/blink/+/5962b7bbb001838f3fc7f24817637528b86bfd9b
http://crbug.com/134153002
https://chromium.googlesource.com/chromium/blink/+/6c81f51438013edca920a19fc6a31026fc562af2
http://crbug.com/137033002
https://chromium.googlesource.com/chromium/blink/+/fa286dca17a291da3ae8be80111e2264de6d5cfd
http://crbug.com/140503004
https://chromium.googlesource.com/chromium/blink/+/8f33b63aabcce7dd21dd15288d45c4eb37c02001
http://crbug.com/139343006
https://chromium.googlesource.com/chromium/blink/+/1872b54b908fac525f1ad9d6f15174b11e27c8af
http://crbug.com/143983002
https://chromium.googlesource.com/chromium/blink/+/e6494b3359e2077bd8772d86ab1fb709acf4c398
http://crbug.com/144893002
- CMakeLists.txt:
- GNUmakefile.list.am:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- html/track/ParsingUtilities.h: Added.
(skipExactly):
(skipUntil):
(skipWhile):
- html/track/VTTCue.cpp:
(WebCore::VTTCue::markFutureAndPastNodes):
(WebCore::VTTCue::settingName):
(WebCore::scanPercentage):
(WebCore::VTTCue::setCueSettings):
- html/track/VTTCue.h:
- html/track/VTTRegion.cpp:
(WebCore::VTTRegion::setRegionSettings):
(WebCore::VTTRegion::scanSettingName):
(WebCore::parsedEntireRun):
(WebCore::VTTRegion::parseSettingValue):
- html/track/VTTRegion.h:
- html/track/VTTScanner.cpp: Added.
(WebCore::VTTScanner::VTTScanner):
(WebCore::VTTScanner::scan):
(WebCore::VTTScanner::scanRun):
(WebCore::VTTScanner::skipRun):
(WebCore::VTTScanner::extractString):
(WebCore::VTTScanner::restOfInputAsString):
(WebCore::VTTScanner::scanDigits):
(WebCore::VTTScanner::scanFloat):
- html/track/VTTScanner.h: Added.
(WebCore::VTTScanner::Run::Run):
(WebCore::VTTScanner::Run::start):
(WebCore::VTTScanner::Run::end):
(WebCore::VTTScanner::Run::isEmpty):
(WebCore::VTTScanner::isAt):
(WebCore::VTTScanner::isAtEnd):
(WebCore::VTTScanner::match):
(WebCore::VTTScanner::position):
(WebCore::VTTScanner::end):
(WebCore::VTTScanner::LCharPredicateAdapter):
(WebCore::VTTScanner::Run::length):
(WebCore::VTTScanner::scan):
(WebCore::VTTScanner::skipWhile):
(WebCore::VTTScanner::skipUntil):
(WebCore::VTTScanner::collectWhile):
(WebCore::VTTScanner::collectUntil):
(WebCore::VTTScanner::seekTo):
(WebCore::VTTScanner::currentChar):
(WebCore::VTTScanner::advance):
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parseFloatPercentageValue):
(WebCore::WebVTTParser::parseFloatPercentageValuePair):
(WebCore::WebVTTParser::collectTimingsAndSettings):
(WebCore::WebVTTParser::collectTimeStamp):
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):
- html/track/WebVTTParser.h:
- 2:14 PM Changeset in webkit [166096] by
-
- 8 edits1 add2 deletes in trunk/Source/WebKit2
[Webkit2] Add APIDownloadClient for download support.
https://bugs.webkit.org/show_bug.cgi?id=130484
Add API::DownloadClient to WebContext and get rid of WebDownloadClient.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-03-21
Reviewed by Anders Carlsson.
- UIProcess/API/APIDownloadClient.h: Added.
(API::DownloadClient::~DownloadClient):
(API::DownloadClient::didStart):
(API::DownloadClient::didReceiveAuthenticationChallenge):
(API::DownloadClient::didReceiveResponse):
(API::DownloadClient::didReceiveData):
(API::DownloadClient::shouldDecodeSourceDataOfMIMEType):
(API::DownloadClient::decideDestinationWithSuggestedFilename):
(API::DownloadClient::didCreateDestination):
(API::DownloadClient::didFinish):
(API::DownloadClient::didFail):
(API::DownloadClient::didCancel):
(API::DownloadClient::processDidCrash):
- UIProcess/API/C/WKContext.cpp:
(WKContextSetDownloadClient): Move the original WebDownloadClient methods to a local class
DownloadClient and set up the downloadClient for WebContext.
- UIProcess/Downloads/DownloadProxy.cpp:
- UIProcess/WebContext.cpp:
(WebKit::WebContext::setDownloadClient):
- UIProcess/WebContext.h:
(WebKit::WebContext::downloadClient):
- UIProcess/WebDownloadClient.cpp: Removed.
- UIProcess/WebDownloadClient.h: Removed.
- WebKit2.xcodeproj/project.pbxproj:
- 1:23 PM Changeset in webkit [166095] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
Constants folded by DFG::ByteCodeParser should not be dead.
https://bugs.webkit.org/show_bug.cgi?id=130576
Reviewed by Mark Hahnenberg.
This fixes bugs in the ByteCodeParser's constant folder by removing that constant folder. This
reduces the number of folders in JSC from fourish to just threeish (parser, DFG AI, and one
or more folders in LLVM). Doing so has no performance impact since the other constant folders
already subsume this one.
Also added a test case for the specific bug that instigated this.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::getJSConstant):
(JSC::DFG::ByteCodeParser::inferredConstant):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGNode.h:
- dfg/DFGNodeFlags.h:
- tests/stress/constand-folding-osr-exit.js: Added.
(foo):
(test):
(.var):
- 12:56 PM Changeset in webkit [166094] by
-
- 17 edits2 adds in trunk/Source/WebCore
Pseudo type cleanup part 2: split pseudo elements parsing
https://bugs.webkit.org/show_bug.cgi?id=130370
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-21
Reviewed by Andreas Kling.
With this patch, pseudo elements are handled separately. The only thing left in
the old path is compatibility pseudo elements and pseudo classes.
The list of special pseudo elements is now separated and is stored in SelectorPseudoElementTypeMap.in.
The script makeSelectorPseudoElementsMap.py takes that list to make the pseudo elements hash table.
The other pseudo elements are the prefixed ones, they are filtered in CSSSelector::parsePseudoElementType().
All the non-compatibility selectors are removed from SelectorPseudoTypeMap.in. CSSParserSelector::setPseudoTypeValue()
is updated accordingly. The next step will be to clean that part.
- CMakeLists.txt:
- DerivedSources.make:
- GNUmakefile.list.am:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
- css/CSSGrammar.y.in:
- css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoElementSelector):
(WebCore::CSSParserSelector::parsePseudoCueFunctionSelector):
(WebCore::CSSParserSelector::setPseudoTypeValue):
- css/CSSParserValues.h:
- css/CSSSelector.cpp:
(WebCore::CSSSelector::parsePseudoElementType):
- css/CSSSelector.h:
- css/SelectorPseudoElementTypeMap.in: Added.
- css/SelectorPseudoTypeMap.h:
- css/SelectorPseudoTypeMap.in:
- css/html.css:
(q::before):
(q::after):
- css/makeSelectorPseudoElementsMap.py: Added.
(enumerablePseudoType):
(expand_ifdef_condition):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::getMatchedCSSRules):
- 12:40 PM Changeset in webkit [166093] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test fix after r166080.
- media/track/track-webvtt-tc029-timings-whitespace-expected.txt: Forgot to update this!
- 12:24 PM Changeset in webkit [166092] by
-
- 3 edits in trunk/LayoutTests
Unreviewed test fix after r166080.
The cue-timing separator will trigger the creation of a new cue. So this test needs to remove
use of the separator in the cue, so we can read the cue text.
- media/track/captions-webvtt/tc029-timings-whitespace.vtt:
- media/track/track-webvtt-tc029-timings-whitespace.html:
- 12:17 PM Changeset in webkit [166091] by
-
- 17 edits1 add in trunk/Source
Less inclusion of JSCInlines.h.
<https://webkit.org/b/130545>
Stop including JSCInlines.h from JSDOMGlobalObject.h!
Reviewed by Simon Fraser.
- ForwardingHeaders/runtime/IdentifierInlines.h: Added.
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
- bindings/js/JSCommandLineAPIHostCustom.cpp:
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSDOMStringMapCustom.cpp:
- bindings/js/JSHTMLAllCollectionCustom.cpp:
- bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
- bindings/js/JSLazyEventListener.cpp:
- bindings/js/JSSQLResultSetRowListCustom.cpp:
- bindings/js/JSStorageCustom.cpp:
- bindings/js/ScriptGlobalObject.cpp:
- dom/NodeIterator.cpp:
- dom/TreeWalker.cpp:
- testing/Internals.cpp:
- testing/js/WebCoreTestSupport.cpp:
- 12:12 PM Changeset in webkit [166090] by
-
- 3 edits2 adds in trunk
Source/WebCore: Fix a crash when assigning an object to document.location
https://bugs.webkit.org/show_bug.cgi?id=130213
Reviewed by Geoffrey Garen.
Convert location to string before we make use the document.
This prevents us from attempting to navigate a frame that
has already been removed.
Test: fast/dom/navigation-with-sideeffects-crash.html
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::location):
(WebCore::JSDocument::setLocation):
LayoutTests: Fix semantics of JS execution when assigning an object to document.location
https://bugs.webkit.org/show_bug.cgi?id=130213
Reviewed by Geoffrey Garen.
- fast/dom/navigation-with-sideeffects-expected.txt: Added.
- fast/dom/navigation-with-sideeffects.html: Added.
- 12:10 PM Changeset in webkit [166089] by
-
- 3 edits1 copy1 add in trunk/LayoutTests
Refactor css3/filters/huge-region test
https://bugs.webkit.org/show_bug.cgi?id=129553
Reviewed by Dirk Schulze.
This patch refactors the huge-region to become a big enough
element to *not* be rendered. Plus, adds another test using a huge
blur filter kernel size that will trigger clamping the value to
maximum accepted value (500px).
- TestExpectations:
- css3/filters/huge-blur-value-expected.txt: Added.
- css3/filters/huge-blur-value.html: Copied from LayoutTests/css3/filters/huge-region.html.
- css3/filters/huge-region.html:
- 12:08 PM Changeset in webkit [166088] by
-
- 2 edits in trunk/Source/WebCore
Web Replay: replay controller is improperly setting user input bridge state
https://bugs.webkit.org/show_bug.cgi?id=130606
Reviewed by Timothy Hatcher.
The user input bridge was being set based on the old session state,
rather than the new session state.
- replay/ReplayController.cpp:
(WebCore::ReplayController::setSessionState):
- 12:08 PM Changeset in webkit [166087] by
-
- 12 edits in trunk
Web Inspector: AXI: Expose Accessibility Tree children of the selected node
https://bugs.webkit.org/show_bug.cgi?id=130264
Patch by James Craig <jcraig@apple.com> on 2014-03-21
Reviewed by Timothy Hatcher.
Source/WebCore:
Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
Expose the accessibility tree children (different from DOM children) of the
current node in the accessibility node inspector.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
- inspector/InspectorDOMAgent.h:
- inspector/protocol/DOM.json:
Source/WebInspectorUI:
Expose the accessibility tree children (different from DOM children) of the
current node in the accessibility node inspector.
- Localizations/en.lproj/localizedStrings.js: New "Children" string.
- UserInterface/Base/DOMUtilities.js: Added linkifyAccessibilityNodeReference.
- UserInterface/Models/DOMNode.js: Support for accessibility children.
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Support for accessibility children.
- UserInterface/Views/Main.css: New styles for .node-link-list.
LayoutTests:
Updating for support of accessibility tree children.
- inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
- inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
- 12:05 PM Changeset in webkit [166086] by
-
- 2 edits1 move in trunk/LayoutTests
Unreviewed WebKitGtk+ rebaseline.
- platform/gtk-wk1/js/dom/global-constructors-attributes-expected.txt: Renamed from LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt.
- platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:
- 12:04 PM Changeset in webkit [166085] by
-
- 6 edits in trunk/Source
[Win] Compile fixes with video not enabled.
https://bugs.webkit.org/show_bug.cgi?id=130597
Patch by Alex Christensen <achristensen@webkit.org> on 2014-03-21
Reviewed by Darin Adler.
Source/WebCore:
- DerivedSources.make:
Only generate UserAgentScripts.h if needed.
- platform/audio/MediaSession.cpp:
- platform/audio/MediaSessionManager.cpp:
Only compile if video is enabled.
Source/WebKit:
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Only include MediaSessionManager symbols if video is enabled.
- 12:02 PM Changeset in webkit [166084] by
-
- 2 edits in trunk/Source/WebCore
Optimize FEGaussian blur
https://bugs.webkit.org/show_bug.cgi?id=50881
Reviewed by Dirk Schulze.
Currently boxBlur() will calculate the filter for each channel in
a loop and also uses Uint8ClampedArray::set() to write the
resulting pixels into destination array.
Using Uint8ClampedArray::set() requires lots of unnecessary type
conversions, not to mention other function calls. This patch
updates the original written by Simon Fraser to apply cleanly to current
trunk.
It also implements code to handle EdgeModes and finally avoids use
of ::set() in the newly added boxBlurAlphaOnly()
function. Assignment of calculated pixel values rely on pointers.
No new tests, no change on behavior.
- platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::boxBlurAlphaOnly): Specialized version for alpha only cases.
(WebCore::boxBlur):
- 12:00 PM Changeset in webkit [166083] by
-
- 2 edits in trunk/Source/WebKit2
ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
https://bugs.webkit.org/show_bug.cgi?id=130526
<rdar://problem/16371612>
This was fixed yesterday for sync code path, landing the same this for async one.
- UIProcess/API/mac/WKView.mm: (-[WKView performKeyEquivalent:]):
- 11:56 AM Changeset in webkit [166082] by
-
- 5 edits in trunk/Source/WebCore
unobscuredContentRect() should have the same signature on iOS and other platforms,
and should not recurse on iOS.
https://bugs.webkit.org/show_bug.cgi?id=130604
<rdar://problem/16392587>
Reviewed by Tim Horton and Beth Dakin.
Having different signatures on different platforms is a recipe for
build breakage. Give the iOS unobscuredContentRect() an unused
VisibleContentRectIncludesScrollbars parameter.
Also avoid recursion via unobscuredContentRect() calling visibleContentRectInternal().
- WebCore.exp.in:
- platform/ScrollView.cpp:
(WebCore::ScrollView::unobscuredContentRect):
(WebCore::ScrollView::unobscuredContentRectInternal):
(WebCore::ScrollView::visibleContentRectInternal):
- platform/ScrollView.h:
(WebCore::ScrollView::unobscuredContentRectIncludingScrollbars):
- platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::unobscuredContentRect):
- 11:55 AM Changeset in webkit [166081] by
-
- 1 edit1 add in trunk/Tools
fix-blink-patch: tool to fix up renamed directory paths in Blink
<http://webkit.org/b/130609>
Reviewed by Ryosuke Niwa.
Usage: cat blink.patch | fix-blink-patch | svn-apply
- Scripts/fix-blink-patch: Added.
- 11:41 AM Changeset in webkit [166080] by
-
- 13 edits8 adds in trunk
Handle recovery on "timestamp-looking" lines in the WebVTT parser
https://bugs.webkit.org/show_bug.cgi?id=130610
Reviewed by Eric Carlson.
Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/b669a380efbffe25f3b154b026b57b9822ce08e2
http://crbug.com/75273002
Source/WebCore:
Tests: media/track/track-webvtt-tc031-cue-recovery.html
media/track/track-webvtt-tc032-degenerate-cues.html
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parse):
(WebCore::WebVTTParser::collectCueText):
(WebCore::WebVTTParser::recoverCue):
(WebCore::WebVTTParser::ignoreBadCue):
- html/track/WebVTTParser.h:
LayoutTests:
- media/track/captions-webvtt/tc006-cue-id-error.vtt:
- media/track/captions-webvtt/tc007-cue-no-id-error.vtt:
- media/track/captions-webvtt/tc011-cues-no-separation.vtt:
- media/track/captions-webvtt/tc031-cue-recovery-cuetext.vtt: Added.
- media/track/captions-webvtt/tc031-cue-recovery-header.vtt: Added.
- media/track/captions-webvtt/tc031-cue-recovery-note.vtt: Added.
- media/track/captions-webvtt/tc032-degenerate-cues.vtt: Added.
- media/track/track-webvtt-tc006-cue-identifiers-expected.txt:
- media/track/track-webvtt-tc006-cue-identifiers.html:
- media/track/track-webvtt-tc007-cue-no-id-expected.txt:
- media/track/track-webvtt-tc007-cue-no-id.html:
- media/track/track-webvtt-tc011-blank-lines-expected.txt:
- media/track/track-webvtt-tc011-blank-lines.html:
- media/track/track-webvtt-tc031-cue-recovery-expected.txt: Added.
- media/track/track-webvtt-tc031-cue-recovery.html: Added.
- media/track/track-webvtt-tc032-degenerate-cues-expected.txt: Added.
- media/track/track-webvtt-tc032-degenerate-cues.html: Added.
- 11:28 AM Changeset in webkit [166079] by
-
- 3 edits in trunk/Source/WebCore
Remove unused RenderView::repaintRectangleInViewAndCompositedLayers().
<https://webkit.org/b/130605>
Reviewed by Antti Koivisto.
- rendering/RenderView.cpp:
- rendering/RenderView.h:
- 11:13 AM Changeset in webkit [166078] by
-
- 3 edits2 adds in trunk
Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
https://bugs.webkit.org/show_bug.cgi?id=129948
<rdar://problem/16074072>
Reviewed by Simon Fraser.
Source/WebCore:
When the marker was placed for multi-column list items, it was being inserted
into the list item itself. Even though the add code in RenderBlock did the right
thing and put the marker inside the multi-column flow thread, the list item code
passed in a beforeChild that was computed using the incorrect parent. This resulted
in the flow thread being used both as the parent of the marker and the sibling of
the marker.
The fix is to add some code to RenderListItem to make sure it uses the multi-column
flow thread if it exists both as the parent of the marker and as the basis for the
computation of the sibling that the marker should be placed in front of.
Added fast/multicol/multicol-li-crash.html
- rendering/RenderListItem.cpp:
(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
LayoutTests:
- fast/multicol/multicol-li-crash-expected.txt: Added.
- fast/multicol/multicol-li-crash.html: Added.
- 11:02 AM Changeset in webkit [166077] by
-
- 3 edits in trunk/LayoutTests
Unreviewed. Rebaseline expectations after r165651.
- platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt: Replaced Path by Path2D.
- platform/gtk/js/dom/global-constructors-attributes-expected.txt: Ditto.
- 10:59 AM Changeset in webkit [166076] by
-
- 3 edits in trunk/Tools
Remove use of deprecatedCharacters in WebKit API tests
https://bugs.webkit.org/show_bug.cgi?id=130602
Reviewed by Antti Koivisto.
- TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::expectBuilderContent): Use characters8/16 instead of deprecatedCharacters.
(TestWebKitAPI::expectEmpty): Use characters8.
(TestWebKitAPI::TEST): Use characters8 instead of deprecatedCharacters in most cases.
- TestWebKitAPI/Tests/WTF/StringImpl.cpp:
Removed the test that is entirely about 16-bit conversion since that's basically a test of
the deprecatedCharacters function itself, which we are about to delete.
- 10:55 AM Changeset in webkit [166075] by
-
- 3 edits in trunk/Source/WebKit2
Add callbacks in WebKit2 Cocoa API for page load testing
https://bugs.webkit.org/show_bug.cgi?id=130569
Reviewed by Anders Carlsson.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(didFirstVisuallyNonEmptyLayoutForFrame):
(didHandleOnloadEventsForFrame):
(setUpPageLoaderClient):
(willSendRequestForFrame):
(didInitiateLoadForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(setUpResourceLoadClient):
- 10:52 AM Changeset in webkit [166074] by
-
- 2 edits in trunk/LayoutTests
Generated hidpi- images (actual) on ML WK2 Debug are blurry/color shifted.
Unreviewed TestExpectations update on ML WK2 debug.
- platform/mac-wk2/TestExpectations:
- 10:42 AM Changeset in webkit [166073] by
-
- 2 edits4 adds in trunk/Source/WebCore
Stop pulling in JSCInlines.h all over the place.
<https://webkit.org/b/130105>
JSDOMBinding.h is included by everyone and their uncle, so try to
cut down on the amount of JSC *Inlines.h it includes.
Reviewed by Geoff Garen.
- ForwardingHeaders/heap/SlotVisitorInlines.h: Added.
- ForwardingHeaders/runtime/JSCJSValueInlines.h: Added.
- ForwardingHeaders/runtime/JSCellInlines.h: Added.
- ForwardingHeaders/runtime/StructureInlines.h: Added.
- bindings/js/JSDOMBinding.h:
- 10:36 AM Changeset in webkit [166072] by
-
- 3 edits in trunk/Source/WebCore
WindowFeatures.{x|y|width|height} are not initialized
<http://webkit.org/b/130547>
<rdar://problem/16383151>
Reviewed by Darin Adler.
Based on a Blink patch in CRBug 342591 by zhaoqin.
- page/WindowFeatures.cpp:
(WebCore::WindowFeatures::WindowFeatures):
- Initialize x, y, width, height in String constructor.
- Move 'resizeable' variable to short-hand initialization since it is true in both cases.
- Use String::isEmpty() instead of checking its length.
- page/WindowFeatures.h:
(WebCore::WindowFeatures::WindowFeatures): Initialize x, y,
width, height in no-argument constructor.
- 10:32 AM Changeset in webkit [166071] by
-
- 4 edits in trunk/Source/WebCore
Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in bridge/
https://bugs.webkit.org/show_bug.cgi?id=130601
Reviewed by Darin Adler.
- bridge/IdentifierRep.cpp:
(WebCore::identifierSet):
(WebCore::intIdentifierMap):
(WebCore::stringIdentifierMap):
- bridge/NP_jsobject.cpp:
(objectMap):
- bridge/runtime_root.cpp:
(JSC::Bindings::rootObjectSet): Return a reference instead of
a pointer.
(JSC::Bindings::findProtectingRootObject):
(JSC::Bindings::findRootObject):
(JSC::Bindings::RootObject::RootObject):
(JSC::Bindings::RootObject::invalidate):
- 10:29 AM Changeset in webkit [166070] by
-
- 4 edits in trunk/Source/WebCore
Change CodeGeneratorJS.pm special cases for "DOMWindow" to be general purpose
https://bugs.webkit.org/show_bug.cgi?id=130553
Reviewed by Geoffrey Garen.
Eliminated 'if ($interfaceName eq "DOMWindow") {' sections in CodeGeneratorJS where
it was used to do DOMWindow specific casting to a JSObject, either a JSDOMWindow* or
a JSDOMWindowShell*. Instead the code generator will use the existing
JSDOMWindow* toJSDOMWindow(JSValue value) function based on a newly added attribute
"CustomProxyToJSObject". That attribute will emit a call to the function
${className}* to${className}(JSValue).
This is being done to clean up the code generator and for a subsequent patch that
will use a similar custom to{className} function for workers,
JSDedicatedWorkerGlobalScope* toJSDedicatedWorkerGlobalScope(JSValue).
Changes covered by existing tests.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/IDLAttributes.txt:
- page/DOMWindow.idl:
- 10:08 AM Changeset in webkit [166069] by
-
- 5 edits in trunk/Source/WebCore
AX: Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=130594
Reviewed by Chris Fleizach.
Use static NeverDestroyed<T> in new code.
- accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaControl::controlTypeName):
(WebCore::AccessibilityMediaControl::title):
(WebCore::AccessibilityMediaControlsContainer::elementTypeName):
(WebCore::AccessibilityMediaTimeline::helpText):
(WebCore::AccessibilityMediaTimeDisplay::accessibilityDescription):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::actionVerb):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
(WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
(WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
(WebCore::AccessibilityRenderObject::actionVerb):
- accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::notifyChildrenSelectionChange):
- 10:05 AM Changeset in webkit [166068] by
-
- 1 edit1 add in trunk/LayoutTests
Unreviewed test fix after my last checkin. Add missing test expectation.
- http/tests/media/track/track-webvtt-slow-loading-expected.txt: Added.
- 9:43 AM Changeset in webkit [166067] by
-
- 1 edit2 adds in trunk/LayoutTests
[CSS Regions] incorrect clipping when the content has CSS Transforms like rotation
https://bugs.webkit.org/show_bug.cgi?id=110198
Reviewed by David Hyatt.
Added test that confirms the issue of transformed content being clipped was fixed.
- fast/regions/overflow-content-transform-rotate-expected.html: Added.
- fast/regions/overflow-content-transform-rotate.html: Added.
- 9:31 AM Changeset in webkit [166066] by
-
- 11 edits in trunk
Merge WebVTT Tokenizer Updates
https://bugs.webkit.org/show_bug.cgi?id=130565
Reviewed by Eric Carlson.
Source/WebCore:
Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/923db263aa65d6efd71c5b55708ad7eea6b23f53
http://crbug.com/73813002
https://chromium.googlesource.com/chromium/blink/+/48375b1d56b2d8850ae93a6c6fb01c69fae82c75
http://crbug.com/77553004
https://chromium.googlesource.com/chromium/blink/+/98d4fc4f5cb716a31d11907120b10538d4ba0f09
http://crbug.com/78833002
https://chromium.googlesource.com/chromium/blink/+/0e53d4f9f140e979b7f32de495551684bc7f4cd2
http://crbug.com/81113003
https://chromium.googlesource.com/chromium/blink/+/730ef1e7f9a1919964f7e74e7ccb2f343e10a148
http://crbug.com/97103002
https://chromium.googlesource.com/chromium/blink/+/c373ee914ffabeaf833939129538251d8f2f4eca
http://crbug.com/98763004
https://chromium.googlesource.com/chromium/blink/+/4ddb4d57948228fa05e49e06bd58a1179c09f212
http://crbug.com/118263002
- html/track/VTTCue.cpp:
(WebCore::scanPercentage):
(WebCore::VTTCue::setCueSettings):
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTTreeBuilder::buildFromString):
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):
- html/track/WebVTTToken.h:
(WebCore::WebVTTToken::WebVTTToken):
(WebCore::WebVTTToken::StringToken):
(WebCore::WebVTTToken::StartTag):
(WebCore::WebVTTToken::EndTag):
(WebCore::WebVTTToken::TimestampTag):
(WebCore::WebVTTToken::type):
(WebCore::WebVTTToken::name):
(WebCore::WebVTTToken::characters):
(WebCore::WebVTTToken::classes):
(WebCore::WebVTTToken::annotation):
- html/track/WebVTTTokenizer.cpp:
(WebCore::addNewClass):
(WebCore::emitToken):
(WebCore::advanceAndEmitToken):
(WebCore::WebVTTTokenizer::WebVTTTokenizer):
(WebCore::WebVTTTokenizer::nextToken):
- html/track/WebVTTTokenizer.h:
(WebCore::WebVTTTokenizer::shouldSkipNullCharacters):
LayoutTests:
Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/923db263aa65d6efd71c5b55708ad7eea6b23f53
http://crbug.com/73813002
https://chromium.googlesource.com/chromium/blink/+/48375b1d56b2d8850ae93a6c6fb01c69fae82c75
http://crbug.com/77553004
https://chromium.googlesource.com/chromium/blink/+/98d4fc4f5cb716a31d11907120b10538d4ba0f09
http://crbug.com/78833002
https://chromium.googlesource.com/chromium/blink/+/0e53d4f9f140e979b7f32de495551684bc7f4cd2
http://crbug.com/81113003
https://chromium.googlesource.com/chromium/blink/+/730ef1e7f9a1919964f7e74e7ccb2f343e10a148
http://crbug.com/97103002
https://chromium.googlesource.com/chromium/blink/+/c373ee914ffabeaf833939129538251d8f2f4eca
http://crbug.com/98763004
https://chromium.googlesource.com/chromium/blink/+/4ddb4d57948228fa05e49e06bd58a1179c09f212
http://crbug.com/118263002
- TestExpectations:
- media/track/captions-webvtt/tc022-entities-wrong.vtt:
- media/track/captions-webvtt/tc022-entities.vtt:
- media/track/track-webvtt-tc022-entities-expected.txt:
- media/track/track-webvtt-tc022-entities.html:
- 9:19 AM Changeset in webkit [166065] by
-
- 11 edits6 adds8 deletes in trunk
Bug 130345 - Refine childShouldCreateRenderer for MathML elements
https://bugs.webkit.org/show_bug.cgi?id=130345
Reviewed by Chris Fleizach.
Source/WebCore:
This is a follow-up of bug 124128. We add more restrictions on foreign
content of MathML elements.
Tests: mathml/presentation/annotation-children.html
mathml/presentation/foreign-element-in-token.html
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isPresentationMathML): fix line wrapping
(WebCore::MathMLElement::isPhrasingContent):
- move the function from MathMLSelectElement.cpp
- add the constraint "is descendant of a map element" for area.
(WebCore::MathMLElement::isFlowContent): new function to test flow content.
(WebCore::MathMLElement::childShouldCreateRenderer):
- remove annotation since it is now tested in MathMLTextElement
- refine testing of annotation-xml
- do not create renderer for text content in MathML. Such content is only allowed inside token elements.
- mathml/MathMLElement.h: Declare isPhrasingContent and isFlowContent.
- mathml/MathMLSelectElement.cpp: Add new function to test MathML/SVG/HTML encodings.
(WebCore::MathMLSelectElement::isMathMLEncoding):
(WebCore::MathMLSelectElement::isSVGEncoding):
(WebCore::MathMLSelectElement::isHTMLEncoding):
(WebCore::MathMLSelectElement::getSelectedSemanticsChild): use the new functions.
- mathml/MathMLSelectElement.h: Declare the new public functions.
- mathml/MathMLTextElement.cpp: remove the isPhrasingContent function.
(WebCore::MathMLTextElement::childShouldCreateRenderer): Just in case, use the generic StyledElement::childShouldCreateRenderer.
LayoutTests:
We update the references of some tests after the additional
restrictions on MathML children. We replace the foreign-*.html with a
single foreign-element-in-token.html and write more tests to verify the
accepted and reject content.
- mathml/msub-anonymous-child-render-crash-expected.txt: Update reference now that text is only allowed in some token MathML elements.
- mathml/presentation/annotation-children-expected.html: Added.
- mathml/presentation/annotation-children.html: Added.
- mathml/presentation/foreign-element-in-annotation-xml.html: Added.
- mathml/presentation/foreign-element-in-annotation-xml-expected.txt: Added.
- mathml/presentation/foreign-element-in-token-expected.txt: Added.
- mathml/presentation/foreign-element-in-token.html: Added.
- mathml/presentation/foreign-mi-expected-mismatch.html: Removed.
- mathml/presentation/foreign-mi.html: Removed.
- mathml/presentation/foreign-mn-expected-mismatch.html: Removed.
- mathml/presentation/foreign-mn.html: Removed.
- mathml/presentation/foreign-mtext-expected-mismatch.html: Removed.
- mathml/presentation/foreign-mtext-rejected-expected.html: Removed.
- mathml/presentation/foreign-mtext-rejected.html: Removed.
- mathml/presentation/foreign-mtext.html: Removed.
- mathml/presentation/semantics-2.html: the mtext elements can not be direct child of annotation-xml. wrap them in a math tag.
- mathml/presentation/semantics-3.html: ditto.
- mathml/presentation/semantics-4.html: ditto.
- 9:04 AM Changeset in webkit [166064] by
-
- 3 edits3 adds in trunk
StackLayoutPhase should find the union'ed calleeVariable before accessing its machineLocal.
<https://webkit.org/b/130566>
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
- dfg/DFGStackLayoutPhase.cpp:
(JSC::DFG::StackLayoutPhase::run):
LayoutTests:
- js/regress-130566-expected.txt: Added.
- js/regress-130566.html: Added.
- js/script-tests/regress-130566.js: Added.
(test.doTest):
(test.for):
(test):
- 8:22 AM Changeset in webkit [166063] by
-
- 9 edits in trunk/Source/WebCore
Stop using deprecatedCharacters in WebCore/platform/win
https://bugs.webkit.org/show_bug.cgi?id=130515
Reviewed by Brent Fulgham.
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun): Add a constructor that takes a StringView.
Later, we might want to exclusively use the StringView version and remove
some of the others.
(WebCore::TextRun::setText): Add a version of this function that takes a StringView.
- platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::systemFallbackForCharacters): Use StringView::getCharactersWithUpconvert.
(WebCore::createGDIFont): Ditto.
(WebCore::FontCache::getTraitsInFamily): Ditto.
- platform/win/BString.cpp:
(WebCore::BString::BString): Use StringView::upconvertedCharacters.
- platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::createGlobalData): Use StringView::getCharactersWithUpconvert.
- platform/win/FileSystemWin.cpp:
(WebCore::pathByAppendingComponent): Use StringBuilder and StringView::getCharactersWithUpconvert.
(WebCore::fileSystemRepresentation): Use StringView::upconvertedCharacters.
- platform/win/PasteboardWin.cpp:
(WebCore::filesystemPathFromUrlOrTitle): Use StringView::getCharactersWithUpconvert.
(WebCore::Pasteboard::writeURLToDataObject): Ditto.
(WebCore::createGlobalImageFileDescriptor): Ditto.
- platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::calculatePositionAndSize): Use the new TextRun constructor.
- platform/win/WebCoreTextRenderer.cpp:
(WebCore::doDrawTextAtPoint): Ditto.
- 7:49 AM Changeset in webkit [166062] by
-
- 4 edits in trunk/Tools
[webkitpy] Fix has_valid_reviewer()
https://bugs.webkit.org/show_bug.cgi?id=130589
Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-03-21
Reviewed by Csaba Osztrogonác.
- Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLogEntry.has_valid_reviewer):
- Scripts/webkitpy/common/checkout/changelog_unittest.py:
(test_has_valid_reviewer):
- Scripts/webkitpy/common/config/committers.py:
(CommitterList._reviewer_only):
(CommitterList.committer_by_name):
(CommitterList.reviewer_by_email):
(CommitterList):
(CommitterList.reviewer_by_name):
- 7:44 AM Changeset in webkit [166061] by
-
- 2 edits in trunk/Tools
Add cache support for jhbuild
https://bugs.webkit.org/show_bug.cgi?id=130588
Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-03-21
Reviewed by Csaba Osztrogonác.
- jhbuild/jhbuildrc_common.py:
(init): Jhbuild can now save the dependencies locally, if the JHBUILD_MIRROR environment variable is set.
- 6:55 AM Changeset in webkit [166060] by
-
- 9 edits4 adds in trunk
Subpixel rendering: RenderBox is positioned off by one when non-compositing transform is present.
https://bugs.webkit.org/show_bug.cgi?id=130430
Reviewed by Simon Fraser.
div {
position: absolute;
top: 10.25px;
left: 10.25px;
}
The <div> with (10.25px, 10.25px) is painted to (10.5px, 10.5px) after device pixel snapping on 2x display.
Moving <div> to its own RenderLayer should not change the painting position.
div {
position: absolute;
top: 10.25px;
left: 10.25px;
-webkit-transform: rotate(0deg);
}
When we paint the RenderLayer's content, the graphics context is translated by the rounded value of
renderer's offset from parent.
(10.25px,10.25px) -> rounded to (10.5px,10.5px).
When the translate moves the graphics context's origin over the renderer's top-left position,
the renderer's relative top-left coordinates end up being negative.
Graphics context translated by (10.5px,10.5px) -> pushes renderer's relative top-left coords to (-0.25px,-0.25px)
When we round (pixel snap) these negative coordinates, half-way values get translated to the wrong direction.
(relative coords (-0.25px,-0.25px) -> pixel snapped to (-0.5px,-0.5px) -> final absolute(painting) coords (10px,10px))
This patch changes the rounding to flooring to ensure that the relative top-left position never gets negative as the result
of subpixel shifting.
Source/WebCore:
Tests: compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present.html
fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::computedTransform):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateTransform):
- rendering/style/RenderStyle.cpp:
- rendering/style/RenderStyle.h:
- svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::animatedLocalTransform):
LayoutTests:
- TestExpectations:
- compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present-expected.html: Added.
- compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present.html: Added.
- fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present-expected.html: Added.
- fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present.html: Added.
- 6:01 AM Changeset in webkit [166059] by
-
- 12 edits10 deletes in trunk/LayoutTests
Update some references for MathML pixels tests
https://bugs.webkit.org/show_bug.cgi?id=130455.
Reviewed by Chris Fleizach.
- TestExpectations: Remove failures for MathML pixel tests.
- mathml/presentation/mo.xhtml: Removed.
- mathml/presentation/roots.xhtml: Remove the test that is already covered by bug95015.html.
- mathml/presentation/row.xhtml: Removed.
- platform/efl/TestExpectations: Remove failure for mo-stretch.html
- platform/efl/mathml/presentation/mo-stretch-expected.png: Update reference.
- platform/efl/mathml/presentation/mo-stretch-expected.txt: Update reference.
- platform/efl/mathml/presentation/roots-expected.png: Update reference.
- platform/efl/mathml/presentation/roots-expected.txt: Update reference.
- platform/gtk/mathml/presentation/mo-expected.png: Removed.
- platform/gtk/mathml/presentation/mo-expected.txt: Removed.
- platform/gtk/mathml/presentation/roots-expected.png: Update reference.
- platform/gtk/mathml/presentation/roots-expected.txt: Update reference.
- platform/gtk/mathml/presentation/row-expected.png: Removed.
- platform/gtk/mathml/presentation/row-expected.txt: Removed.
- platform/mac/mathml/presentation/mo-expected.png: Removed.
- platform/mac/mathml/presentation/mo-expected.txt: Removed.
- platform/mac/mathml/presentation/roots-expected.txt: Update reference.
- platform/mac/mathml/presentation/row-expected.txt: Removed.
- platform/mac/mathml/presentation/row-expected.txt: Removed.
- platform/win/TestExpectations: Remove failure for mo-stretch.html and mspace-children.html
- 3:36 AM Changeset in webkit [166058] by
-
- 3 edits in trunk/Tools
[CMake] Add support for MAX_CPU_LOAD translated to -l in ninja and make
https://bugs.webkit.org/show_bug.cgi?id=130504
Reviewed by Martin Robinson.
- Scripts/build-webkit: Add the maxCPULoad() to the makeArgs in
CMake if not specified.
- Scripts/webkitdirs.pm:
(determineMaxCPULoad): Read MAX_CPU_LOAD as maxCPULoad.
(maxCPULoad): determineMaxCPULoad and return maxCPULoad.
- 2:24 AM Changeset in webkit [166057] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. iOS build fix after r166046.
- WebCore.exp.in:
- 1:58 AM Changeset in webkit [166056] by
-
- 4 edits in trunk/Source/WebCore
Fix the !ENABLE(FILTERS) build
https://bugs.webkit.org/show_bug.cgi?id=130394
Reviewed by Gyuyoung Kim.
Add missing includes in rendering to fix compile errors, and include JSC headers to ImageBuffer.h to fix linker errors.
- platform/graphics/ImageBuffer.h:
- rendering/svg/RenderSVGImage.cpp:
- rendering/svg/RenderSVGRoot.cpp:
- 1:54 AM Changeset in webkit [166055] by
-
- 15 edits in trunk/Source/WebCore
Unreviewed, rolling out r166052.
https://bugs.webkit.org/show_bug.cgi?id=130571
It broke EFL build (Requested by KaL on #webkit).
Reverted changeset:
"[GTK] Use GMainLoopSource for idle and timeout sources in
WebCore"
https://bugs.webkit.org/show_bug.cgi?id=130078
http://trac.webkit.org/changeset/166052
- 1:27 AM Changeset in webkit [166054] by
-
- 3 edits in trunk/Source/WebCore
Add *explicit* keyword to avoid implicit type conversion
https://bugs.webkit.org/show_bug.cgi?id=130568
Reviewed by Antti Koivisto.
Constructors of RemoteFontFaceSource, SVGDocumentExtensions, XMLDocumentParserScope,
and WorkerScriptDebugServer need to use *explicit* keyword because they have an argument.
Besides removed a meaningless argument name.
- svg/SVGDocumentExtensions.h:
- xml/parser/XMLDocumentParserScope.h:
- 1:11 AM Changeset in webkit [166053] by
-
- 5 edits in trunk/Source/WebCore
Modules: replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T>
https://bugs.webkit.org/show_bug.cgi?id=130407
Reviewed by Darin Adler.
- Modules/encryptedmedia/CDM.cpp:
(WebCore::installedCDMFactories):
- Modules/mediasource/MediaSourceRegistry.cpp:
(WebCore::MediaSourceRegistry::registry):
- Modules/mediasource/MediaSourceRegistry.h:
- Modules/mediastream/MediaStreamRegistry.cpp:
(WebCore::MediaStreamRegistry::registry):
- 1:04 AM Changeset in webkit [166052] by
-
- 15 edits in trunk/Source/WebCore
[GTK] Use GMainLoopSource for idle and timeout sources in WebCore
https://bugs.webkit.org/show_bug.cgi?id=130078
Reviewed by Philippe Normand.
- platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
- platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
- platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
- platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
- platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
- platform/gtk/GtkDragAndDropHelper.cpp:
- platform/gtk/SharedTimerGtk.cpp:
- 12:58 AM Changeset in webkit [166051] by
-
- 10 edits in trunk/Source/WebKit2
[EFL][WK2] Remove Ewk_Error parameter from some async callbacks
https://bugs.webkit.org/show_bug.cgi?id=130567
Reviewed by Gyuyoung Kim.
WebKit2 internally uses GenericCallbacks for several APIs such as WKKeyValueStorageManagerGetKeyValueStorageOrigins.
But only few callbacks really return errors.
This patch removes Ewk_Error parameters from these callbacks not to make
the confusion for application developers.
- UIProcess/API/efl/ewk_cookie_manager.cpp:
(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):
- UIProcess/API/efl/ewk_cookie_manager.h:
- UIProcess/API/efl/ewk_database_manager.cpp:
(getDatabaseOriginsCallback):
- UIProcess/API/efl/ewk_database_manager.h:
- UIProcess/API/efl/ewk_storage_manager.cpp:
(getStorageOriginsCallback):
- UIProcess/API/efl/ewk_storage_manager.h:
- UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(EWK2CookieManagerTest::getAcceptPolicyCallback):
(EWK2CookieManagerTest::getHostnamesWithCookiesCallback):
- UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
(EWK2DatabaseManagerTest::databaseOriginsCallback):
- UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
(EWK2StorageManagerTest::getStorageOriginsCallback):
- 12:38 AM Changeset in webkit [166050] by
-
- 3 edits in trunk/Tools
RetainPtr API test should use CFArray instead of CFString for testing.
<rdar://problem/16384899>
Unreviewed bot fix.
- TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/cf/RetainPtrHashing.cpp:
(TestWebKitAPI::TEST):
- 12:31 AM Changeset in webkit [166049] by
-
- 3 edits2 adds in trunk
HTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
<rdar://problem/15675780>
Merge Blink r156744 by Adam Klein.
Source/WebCore:
Test: fast/frames/set-iframe-src-in-pagehide-crash.html
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):
LayoutTests:
- fast/frames/set-iframe-src-in-pagehide-crash-expected.txt: Added.
- fast/frames/set-iframe-src-in-pagehide-crash.html: Added.
- 12:25 AM Changeset in webkit [166048] by
-
- 2 edits in trunk/Source/WebKit
Check for inappropriate macros in private headers
https://bugs.webkit.org/show_bug.cgi?id=130564
Reviewed by Filip Pizlo.
Check PrivateHeaders for inappropriate macros as well so that we avoid build breakages like
the one due to the original commit for bug 130142.
- WebKit.xcodeproj/project.pbxproj:
- 12:13 AM Changeset in webkit [166047] by
-
- 22 edits in trunk/Source
Improve idiom used for string building in a few places
https://bugs.webkit.org/show_bug.cgi?id=130561
Reviewed by Andreas Kling.
Source/WebCore:
- Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::loggingString): Use a StringBuilder, and get rid of
an an unnecessary additional string allocation.
- Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::create): Use StringBuilder.
- html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::createTDForFilename): Do a more efficient
string concatenation.
- html/ValidationMessage.cpp:
(WebCore::ValidationMessage::updateValidationMessage): Ditto.
- inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
Use a StringBuilder.
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::shorthandValue): Use a StringBuilder.
- inspector/InspectorStyleTextEditor.cpp:
(WebCore::InspectorStyleTextEditor::insertProperty): Use a more efficient idiom
for string concatenation.
(WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.
- loader/FormSubmission.cpp:
(WebCore::appendMailtoPostFormDataToURL): Ditto.
- page/Frame.cpp:
(WebCore::createRegExpForLabels): Use a StringBuilder.
- platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Use a more efficient
idiom for string concatenation.
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::getUnmangledInfoLog): Use a StringBuilder.
- platform/network/MIMEHeader.cpp:
(WebCore::MIMEHeader::parseHeader): Use a more efficient idiom for string
concatenation.
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::addHTTPHeaderField): Ditto.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText): Ditto.
- rendering/RenderText.cpp:
(WebCore::RenderText::secureText): Create a new string with the substring
function rather than with the append function.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::setRequestHeaderInternal): Use a more efficient idiom
for string concatenation.
Source/WebKit/mac:
- WebView/WebHTMLRepresentation.mm:
(regExpForLabels): Use StringBuilder.
Source/WebKit2:
- Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox): Use a more efficient idiom for string
concatenation.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage): Use a StringBuilder.
- 12:12 AM Changeset in webkit [166046] by
-
- 16 edits in trunk/Source
Add a combined decodeAndFlush to TextResourceDecoder
https://bugs.webkit.org/show_bug.cgi?id=130560
Reviewed by Andreas Kling.
Source/WebCore:
- WebCore.exp.in: Added new symbol for decodeAndFlush. Also re-did
the geometry types #if so it would sort more logically.
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::convertToText): Use decodeAndFlush.
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResourceContent): Ditto.
- inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::ResourceData::decodeDataToContent): Ditto.
- loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::decodeAndFlush): Added.
- loader/TextResourceDecoder.h: Ditto.
- loader/appcache/ManifestParser.cpp:
(WebCore::parseManifest): Use decodeAndFlush.
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::sheetText): Ditto.
(WebCore::CachedCSSStyleSheet::finishLoading): Ditto.
- loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureSVGFontData): Use decodeAndFlush. Also use nullptr.
(WebCore::CachedFont::getSVGFontById): Use descendantsOfType<SVGFontElement>
instead of using a NodeList. Much more efficient!
- loader/cache/CachedSVGDocument.cpp:
(WebCore::CachedSVGDocument::finishLoading): Use decodeAndFlush.
- loader/cache/CachedScript.cpp:
(WebCore::CachedScript::script): Ditto.
- loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::finishLoading): Ditto.
- page/Page.cpp:
(WebCore::Page::userStyleSheet): Ditto.
Source/WebKit/mac:
- WebView/WebView.mm:
(+[WebView _decodeData:]): Use decodeAndFlush.
Mar 20, 2014:
- 11:51 PM Changeset in webkit [166045] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
FTL should correctly compile GetByVal on Uint32Array that claims to return non-int32 values
https://bugs.webkit.org/show_bug.cgi?id=130562
<rdar://problem/16382842>
Reviewed by Geoffrey Garen.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
- tests/stress/uint32array-unsigned-load.js: Added.
(foo):
- 11:44 PM Changeset in webkit [166044] by
-
- 3 edits in trunk/Source/WebCore
Remove a couple of unused functions from CSSOMUtils
https://bugs.webkit.org/show_bug.cgi?id=130558
Reviewed by Andreas Kling.
- css/CSSOMUtils.cpp: Remove String overloads. Callers all use the StringBuilder
ones, which is good since that is a more efficient idiom.
- css/CSSOMUtils.h: Ditto.
- 11:44 PM Changeset in webkit [166043] by
-
- 2 edits in trunk/Source/WTF
Fix a header guard mistake (harmless but clearly wrong)
https://bugs.webkit.org/show_bug.cgi?id=130559
Reviewed by Andreas Kling.
- wtf/text/StringConcatenate.h: Correct the macro name in the header guard.
- 11:30 PM Changeset in webkit [166042] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. iOS build fix after r166017, r166032.
- platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRectInternal):
- 10:26 PM Changeset in webkit [166041] by
-
- 7 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: add temporary buttons to capture/play/pause replay recordings
https://bugs.webkit.org/show_bug.cgi?id=129692
Reviewed by Timothy Hatcher.
If the Replay agent is available, replace the existing ad-hoc navigation bar
in the Timelines sidebar panel with a record and pause/play button. This UI
is temporary.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Controllers/ReplayManager.js: Turn two segment state assertions into
FIXMEs because the assertions are too strong until the public API uses async chains.
(WebInspector.ReplayManager.prototype.replayToMarkIndex):
(WebInspector.ReplayManager.prototype.replayToCompletion):
- UserInterface/Images/Circle.svg: Added.
- UserInterface/Views/ActivateButtonNavigationItem.js:
(WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
- UserInterface/Views/ButtonNavigationItem.css: Adjust styles so the default style
has opacity:1 and the glyph color is darker.
(.navigation-bar .item.button.suppress-emboss > .glyph):
(.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
- UserInterface/Views/ButtonNavigationItem.js:
(WebInspector.ButtonNavigationItem.prototype.generateStyleText): Explicitly
generate the width and height properties so that separate button instances do
not influence the size of each other.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
(WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
(WebInspector.TimelineSidebarPanel.prototype._replayPauseResumeButtonClicked):
(WebInspector.TimelineSidebarPanel.prototype._captureStarted):
(WebInspector.TimelineSidebarPanel.prototype._captureStopped):
(WebInspector.TimelineSidebarPanel.prototype._playbackStarted):
(WebInspector.TimelineSidebarPanel.prototype._playbackPaused):
- 9:45 PM Changeset in webkit [166040] by
-
- 11 edits10 adds in trunk
Web Inspector: add frontend controller and models for replay sessions
https://bugs.webkit.org/show_bug.cgi?id=130145
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/scripts/CodeGeneratorInspector.py: Add the conditional Replay domain.
Source/WebInspectorUI:
Upstream the frontend models and controller for web replay. The replay manager
syncs with the backend controller's replay state and replay sessions by using
the same state machines and transitions.
Session and segment models update their data asynchronously using promises.
- UserInterface/Base/Main.js:
(WebInspector.loaded): Add the replay manager.
- UserInterface/Base/Test.js:
(WebInspector.loaded): Add the replay manager.
(InspectorTest.debugLog): Fix a bug in the unescape/escape trick.
(InspectorTest.addResult): Don't try to add results until the test page has loaded.
(InspectorTest.testPageDidLoad): Clear the isReloading flag.
(InspectorTest.reloadPage): Reimplement using promises. Return a promise.
- UserInterface/Base/Utilities.js: Implement Map.take in the obvious way.
- UserInterface/Controllers/ReplayManager.js: Added.
(WebInspector.ReplayManager):
(WebInspector):
(WebInspector.ReplayManager.prototype.get sessionState):
(WebInspector.ReplayManager.prototype.get segmentState):
(WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
(WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
(WebInspector.ReplayManager.prototype.get playbackSpeed):
(WebInspector.ReplayManager.prototype.set playbackSpeed):
(WebInspector.ReplayManager.prototype.get currentPosition):
(WebInspector.ReplayManager.prototype.getSession.get var):
(WebInspector.ReplayManager.prototype.getSegment.get var):
(WebInspector.ReplayManager.prototype.captureStarted):
(WebInspector.ReplayManager.prototype.captureStopped):
(WebInspector.ReplayManager.prototype.playbackStarted):
(WebInspector.ReplayManager.prototype.playbackHitPosition):
(WebInspector.ReplayManager.prototype.playbackPaused):
(WebInspector.ReplayManager.prototype.playbackFinished):
(WebInspector.ReplayManager.prototype.sessionCreated.set catch):
(WebInspector.ReplayManager.prototype.sessionCreated.this):
(WebInspector.ReplayManager.prototype.sessionCreated):
(WebInspector.ReplayManager.prototype.sessionModified):
(WebInspector.ReplayManager.prototype.sessionRemoved.then):
(WebInspector.ReplayManager.prototype.sessionRemoved):
(WebInspector.ReplayManager.prototype.segmentCreated.set this):
(WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
(WebInspector.ReplayManager.prototype.segmentCompleted):
(WebInspector.ReplayManager.prototype.segmentRemoved.then):
(WebInspector.ReplayManager.prototype.segmentRemoved):
(WebInspector.ReplayManager.prototype.segmentLoaded):
(WebInspector.ReplayManager.prototype.segmentUnloaded):
(WebInspector.ReplayManager.prototype.startCapturing):
(WebInspector.ReplayManager.prototype.stopCapturing):
(WebInspector.ReplayManager.prototype.replayToMarkIndex):
(WebInspector.ReplayManager.prototype.replayToCompletion):
(WebInspector.ReplayManager.prototype.pausePlayback):
(WebInspector.ReplayManager.prototype.stopPlayback):
(WebInspector.ReplayManager.prototype._changeSessionState):
(WebInspector.ReplayManager.prototype._changeSegmentState):
- UserInterface/Main.html:
- UserInterface/Models/ReplaySession.js: Added.
(WebInspector.ReplaySession):
(WebInspector.ReplaySession.fromPayload):
(WebInspector.ReplaySession.prototype.get segments):
(WebInspector.ReplaySession.prototype.segmentsChanged):
(WebInspector.ReplaySession.prototype._updateFromPayload):
- UserInterface/Models/ReplaySessionSegment.js: Added.
(WebInspector.IncompleteSessionSegment):
(WebInspector.IncompleteSessionSegment.prototype.get isComplete):
(WebInspector.ReplaySessionSegment):
(WebInspector.ReplaySessionSegment.prototype.get isComplete):
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.registerCommand):
(InspectorBackendClass.prototype._promise): Add a promise-returning method for
invoking backend commands that return a result asynchronously.
- UserInterface/Protocol/ReplayObserver.js: Added.
(WebInspector.ReplayPosition):
(WebInspector.ReplayPosition.fromProtocol):
(WebInspector.ReplayObserver):
(WebInspector.ReplayObserver.prototype.captureStarted):
(WebInspector.ReplayObserver.prototype.captureStopped):
(WebInspector.ReplayObserver.prototype.playbackStarted):
(WebInspector.ReplayObserver.prototype.playbackHitPosition):
(WebInspector.ReplayObserver.prototype.playbackPaused):
(WebInspector.ReplayObserver.prototype.playbackFinished):
(WebInspector.ReplayObserver.prototype.inputSuppressionChanged):
(WebInspector.ReplayObserver.prototype.sessionCreated):
(WebInspector.ReplayObserver.prototype.sessionModified):
(WebInspector.ReplayObserver.prototype.sessionRemoved):
(WebInspector.ReplayObserver.prototype.sessionLoaded):
(WebInspector.ReplayObserver.prototype.segmentCreated):
(WebInspector.ReplayObserver.prototype.segmentRemoved):
(WebInspector.ReplayObserver.prototype.segmentCompleted):
(WebInspector.ReplayObserver.prototype.segmentLoaded):
(WebInspector.ReplayObserver.prototype.segmentUnloaded):
- UserInterface/Test.html:
LayoutTests:
Add tests for existing nondeterministic inputs handled in JSC.
They are skipped for all platforms until WEB_REPLAY is enabled.
The new mechanism here is the single-segment replay reftest. It will
load the test page once to inject test code into the inspector. Then,
the reftest will reload the test page and start capturing. The test
page performs some nondeterministic computation before the load event.
Then, the inspector test dumps the computed nondeterministic state.
Capturing is stopped, and the session is replayed once. When the load
event fires on the replayed page execution, the nondeterministic states
from capturing and replaying are compared. They should be the same.
- inspector/replay/javascript-random-seed-expected.txt: Added.
- inspector/replay/javascript-random-seed.html: Added.
- inspector/replay/replay-test.js: Added. This contains the bulk of
the replay-specific testing logic for the added tests.
(InspectorTestProxy.registerInitializer.):
(InspectorTestProxy.registerInitializer):
- 9:13 PM Changeset in webkit [166039] by
-
- 34 edits1 copy1 delete in trunk
Move to using std::unique_ptr for EFL objects.
https://bugs.webkit.org/show_bug.cgi?id=129853
Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-20
Reviewed by Gyuyoung Kim.
EflUniquePtr is a template alias of std::unique_ptr
with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.
Source/WebCore:
No new tests. No new functionality.
- platform/efl/EflScreenUtilities.h:
- platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::loadTheme):
- platform/efl/RenderThemeEfl.h:
- platform/graphics/Icon.h:
- platform/graphics/efl/EvasGLContext.h:
(WebCore::EvasGLContext::create):
- platform/graphics/efl/EvasGLSurface.h:
(WebCore::EvasGLSurface::create):
Source/WebKit/efl:
- WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::initialize):
- WebCoreSupport/AcceleratedCompositingContextEfl.h:
- WebCoreSupport/BatteryClientEfl.h:
- WebCoreSupport/DumpRenderTreeSupportEfl.h:
- WebCoreSupport/EditorClientEfl.h:
- WebCoreSupport/FrameNetworkingContextEfl.h:
- WebCoreSupport/NavigatorContentUtilsClientEfl.h:
- ewk/ewk_view.cpp:
(_ewk_view_editor_command_string_get):
- tests/UnitTestUtils/EWKTestView.cpp:
(EWKUnitTests::EWKTestView::init):
- tests/UnitTestUtils/EWKTestView.h:
Source/WebKit2:
- Platform/Module.h:
- Platform/efl/ModuleEfl.cpp:
(WebKit::Module::load):
- UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
- UIProcess/API/efl/EwkView.h:
- UIProcess/efl/InputMethodContextEfl.cpp:
(WebKit::InputMethodContextEfl::InputMethodContextEfl):
(WebKit::InputMethodContextEfl::createIMFContext):
- UIProcess/efl/InputMethodContextEfl.h:
(WebKit::InputMethodContextEfl::create):
Source/WTF:
- wtf/OwnPtrCommon.h:
- wtf/PlatformEfl.cmake:
- wtf/RunLoop.h:
- wtf/efl/MainThreadEfl.cpp:
(WTF::pipeObject):
(WTF::initializeMainThreadPlatform):
- wtf/efl/OwnPtrEfl.cpp: Removed.
- wtf/efl/RunLoopEfl.cpp:
(WTF::RunLoop::RunLoop):
- wtf/efl/UniquePtrEfl.h: Added.
(WTF::EflPtrDeleter::operator()):
Tools:
- DumpRenderTree/efl/DumpRenderTree.cpp:
(main):
- ImageDiff/efl/ImageDiff.cpp:
(initEfl):
(main):
- 9:05 PM Changeset in webkit [166038] by
-
- 2 edits in trunk/PerformanceTests
Add option for hiding Confidence Interval Delta on the performance tests results page
https://bugs.webkit.org/show_bug.cgi?id=130483
Reviewed by Ryosuke Niwa.
I've found it useful to hide the confidence interval delta from the results table
sometimes, for example on copying data, or for a clearer look. This patch introduces
a new button for it on the local results page.
- resources/results-template.html:
- 8:47 PM Changeset in webkit [166037] by
-
- 10 edits1 add in trunk
[EFL][GTK] Get CMake to find Freetype2 properly
https://bugs.webkit.org/show_bug.cgi?id=130150
Reviewed by Martin Robinson.
Newer versions of CMake are not able to find Freetype2 correctly.
FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
freetype2 repo, because a completely different version number is found in freetype2.pc.
.:
- Source/cmake/FindFreetype2.cmake: Added.
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/OptionsGTK.cmake:
Source/WebCore:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
Source/WebKit:
- PlatformEfl.cmake:
Source/WebKit2:
- PlatformEfl.cmake:
- 8:13 PM Changeset in webkit [166036] by
-
- 4 edits in trunk/Tools
Unreviewed buildfix after r165983 for non Cocoa platforms
Renamed WKPreferencesPrivate.h to WKPreferencesRefPrivate.h
- TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:
- TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
- WebKitTestRunner/TestController.cpp:
- 8:00 PM Changeset in webkit [166035] by
-
- 5 edits in trunk/Source
[GTK] Suppress errors about using gdk_threads_enter gdk_threads_leave
https://bugs.webkit.org/show_bug.cgi?id=130517
Reviewed by Sergio Villar Senin.
Source/WebCore:
- plugins/gtk/gtk2xtbin.c: Use GCC suppression to suppress errors about deprecations.
Source/WebKit2:
- UIProcess/API/gtk/WebKitWebView.cpp: Use GCC suppression to suppress errors about deprecations.
- UIProcess/gtk/WebPopupMenuProxyGtk.cpp: Ditto.
- 6:41 PM Changeset in webkit [166034] by
-
- 2 edits in trunk/Source/WebKit2
[EFL][WK2] tests of test_ewk2_cookie_manager are flaky
https://bugs.webkit.org/show_bug.cgi?id=130498
Reviewed by Gyuyoung Kim.
Loaded web page before calling getAcceptPolicy() to guarantee that webprocess
or networkprocess was launched and registered WebCookieManager.
- UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(TEST_F):
- 6:29 PM Changeset in webkit [166033] by
-
- 1 edit14 adds in trunk/Websites/webkit.org
Sample code for potential ARIA blog post.
https://bugs.webkit.org/show_bug.cgi?id=130548
Patch by James Craig <jcraig@apple.com> on 2014-03-20
Rubber-stamped by Chris Fleizach.
- blog-files/aria1.0: Added.
- blog-files/aria1.0/africa_large.svg: Added.
- blog-files/aria1.0/combobox_with_live_region_status.html: Added.
- blog-files/aria1.0/roaming_tabindex: Added.
- blog-files/aria1.0/roaming_tabindex/css: Added.
- blog-files/aria1.0/roaming_tabindex/css/img: Added.
- blog-files/aria1.0/roaming_tabindex/css/img/buttons.png: Added.
- blog-files/aria1.0/roaming_tabindex/css/img/icons.png: Added.
- blog-files/aria1.0/roaming_tabindex/css/screen.css: Added.
- blog-files/aria1.0/roaming_tabindex/final.html: Added.
- blog-files/aria1.0/roaming_tabindex/js: Added.
- blog-files/aria1.0/roaming_tabindex/js/aria.js: Added.
- blog-files/aria1.0/roaming_tabindex/js/init.js: Added.
- blog-files/aria1.0/roaming_tabindex/js/prototype.js: Added.
- 6:16 PM Changeset in webkit [166032] by
-
- 3 edits in trunk/Source/WebCore
Cleanup in aisle r166017.
visibleContentRectInternal() was dropping the scrollbar
inclusiveness on the floor, and we need to reset the top inset
between tests.
- platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRectInternal):
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
- 5:57 PM Changeset in webkit [166031] by
-
- 5 edits in trunk/Source/WebKit2
Unreviewed, rolling out r165985.
https://bugs.webkit.org/show_bug.cgi?id=130551
broke page loading on all cocoa platforms (Requested by
thorton on #webkit).
Reverted changeset:
"[WebKit2] Implement
NetworkingContext::sourceApplicationAuditData() for WebKit2"
https://bugs.webkit.org/show_bug.cgi?id=130528
http://trac.webkit.org/changeset/165985
- 5:32 PM Changeset in webkit [166030] by
-
- 3 edits2 adds in trunk/Source/JavaScriptCore
FTL ValueToInt32 mishandles the constant case, and by the way, there is a constant case that the FTL sees
https://bugs.webkit.org/show_bug.cgi?id=130546
<rdar://problem/16383308>
Reviewed by Mark Hahnenberg.
Make AI do a better job of folding this.
Also made the FTL backend be more tolerant of data representations. In this case it
didn't know that "constant" was a valid representation. There is a finite set of
possible representations, but broadly, we don't write code that presumes anything
about the representation of an input; that's what methods like lowJSValue() are for.
ValueToInt32 was previously not relying on those methods at all because it had some
hacks. Now, those hacks are just a fast-path optimization but ultimately we fall down
to lowJSValue().
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::numberOrNotCellToInt32):
- tests/stress/value-to-int32-undefined-constant.js: Added.
(foo):
- tests/stress/value-to-int32-undefined.js: Added.
(foo):
- 5:21 PM Changeset in webkit [166029] by
-
- 2 edits in trunk/Source/WebKit2
Fix a long-standing typo that's now breaking USE(ASYNC_NSTEXTINPUTCLIENT) build.
Rubber-stamped by Tim Horton.
- UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::cancelComposition):
Use a correct type for reply (it's really the same type, but ConfirmComposition
is behind an ifdef, and not available).
- 5:10 PM Changeset in webkit [166028] by
-
- 3 edits in trunk/Source/JavaScriptCore
Add some assertions back
https://bugs.webkit.org/show_bug.cgi?id=130531
Reviewed by Geoffrey Garen.
We removed a useful set of assertions for verifying that MarkedBlocks were
in the state that we expected them to be in after clearing marks in the Heap.
We should add these back to catch bugs earlier.
- heap/MarkedBlock.h:
- heap/MarkedSpace.cpp:
(JSC::VerifyMarkedOrRetired::operator()):
(JSC::MarkedSpace::clearMarks):
- 5:07 PM Changeset in webkit [166027] by
-
- 5 edits in trunk/Source/WebKit2
[iOS WebKit2] typing and deleting text lags behind the caret movement on google.com.
https://bugs.webkit.org/show_bug.cgi?id=130544
<rdar://problem/16380296>
Reviewed by Tim Horton.
On iOS the selection is drawn in the UIProcess. If the WebProcess is
processing multiple requests within the same runloop, the caret could be
updated in the UIProcess before the WebProcess has had a chance to paint.
This change synchronizes the selection drawing with the tile update.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _didCommitLayerTree:WebKit::]):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _selectionChanged]):
(-[WKContentView _updateChangedSelection]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChangeSelection):
- 5:04 PM Changeset in webkit [166026] by
-
- 4 edits in trunk/Source/WebKit2
Generalize WebInspector check in maybeInitializeSandboxExtensionHandle().
https://bugs.webkit.org/show_bug.cgi?id=130079
<rdar://problem/16286683>
Reviewed by Anders Carlsson.
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
Perform an early return for all paths that don't need a sandbox extension due to
access being assumed, not only for WebInspector pages.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::hasAssumedReadAccessToURL):
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
- UIProcess/WebProcessProxy.h:
Factored out m_localPathsWithAssumedReadAccess iteration to a public function.
- 5:03 PM Changeset in webkit [166025] by
-
- 4 edits in trunk/Source/WebKit2
Unreviewed buildfix after r165983 for non Cocoa platforms.
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKPreferences.cpp:
- UIProcess/efl/WebInspectorProxyEfl.cpp:
- 5:03 PM Changeset in webkit [166024] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
Removing unused variable.
- page/FrameView.cpp:
(WebCore::FrameView::didPaintContents):
- 4:55 PM Changeset in webkit [166023] by
-
- 2 edits in trunk/Source/WebKit
Speculative build fix.
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
- 4:47 PM Changeset in webkit [166022] by
-
- 16 edits16 moves in trunk
Rename TextTrackRegion/TextTrackRegionList to VTTRegion/VTTRegionList
https://bugs.webkit.org/show_bug.cgi?id=130543
Reviewed by Dean Jackson.
Merged from Blink (patch by philipj@opera.com):
https://chromium.googlesource.com/chromium/blink/+/69ee6d3399d64163e4936ac1bde222036c54c4b8
http://crbug.com/55653003
Source/WebCore:
Tests: media/track/regions-webvtt/vtt-region-constructor.html
media/track/regions-webvtt/vtt-region-display.html
media/track/regions-webvtt/vtt-region-dom-layout.html
media/track/regions-webvtt/vtt-region-list.html
media/track/regions-webvtt/vtt-region-parser.html
- Configurations/FeatureDefines.xcconfig:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
- html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::newRegionsAvailable):
- html/track/TextTrack.cpp:
(WebCore::TextTrack::ensureVTTRegionList):
(WebCore::TextTrack::regions):
(WebCore::TextTrack::addRegion):
(WebCore::TextTrack::removeRegion):
- html/track/TextTrack.h:
- html/track/TextTrack.idl:
- html/track/TextTrackCue.cpp:
- html/track/TextTrackRegion.cpp: Removed.
- html/track/TextTrackRegion.h: Removed.
- html/track/TextTrackRegion.idl: Removed.
- html/track/TextTrackRegionList.cpp: Removed.
- html/track/TextTrackRegionList.h: Removed.
- html/track/TextTrackRegionList.idl: Removed.
- html/track/VTTCue.cpp:
(WebCore::VTTCue::removeDisplayTree):
- html/track/VTTRegion.cpp: Copied from Source/WebCore/html/track/TextTrackRegion.cpp.
(WebCore::VTTRegion::VTTRegion):
(WebCore::VTTRegion::~VTTRegion):
(WebCore::VTTRegion::setTrack):
(WebCore::VTTRegion::setId):
(WebCore::VTTRegion::setWidth):
(WebCore::VTTRegion::setHeight):
(WebCore::VTTRegion::setRegionAnchorX):
(WebCore::VTTRegion::setRegionAnchorY):
(WebCore::VTTRegion::setViewportAnchorX):
(WebCore::VTTRegion::setViewportAnchorY):
(WebCore::VTTRegion::scroll):
(WebCore::VTTRegion::setScroll):
(WebCore::VTTRegion::updateParametersFromRegion):
(WebCore::VTTRegion::setRegionSettings):
(WebCore::VTTRegion::getSettingFromString):
(WebCore::VTTRegion::parseSettingValue):
(WebCore::VTTRegion::parseSetting):
(WebCore::VTTRegion::textTrackCueContainerScrollingClass):
(WebCore::VTTRegion::textTrackCueContainerShadowPseudoId):
(WebCore::VTTRegion::textTrackRegionShadowPseudoId):
(WebCore::VTTRegion::appendTextTrackCueBox):
(WebCore::VTTRegion::displayLastTextTrackCueBox):
(WebCore::VTTRegion::willRemoveTextTrackCueBox):
(WebCore::VTTRegion::getDisplayTree):
(WebCore::VTTRegion::prepareRegionDisplayTree):
(WebCore::VTTRegion::startTimer):
(WebCore::VTTRegion::stopTimer):
(WebCore::VTTRegion::scrollTimerFired):
- html/track/VTTRegion.h: Copied from Source/WebCore/html/track/TextTrackRegion.h.
(WebCore::VTTRegion::create):
- html/track/VTTRegion.idl: Copied from Source/WebCore/html/track/TextTrackRegion.idl.
- html/track/VTTRegionList.cpp: Copied from Source/WebCore/html/track/TextTrackRegionList.cpp.
(WebCore::VTTRegionList::VTTRegionList):
(WebCore::VTTRegionList::length):
(WebCore::VTTRegionList::item):
(WebCore::VTTRegionList::getRegionById):
(WebCore::VTTRegionList::add):
(WebCore::VTTRegionList::remove):
(WebCore::VTTRegionList::clear):
- html/track/VTTRegionList.h: Copied from Source/WebCore/html/track/TextTrackRegionList.h.
(WebCore::VTTRegionList::create):
(WebCore::VTTRegionList::~VTTRegionList):
- html/track/VTTRegionList.idl: Copied from Source/WebCore/html/track/TextTrackRegionList.idl.
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parseFloatPercentageValue):
(WebCore::WebVTTParser::getNewRegions):
(WebCore::WebVTTParser::createNewRegion):
- html/track/WebVTTParser.h:
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::getNewRegions):
- loader/TextTrackLoader.h:
LayoutTests:
- media/track/regions-webvtt/text-track-cue-region-attribute.html:
- media/track/regions-webvtt/text-track-region-constructor-expected.txt: Removed.
- media/track/regions-webvtt/text-track-region-constructor.html: Removed.
- media/track/regions-webvtt/text-track-region-display-expected.txt: Removed.
- media/track/regions-webvtt/text-track-region-display.html: Removed.
- media/track/regions-webvtt/text-track-region-dom-layout-expected.txt: Removed.
- media/track/regions-webvtt/text-track-region-dom-layout.html: Removed.
- media/track/regions-webvtt/text-track-region-list-expected.txt: Removed.
- media/track/regions-webvtt/text-track-region-list.html: Removed.
- media/track/regions-webvtt/text-track-region-parser-expected.txt: Removed.
- media/track/regions-webvtt/text-track-region-parser.html: Removed.
- media/track/regions-webvtt/vtt-region-constructor-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-constructor-expected.txt.
- media/track/regions-webvtt/vtt-region-constructor.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-constructor.html.
- media/track/regions-webvtt/vtt-region-display-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-display-expected.txt.
- media/track/regions-webvtt/vtt-region-display.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-display.html.
- media/track/regions-webvtt/vtt-region-dom-layout-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-dom-layout-expected.txt.
- media/track/regions-webvtt/vtt-region-dom-layout.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-dom-layout.html.
- media/track/regions-webvtt/vtt-region-list-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-list-expected.txt.
- media/track/regions-webvtt/vtt-region-list.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-list.html.
- media/track/regions-webvtt/vtt-region-parser-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-parser-expected.txt.
- media/track/regions-webvtt/vtt-region-parser.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-parser.html.
- 4:43 PM Changeset in webkit [166021] by
-
- 2 edits in trunk/Source/WebCore
Fix the iOS build.
- page/FrameView.cpp:
(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):
- 4:39 PM Changeset in webkit [166020] by
-
- 2 edits in trunk/Source/WebKit/mac
Fix build.
- MigrateHeaders.make:
- 4:31 PM Changeset in webkit [166019] by
-
- 5 edits2 adds in trunk
[CSS Shapes] clamp RasterShape shapeMargin to reference box size
https://bugs.webkit.org/show_bug.cgi?id=130350
Reviewed by Dean Jackson.
Source/WebCore:
Corrected the way the maximum shape-margin value was computed for image valued
shapes. The limiting case is an image with just one above threshold pixel. The
largest possible value for shapeMargin is the radius of a circle that encloses
the size of the shape-outside element's margin-box, since the shape-outside's
boundary is clipped to the margin-box. The radius is just sqrt(2) * the margin-box's
largest dimension.
Also cleaned up up a few poorly named parameters.
Test: fast/shapes/shape-outside-floats/shape-outside-one-pixel.html
- rendering/shapes/RasterShape.cpp:
(WebCore::RasterShape::marginIntervals):
- rendering/shapes/RasterShape.h:
(WebCore::RasterShape::RasterShape):
- rendering/shapes/Shape.h:
LayoutTests:
Verify that a very large shape-margin value combined with a very small
shape-outside image defines a shape that matches the shape-outside
element's margin-box.
- fast/shapes/shape-outside-floats/shape-outside-one-pixel-expected.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-one-pixel.html: Added.
- 4:30 PM Changeset in webkit [166018] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
- page/FrameView.cpp:
(WebCore::FrameView::paintContents):
- 4:19 PM Changeset in webkit [166017] by
-
- 25 edits4 adds in trunk
Implement contentInset for Mac WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130273
Reviewed by Simon Fraser.
Source/WebCore:
This patch adds support for topContentInset(). If a page has a topContentInset(),
the root layer’s position is adjusted to account for the inset. It is assumed that
the area accounted for by the inset is visible but obscured, so scrollbars need to
be moved so that they only cover the non-obscured area, and most parts of WebCore
that wonder about visibleContentSize only care about the unobscured area, so this
patch makes that visibleContentRect return the unobscuredRect. Finally since this
is achieved by moving a layer’s position, the topContentInset() also needs to be
factored into various functions that are used to convert between coordinate
spaces.
Return Page::topContentInset() if this is the main frame.
- page/FrameView.cpp:
(WebCore::FrameView::topContentInset):
- page/FrameView.h:
Cache the inset on Page.
- page/Page.cpp:
(WebCore::Page::Page):
- page/Page.h:
(WebCore::Page::topContentInset):
(WebCore::Page::setTopContentInset):
unobscuredContentRect() used to unconditionally return visibleContentRect() on
non-iOS platforms. Now that it is possible for some technically visible content to
be obscured, this code needed to be re-worked a bit to make some more sense.
visibleContentRect() now represents that visible content that is completely
unobscured, so it should call into unobscuredContentRect() rather than the other
way around.
- platform/ScrollView.cpp:
(WebCore::ScrollView::unobscuredContentRect):
unscaledTotalVisibleContentSize() includes the size of all content that might be
visible. Some of this content might be obscured.
(WebCore::ScrollView::unscaledTotalVisibleContentSize):
Most of the time, we only care about the content that is FULLY visible. That is
what you get from unscaledUnobscuredVisibleContentSize().
(WebCore::ScrollView::unscaledUnobscuredVisibleContentSize):
Use the unobscured size for these computations.
(WebCore::ScrollView::visibleContentRectInternal):
(WebCore::ScrollView::layoutSize):
Factor in the topContentInset().
(WebCore::ScrollView::scrollOffsetRelativeToDocument):
(WebCore::ScrollView::scrollPositionRelativeToDocument):
The scrollbars should be positioned to cover the non-obscured content only.
(WebCore::ScrollView::updateScrollbars):
Again, factor the topContentInset() into these conversions since the root layer’s
position has been adjusted to account for it.
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::contentsToWindow):
Just like the scrollbars, the scroll corner must be moved the account for the
inset.
(WebCore::ScrollView::scrollCornerRect):
- platform/ScrollView.h:
(WebCore::ScrollView::topContentInset):
RenderLayerCompositor cares about unscaledTotalVisibleContentSize(). It does not
care if some of that content is obscured.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
Move the root layer’s position based on the contentInset.
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::ensureRootLayer):
Allow setting contentInset via Internals for testing purposes.
- testing/Internals.cpp:
(WebCore::Internals::setTopContentInset):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit2:
This patch adds WKView API for setting a topContentInset(). All of this work gets
that number plumbed down to WebCore.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setTopContentInset:]):
(-[WKWebView _topContentInset]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/mac/WKView.mm:
(-[WKView _setTopContentInset:]):
(-[WKView _topContentInset]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setTopContentInset):
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::topContentInset):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setTopContentInset):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
LayoutTests:
Add two tests for hit-testing with a topContentInset.
- platform/mac-wk2/tiled-drawing/content-inset-hit-testing-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame.html: Added.
- platform/mac-wk2/tiled-drawing/content-inset-hit-testing.html: Added.
- 4:16 PM Changeset in webkit [166016] by
-
- 4 edits5 adds in trunk
Optimize RenderTable::colToEffCol() for tables without colspans
https://bugs.webkit.org/show_bug.cgi?id=129298
Reviewed by Simon Fraser.
Create an alternative fast path to RenderTable colToEffCol() and effColToCol()
when there is no colspan or colspan does not exceed the width of table.
Blink merge https://codereview.chromium.org/154243002 by rhogan
PerformanceTests:
- Layout/large-table-with-collapsed-borders-and-colspans-wider-than-table.html: Added.
- Layout/large-table-with-collapsed-borders-and-colspans.html: Added.
- Layout/large-table-with-collapsed-borders-and-no-colspans.html: Added.
- Layout/resources/large-table-with-collapsed-borders.css: Added.
- Layout/resources/large-table-with-collapsed-borders.js: Added.
Source/WebCore:
- rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::appendColumn):
(WebCore::RenderTable::recalcSections):
- rendering/RenderTable.h:
(WebCore::RenderTable::colToEffCol):
(WebCore::RenderTable::effColToCol):
(WebCore::RenderTable::hasCellColspanThatDeterminesTableWidth):
- 4:14 PM Changeset in webkit [166015] by
-
- 4 edits in trunk/Source/WebCore
FrameView::paintContents() is not called for composited content
https://bugs.webkit.org/show_bug.cgi?id=130541
Reviewed by Beth Dakin.
FrameView::paintContents() is not called for frames that have
composited contents, yet it contains code that is expected
to run for all Frames.
Fix by factoring into will/didPaintContents(), and calling
the will/did functions from RenderLayerBacking::paintIntoLayer().
Also add a SetLayoutNeededForbiddenScope check for composited-layer
painting.
- page/FrameView.cpp:
(WebCore::FrameView::updateControlTints):
(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):
(WebCore::FrameView::paintContents):
- page/FrameView.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
- 4:09 PM Changeset in webkit [166014] by
-
- 5 edits4 copies in branches/safari-537.75-branch
Merge r165821.
- 4:08 PM Changeset in webkit [166013] by
-
- 3 edits in trunk/Source/JavaScriptCore
Implement stackmap header version check and support new stackmap formats
https://bugs.webkit.org/show_bug.cgi?id=130535
<rdar://problem/16164284>
Reviewed by Geoffrey Garen.
Add the notion of versioning so that LLVMers can happily implement new stackmap formats
without worrying about WebKit getting version-locked to LLVM. In the future, we will have
to implement parsing for a new LLVM stackmap format before it lands in LLVM, or we'll have
to have a "max usable LLVM revision" limit. But, thanks to versioning, we'll always be
happy to move backward in time to older versions of LLVM.
- ftl/FTLStackMaps.cpp:
(JSC::FTL::readObject):
(JSC::FTL::StackMaps::Constant::parse):
(JSC::FTL::StackMaps::StackSize::parse):
(JSC::FTL::StackMaps::Location::parse):
(JSC::FTL::StackMaps::Record::parse):
(JSC::FTL::StackMaps::parse):
(JSC::FTL::StackMaps::dump):
(JSC::FTL::StackMaps::dumpMultiline):
- ftl/FTLStackMaps.h:
- 4:07 PM Changeset in webkit [166012] by
-
- 2 edits in trunk/Source/WebKit2
Fix 32-bit build.
- UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm:
- 4:03 PM Changeset in webkit [166011] by
-
- 9 edits3 copies in trunk/Source/WebKit2
Make WKProcessPoolConfiguration SPI
https://bugs.webkit.org/show_bug.cgi?id=130537
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKProcessPool.h:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool init]):
(-[WKProcessPool dealloc]):
(-[WKProcessPool description]):
(-[WKProcessPool _configuration]):
(-[WKProcessPool API::]):
(-[WKProcessPool _initWithConfiguration:]):
- UIProcess/API/Cocoa/WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm:
(-[WKProcessPoolConfiguration _injectedBundleURL]):
(-[WKProcessPoolConfiguration _setInjectedBundleURL:]):
- UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h:
- UIProcess/API/Cocoa/WKProcessPoolInternal.h:
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/WKProcessPoolToBeRemoved.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
(-[WKProcessPool initWithConfiguration:]):
(-[WKProcessPool configuration]):
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h.
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm.
(-[_WKProcessPoolConfiguration injectedBundleURL]):
(-[_WKProcessPoolConfiguration setInjectedBundleURL:]):
(-[_WKProcessPoolConfiguration description]):
(-[_WKProcessPoolConfiguration copyWithZone:]):
- WebKit2.xcodeproj/project.pbxproj:
- 3:53 PM Changeset in webkit [166010] by
-
- 1 edit in trunk/Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig
Attempt to fix the Production build again.
- 3:33 PM Changeset in webkit [166009] by
-
- 2 edits5 adds in trunk/LayoutTests
Add a flushing mechanism for the WebVTTParser
https://bugs.webkit.org/show_bug.cgi?id=130532
Reviewed by Eric Carlson.
Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/1ac2b3081492ab8661429230004013a9a3623f0f
http://crbug.com/54203003
https://chromium.googlesource.com/chromium/blink/+/24343d32bc36d20d59ef3e10040faddde65929e6
http://crbug.com/59453002
https://chromium.googlesource.com/chromium/blink/+/ef2793f1d9d207389589ecf9a136ea5c7170b4af
http://crbug.com/75233002
https://chromium.googlesource.com/chromium/blink/+/a29f2f8324abcd4826b41e7dc34373dee2ec57a9
http://crbug.com/52713005
https://chromium.googlesource.com/chromium/blink/+/7ce003c8d47b39f116f1f2a592a5dfb4a9e77228
http://crbug.com/64303004
https://chromium.googlesource.com/chromium/blink/+/18f896b3498478311e880f782813d5dfc8c0c7d1
http://crbug.com/96933004
https://chromium.googlesource.com/chromium/blink/+/8670e8ecb13254a651f5493ec83f4484d18c154e
http://crbug.com/98783005
https://chromium.googlesource.com/chromium/blink/+/4ac55780a6af3d76e0159c1d145330964ad56647
http://crbug.com/104713002
- http/tests/media/track: Added.
- http/tests/media/track/track-webvtt-slow-loading-2-expected.txt: Added.
- http/tests/media/track/track-webvtt-slow-loading-2.html: Added.
- http/tests/media/track/track-webvtt-slow-loading.html: Added.
- media/track/captions-webvtt/captions-multiline-lf.vtt: Added.
- media/track/track-webvtt-tc023-markup.html:
- 3:24 PM Changeset in webkit [166008] by
-
- 4 edits2 copies in branches/safari-537.75-branch
Merge r165921.
- 3:21 PM Changeset in webkit [166007] by
-
- 2 edits in trunk/Source/WebCore
Fix the Mountain Lion build.
- platform/graphics/cocoa/IOSurface.mm:
(IOSurface::setIsPurgeable):
- 3:14 PM Changeset in webkit [166006] by
-
- 13 edits2 adds in trunk
Web Replay: capture and replay mouse events
https://bugs.webkit.org/show_bug.cgi?id=129395
Reviewed by Joseph Pecoraro.
.:
Create a manual test for capture/replay of mouse events.
Copy over the crypto-md5.js library from SunSpider.
- ManualTests/inspector/replay-mouse-events.html: Added.
- ManualTests/inspector/resources/crypto-md5.js: Added.
Source/WebCore:
Add support for capturing and replaying mouse inputs that come from WebKit2.
Hook up the UserInputBridge to session state changes in the ReplayController so
that the bridge knows when to capture or deny mouse inputs.
Test: ManualTests/inspector/replay-mouse-events.html
- platform/PlatformEvent.h: Give explicit storage types to Modifiers and Type enums
so they can be forward-declared.
- platform/PlatformMouseEvent.h: Give an explicit storage type to enum MouseButton.
Add operator== and operator!= for MouseButton to work around an MSVC bug.
- replay/ReplayController.cpp: Perform session state changes in a helper function, and
at the same time change the state of the page's user input bridge.
(WebCore::ReplayController::setSessionState):
(WebCore::ReplayController::startCapturing):
(WebCore::ReplayController::stopCapturing):
(WebCore::ReplayController::startPlayback):
(WebCore::ReplayController::cancelPlayback):
- replay/ReplayInputDispatchMethods.cpp: Add dispatch methods for new inputs.
(WebCore::HandleMouseMove::dispatch):
(WebCore::HandleMousePress::dispatch):
(WebCore::HandleMouseRelease::dispatch):
- replay/SerializationMethods.cpp: Add helper macros so that encode/decode methods look
symmetric with one data member per line. This helps reduce unintentional inconsistencies.
(JSC::EncodingTraits<PlatformMouseEvent>::encodeValue): Added.
(JSC::EncodingTraits<PlatformMouseEvent>::decodeValue): Added.
- replay/SerializationMethods.h:
- replay/UserInputBridge.cpp: Fill in the bridge method implementations for mouse
events, adding helpers and macros as necessary to reduce boilerplate.
(WebCore::UserInputBridge::activeCursor): Added.
(WebCore::UserInputBridge::handleMousePressEvent):
(WebCore::UserInputBridge::handleMouseReleaseEvent):
(WebCore::UserInputBridge::handleMouseMoveEvent):
(WebCore::UserInputBridge::handleMouseMoveOnScrollbarEvent):
- replay/UserInputBridge.h: Add a bridge state enum along with getters and setters.
The enum value controls whether the bridge should capture commands, deny non-synthetic
commands (from the user), or allow anything to pass (the default).
(WebCore::UserInputBridge::setState): Added.
(WebCore::UserInputBridge::state): Added.
- replay/WebInputs.json: Add inputs HandleMouseMove, HandleMousePress, HandleMouseRelease.
Add enum definitions for PlatformEvent::Type, PlatformEvent::Modifiers, and PlatformMouseEvent::MouseButton.
Alphabetize the existing data type definitions.
- 3:06 PM Changeset in webkit [166005] by
-
- 15 edits2 adds in trunk/Source
Add WebCore::IOSurface wrapper
https://bugs.webkit.org/show_bug.cgi?id=130529
Reviewed by Simon Fraser.
- WebCore.exp.in:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/cg/ColorCG.cpp:
- platform/graphics/cg/GraphicsContextCG.h:
(WebCore::cachedCGColorSpace):
Move cachedCGColorSpace out so that other clients of GraphicsContextCG
can use its mapping from WebCore::ColorSpace -> CGColorSpaceRef.
- platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
- platform/graphics/cg/ImageBufferCG.cpp:
Add FIXMEs for ImageBuffer to adopt WebCore::IOSurface.
- platform/graphics/cocoa/IOSurface.h: Added.
- platform/graphics/cocoa/IOSurface.mm: Added.
(IOSurface::create):
(IOSurface::createFromMachPort):
(IOSurface::createFromSurface):
(IOSurface::IOSurface):
(IOSurface::maximumSize):
(IOSurface::createMachPort):
(IOSurface::createImage):
(IOSurface::ensurePlatformContext):
(IOSurface::ensureGraphicsContext):
(IOSurface::state):
(IOSurface::isPurgeable):
(IOSurface::setIsPurgeable):
(IOSurface::inUse):
Add WebCore::IOSurface.
- Shared/mac/RemoteLayerBackingStore.h:
- Shared/mac/RemoteLayerBackingStore.mm:
(RemoteLayerBackingStore::encode):
(RemoteLayerBackingStore::decode):
(RemoteLayerBackingStore::display):
(RemoteLayerBackingStore::applyBackingStoreToLayer):
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):
- UIProcess/mac/ViewGestureController.h:
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):
- UIProcess/mac/ViewSnapshotStore.h:
- UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::createIOSurfaceFromImage):
(WebKit::ViewSnapshotStore::recordSnapshot):
Adopt WebCore::IOSurface.
- 2:53 PM Changeset in webkit [166004] by
-
- 2 edits in trunk/Source/WebCore
iOS build fix after r165992.
- generate-export-file:
(preprocessorMacros):
- 2:19 PM Changeset in webkit [166003] by
-
- 6 edits2 copies2 moves in trunk/Source/WebCore
[WebRTC] Moving RTCConfiguration and RTCIceServer to Modules/mediastream
https://bugs.webkit.org/show_bug.cgi?id=130434
Reviewed by Eric Carlson.
Those classes are defined in WebRTC spec, so they should not be in platform layer.
Adding a platform implementation to be passed to handler classes.
- Modules/mediastream/RTCConfiguration.h: Copied from Source/WebCore/platform/mediastream/RTCConfiguration.h.
- Modules/mediastream/RTCIceServer.h: Copied from Source/WebCore/platform/mediastream/RTCIceServer.h.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::updateIce):
- WebCore.xcodeproj/project.pbxproj:
- platform/mediastream/RTCConfigurationPrivate.h: Added.
- platform/mediastream/RTCIceServerPrivate.h: Added.
- platform/mediastream/RTCPeerConnectionHandler.h:
- platform/mock/RTCPeerConnectionHandlerMock.cpp:
(WebCore::RTCPeerConnectionHandlerMock::initialize):
(WebCore::RTCPeerConnectionHandlerMock::updateIce):
- platform/mock/RTCPeerConnectionHandlerMock.h:
- 2:17 PM Changeset in webkit [166002] by
-
- 9 edits in trunk/Source/WebKit2
Update iOS input method code to use new cross-platform async functions
https://bugs.webkit.org/show_bug.cgi?id=130530
Reviewed by Enrica Casucci.
Merge identical iOS and cross-platform functions.
Also tightened up ifdefs, and removed stub iOS implementations of sync methods,
which hopefully won't be ever needed. The only tricky case is sync cancelComposition,
will I'll investigate separately.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setMarkedText:selectedRange:]):
(-[WKContentView unmarkText]):
(-[WKContentView insertText:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::cancelComposition):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::cancelComposition):
(WebKit::WebPageProxy::insertDictatedTextAsync):
(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::cancelComposition):
(WebKit::WebPage::insertDictatedTextAsync):
(WebKit::WebPage::attributedSubstringForCharacterRangeAsync):
- 2:15 PM Changeset in webkit [166001] by
-
- 7 edits in trunk/Source/WebCore
[WinCairo] Unreviewed speculative build after my r165996.
- platform/network/soup/AuthenticationChallengeSoup.cpp:
- platform/network/soup/CertificateInfo.cpp:
- platform/network/soup/CookieJarSoup.cpp:
- platform/network/soup/ResourceRequestSoup.cpp:
- platform/network/soup/ResourceResponseSoup.cpp:
- platform/network/soup/SynchronousLoaderClientSoup.cpp:
- 2:12 PM Changeset in webkit [166000] by
-
- 2 edits in trunk/Source/WebKit2
ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
https://bugs.webkit.org/show_bug.cgi?id=130526
<rdar://problem/16371612>
Reviewed by Anders Carlsson.
- UIProcess/API/mac/WKView.mm: (-[WKView performKeyEquivalent:]): Cut custom
processing short whenever we are redispatching an event, not just when the event
we are handling is the one being redispatched. There shouldn't be any other unrelated
events here, just the one being redispatched and synthetic ones generated from it by AppKit.
- 2:05 PM Changeset in webkit [165999] by
-
- 28 edits in trunk/Source
Source/JavaScriptCore: Crash beneath operationTearOffActivation running this JS compression demo
https://bugs.webkit.org/show_bug.cgi?id=130295
<rdar://problem/16332337>
Patch by Filip Pizlo <fpizlo@apple.com> on 2014-03-20
Reviewed by Oliver Hunt.
Make sure that we flush things as if we were at a terminal, if we are at a block with
no forward edges. This fixes infinitely loopy code with captured variables.
Make sure that the CFG simplifier adds explicit flushes whenever it jettisons a block.
Make it so that NodeIsFlushed is a thing. Previously only SSA used it and it computed
it by itself. Now it's an artifact of CPS rethreading.
Add a bunch of tests. All of them previously either crashed or returned bad output due
to memory corruption.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::isCaptured):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::flushForTerminal):
(JSC::DFG::ByteCodeParser::flushForReturn):
(JSC::DFG::ByteCodeParser::flushIfTerminal):
(JSC::DFG::ByteCodeParser::branchData):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
- dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::computeIsFlushed):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalOp):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalEdge):
- dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::clearFlagsOnAllNodes):
- dfg/DFGGraph.h:
- dfg/DFGNode.h:
- dfg/DFGNodeFlags.cpp:
(JSC::DFG::dumpNodeFlags):
- dfg/DFGNodeFlags.h:
- dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
- tests/stress/activation-test-loop.js: Added.
(Inner.this.doStuff):
(Inner):
(foo.inner.isDone):
(foo):
- tests/stress/inferred-infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):
- tests/stress/infinite-loop-that-uses-captured-variables-before-throwing.js: Added.
(bar):
(foo):
(noInline):
- tests/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js: Added.
(bar):
(foo):
(noInline):
- tests/stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js: Added.
(bar):
(foo):
(noInline):
- tests/stress/infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):
- tests/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(fuzz):
(foo.f):
(foo):
- tests/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(foo.f):
(foo):
- tests/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(foo.f):
(foo):
- tests/stress/tricky-infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):
Source/WTF: Remove IdentifierTable typedef, isIdentifier()
https://bugs.webkit.org/show_bug.cgi?id=130533
Rubber stamped by Geoff Garen.
Code should use AtomicStringTable, isAtomic() directly.
- wtf/WTFThreadData.h:
(WTF::WTFThreadData::setCurrentAtomicStringTable):
(WTF::WTFThreadData::resetCurrentAtomicStringTable):
- removed IdentifierTypedef.
- wtf/text/StringImpl.h:
(WTF::StringImpl::flagIsAtomic):
- renamed flagIsIdentfier -> flagIsAtomic.
- 2:02 PM Changeset in webkit [165998] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
[iOS] asynchronous media callbacks should happen on the web thread
https://bugs.webkit.org/show_bug.cgi?id=130536
Reviewed by Jer Noble.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability): Use callOnMainThread
instead of dispatch_async(dispatch_get_main_queue()).
- 1:59 PM Changeset in webkit [165997] by
-
- 11 edits2 adds in trunk/Source/WebCore
Add a flushing mechanism for the WebVTTParser
https://bugs.webkit.org/show_bug.cgi?id=130532
Reviewed by Eric Carlson.
Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/1ac2b3081492ab8661429230004013a9a3623f0f
http://crbug.com/54203003
https://chromium.googlesource.com/chromium/blink/+/24343d32bc36d20d59ef3e10040faddde65929e6
http://crbug.com/59453002
https://chromium.googlesource.com/chromium/blink/+/ef2793f1d9d207389589ecf9a136ea5c7170b4af
http://crbug.com/75233002
https://chromium.googlesource.com/chromium/blink/+/a29f2f8324abcd4826b41e7dc34373dee2ec57a9
http://crbug.com/52713005
https://chromium.googlesource.com/chromium/blink/+/7ce003c8d47b39f116f1f2a592a5dfb4a9e77228
http://crbug.com/64303004
https://chromium.googlesource.com/chromium/blink/+/18f896b3498478311e880f782813d5dfc8c0c7d1
http://crbug.com/96933004
https://chromium.googlesource.com/chromium/blink/+/8670e8ecb13254a651f5493ec83f4484d18c154e
http://crbug.com/98783005
https://chromium.googlesource.com/chromium/blink/+/4ac55780a6af3d76e0159c1d145330964ad56647
http://crbug.com/104713002
Tests: http/tests/media/track/track-webvtt-slow-loading-2.html
http/tests/media/track/track-webvtt-slow-loading.html
- CMakeLists.txt:
- GNUmakefile.list.am:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- html/track/BufferedLineReader.cpp: Added.
- html/track/BufferedLineReader.h: Added.
- html/track/TextTrackRegion.cpp:
- html/track/VTTCue.cpp:
- html/track/WebVTTParser.cpp:
- html/track/WebVTTParser.h:
- loader/TextTrackLoader.cpp:
- 1:55 PM Changeset in webkit [165996] by
-
- 32 edits in trunk/Source/WebCore
Preparation for using Soup on Windows.
https://bugs.webkit.org/show_bug.cgi?id=130472
Reviewed by Brent Fulgham.
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
Added Soup source to build on WinCairo.
- platform/network/curl/CookieJarCurl.cpp:
- platform/network/curl/CredentialStorageCurl.cpp:
- platform/network/curl/CurlCacheEntry.cpp:
- platform/network/curl/CurlCacheManager.cpp:
- platform/network/curl/CurlDownload.cpp:
- platform/network/curl/DNSCurl.cpp:
- platform/network/curl/FormDataStreamCurl.cpp:
- platform/network/curl/MultipartHandle.cpp:
- platform/network/curl/ProxyServerCurl.cpp:
- platform/network/curl/ResourceHandleCurl.cpp:
- platform/network/curl/ResourceHandleManager.cpp:
- platform/network/curl/SSLHandle.cpp:
- platform/network/curl/SocketStreamHandleCurl.cpp:
Protected with USE(CURL) to avoid duplicate symbols when linking.
- platform/network/soup/AuthenticationChallengeSoup.cpp:
- platform/network/soup/CertificateInfo.cpp:
- platform/network/soup/CookieJarSoup.cpp:
- platform/network/soup/CookieStorageSoup.cpp:
- platform/network/soup/CredentialStorageSoup.cpp:
- platform/network/soup/DNSSoup.cpp:
- platform/network/soup/NetworkStorageSessionSoup.cpp:
- platform/network/soup/ProxyResolverSoup.cpp:
- platform/network/soup/ProxyServerSoup.cpp:
- platform/network/soup/ResourceErrorSoup.cpp:
- platform/network/soup/ResourceHandleSoup.cpp:
- platform/network/soup/ResourceRequestSoup.cpp:
- platform/network/soup/ResourceResponseSoup.cpp:
- platform/network/soup/SocketStreamHandleSoup.cpp:
- platform/network/soup/SoupNetworkSession.cpp:
- platform/network/soup/SynchronousLoaderClientSoup.cpp:
Protected with USE(CURL) to avoid duplicate symbols when linking.
- 1:53 PM Changeset in webkit [165995] by
-
- 12 edits10 adds in trunk/Source/JavaScriptCore
Crash beneath operationTearOffActivation running this JS compression demo
https://bugs.webkit.org/show_bug.cgi?id=130295
<rdar://problem/16332337>
Reviewed by Oliver Hunt.
Make sure that we flush things as if we were at a terminal, if we are at a block with
no forward edges. This fixes infinitely loopy code with captured variables.
Make sure that the CFG simplifier adds explicit flushes whenever it jettisons a block.
Make it so that NodeIsFlushed is a thing. Previously only SSA used it and it computed
it by itself. Now it's an artifact of CPS rethreading.
Add a bunch of tests. All of them previously either crashed or returned bad output due
to memory corruption.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::isCaptured):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::flushForTerminal):
(JSC::DFG::ByteCodeParser::flushForReturn):
(JSC::DFG::ByteCodeParser::flushIfTerminal):
(JSC::DFG::ByteCodeParser::branchData):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
- dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::computeIsFlushed):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalOp):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalEdge):
- dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::clearFlagsOnAllNodes):
- dfg/DFGGraph.h:
- dfg/DFGNode.h:
- dfg/DFGNodeFlags.cpp:
(JSC::DFG::dumpNodeFlags):
- dfg/DFGNodeFlags.h:
- dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
- tests/stress/activation-test-loop.js: Added.
(Inner.this.doStuff):
(Inner):
(foo.inner.isDone):
(foo):
- tests/stress/inferred-infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):
- tests/stress/infinite-loop-that-uses-captured-variables-before-throwing.js: Added.
(bar):
(foo):
(noInline):
- tests/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js: Added.
(bar):
(foo):
(noInline):
- tests/stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js: Added.
(bar):
(foo):
(noInline):
- tests/stress/infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):
- tests/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(fuzz):
(foo.f):
(foo):
- tests/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(foo.f):
(foo):
- tests/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(foo.f):
(foo):
- tests/stress/tricky-infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):
- 1:49 PM Changeset in webkit [165994] by
-
- 3 edits in trunk/Source/WebKit
Build fixes for Win64.
https://bugs.webkit.org/show_bug.cgi?id=130481
Reviewed by Brent Fulgham.
- WebKit.vcxproj/WebKit.sln:
Don't build ANGLE projects for now, corrected build configurations,
and build WebInspectorUI.
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Added 64-bit linker symbol.
- 1:41 PM Changeset in webkit [165993] by
-
- 3 edits1 move in trunk/Source/WebKit2
Fix build.
Rename WKPreferencesPrivate.h to WKPreferencesRefPrivate.h.
- UIProcess/API/C/WKPreferencesRefPrivate.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- WebKit2.xcodeproj/project.pbxproj:
- 1:38 PM BuildingGtk edited by
- (diff)
- 1:30 PM Changeset in webkit [165992] by
-
- 2 edits in trunk/Source/WebCore
iOS build fix after r165979.
- generate-export-file:
(preprocessorMacros):
- 1:26 PM Changeset in webkit [165991] by
-
- 11 edits4 adds in trunk
[New Multicolumn] getClientRects returns wrong rectangle
https://bugs.webkit.org/show_bug.cgi?id=128614
Reviewed by Sam Weinig.
Added fast/multicol/newmulticol/client-rects.html and beefed up existing
fast/multicol/client-rects.html to use more writing modes.
Source/WebCore:
- rendering/LayoutState.h:
Removed unused function.
- rendering/RenderFlowThread.h:
Make mapFlowToRegion virtual so that RenderMultiColumnFlowThread can
override it.
- rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
- rendering/RenderMultiColumnFlowThread.h:
Implement mapFlowToRegion to correctly translate a flow thread position
into a column offset within a region.
- rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
- rendering/RenderMultiColumnSet.h:
Refactored some code to make a columnTranslationForOffset helper that
can be used by RenderMultiColumnFlowThread.
LayoutTests:
- fast/multicol/client-rects.html:
- fast/multicol/newmulticol/client-rects-expected.html: Added.
- fast/multicol/newmulticol/client-rects.html: Added.
- platform/mac/fast/multicol/client-rects-expected.png:
- platform/mac/fast/multicol/client-rects-expected.txt:
- 1:03 PM Changeset in webkit [165990] by
-
- 2 edits in trunk/Source/WebKit2
Merge AtomicString, Identifier
https://bugs.webkit.org/show_bug.cgi?id=128624
Unreviewed build fix following r165982.
- WebProcess/Plugins/Netscape/NPJSObject.cpp:
- update includes.
- 1:01 PM Changeset in webkit [165989] by
-
- 4 edits2 adds in trunk
Incorrect behavior when mutating a typed array during set.
https://bugs.webkit.org/show_bug.cgi?id=130428
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
This fixes a null derefence that occurs if a typed array
is mutated during the set() operation. The patch gets rid
of the "Quickly" version of setIndex that is assigning
JSValues of unknown type, as the numeric conversion can trigger
side effects that lead to neutering, and so we deref null.
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndex):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::set):
(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):
LayoutTests:
Test behaviour of TypedArray.set(array) when we neuter the array.
- js/typed-array-mutated-during-set-expected.txt: Added.
- js/typed-array-mutated-during-set.html: Added.
- 12:59 PM Changeset in webkit [165988] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: DebuggerDashboardView looks scrunched debugging JSContext
https://bugs.webkit.org/show_bug.cgi?id=130527
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-20
Reviewed by Timothy Hatcher.
Instead of using body.javascript to force a collapsed style,
actually use the toolbar's collapsed class.
- UserInterface/Views/DashboardContainerView.css:
(.toolbar.collapsed .dashboard-container):
- UserInterface/Views/Toolbar.js:
- 12:46 PM Changeset in webkit [165987] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: probe sidebar should use overflow:scroll and split space evenly
https://bugs.webkit.org/show_bug.cgi?id=129627
Patch by Katie Madonna <madonnk@gmail.com> on 2014-03-20
Reviewed by Timothy Hatcher.
Use flexbox to split space evenly in the probe sidebar, which required changes to collapse
format, remove scrollbar styles from old timelapse branch.
- UserInterface/Views/ProbeDetailsSidebarPanel.css: Space elements evenly with flexbox
and make collapse correctly, remove scrollbar style.
- UserInterface/Views/ProbeSetDetailsSection.js: Removed inline style.
- 12:34 PM Changeset in webkit [165986] by
-
- 6 edits2 adds in trunk
Preserve original document URL for XSSAuditor reports
Merged from Blink (patch by Tom Sepez):
https://src.chromium.org/viewvc/blink?view=rev&revision=158406
Source/WebCore:
Test: http/tests/security/xssAuditor/report-script-tag-replace-state.html
- html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterToken):
- html/parser/XSSAuditorDelegate.cpp:
(WebCore::buildConsoleError):
(WebCore::XSSAuditorDelegate::generateViolationReport):
(WebCore::XSSAuditorDelegate::didBlockScript):
- html/parser/XSSAuditorDelegate.h:
(WebCore::XSSInfo::XSSInfo):
LayoutTests:
- http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt: Added.
- http/tests/security/xssAuditor/report-script-tag-replace-state.html: Added.
- http/tests/security/xssAuditor/resources/echo-intertag.pl:
- 12:32 PM Changeset in webkit [165985] by
-
- 5 edits in trunk/Source/WebKit2
[WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130528
Reviewed by Anders Carlsson.
- Platform/IPC/Connection.h:
- Platform/IPC/mac/ConnectionMac.cpp:
(IPC::Connection::getAuditToken):
Expose the audit data if available.
- NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
- WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
Pass the audit data corresponding to the UIProcess.
- 12:32 PM Changeset in webkit [165984] by
-
- 5 edits2 adds in trunk
XSSAuditor bypass with frameset tags
Merged from Blink (patch by Tom Sepez):
https://src.chromium.org/viewvc/blink?view=rev&revision=157794
Source/WebCore:
Test: http/tests/security/xssAuditor/frameset-injection.html
- html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterStartToken):
(WebCore::XSSAuditor::filterFrameToken):
- html/parser/XSSAuditor.h:
LayoutTests:
- http/tests/security/xssAuditor/frameset-injection-expected.txt: Added.
- http/tests/security/xssAuditor/frameset-injection.html: Added.
- http/tests/security/xssAuditor/resources/echo-intertag.pl:
- 12:31 PM Changeset in webkit [165983] by
-
- 4 edits1 add in trunk/Source/WebKit2
[Cocoa] Expose preference to enable telephone number detection
https://bugs.webkit.org/show_bug.cgi?id=130524
Reviewed by Anders Carlsson.
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _telephoneNumberDetectionIsEnabled]):
(-[WKPreferences _setTelephoneNumberDetectionIsEnabled:]):
- UIProcess/API/Cocoa/WKPreferencesInternal.h:
- UIProcess/API/Cocoa/WKPreferencesPrivate.h: Added.
- WebKit2.xcodeproj/project.pbxproj:
- 12:26 PM Changeset in webkit [165982] by
-
- 27 edits1 add in trunk/Source
Merge AtomicString, Identifier
https://bugs.webkit.org/show_bug.cgi?id=128624
Reviewed by Geoff Garen.
Source/JavaScriptCore:
WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
Identifer - that is one too many.
Remove Identifier in favour of AtomicString. Identifier had two interesting
mechanisms that we preserve.
(1) JSC API VMs each get their own string table, switch the string table on
API entry/exit.
(2) JSC caches a pointer to the string table on the VM to avoid a thread
specific access. Adds a new AtomicString::add method to support this.
- API/JSAPIWrapperObject.mm:
- updated includes.
- JavaScriptCore.xcodeproj/project.pbxproj:
- added IdentifierInlines.h.
- inspector/JSInjectedScriptHostPrototype.cpp:
- inspector/JSJavaScriptCallFramePrototype.cpp:
- updated includes.
- interpreter/CallFrame.h:
(JSC::ExecState::atomicStringTable):
- added, used via AtomicString::add to avoid thread-specific access.
- runtime/ConsolePrototype.cpp:
- updated includes.
- runtime/Identifier.cpp:
(JSC::Identifier::add):
(JSC::Identifier::add8):
- vm->smallStrings.singleCharacterStringRep now returns Atomic strings, use AtomicString::add.
- runtime/Identifier.h:
(JSC::Identifier::Identifier):
- added ASSERTS.
(JSC::Identifier::add):
- vm->smallStrings.singleCharacterStringRep now returns Atomic strings, use AtomicString::add.
- runtime/IdentifierInlines.h: Added.
(JSC::Identifier::add):
- moved from Identifier.h, use AtomicString::add.
- runtime/JSCInlines.h:
- added IdentifierInlines.h.
- runtime/JSLock.h:
- removed IdentifierTable.
- runtime/PropertyNameArray.cpp:
- updated includes.
- runtime/SmallStrings.cpp:
(JSC::SmallStringsStorage::SmallStringsStorage):
- ensure all single character strings are Atomic.
- runtime/VM.cpp:
(JSC::VM::VM):
- instantiate CommonIdentifiers with the correct AtomicStringTable set on thread data.
- runtime/VM.h:
(JSC::VM::atomicStringTable):
- added, used via AtomicString::add to avoid thread-specific access.
Source/WebKit:
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
- exports no longer needed.
Source/WTF:
WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
Identifer - that is one too many.
Remove Identifier in favour of AtomicString. Identifier had two interesting
mechanisms that we preserve.
(1) JSC API VMs each get their own string table, switch the string table on
API entry/exit.
(2) JSC caches a pointer to the string table on the VM to avoid a thread
specific access. Adds a new AtomicString::add method to support this.
- wtf/WTFThreadData.cpp:
(WTF::WTFThreadData::WTFThreadData):
- remove allocation of IdentifierTable.
(WTF::WTFThreadData::~WTFThreadData):
- remove deletion of IdentifierTable.
- wtf/WTFThreadData.h:
(WTF::WTFThreadData::atomicStringTable):
- table is now switched by JSC API, return the current table.
(WTF::WTFThreadData::currentIdentifierTable):
- now returns the current AtomicStringTable.
(WTF::WTFThreadData::setCurrentIdentifierTable):
- now sets the current AtomicStringTable.
(WTF::WTFThreadData::resetCurrentIdentifierTable):
- now resets the AtomicStringTable.
- wtf/text/AtomicString.cpp:
(WTF::AtomicString::addSlowCase):
- add without thread-specific access to access string table.
- wtf/text/AtomicString.h:
(WTF::AtomicString::addWithStringTableProvider):
- add without thread-specific access (used by JSC, string table provided by VM or ExecState).
- wtf/text/AtomicStringTable.cpp:
(WTF::AtomicStringTable::create):
- renamed m_atomicStringTable -> m_defaultAtomicStringTable.
(WTF::AtomicStringTable::~AtomicStringTable):
(WTF::AtomicStringTable::destroy):
- clearing of table moved from AtomicStringTable::destroy to destructor.
- wtf/text/AtomicStringTable.h:
- added destructor.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
- Identifers no longer exist; no need to remove them from IdentifierTable.
- wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
- removed s_hashFlagIsIdentifier.
(WTF::StringImpl::flagIsIdentifier):
- s_hashFlagIsIdentifier -> s_hashFlagIsAtomic.
(WTF::StringImpl::isIdentifier):
- now synonymous to isAtomic().
- wtf/text/StringStatics.cpp:
(WTF::StringImpl::hashAndFlagsForEmptyUnique):
- removed s_hashFlagIsIdentifier.
- 11:49 AM Changeset in webkit [165981] by
-
- 12 edits in trunk/Source/WebCore
Web Replay: fix some oversights in the replay backend
https://bugs.webkit.org/show_bug.cgi?id=130435
Reviewed by Andreas Kling.
This functionality will be covered by tests in https://webkit.org/b/130145.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::playbackFinishedImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::playbackFinished):
- inspector/InspectorReplayAgent.cpp:
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::playbackFinished):
- inspector/InspectorReplayAgent.h: Add a playbackFinished event to Inspector
instrumentation. This is fired by ReplayController when playback is cancelled or
playback of the final segment has completed.
- replay/EventLoopInputDispatcher.cpp:
(WebCore::EventLoopInputDispatcher::dispatchInputSoon): Fix wrong cast.
(WebCore::EventLoopInputDispatcher::dispatchInput): Ensure that m_dispatching is
false when m_running is false.
- replay/EventLoopInputDispatcher.h: Distinguish 'dispaching' and 'running' in comments.
(WebCore::EventLoopInputDispatcher::isRunning): Added.
- replay/FunctorInputCursor.h: Since the base class InputCursor is RefCounted, the
Functor subclass cannot be put into a unique_ptr. Add create() method instead.
- replay/ReplayController.cpp:
(WebCore::ReplayController::loadSegmentAtIndex): Renamed from loadSegment(). Callers
now pass in the desired segment index rather than the segment itself. The index is
necessary to properly reset m_position after the segment is loaded.
(WebCore::ReplayController::startPlayback): Set the dispatcher's speed before run().
(WebCore::ReplayController::pausePlayback): Only pause the dispatcher if it's running.
(WebCore::ReplayController::cancelPlayback): Add playbackFinished instrumentation.
(WebCore::ReplayController::replayToPosition):
(WebCore::ReplayController::didDispatchFinalInput): If there are no more segments to load,
manually adjust the final m_position and defer to cancelPlayback to unload the segment.
- replay/ReplayController.h:
- replay/ReplaySessionSegment.cpp:
(WebCore::ReplaySessionSegment::createFunctorCursor):
- replay/ReplaySessionSegment.h:
- 11:44 AM Changeset in webkit [165980] by
-
- 21 edits in trunk/LayoutTests
[CSS Regions] Cleanup scrollable regions tests
https://bugs.webkit.org/show_bug.cgi?id=130505
Reviewed by Mihnea Ovidenie.
Tests should only display red in case of failure. Purpose of the test should be very clearly stated.
- fast/regions/scrollable-last-region-expected.html:
- fast/regions/scrollable-last-region.html:
- fast/regions/scrollable-regions-hit-testing-inside-expected.html:
- fast/regions/scrollable-regions-hit-testing-inside.html:
- fast/regions/scrollable-single-region-bt-expected.html:
- fast/regions/scrollable-single-region-bt.html:
- fast/regions/scrollable-single-region-expected.html:
- fast/regions/scrollable-single-region-lr-expected.html:
- fast/regions/scrollable-single-region-lr.html:
- fast/regions/scrollable-single-region-relative-element-expected.html:
- fast/regions/scrollable-single-region-relative-element.html:
- fast/regions/scrollable-single-region-rl-expected.html:
- fast/regions/scrollable-single-region-rl.html:
- fast/regions/scrollable-single-region.html:
- fast/regions/wheel-scroll-abspos-expected.html:
- fast/regions/wheel-scroll-abspos.html:
- fast/regions/wheel-scroll-expected.html:
- fast/regions/wheel-scroll.html:
- fast/regions/wheel-scrollable-single-region-expected.html:
- fast/regions/wheel-scrollable-single-region.html:
- 11:40 AM Changeset in webkit [165979] by
-
- 16 edits in trunk/Source
[iOS] Get code to compile on older iOS versions
https://bugs.webkit.org/show_bug.cgi?id=130142
<rdar://problem/16302908>
Reviewed by Darin Adler.
Source/WebCore:
- WebCore.exp.in:
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(-[WebVideoFullscreenController WebCore::]):
(-[WebVideoFullscreenController enterFullscreen:]):
(-[WebVideoFullscreenController exitFullscreen]):
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
- platform/mac/HTMLConverter.mm:
(_dateForString):
- platform/network/cf/CookieJarCFNet.cpp:
(WebCore::copyCookiesForURLWithFirstPartyURL):
- platform/text/ios/LocalizedDateCache.mm:
(WebCore::LocalizedDateCache::calculateMaximumWidth):
- platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::LocaleMac):
Source/WebKit/mac:
- History/WebHistory.mm:
(getDayBoundaries):
- Plugins/WebPluginController.h:
- Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- WebCoreSupport/WebFrameLoaderClient.mm:
(pluginView):
- WebView/WebPreferences.mm:
(-[WebPreferences _setAllowCompositingLayerVisualDegradation:]):
- WebView/WebPreferencesPrivate.h:
- 11:34 AM Changeset in webkit [165978] by
-
- 2 edits in trunk/Source/WebCore
Followup build fix: AnimationBase.h needs to be private because
it's included by AnimationController.h.
- WebCore.xcodeproj/project.pbxproj:
- 11:32 AM Changeset in webkit [165977] by
-
- 10 edits6 adds in trunk
A completed fill-forwards animation should not disable overlap testing
https://bugs.webkit.org/show_bug.cgi?id=130522
<rdar://problem/15862395>
Source/WebCore:
Reviewed by Dean Jackson.
Previously, if -webkit-transform was being keyframe-animated, and the
animation had fill-forwards, then we would continue to think that the
animation is running and turn off compositing overlap testing. This
caused some sites to keep too much backing store around.
Fix by having isRunning{Accelerated}AnimationOnRenderer take some flags
so that more specific questions about the running state can be asked.
For layer creation, keep using the same criteria as before (for now)
which includes paused and fill-forwards animations. For overlap testing,
don't include the fill-forwards test.
Tests: compositing/animation/filling-animation-overlap-at-end.html
compositing/animation/filling-animation-overlap.html
compositing/animation/layer-for-filling-animation.html
- page/animation/AnimationBase.h:
(WebCore::AnimationBase::fillingForwards):
(WebCore::AnimationBase::inPausedState):
(WebCore::AnimationBase::isAnimatingProperty):
- page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
- page/animation/AnimationController.h:
- page/animation/AnimationControllerPrivate.h:
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::isAnimatingProperty):
- page/animation/CompositeAnimation.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
(WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
LayoutTests:
Reviewed by Dean Jackson.
Tests that dump layer trees when a fill-forwards animation has finished,
both when the final keyframe causes overlap, and when it does not.
- compositing/animation/filling-animation-overlap-at-end-expected.txt: Added.
- compositing/animation/filling-animation-overlap-at-end.html: Added.
- compositing/animation/filling-animation-overlap-expected.txt: Added.
- compositing/animation/filling-animation-overlap.html: Added.
- compositing/animation/layer-for-filling-animation-expected.txt: Added.
- compositing/animation/layer-for-filling-animation.html: Added.
- 11:24 AM Changeset in webkit [165976] by
-
- 9 edits in trunk
Canvas methods clip/fill/stroke should not except 0 argument
https://bugs.webkit.org/show_bug.cgi?id=130497
Reviewed by Dean Jackson.
Source/WebCore:
Do not allow nullable argument for fill/stroke/clip.
No new tests. Updated existing tests.
- html/canvas/CanvasRenderingContext2D.idl:
LayoutTests:
Add more exception tests for fill/stroke/clip.
- fast/canvas/canvas-clip-path-expected.txt:
- fast/canvas/canvas-fill-path-expected.txt:
- fast/canvas/canvas-stroke-path-expected.txt:
- fast/canvas/script-tests/canvas-clip-path.js:
- fast/canvas/script-tests/canvas-fill-path.js:
- fast/canvas/script-tests/canvas-stroke-path.js:
- 11:22 AM Changeset in webkit [165975] by
-
- 8 edits in trunk
[GTK][CMake] Add support for building with Clang
https://bugs.webkit.org/show_bug.cgi?id=130260
Reviewed by Martin Robinson.
.:
- Source/PlatformGTK.cmake: Run the generate-gtkdoc script with the CFLAGS env set
to the list C compiler flags as constructed by CMake.
- Source/cmake/OptionsCommon.cmake: When building with Clang, use the -Qunused-arguments
compiler option to suppress verbose warnings about arguments that went unused by the driver.
- Source/cmake/OptionsGTK.cmake: Use -fno-omit-frame-pointer for both GCC and Clang.
-fno-tree-dce should be used only for GCC.
- Source/cmake/gtest/CMakeLists.txt: When building with Clang the GTest framework
should be built with GTEST_HAS_TR1_TUPLE macro defined to 0 to avoid build failures.
Tools:
- TestWebKitAPI/CMakeLists.txt: When building with Clang TestWebKitAPI should be
built with GTEST_HAS_TR1_TUPLE defined to 0 to avoid build failures occuring in the
included GTest framework headers.
- gtk/generate-gtkdoc:
(prepare_environment_for_gtkdoc_generation): Don't modify the CFLAGS env anymore
in case of using Clang since that is now set by the CMake rule.
- 11:18 AM Changeset in webkit [165974] by
-
- 3 edits in trunk/LayoutTests
Unreviewed GTK Gardening.
Update expectation of accessibility/table-detection.html after r165535.
Update expectation of accessibility/aria-hidden-false-works-in-subtrees.html.
Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-03-20
- platform/gtk/accessibility/aria-hidden-false-works-in-subtrees-expected.txt:
- platform/gtk/accessibility/table-detection-expected.txt:
- 11:09 AM Changeset in webkit [165973] by
-
- 2 edits in trunk/Source/WTF
Unreviewed Clang build fix for the GTK port after r165952.
- wtf/gobject/GMainLoopSource.h: Include the <functional> header for the std::function<> objects.
- 10:45 AM Changeset in webkit [165972] by
-
- 13 edits in trunk/Source/WebKit2
[Mac] Support asynchronous NSTextInputClient
https://bugs.webkit.org/show_bug.cgi?id=130479
Reviewed by Anders Carlsson.
The implementation is currently disabled, pending lower level support.
Most of the code is not under compile time guard however, to facilitate cross-platform
reuse, or at least under a PLATFORM(COCOA) guard to share the code with iOS.
- UIProcess/API/mac/WKView.mm: Added a compile time branch for USE(ASYNC_NSTEXTINPUTCLIENT).
We still implement sync NSTextInputClient here, in order to get assertions when
its methods are unexpectedly called.
The new code first sends an event to input method asynchronously, handling any callbacks
that may arrive. During this time, we no longer care about WKViewInterpretKeyEventsParameters
at all. Once done, we interpret key bindings synchronously, collecting them into
a vector.
- UIProcess/API/mac/WKViewInternal.h: We no longer expose _interpretKeyEvent outside
WKView.
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
Added async calls and callbacks. Removed unnecessary and slightly harmful .get() when moving
a callback pointer into map. Moved insertDictatedText() and getAttributedSubstringFromRange()
from PLATFORM(COCOA) to PLATFORM(MAC), because they are unused and unimplemented on
iOS, and unlikely to be needed any time soon. Changed USE(APPKIT) to PLATFORM(MAC),
because that's more accurate in this case (nothing depends on AppKit, it's just code
that we only need on Mac).
- UIProcess/WebPageProxy.messages.in: Added messages for new async IM responses.
- UIProcess/ios/WebPageProxyIOS.mm: Removed insertDictatedText() and getAttributedSubstringFromRange().
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::insertDictatedTextAsync):
(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):
Added async calls and callbacks that are Mac only.
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
Added async implementations (which are essentially the same as sync ones, sadly).
- WebProcess/WebPage/WebPage.messages.in: Added async messages, moved some messages
under PLATFORM(MAC).
- WebProcess/WebPage/ios/WebPageIOS.mm: More of deleting functions that are Mac only,
and cannot be easily implemented in WebPage.cpp with shared code.
- 10:37 AM Changeset in webkit [165971] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Support MediaDocument when building with PLUGIN_PROXY_FOR_VIDEO
https://bugs.webkit.org/show_bug.cgi?id=130520
Reviewed by Jer Noble.
- dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument): Check the isVideoPluginProxyEnabled setting
when building with ENABLE_PLUGIN_PROXY_FOR_VIDEO.
- 10:37 AM Changeset in webkit [165970] by
-
- 5 edits5 adds in trunk
[CSS Blending] Blending operation is not isolated when setting z-index on parent from javascript
https://bugs.webkit.org/show_bug.cgi?id=129307
Patch by Mihai Tica <mitica@adobe.com> on 2014-03-20
Reviewed by Dean Jackson.
Source/WebCore:
Reimplement the logic behind isolating blend modes. The blending operation should be limited to the
contents of the parent stacking context. The proposed solution implies adding logic in updateDescendantDependentFlags,
to track child elements that have blending and create a transparency layer that triggers isolation.
Tests: css3/compositing/blend-mode-background.html
fast/repaint/blend-mode-isolate-stacking-context.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer): Remove old members, add new members to constructor.
(WebCore::RenderLayer::updateBlendMode): Update parent stacking context isolation on blend mode change.
(WebCore::RenderLayer::updateNonCompositedParentStackingContextHasBlendedChild):
- Set m_hasBlendedElementInChildStackingContext for the non composited parent stacking context.
(WebCore::RenderLayer::dirtyAncestorParentStackingContextHasBlendedElement):
- Set flag so isolation should be considered in updateDescendantDependentFlags.
(WebCore::RenderLayer::nonCompositedParentStackingContextHasBlendedChild):
- Return whether the non composited parent stacking context isolates blending.
(WebCore::RenderLayer::updateDescendantDependentFlags): Add logic for isolating blending.
(WebCore::RenderLayer::addChild): Call to updateNonCompositedParentStackingContextHasBlendedChild if needed.
(WebCore::RenderLayer::removeChild): Call to dirtyAncestorParentStackingContextHasBlendedElement if needed.
(WebCore::RenderLayer::updateStackingContextsAfterStyleChange): Update isolation when a stacking context was set or unset.
(WebCore::RenderLayer::styleChanged): Removed oldStyle parameter from updateBlendMode call.
Update parent stacking context isolation on blend mode change.
- rendering/RenderLayer.h:
- Add members, getters and setters for tracking whether the element has a blended child:
- m_hasBlendedElementInChildStackingContext
- m_hasBlendedElementInChildStackingContextStatusDirty
- Removed m_updateParentStackingContextShouldIsolateBlendingDirty (replaced with m_hasBlendedElementInChildStackingContextStatusDirty)
- Removed m_isolatesBlending (replaced with m_hasBlendedElementInChildStackingContext)
- Updated the isolatesBlending method to return true only when the element is a stacking context and has a blended child.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements): Removed layer.updateParentStackingContextShouldIsolateBlending call.
LayoutTests:
Test if setting or unsetting stacking context or blend mode from script correctly updates blending
isolation.
- css3/compositing/blend-mode-background.html: Added.
- fast/repaint/blend-mode-isolate-stacking-context-expected.txt: Added.
- fast/repaint/blend-mode-isolate-stacking-context.html: Added.
- platform/mac/css3/compositing/blend-mode-background-expected.png: Added.
- platform/mac/css3/compositing/blend-mode-background-expected.txt: Added.
- 10:28 AM Changeset in webkit [165969] by
-
- 7 edits in trunk/LayoutTests
[CSS Regions] Remove "visibility:hidden" from overflow-scrollable* tests
https://bugs.webkit.org/show_bug.cgi?id=130510
Reviewed by Andrei Bucur.
The visibility hidden option was needed to prevent these tests from failing before the
visual overflow was properly implemented (bug 118665). It is now no longer required.
- fast/regions/overflow-scrollable-rel-pos-fragment-expected.html:
- fast/regions/overflow-scrollable-rel-pos-fragment.html:
- fast/regions/overflow-scrollable-rotated-fragment-expected.html:
- fast/regions/overflow-scrollable-rotated-fragment.html:
- fast/regions/overflow-scrollable-unsplittable-fragment-expected.html:
- fast/regions/overflow-scrollable-unsplittable-fragment.html:
- 10:20 AM Changeset in webkit [165968] by
-
- 15 edits in trunk/Source/WebKit2
Remove remaining GTK+ unused parameter warnings from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130518
Reviewed by Sergio Villar Senin.
Fix almost all unused parameter warnings in the WebKit2GTK+ build.
- 10:05 AM Changeset in webkit [165967] by
-
- 2 edits in trunk/Source/WebCore
[GTK] [CMake] Do not compile ProxyResolverSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=130516
Reviewed by Sergio Villar Senin.
- PlatformGTK.cmake: Remove the file from the source list.
- 8:34 AM Changeset in webkit [165966] by
-
- 10 edits1 delete in trunk
Unreviewed, rolling out r165962.
https://bugs.webkit.org/show_bug.cgi?id=130512
It broke the build (Requested by Ossy on #webkit).
Reverted changeset:
.:
"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962
Source/WebCore:
"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962
Source/WebKit:
"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962
Source/WebKit2:
"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962
- 8:09 AM Changeset in webkit [165965] by
-
- 3 edits4 adds in trunk
"input" event is not fired when changing a select element's value
https://bugs.webkit.org/show_bug.cgi?id=117526
Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-20
Reviewed by Antti Koivisto.
Source/WebCore:
Add a call to dispatch input event when listbox or menulist
values are modified.
According to the spec: "When the user agent is to send select update
notifications, queue a task to first fire a simple even that bubbles
named input at the select element, and then fire a simple event that
bubbles named change at the select element, using the user interaction
task source as the task source."
Tests: fast/forms/select/listbox-oninput-fired.html
fast/forms/select/menulist-oninput-fired.html
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::dispatchChangeEventForMenuList):
LayoutTests:
Add tests to verify that input event is dispatched when listbox
or menulist values are modified.
- fast/forms/select/listbox-oninput-fired-expected.txt: Added.
- fast/forms/select/listbox-oninput-fired.html: Added.
- fast/forms/select/menulist-oninput-fired-expected.txt: Added.
- fast/forms/select/menulist-oninput-fired.html: Added.
- 8:01 AM Changeset in webkit [165964] by
-
- 6 edits18 adds in trunk
[CSS Regions] The height of a scrollable element flowed inside a scrollable region is not computed correctly
https://bugs.webkit.org/show_bug.cgi?id=129487
Reviewed by Andrei Bucur.
Source/WebCore:
When propagating the layout overflow from the flowed element up to the flow thread itself,
the region's logical bottom padding and the element's logical bottom margin must be taken into consideration.
However, if the flowed element has overflow, the overflow will be painted over the region's padding
and the element's margin, in order to be compatible with the non-regions case.
More info can be found here: http://lists.w3.org/Archives/Public/www-style/2014Jan/0089.html
Tests: fast/regions/scrollable-region-content-size-horiz-bt.html
fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html
fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html
fast/regions/scrollable-region-content-size-no-overflow.html
fast/regions/scrollable-region-content-size-relative.html
fast/regions/scrollable-region-content-size-vert-rl.html
fast/regions/scrollable-region-content-size-vertical-lr.html
fast/regions/scrollable-region-content-size.html
fast/regions/scrollable-region-scrollable-content.html
- rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
- rendering/RenderRegion.cpp:
(WebCore::RenderRegion::rectFlowPortionForBox):
LayoutTests:
Added tests for different situations using scrollable regions and fixed a couple existing tests.
- fast/regions/clip-to-padding-box-margins.html: overflow-x and overflow-y cannot be hidden & visible.
- fast/regions/scrollable-last-region-expected.html: "hack" no longer needed now that the scroll content size is properly computed.
- fast/regions/scrollable-region-content-size-expected.html: Added.
- fast/regions/scrollable-region-content-size-horiz-bt-expected.html: Added.
- fast/regions/scrollable-region-content-size-horiz-bt.html: Added.
- fast/regions/scrollable-region-content-size-no-overflow-expected.html: Added.
- fast/regions/scrollable-region-content-size-no-overflow-horiz-bt-expected.html: Added.
- fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html: Added.
- fast/regions/scrollable-region-content-size-no-overflow-vert-rl-expected.html: Added.
- fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html: Added.
- fast/regions/scrollable-region-content-size-no-overflow.html: Added.
- fast/regions/scrollable-region-content-size-relative-expected.html: Added.
- fast/regions/scrollable-region-content-size-relative.html: Added.
- fast/regions/scrollable-region-content-size-vert-rl-expected.html: Added.
- fast/regions/scrollable-region-content-size-vert-rl.html: Added.
- fast/regions/scrollable-region-content-size-vertical-lr-expected.html: Added.
- fast/regions/scrollable-region-content-size-vertical-lr.html: Added.
- fast/regions/scrollable-region-content-size.html: Added.
- fast/regions/scrollable-region-scrollable-content-expected.html: Added.
- fast/regions/scrollable-region-scrollable-content.html: Added.
- 7:20 AM Changeset in webkit [165963] by
-
- 6 edits4 adds in trunk
Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
https://bugs.webkit.org/show_bug.cgi?id=130153
Reviewed by Simon Fraser.
Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
need to be propagated through the layer tree so that painting coordinates match layout coordinates.
Subpixel accumulation through nesting (absolute positioning, 2x display):
non-compositing case:
(nested boxes) (layout pos) (norm.paint pos) (translate accumulation, subpixel accumulation, final paint pos)
div -> top: 1.3px 1.3px 1.5px 1.5px 0.2px -> snapped 0.0px -> 1.5px
div -> top: 1.3px 2.6px 2.5px 3.0px 0.4px -> snapped 0.5px -> 2.5px
div -> top: 1.3px 3.9px 4.0px 4.5px 0.6px -> snapped 0.5px -> 4.0px
div -> top: 1.3px 5.2px 5.0px 6.0px 0.8px -> snapped 1.0px -> 5.0px
compositing case:
(nested boxes) (layout pos) (norm.paint pos) (device pixel offset + fractional offset, final pos)
div -> top: 1.3px 1.3px 1.5px 1.0px + 0.3px -> snapped -> 1.5px
div -> top: 1.3px 2.6px 2.5px 2.5px + 0.1px -> snapped -> 2.5px
div -> top: 1.3px 3.9px 4.0px 3.5px + 0.4px -> snapped -> 4.0px
div -> top: 1.3px 5.2px 5.0px 5.0px + 0.2px -> snapped -> 5.0px
Source/WebCore:
Tests: compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html
fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerByApplyingTransform):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
- rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::devicePixelFractionFromRenderer):
LayoutTests:
- compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation-expected.html: Added.
- compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html: Added.
- fast/layers/hidpi-nested-layers-with-subpixel-accumulation-expected.html: Added.
- fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html: Added.
- 7:19 AM Changeset in webkit [165962] by
-
- 10 edits1 add in trunk
[EFL][GTK] Get CMake to find Freetype2 properly
https://bugs.webkit.org/show_bug.cgi?id=130150
Reviewed by Csaba Osztrogonác.
Newer versions of CMake are not able to find Freetype2 correctly.
FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
freetype2 repo, because a completely different version number is found in freetype2.pc.
.:
- Source/cmake/FindFreetype2.cmake: Added.
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/OptionsGTK.cmake:
Source/WebCore:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
Source/WebKit:
- PlatformEfl.cmake:
Source/WebKit2:
- PlatformEfl.cmake:
- 7:03 AM Changeset in webkit [165961] by
-
- 3 edits in trunk/Source/JavaScriptCore
[ARM64] Fix assembler build issues and add cacheFlush support for Linux
https://bugs.webkit.org/show_bug.cgi?id=130502
Reviewed by Michael Saboff.
Add limits.h for INT_MIN in ARM64Assembler(). Delete shouldBlindForSpecificArch(uintptr_t)
because on ARM64 uint64_t and uintptr_t is the same with GCC and Clang as well.
Add cacheFlush support for Linux.
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::linuxPageFlush):
(JSC::ARM64Assembler::cacheFlush):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::shouldBlindForSpecificArch):
- 5:25 AM WebKitGTK/2.4.x edited by
- (diff)
- 5:24 AM Changeset in webkit [165960] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r165891 - [GStreamer] Clean timeout source ids
https://bugs.webkit.org/show_bug.cgi?id=130450
Reviewed by Philippe Normand.
Sources IDs need to be cleaned up if the callback removes the
source, otherwise we'll be attempting to remove an empty source at
some point.
- platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
(webKitMediaVideoSrcStart): Clean the source id.
(webKitMediaAudioSrcStart): Ditto.
(webKitMediaVideoSrcSeekMainCb): Ditto.
(webKitMediaAudioSrcSeekMainCb): Ditto.
- 4:04 AM Changeset in webkit [165959] by
-
- 2 edits in trunk/Source/WebKit2
[EFL][WK2] test_ewk2_application_cache_manager is flaky
https://bugs.webkit.org/show_bug.cgi?id=130501
Reviewed by Gyuyoung Kim.
- UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
(timerCallback): Return ECORE_CALLBACK_CANCEL to clear the timer.
- 3:55 AM Changeset in webkit [165958] by
-
- 2 edits in trunk/LayoutTests
Unreviewed EFL gardening
Update expectation of table-detection.html after r165535.
- platform/efl-wk2/accessibility/table-detection-expected.txt:
- 3:19 AM Changeset in webkit [165957] by
-
- 5 edits in trunk/Source
Versioning.
- 3:07 AM Changeset in webkit [165956] by
-
- 1 copy in tags/Safari-538.24
New Tag.
- 3:07 AM Changeset in webkit [165955] by
-
- 4 edits in trunk/Source/WebCore
Refactor checking log channel state in MediaPlayerPrivateGStreamerBase.
https://bugs.webkit.org/show_bug.cgi?id=130241
Reviewed by Philippe Normand.
The channel was passed around only to check its state. Cleaned this up
by adding a method to check whether a log channel is enabled.
- platform/Logging.cpp:
(WebCore::isLogChannelEnabled):
- platform/Logging.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
- 1:56 AM Changeset in webkit [165954] by
-
- 3 edits2 adds in trunk
Dispatch input event for Range element keyboard event
https://bugs.webkit.org/show_bug.cgi?id=129929
Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-20
Reviewed by Kent Tamura.
For any value update, dispatch both input and change event.
Also removes extra dispatch change event, as event is dispatched
from TextFieldInputType:setValue.
Merged from Blink (patch by Habib Virji):
https://src.chromium.org/viewvc/blink?revision=168558&view=revision
Source/WebCore:
Test: fast/forms/range/range-keyboard-oninput-event.html
- html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):
LayoutTests:
- fast/forms/range/range-keyboard-oninput-event-expected.txt: Added.
- fast/forms/range/range-keyboard-oninput-event.html: Added.
- 1:28 AM Changeset in webkit [165953] by
-
- 15 edits in trunk/Source
Rollout r165944. Build break.
- 12:56 AM Changeset in webkit [165952] by
-
- 7 edits2 adds in trunk/Source/WTF
[GLIB] Add GMainLoopSource class to wrap idle and timeout sources
https://bugs.webkit.org/show_bug.cgi?id=130027
Reviewed by Martin Robinson.
GLib main loop sources like idle and timeouts are sometimes
unconvenient to use and it's very common to forget canceling the
source when the object is destroyed or reset the source ID in the
callback when called. GMainLoopSource is a wrapper class to make it
easier to handle sources and also to avoid those typical mistakes.
It forces to create sources with a name and the user doesn't have
to deal with the source ID anymore. The source is cancelled when
the object is deleted or when a new source is scheduled. It uses
std::function for callbacks so that we no longer need to use the
"proxy" static callbacks either. We can use std::bind to use a
function pointer or a member or even lambda functions. It also handles
repeating sources automatically depending on whether the given
function returns a bool or not.
- GNUmakefile.list.am:
- wtf/PlatformEfl.cmake:
- wtf/PlatformGTK.cmake:
- wtf/RunLoop.h:
- wtf/gobject/GMainLoopSource.cpp: Added.
(WTF::GMainLoopSource::createAndDeleteOnDestroy):
(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::reset):
(WTF::GMainLoopSource::scheduleIdleSource):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleTimeoutSource):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::destroy):
(WTF::GMainLoopSource::voidSourceCallback):
(WTF::GMainLoopSource::boolSourceCallback):
(WTF::GMainLoopSource::socketSourceCallback):
- wtf/gobject/GMainLoopSource.h: Added.
(WTF::GMainLoopSource::isScheduled):
- wtf/gtk/MainThreadGtk.cpp:
(WTF::scheduleDispatchFunctionsOnMainThread):
- wtf/gtk/RunLoopGtk.cpp:
(WTF::RunLoop::wakeUp):
(WTF::RunLoop::TimerBase::TimerBase):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive):
- 12:14 AM Changeset in webkit [165951] by
-
- 1 edit2 adds in trunk/LayoutTests
[CSSRegions] Content flowed in 0px height region not displayed
https://bugs.webkit.org/show_bug.cgi?id=98265
After the past work on overflow, this looks fixed. Add a test to make sure
we are covered for future regressions.
Reviewed by Andrei Bucur.
- fast/regions/overflow-content-zero-height-region-expected.html: Added.
- fast/regions/overflow-content-zero-height-region.html: Added.
- 12:11 AM Changeset in webkit [165950] by
-
- 8 edits in trunk/Source/WebCore
Refine BatteryStatus module
https://bugs.webkit.org/show_bug.cgi?id=130495
Reviewed by Andreas Kling.
Small refinements:
- Return PassRef instead of PassRefPtr in create method
- Switched to nullptr instead of 0 where appropriate.
- Removed unused function and header file.
- Removed unnecessary empty lines.
- Modules/battery/BatteryController.h:
- Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::create): Make return passRef.
- Modules/battery/BatteryManager.h:
(WebCore::BatteryManager::batteryControllerDestroyed): Use nullptr.
- Modules/battery/BatteryStatus.cpp:
(WebCore::BatteryStatus::create): Make return passRef.
- Modules/battery/BatteryStatus.h:
- Modules/battery/NavigatorBattery.cpp:
(WebCore::NavigatorBattery::webkitBattery): Remove batteryManager().
- Modules/battery/NavigatorBattery.h:
Mar 19, 2014:
- 11:39 PM Changeset in webkit [165949] by
-
- 2 edits in branches/safari-537.75-branch/LayoutTests
Skip fast/workers/worker-copy-shared-blob-url.html in webkit2
- 11:34 PM Changeset in webkit [165948] by
-
- 5 edits in branches/safari-537.75-branch/Source
Versioning.
- 11:31 PM Changeset in webkit [165947] by
-
- 1 copy in tags/Safari-537.75.11
New tag.
- 11:21 PM Changeset in webkit [165946] by
-
- 8 edits in trunk/Source
https://bugs.webkit.org/show_bug.cgi?id=130494
EmptyUnique strings are Identifiers/Atomic
Reviewed by Geoff Garen.
EmptyUnique strings should set the Identifier/Atomic flag.
Source/JavaScriptCore:
This fixes an unreproducible bug we believe exists in Identifier handling.
Expected behaviour is that while Identifiers may reference EmptyUniques
(StringImpls allocated as UIDs for PrivateNames), these are not created
through the main Identifier constructor, the Identifier flag is not set
on PrivateNames, and we should never lookup EmptyUnique strings in the
IdentifierTable.
Unfortunately that was happening. Some tables used to implement property
access in the JIT hold StringImpl*s, and turn these back into Identifiers
using the identfiier constructor. Since the code generator will now plant
by-id (cachable) accesses to PrivateNames we can end up passing an
EmptyUnique to Identifier::add, potentially leading to PrivateNames being
uniqued together (though hard to prove, since the hash codes are random).
- runtime/PropertyName.h:
(JSC::PropertyName::PropertyName):
(JSC::PropertyName::uid):
(JSC::PropertyName::publicName):
(JSC::PropertyName::asIndex):
- PropertyName assumed that PrivateNames are not Identifiers - instead check isEmptyUnique().
- runtime/Structure.cpp:
(JSC::Structure::getPropertyNamesFromStructure):
- Structure assumed that PrivateNames are not Identifiers - instead check isEmptyUnique().
Source/WTF:
- wtf/text/AtomicString.h:
(WTF::AtomicString::add):
- Previously we assumed the only StringImpl that was validly allowed to claim to be Atomic but not be in a table was the canonical empty string. Now that EmptyUniques are also marked Atomic, all empty strings may pass this condition.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
- EmptyUnique strings are not in the Atomic/Identfiier tabels, so don't need removing.
- wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
- Change EmptyUnique constructor to call hashAndFlagsForEmptyUnique.
- wtf/text/StringStatics.cpp:
(WTF::StringImpl::hashAndFlagsForEmptyUnique):
- Allocate a sequential hash code (this should be just as good for distribution & better for debugging than the random value) and set flags, now including Atomic & Identifier.
- 11:17 PM Changeset in webkit [165945] by
-
- 2 edits in branches/safari-537.75-branch/Source/JavaScriptCore
Merge r165902.
- 10:10 PM Changeset in webkit [165944] by
-
- 16 edits in trunk/Source
[iOS] Get code to compile on older iOS versions
https://bugs.webkit.org/show_bug.cgi?id=130142
<rdar://problem/16302908>
Reviewed by Darin Adler.
Source/WebCore:
- WebCore.exp.in:
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(-[WebVideoFullscreenController WebCore::]):
(-[WebVideoFullscreenController enterFullscreen:]):
(-[WebVideoFullscreenController exitFullscreen]):
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
- platform/mac/HTMLConverter.mm:
(_dateForString):
- platform/network/cf/CookieJarCFNet.cpp:
(WebCore::copyCookiesForURLWithFirstPartyURL):
- platform/text/ios/LocalizedDateCache.mm:
(WebCore::LocalizedDateCache::calculateMaximumWidth):
- platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::LocaleMac):
Source/WebKit/mac:
- History/WebHistory.mm:
(getDayBoundaries):
- Plugins/WebPluginController.h:
- Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- WebCoreSupport/WebFrameLoaderClient.mm:
(pluginView):
- WebView/WebPreferences.mm:
(-[WebPreferences _setAllowCompositingLayerVisualDegradation:]):
- WebView/WebPreferencesPrivate.h:
- 8:12 PM Changeset in webkit [165943] by
-
- 2 edits in trunk/Source/WebCore
Fix "WEBKIT_WEBGL_compressed_texture_pvrtc" extension support
https://bugs.webkit.org/show_bug.cgi?id=130292
Patch by Byungseon Shin <sun.shin@lge.com> on 2014-03-19
Reviewed by Dean Jackson.
WebGLRenderingContext::getExtension was not returning WEBGL_compressed_texture_pvrtc extension.
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
- 7:53 PM Changeset in webkit [165942] by
-
- 10 edits3 adds in trunk
Merge Misc. WebVTT Updates from Blink.
https://bugs.webkit.org/show_bug.cgi?id=130491
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/track/track-webvtt-tc030-interspersed-non-cue.html
Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/fb62b2b54944bd19026192c049a1db250756fc12
http://crbug.com/40323003
https://chromium.googlesource.com/chromium/blink/+/29176fb0b394a97e85f4dabc07e18329f3ceae41
http://crbug.com/54463002
https://chromium.googlesource.com/chromium/blink/+/29476f839a08cb17c5a3fc713f7e454e7cea9c60
http://crbug.com/55853002
https://chromium.googlesource.com/chromium/blink/+/ba2378ef873e786cf2937034e012669cdd37dfe8
http://crbug.com/65343003
https://chromium.googlesource.com/chromium/blink/+/1915b9aa1bba45aebf28531b40ae627ecf9a3d59
http://crbug.com/62833005
https://chromium.googlesource.com/chromium/blink/+/ea46dbd0f1f29779a1cd4f59b19361b803f09a9b
http://crbug.com/64273013
https://chromium.googlesource.com/chromium/blink/+/9eb4bb6b627357bb94d66386a4123ec004cccfc4
http://crbug.com/101513002
https://chromium.googlesource.com/chromium/blink/+/192a843b32eafb77bf92c50ec50d334ba935028a
http://crbug.com/102403002
https://chromium.googlesource.com/chromium/blink/+/15f9efcc952fcf73184e28fb9db79633c1fa6653
http://crbug.com/104443002
https://chromium.googlesource.com/chromium/blink/+/74fd66b451a464683f7cb748855b1740a54b2c16
http://crbug.com/75243004
- html/track/TextTrackRegion.cpp:
(WebCore::TextTrackRegion::parseSettingValue):
- html/track/VTTCue.cpp:
(WebCore::VTTCue::markFutureAndPastNodes):
(WebCore::VTTCue::setCueSettings):
- html/track/WebVTTParser.cpp:
(WebCore::scanDigits):
(WebCore::WebVTTParser::collectDigitsToInt):
(WebCore::WebVTTParser::parseFloatPercentageValue):
(WebCore::WebVTTParser::parseBytes):
(WebCore::WebVTTParser::collectMetadataHeader):
(WebCore::WebVTTParser::collectTimingsAndSettings):
(WebCore::WebVTTParser::createDocumentFragmentFromCueText):
(WebCore::WebVTTParser::createNewCue):
(WebCore::WebVTTParser::createNewRegion):
(WebCore::WebVTTParser::collectTimeStamp):
(WebCore::tokenToNodeType):
(WebCore::WebVTTParser::constructTreeFromToken):
- html/track/WebVTTParser.h:
- html/track/WebVTTToken.h:
(WebCore::WebVTTToken::name):
(WebCore::WebVTTToken::characters):
(WebCore::WebVTTToken::appendToCharacter):
(WebCore::WebVTTToken::addNewClass):
(WebCore::WebVTTToken::classes):
(WebCore::WebVTTToken::addNewAnnotation):
(WebCore::WebVTTToken::annotation):
- html/track/WebVTTTokenizer.cpp:
(WebCore::equalLiteral):
(WebCore::WebVTTTokenizer::WebVTTTokenizer):
(WebCore::WebVTTTokenizer::nextToken):
- html/track/WebVTTTokenizer.h:
LayoutTests:
Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/fb62b2b54944bd19026192c049a1db250756fc12
http://crbug.com/40323003
https://chromium.googlesource.com/chromium/blink/+/29176fb0b394a97e85f4dabc07e18329f3ceae41
http://crbug.com/54463002
https://chromium.googlesource.com/chromium/blink/+/29476f839a08cb17c5a3fc713f7e454e7cea9c60
http://crbug.com/55853002
https://chromium.googlesource.com/chromium/blink/+/ba2378ef873e786cf2937034e012669cdd37dfe8
http://crbug.com/65343003
https://chromium.googlesource.com/chromium/blink/+/1915b9aa1bba45aebf28531b40ae627ecf9a3d59
http://crbug.com/62833005
https://chromium.googlesource.com/chromium/blink/+/ea46dbd0f1f29779a1cd4f59b19361b803f09a9b
http://crbug.com/64273013
https://chromium.googlesource.com/chromium/blink/+/9eb4bb6b627357bb94d66386a4123ec004cccfc4
http://crbug.com/101513002
https://chromium.googlesource.com/chromium/blink/+/192a843b32eafb77bf92c50ec50d334ba935028a
http://crbug.com/102403002
https://chromium.googlesource.com/chromium/blink/+/15f9efcc952fcf73184e28fb9db79633c1fa6653
http://crbug.com/104443002
https://chromium.googlesource.com/chromium/blink/+/74fd66b451a464683f7cb748855b1740a54b2c16
http://crbug.com/75243004
- media/track/captions-webvtt/tc030-interspersed-non-cue.vtt: Added.
- media/track/track-webvtt-tc027-empty-cue-expected.txt: Mark one test as expected to fail, since
the test (incorrectly) expects to fail on empty cues. The test will be updated in a future patch.
- media/track/track-webvtt-tc030-interspersed-non-cue-expected.txt: Added.
- media/track/track-webvtt-tc030-interspersed-non-cue.html: Added.
- 7:00 PM Changeset in webkit [165941] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, revert the DFGCommon.h change in r165938. It was not intentional.
- dfg/DFGCommon.h:
- 6:56 PM Changeset in webkit [165940] by
-
- 18 edits4 adds in trunk/Source
GC timer should intelligently choose between EdenCollections and FullCollections
https://bugs.webkit.org/show_bug.cgi?id=128261
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Most of the GCs while browsing the web are due to the GC timer. Currently the GC timer
always does FullCollections. To reduce the impact of the GC timer on the system this patch
changes Heap so that it has two timers, one for each type of collection. The FullCollection
timer is notified at the end of EdenCollections how much the Heap has grown since the last
FullCollection and when somebody notifies the Heap of abandoned memory (which usually wouldn't
be detected by an EdenCollection).
- CMakeLists.txt:
- GNUmakefile.list.am:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/EdenGCActivityCallback.cpp: Added.
(JSC::EdenGCActivityCallback::EdenGCActivityCallback):
(JSC::EdenGCActivityCallback::doCollection):
(JSC::EdenGCActivityCallback::lastGCLength):
(JSC::EdenGCActivityCallback::deathRate):
(JSC::EdenGCActivityCallback::gcTimeSlice):
- heap/EdenGCActivityCallback.h: Added.
(JSC::GCActivityCallback::createEdenTimer):
- heap/FullGCActivityCallback.cpp: Added.
(JSC::FullGCActivityCallback::FullGCActivityCallback):
(JSC::FullGCActivityCallback::doCollection):
(JSC::FullGCActivityCallback::lastGCLength):
(JSC::FullGCActivityCallback::deathRate):
(JSC::FullGCActivityCallback::gcTimeSlice):
- heap/FullGCActivityCallback.h: Added.
(JSC::GCActivityCallback::createFullTimer):
- heap/GCActivityCallback.cpp:
(JSC::GCActivityCallback::GCActivityCallback):
(JSC::GCActivityCallback::doWork):
(JSC::GCActivityCallback::scheduleTimer):
(JSC::GCActivityCallback::cancelTimer):
(JSC::GCActivityCallback::didAllocate):
(JSC::GCActivityCallback::willCollect):
(JSC::GCActivityCallback::cancel):
- heap/GCActivityCallback.h:
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::reportAbandonedObjectGraph):
(JSC::Heap::didAbandon):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):
(JSC::Heap::willStartCollection):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didFinishCollection):
(JSC::Heap::setFullActivityCallback):
(JSC::Heap::setEdenActivityCallback):
(JSC::Heap::fullActivityCallback):
(JSC::Heap::edenActivityCallback):
(JSC::Heap::setGarbageCollectionTimerEnabled):
(JSC::Heap::didAllocate):
(JSC::Heap::shouldDoFullCollection):
- heap/Heap.h:
(JSC::Heap::lastFullGCLength):
(JSC::Heap::lastEdenGCLength):
(JSC::Heap::increaseLastFullGCLength):
(JSC::Heap::sizeBeforeLastEdenCollection):
(JSC::Heap::sizeAfterLastEdenCollection):
(JSC::Heap::sizeBeforeLastFullCollection):
(JSC::Heap::sizeAfterLastFullCollection):
- heap/HeapOperation.h:
- heap/HeapStatistics.cpp:
(JSC::HeapStatistics::showObjectStatistics):
- heap/HeapTimer.cpp:
(JSC::HeapTimer::timerDidFire):
- jsc.cpp:
(functionFullGC):
(functionEdenGC):
- runtime/Options.h:
Source/WebCore:
No new tests.
Updated WebSafeGCActivityCallbacks for both Eden and Full timers.
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):
- platform/ios/WebSafeGCActivityCallbackIOS.h:
- 6:54 PM Changeset in webkit [165939] by
-
- 2 edits in trunk/LayoutTests
Generated hidpi- images (actual) on ML WK2 Debug are blurry/color shifted.
Unreviewed TestExpectations update on ML WK2 debug.
- platform/mac-wk2/TestExpectations:
- 6:49 PM Changeset in webkit [165938] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix JavaScriptCore ChangeLog
- 6:05 PM Changeset in webkit [165937] by
-
- 2 edits in trunk/LayoutTests
media/video-remote-control-playpause.html frequently fails on the bots
https://bugs.webkit.org/show_bug.cgi?id=130490
Unreviewed TestExpectations update.
- platform/mac/TestExpectations: Mark test as flakey while I try to reproduce it.
- 5:50 PM Changeset in webkit [165936] by
-
- 2 edits in trunk/Source/WebKit2
Address late review comment and style nit after r165934.
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
- 5:37 PM Changeset in webkit [165935] by
-
- 2 edits in trunk/Source/WebCore
Fix the iOS build after r165917.
- platform/ios/WebCoreSystemInterfaceIOS.mm:
- 5:32 PM Changeset in webkit [165934] by
-
- 2 edits in trunk/Source/WebKit2
[iOS][WebKit2] Back-forward swipe doesn't always complete with fingers down
https://bugs.webkit.org/show_bug.cgi?id=130489
<rdar://problem/16027007>
Reviewed by Simon Fraser.
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
In order to have fingers-down swipe completion work correctly, we need
to give UIKit an empty interactive update block.
- 5:18 PM Changeset in webkit [165933] by
-
- 17 edits4 deletes in trunk/Source
Unreviewed, rolling out r165926.
https://bugs.webkit.org/show_bug.cgi?id=130488
broke the iOS build (Requested by estes on #webkit).
Reverted changeset:
Source/JavaScriptCore:
"GC timer should intelligently choose between EdenCollections
and FullCollections"
https://bugs.webkit.org/show_bug.cgi?id=128261
http://trac.webkit.org/changeset/165926
Source/WebCore:
"GC timer should intelligently choose between EdenCollections
and FullCollections"
https://bugs.webkit.org/show_bug.cgi?id=128261
http://trac.webkit.org/changeset/165926
- 5:13 PM Changeset in webkit [165932] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r165929.
https://bugs.webkit.org/show_bug.cgi?id=130487
in order to roll out r165926 (Requested by estes on #webkit).
Reverted changeset:
- 4:45 PM Changeset in webkit [165931] by
-
- 3 edits in trunk/Source/WebKit2
Get rid of two IPC::Connection functions by folding them into lambdas
https://bugs.webkit.org/show_bug.cgi?id=130482
Reviewed by Tim Horton.
- Platform/IPC/Connection.cpp:
(IPC::Connection::addWorkQueueMessageReceiver):
(IPC::Connection::removeWorkQueueMessageReceiver):
- Platform/IPC/Connection.h:
- 4:44 PM Changeset in webkit [165930] by
-
- 6 edits in trunk
Expose text and page zoom in WK2 SPI, and hook them up in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=130476
Source/WebKit2:
Reviewed by Anders Carlsson.
Expose page and text zoom as SPI.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _supportsTextZoom]):
(-[WKWebView _textZoomFactor]):
(-[WKWebView _setTextZoomFactor:]):
(-[WKWebView _pageZoomFactor]):
(-[WKWebView _setPageZoomFactor:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Tools:
Reviewed by Anders Carlsson.
Hook up page/text zoom in MiniBrowser, make reload work, remove some logging.
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
Remove log.
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController reload:]):
Hook up reload.
(-[WK2BrowserWindowController toggleZoomMode:]):
(-[WK2BrowserWindowController resetZoom:]):
(-[WK2BrowserWindowController canResetZoom]):
(-[WK2BrowserWindowController currentZoomFactor]):
(-[WK2BrowserWindowController setCurrentZoomFactor:]):
(-[WK2BrowserWindowController canZoomIn]):
(-[WK2BrowserWindowController canZoomOut]):
- 4:27 PM Changeset in webkit [165929] by
-
- 3 edits in trunk/Source/WebCore
Build fix for iOS after r165926
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):
- platform/ios/WebSafeGCActivityCallbackIOS.h:
- 3:42 PM Changeset in webkit [165928] by
-
- 5 edits in trunk/Source/WebCore
Allow media engine to update HTMLMediaElement state when playing to external device
https://bugs.webkit.org/show_bug.cgi?id=130480
Reviewed by Jer Noble.
- html/HTMLMediaElement.h: Add mediaPlayerHandlePlaybackCommand.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::handlePlaybackCommand): New.
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerHandlePlaybackCommand):
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Send Play and Pause commands when
playing to an external device.
- 3:39 PM Changeset in webkit [165927] by
-
- 5 edits6 adds in trunk
Implement isPointInPath and isPointInStroke with Path2D argument
https://bugs.webkit.org/show_bug.cgi?id=130473
Reviewed by Dean Jackson.
Source/WebCore:
Implement isPointInPath and isPointInStroke for 2D Canvas contxts
with Path2D argument.
Tests: fast/canvas/canvas-path-isPointInPath.html
fast/canvas/canvas-path-isPointInStroke.html
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::isPointInPath):
(WebCore::CanvasRenderingContext2D::isPointInStroke):
(WebCore::CanvasRenderingContext2D::isPointInPathInternal):
(WebCore::CanvasRenderingContext2D::isPointInStrokeInternal):
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/CanvasRenderingContext2D.idl:
LayoutTests:
Test isPointInPath and isPointInStroke with Path2D argument.
- fast/canvas/canvas-path-isPointInPath-expected.txt: Added.
- fast/canvas/canvas-path-isPointInPath.html: Added.
- fast/canvas/canvas-path-isPointInStroke-expected.txt: Added.
- fast/canvas/canvas-path-isPointInStroke.html: Added.
- fast/canvas/script-tests/canvas-path-isPointInPath.js: Added.
- fast/canvas/script-tests/canvas-path-isPointInStroke.js: Added.
- 3:21 PM Changeset in webkit [165926] by
-
- 17 edits4 adds in trunk/Source
GC timer should intelligently choose between EdenCollections and FullCollections
https://bugs.webkit.org/show_bug.cgi?id=128261
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Most of the GCs while browsing the web are due to the GC timer. Currently the GC timer
always does FullCollections. To reduce the impact of the GC timer on the system this patch
changes Heap so that it has two timers, one for each type of collection. The FullCollection
timer is notified at the end of EdenCollections how much the Heap has grown since the last
FullCollection and when somebody notifies the Heap of abandoned memory (which wouldn't be
detected by an EdenCollection).
- heap/GCActivityCallback.cpp:
(JSC::GCActivityCallback::GCActivityCallback):
(JSC::GCActivityCallback::doWork):
(JSC::FullGCActivityCallback::FullGCActivityCallback):
(JSC::FullGCActivityCallback::doCollection):
(JSC::EdenGCActivityCallback::EdenGCActivityCallback):
(JSC::EdenGCActivityCallback::doCollection):
(JSC::GCActivityCallback::scheduleTimer):
(JSC::GCActivityCallback::cancelTimer):
(JSC::GCActivityCallback::didAllocate):
(JSC::GCActivityCallback::willCollect):
(JSC::GCActivityCallback::cancel):
- heap/GCActivityCallback.h:
(JSC::GCActivityCallback::GCActivityCallback):
(JSC::GCActivityCallback::createFullTimer):
(JSC::GCActivityCallback::createEdenTimer):
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::didAbandon):
(JSC::Heap::willStartCollection):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::setFullActivityCallback):
(JSC::Heap::setEdenActivityCallback):
(JSC::Heap::fullActivityCallback):
(JSC::Heap::edenActivityCallback):
(JSC::Heap::setGarbageCollectionTimerEnabled):
(JSC::Heap::didAllocate):
- heap/Heap.h:
- heap/HeapTimer.cpp:
(JSC::HeapTimer::timerDidFire):
Source/WebCore:
No new tests.
- platform/ios/WebSafeGCActivityCallbackIOS.h: Update WebSafeGCActivityCallback
appropriately for the introduction of another type of GCActivityCallback.
- 2:57 PM Changeset in webkit [165925] by
-
- 2 edits in trunk/Source/WebKit2
[iOS][WK2] Reduce the extended background's opacity when WKContentView is smaller than its WKWebView
https://bugs.webkit.org/show_bug.cgi?id=130436
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-19
Reviewed by Beth Dakin.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateScrollViewBackground]):
- 2:55 PM Changeset in webkit [165924] by
-
- 2 edits in trunk/Source/WebKit2
[iOS][WebKit2] <rdar://problem/16330387> Do not use the keyboard rect for computing the general unobscuredRect, only use it for centering
https://bugs.webkit.org/show_bug.cgi?id=130382
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-19
Reviewed by Simon Fraser.
Always accumulating the keyboard rect out of the exposedRect caused some issues (see <rdar://problem/16330387>).
This patch split the rect in two: unobscured rect for WebCore, and unobscuredContentRectIncludingKeyboard for centering
UI Elements in view.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _zoomToRect:WebCore::atScale:origin:WebCore::]):
(-[WKWebView _scrollToRect:WebCore::origin:WebCore::minimumScrollDistance:]):
(-[WKWebView _zoomToRect:WebCore::withOrigin:WebCore::fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
(-[WKWebView _contentRectForUserInteraction]):
(-[WKWebView _updateVisibleContentRects]):
- 2:50 PM Changeset in webkit [165923] by
-
- 1 edit in trunk/Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig
Attempt to fix the Production build.
- 2:48 PM Changeset in webkit [165922] by
-
- 2 edits7 deletes in trunk/Source/WebKit2
Get rid of WKProcessClass
https://bugs.webkit.org/show_bug.cgi?id=130478
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/WKProcessClass.h: Removed.
- UIProcess/API/Cocoa/WKProcessClass.mm: Removed.
- UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Removed.
- UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Removed.
- UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Removed.
- UIProcess/API/Cocoa/WKProcessClassPrivate.h: Removed.
- UIProcess/API/Cocoa/WKWebViewConfigurationToBeRemoved.mm: Removed.
- WebKit2.xcodeproj/project.pbxproj:
- 2:43 PM Changeset in webkit [165921] by
-
- 4 edits2 adds in trunk
Crash with long selector list
https://bugs.webkit.org/show_bug.cgi?id=123006
Reviewed by Andreas Kling.
Source/WebCore:
Test: fast/css/long-selector-list-crash.html
- css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::CSSSelectorList):
(WebCore::CSSSelectorList::adoptSelectorVector):
(WebCore::CSSSelectorList::operator=):
- css/StyleRule.cpp:
(WebCore::StyleRule::create):
Add a bunch of asserts.
(WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
This could produce a zero-length selector list.
LayoutTests:
- fast/css/long-selector-list-crash-expected.txt: Added.
- fast/css/long-selector-list-crash.html: Added.
- 2:42 PM Changeset in webkit [165920] by
-
- 16 edits in trunk/Source/WebCore
Rebaseline bindings tests.
- bindings/scripts/test/JS/*:
- 2:38 PM Changeset in webkit [165919] by
-
- 2 edits in trunk/Source/WebCore
[iOS][MediaControls] Reverse-pinching using the built-in controls should enter full screen
https://bugs.webkit.org/show_bug.cgi?id=129707
Reviewed by Eric Carlson.
The default controls on iOS should respond to a pinch gesture by entering fullscreen. Add a gesture
event listener, and enter full screen if the user does a quick (>2 velocity) reverse (>1.25 scale) pinch.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createBase):
(ControllerIOS.prototype.handlePlayButtonTouchEnd):
(ControllerIOS.prototype.handleBaseGestureStart):
(ControllerIOS.prototype.handleBaseGestureChange):
(ControllerIOS.prototype.handleBaseGestureEnd):
- 2:36 PM Changeset in webkit [165918] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r156316): Scrollbar on a large document is broken
https://bugs.webkit.org/show_bug.cgi?id=130474
<rdar://problem/16371523>
Reviewed by Anders Carlsson.
The bug was caused by updateArrowPlacement() doing the work even though Scrollbar Overlay API is available.
Prior to r156316, this function exited early:
http://trac.webkit.org/browser/trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm?rev=156315#L147
Fixed the bug by deleting updateArrowPlacement() entirely.
- platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::preferencesChanged):
- 2:27 PM Changeset in webkit [165917] by
-
- 13 edits in trunk
[Mac][EME] Query whether decoder support exists before creating a new MediaKeys object.
https://bugs.webkit.org/show_bug.cgi?id=130459
Reviewed by Eric Carlson.
Source/WebCore:
- WebCore.exp.in: Export the new WCSI method.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsKeySystem): Bail early if we have no decoder support.
- platform/mac/WebCoreSystemInterface.h: Provide a WCSI wrapper for WKSI.
- platform/mac/WebCoreSystemInterface.mm: Ditto.
Source/WebKit/mac:
- WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Initialize the new WCSI method.
Source/WebKit2:
- WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Initialize the new WCSI method.
WebKitLibraries:
- WebKitSystemInterface.h:
- libWebKitSystemInterfaceMavericks.a:
- libWebKitSystemInterfaceMountainLion.a:
- 2:08 PM Changeset in webkit [165916] by
-
- 11 edits2 adds in trunk
Make Remote Control commands testable
https://bugs.webkit.org/show_bug.cgi?id=130358
Reviewed by Jer Noble.
Source/WebCore:
Test: media/video-remote-control-playpause.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Call session->clientWillPausePlayback.
(WebCore::HTMLMediaElement::didReceiveRemoteControlCommand): Log the command.
- platform/audio/MediaSession.cpp:
(WebCore::MediaSessionClient::mediaSessionTitle): Move from header file.
(WebCore::MediaSessionClient::mediaSessionDuration): Ditto.
(WebCore::MediaSessionClient::mediaSessionCurrentTime): Ditto.
- platform/audio/MediaSession.h:
- platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::MediaSessionManager): Get rid of m_activeSession.
(WebCore::MediaSessionManager::removeSession): No need to clear m_activeSession because
we use the m_sessions vector.
(WebCore::MediaSessionManager::sessionWillBeginPlayback): setCurrentSession takes a
MediaSession&.
(WebCore::MediaSessionManager::sessionWillEndPlayback): Keep m_sessions sorted so playing
sessions are before paused sessions.
(WebCore::MediaSessionManager::setCurrentSession): Move the session that is beginning to
play to the head of m_sessions.
(WebCore::MediaSessionManager::currentSession): Return m_sessions[0] or nullptr.
(WebCore::MediaSessionManager::didReceiveRemoteControlCommand):
- platform/audio/MediaSessionManager.h:
- platform/audio/ios/MediaSessionManagerIOS.mm: Include MediaPlayer.h.
- testing/Internals.cpp:
(WebCore::Internals::postRemoteControlCommand): New.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- media/video-remote-control-playpause-expected.txt: Added.
- media/video-remote-control-playpause.html: Added.
- 2:06 PM Changeset in webkit [165915] by
-
- 6 edits1 add in trunk
Improving webkitGetUserMedia error handling and error messages
https://bugs.webkit.org/show_bug.cgi?id=130452
Reviewed by Eric Carlson.
Checking if first argument of webkitGetUserMedia is a valid Dictionary. If not, throw an exception with a
clearer message of the error.
Source/WebCore:
Test updated.
- Modules/mediastream/NavigatorMediaStream.idl:
- UseJSC.cmake:
- bindings/js/JSNavigatorCustom.cpp: Added.
LayoutTests:
- fast/mediastream/argument-types-expected.txt:
- fast/mediastream/script-tests/argument-types.js:
- 1:42 PM Changeset in webkit [165914] by
-
- 20 edits in trunk/Source/WebCore
JSC bindings should use the passed-in global object for wrapper caching.
<https://webkit.org/b/130458>
Take a shorter path to the DOMWrapperWorld by using the passed-in
global object instead of getting the lexical global from ExecState.
Removed an old FIXME that no longer applies since JSObjects can
always find the right global object these days.
Reviewed by Geoff Garen.
- bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
- bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJS):
- bindings/js/JSDOMBinding.h:
(WebCore::createWrapper):
(WebCore::wrap):
(WebCore::getExistingWrapper):
(WebCore::createNewWrapper):
(WebCore::toJS):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::location):
(WebCore::toJS):
- bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
- bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::toJS):
- bindings/js/JSHTMLTemplateElementCustom.cpp:
(WebCore::JSHTMLTemplateElement::content):
- bindings/js/JSImageDataCustom.cpp:
(WebCore::toJS):
- bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
- bindings/js/JSNodeCustom.h:
(WebCore::toJS):
- bindings/js/JSSVGPathSegCustom.cpp:
(WebCore::toJS):
- bindings/js/JSStyleSheetCustom.cpp:
(WebCore::toJS):
- bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::toJS):
- bindings/js/JSTrackCustom.cpp:
(WebCore::toJS):
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- 1:41 PM Changeset in webkit [165913] by
-
- 2 edits in trunk/Source/WebCore
Page::setPageScaleFactor should not force the scroll view position when using delegatesScrolling()
https://bugs.webkit.org/show_bug.cgi?id=130429
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-19
Reviewed by Simon Fraser.
When setting the same scale mutliple time (for example on load), Page was asking the top scrollview
to scroll to the origin. This is bogus since the scroll view is driving Page::setDeviceScaleFactor,
not the other way around.
Simon fixed the general case in http://trac.webkit.org/changeset/165652/trunk/Source/WebCore/page/Page.cpp
but this branch was still scrolling content.
- page/Page.cpp:
(WebCore::Page::setPageScaleFactor):
- 1:36 PM Changeset in webkit [165912] by
-
- 6 edits in trunk/Source/JavaScriptCore
REGRESSION(r165459): It broke 109 jsc stress test on ARM Thumb2 and Mac 32 bit
https://bugs.webkit.org/show_bug.cgi?id=130134
Reviewed by Mark Hahnenberg.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Can't do some optimizations if you don't have a lot of registers.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById): Move stuff around before going into the IC code to ensure that we give the IC code the invariants it needs. This only happens in case of GetByIdFlush, where we are forced into using weird combinations of registers because the results have to be in t0/t1.
(JSC::DFG::SpeculativeJIT::compile): For a normal GetById, the register allocator should just do the right thing so nobody has to move anything around.
- jit/JITInlineCacheGenerator.cpp:
(JSC::JITGetByIdGenerator::JITGetByIdGenerator): Assert the things we want.
- jit/JITInlineCacheGenerator.h:
- jit/Repatch.cpp:
(JSC::generateGetByIdStub): Remove a previous incomplete hack to try to work around the DFG's problem.
- 1:12 PM Changeset in webkit [165911] by
-
- 9 edits in trunk/Source
Filter out editable services from image menu for non-contenteditable images
<rdar://problem/16319645> and https://bugs.webkit.org/show_bug.cgi?id=130437
Reviewed by Tim Horton.
Source/WebCore:
- WebCore.exp.in:
Source/WebKit/mac:
- Misc/WebSharingServicePickerController.h:
- Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
Filter out editing services based on the includeEditorServices flag.
- WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuForEvent):
Source/WebKit2:
- UIProcess/mac/WebContextMenuProxyMac.h:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(-[WKSharingServicePickerDelegate setIncludeEditorServices:]):
(-[WKSharingServicePickerDelegate sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
Filter out editing services based on the includeEditorServices flag.
(WebKit::WebContextMenuProxyMac::setupImageServicesMenu):
(WebKit::WebContextMenuProxyMac::populate):
- 12:54 PM Changeset in webkit [165910] by
-
- 10 edits3 adds in trunk
Implement method addPath for Path2D
https://bugs.webkit.org/show_bug.cgi?id=130461
Reviewed by Dean Jackson.
Source/WebCore:
Add support for the Path2D method addPath. The method allows
to append and existing Path2D object to another one. It can be
combined with a transformation matrix SVGMatrix.
Test: fast/canvas/canvas-path-addPath.html
- html/canvas/DOMPath.h: Add new method addPath().
(WebCore::DOMPath::addPath):
- html/canvas/DOMPath.idl:
- platform/graphics/Path.h: Add support for appending paths.
- platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addPath):
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::addPath):
- platform/graphics/wince/PathWinCE.cpp:
(WebCore::Path::addPath):
LayoutTests:
Test the addPath Path2D method.
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- fast/canvas/canvas-path-addPath-expected.txt: Added.
- fast/canvas/canvas-path-addPath.html: Added.
- 12:32 PM Changeset in webkit [165909] by
-
- 2 edits in trunk/Source/JavaScriptCore
Normalize some of the older JSC options
https://bugs.webkit.org/show_bug.cgi?id=128753
Reviewed by Michael Saboff.
- runtime/Options.cpp:
(JSC::Options::initialize):
- 12:24 PM Changeset in webkit [165908] by
-
- 9 edits1 add in trunk/Source
[iOS] WebKit2 Quicklook.
https://bugs.webkit.org/show_bug.cgi?id=130360
Source/WebCore:
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-03-19
Reviewed by Tim Horton.
Since ResourceLoaders using WebKit2 network process don't have ResourceHandle any more, we
need to make it possible to create QuickLookHandle from ResourceLoader.
- WebCore.exp.in: Make some QuickLookHandle methods visible from WebKit2.
- loader/ResourceLoader.h: Add m_quickLookHandle data member to ResourceLoader.
(WebCore::ResourceLoader::quickLookHandle):
(WebCore::ResourceLoader::setQuickLookHandle):
- platform/network/ios/QuickLook.h: Add a new method to create QuickLookHandle from ResourceLoader.
- platform/network/ios/QuickLook.mm:
(WebCore::QuickLookHandle::create):
Source/WebKit2:
For WebKit2 resource loads, if we detect a quicklook content that QLConverter is able to
convert, handle the response data to QLConverter and use its delegate WKWebResourceQuickLookDelegate
to rounte the converted results (HTML) back into WebCore. Thie similiar logic has been in place
for WebKit1.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-03-19
Reviewed by Tim Horton.
- WebKit2.xcodeproj/project.pbxproj: Add WebResourceLoaderIOS.mm to the project.
- WebProcess/Network/WebResourceLoadScheduler.cpp:
- WebProcess/ios/WebResourceLoaderIOS.mm: Added.
(-[WKWebResourceQuickLookDelegate initWithWebResourceLoader:WebKit::]): WKWebResourceQuickLookDelegate holds
the original WebResourceLoader so that we could send converted result to WebCore.
(-[WKWebResourceQuickLookDelegate connection:didReceiveDataArray:]):
(-[WKWebResourceQuickLookDelegate connection:didReceiveData:lengthReceived:]):
(-[WKWebResourceQuickLookDelegate connectionDidFinishLoading:]):
(-[WKWebResourceQuickLookDelegate connection:didFailWithError:]):
(-[WKWebResourceQuickLookDelegate clearHandle]):
(WebKit::WebResourceLoader::setUpQuickLookHandleIfNeeded):
- 12:21 PM Changeset in webkit [165907] by
-
- 2 edits in trunk/Source/WebKit/mac
[iOS] Disable the video plugin proxy by default on WK1.
https://bugs.webkit.org/show_bug.cgi?id=130460
Reviewed by Eric Carlson.
Update the defaults to universally enable the AVFoundationEnabled preference, disable the
VideoPluginProxyEnabled preference, and on iOS only enable the AVKitEnabled preference.
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
- 12:00 PM Changeset in webkit [165906] by
-
- 4 edits in trunk/Source/WTF
Small cleanup of empty string
https://bugs.webkit.org/show_bug.cgi?id=130438
Reviewed by Anders Carlson.
The empty string is weird becuase it is used as the impl for an AtomicString, but isAtomic()
returns false.
Also, we set a valid pointer for the characters pointer due to an old PCRE bug; remove this.
Also, we currently only create one 'static' string, the empty string. Adding more might break
assumtions, inhibit the constructor from being used to create other static strings for now.
- wtf/text/AtomicString.h:
(WTF::AtomicString::add):
- update assert.
- wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
- Merge ConstructStaticString constructors, only allow the empty static string to be constructed.
- wtf/text/StringStatics.cpp:
(WTF::StringImpl::empty):
- ConstructStaticString -> ConstructEmptyString, remove arguments, DEPRECATED_DEFINE_STATIC_LOCAL -> NeverDestroyed.
- 12:00 PM Changeset in webkit [165905] by
-
- 7 edits in trunk
Fix cue rendering test and include support for left/right alignment
https://bugs.webkit.org/show_bug.cgi?id=130406
Reviewed by Eric Carlson.
Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/e695703cb603421c741e59a557a7989113c13b94
http://crbug.com/25155003
Source/WebCore:
No new tests. Covered by media/track/track-cue-rendering-snap-to-lines-not-set.html.
- html/track/VTTCue.cpp:
(WebCore::leftKeyword): Added.
(WebCore::rightKeyword): Added.
(WebCore::VTTCueBox::applyCSSProperties): Added.
(WebCore::VTTCue::VTTCue):
(WebCore::VTTCue::align): Handle left/right alignment.
(WebCore::VTTCue::setAlign): Ditto.
(WebCore::VTTCue::calculateDisplayParameters): Refactored and revised for left/right tokens.
(WebCore::VTTCue::setCueSettings): Ditto.
(WebCore::VTTCue::getCSSAlignment): Added.
(WebCore::VTTCue::getCSSWritingMode): Added.
- html/track/VTTCue.h:
LayoutTests:
- media/track/captions-webvtt/captions-snap-to-lines-not-set.vtt: Revised for left/right alignment tags.
- media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Ditto.
- media/track/track-cue-rendering-snap-to-lines-not-set.html: Ditto.
- 11:27 AM Changeset in webkit [165904] by
-
- 2 edits in branches/safari-537.75-branch/LayoutTests
Don't use ES6 features in testcase.
- 10:56 AM Changeset in webkit [165903] by
-
- 2 edits in trunk/Source/WebKit2
WebKit2 View Gestures: Swipe gesture can track vertical movement instead of horizontal movement
https://bugs.webkit.org/show_bug.cgi?id=130441
<rdar://problem/16337279>
Reviewed by Simon Fraser.
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::scrollEventCanBecomeSwipe):
Factor logic that determines if a scroll event can become a swipe
out into scrollEventCanBecomeSwipe.
Use <= instead of < when comparing the axes, because we don't want
to start a swipe on a completely diagonal scroll either (because AppKit
can start tracking a vertical swipe in that case).
(WebKit::ViewGestureController::handleScrollWheelEvent):
(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
Make use of scrollEventCanBecomeSwipe.
- 10:53 AM Changeset in webkit [165902] by
-
- 2 edits in trunk/Source/JavaScriptCore
Update type of local vars to match the type of String length.
<https://webkit.org/b/130077>
Reviewed by Geoffrey Garen.
- runtime/JSStringJoiner.cpp:
(JSC::JSStringJoiner::join):
- 10:51 AM Changeset in webkit [165901] by
-
- 3 edits in tags/Safari-538.23.1/Source/WebKit2
Merged r165632.
- 10:36 AM Changeset in webkit [165900] by
-
- 5 edits in trunk/Source
Add new functionality that will be required by the history item decoding
https://bugs.webkit.org/show_bug.cgi?id=130433
Reviewed by Sam Weinig.
Source/WebCore:
- platform/KeyedCoding.h:
(WebCore::KeyedDecoder::decodeConditionalObject):
Source/WebKit2:
- Shared/cf/KeyedDecoder.cpp:
(WebKit::KeyedDecoder::decodeUInt32):
(WebKit::KeyedDecoder::decodeInt32):
(WebKit::KeyedDecoder::decodeFloat):
- Shared/cf/KeyedDecoder.h:
- 10:27 AM Changeset in webkit [165899] by
-
- 2 edits in trunk/Tools
REGRESSION (OS X 10.9.2): PageVisibilityStateWithWindowChanges.WebKit2 API test fails
https://bugs.webkit.org/show_bug.cgi?id=130463
- TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm: Disable the test.
- 9:47 AM Changeset in webkit [165898] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test system fix.
- TestExpectations: I mistakenly checked in the region-webvtt tests as enabled. This feature is not
ready to be turned on for all platforms yet.
- 9:00 AM Changeset in webkit [165897] by
-
- 2 edits in trunk/Source/WebCore
Fix the iOS build.
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::parseToDateComponents):
Missing a StringView().
- 8:39 AM Changeset in webkit [165896] by
-
- 5 edits in trunk/Source
[iOS] WebPDFViewPlaceholder divides-by-zero with an empty document
https://bugs.webkit.org/show_bug.cgi?id=130444
<rdar://problem/15580682>
Reviewed by Sam Weinig.
- WebView/WebPDFViewPlaceholder.h:
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder layout]):
Get rid of boundingSize, it's never assigned to anything but CGSizeZero,
which is confusing.
Don't divide by zero if we have no pages, instead return an empty bounding size.
(-[WebPDFViewPlaceholder _computePageRects:]):
If we have an empty document, set the background color to white.
Otherwise, set it to black. It's not clear that black is the ideal
background color, but this retains existing behavior.
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView web_setContentProviderData:]):
Don't make UIPDFPageViews for null pages.
- 8:32 AM Changeset in webkit [165895] by
-
- 3 edits2 moves in trunk/LayoutTests
Unreviewed gardening.
- platform/efl/TestExpectations: remove failures for mo/row since they are already in skipped in the main TestExpectations.
- platform/gtk/mathml/presentation/mspace-children-expected.png: Move mspace-children-expected.png to platform/gtk.
- platform/gtk/mathml/presentation/mspace-children-expected.txt: Move mspace-children-expected.txt to platform/gtk.
- platform/win/TestExpectations: remove failures for mo/row/roots since they are already in skipped in the main TestExpectations.
- 8:19 AM Changeset in webkit [165894] by
-
- 9 edits in trunk/Source/WebCore
Tighten ElementRuleCollector::m_matchedRuleList typing
https://bugs.webkit.org/show_bug.cgi?id=130446
Reviewed by Anders Carlsson.
StyleRuleBase -> StyleRule.
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchedRuleList):
- css/ElementRuleCollector.h:
- css/StyleResolver.cpp:
(WebCore::StyleResolver::styleRulesForElement):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
- css/StyleResolver.h:
- editing/EditingStyle.cpp:
(WebCore::styleFromMatchedRulesForElement):
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
- inspector/InspectorCSSAgent.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::getMatchedCSSRules):
- 8:11 AM Changeset in webkit [165893] by
-
- 2 edits in trunk/Source/WebCore
[CSSRegions] An unsplittable box is always displayed in a single region
https://bugs.webkit.org/show_bug.cgi?id=130451
Reviewed by Andrei Bucur.
Add an ASSERT stating that an unsplittable box region range always contains 1 region.
No new functionality, no new tests.
- rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getRegionRangeForBox):
- 7:25 AM Changeset in webkit [165892] by
-
- 9 edits2 adds in trunk
Subpixel rendering: Transform origin is miscalculated when RenderLayer's
offsetfromRenderer has device pixel fraction value.
https://bugs.webkit.org/show_bug.cgi?id=129859
Reviewed by Simon Fraser.
We need to calculate the transformed origin using the painting coordinates to produce
pixel precise result.
Source/WebCore:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::computeTransformOriginForPainting):
- rendering/RenderLayerBacking.h:
LayoutTests:
- compositing/columns/composited-columns-expected.txt:
- compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt:
- compositing/repaint/resize-repaint-expected.txt:
- platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
- platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
- 7:04 AM WebKitGTK/2.4.x edited by
- (diff)
- 6:49 AM Changeset in webkit [165891] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Clean timeout source ids
https://bugs.webkit.org/show_bug.cgi?id=130450
Reviewed by Philippe Normand.
Sources IDs need to be cleaned up if the callback removes the
source, otherwise we'll be attempting to remove an empty source at
some point.
- platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
(webKitMediaVideoSrcStart): Clean the source id.
(webKitMediaAudioSrcStart): Ditto.
(webKitMediaVideoSrcSeekMainCb): Ditto.
(webKitMediaAudioSrcSeekMainCb): Ditto.
- 5:38 AM Changeset in webkit [165890] by
-
- 13 edits8 adds in trunk
[CSSRegions] Compute region ranges for children of inline blocks
https://bugs.webkit.org/show_bug.cgi?id=130392
Reviewed by Andrei Bucur.
Source/WebCore:
Extend the region ranges computation for children of inline blocks.
When we cannot retrieve the region range for a box using cached information,
either from region range map or from the region cached on the RootInlineBox,
try to find the top most unsplittable box up to the flow thread boundary.
If we find such unsplittable box and the box has a region range, then return
this range.
Before this patch, method getRegionRangeForBox did not return true/false
if it was able to retrieve the range and the caller checked the returned
region values. I modified the method to return true if we were able to compute
the range.
Tests: fast/regions/inline-block-inline-children-flowed-in-regions.html
fast/regions/inline-blocks-dyn-enlarged-regions.html
fast/regions/inline-blocks-dyn-shrunk-regions.html
fast/regions/inline-blocks-in-two-regions.html
- inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForRendererFragments):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateRegionRangeForBoxChild):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::hasNextPage):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::clampToStartAndEndRegions):
(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
- rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
(WebCore::RenderFlowThread::getRegionRangeForBoxFromCachedInfo):
(WebCore::RenderFlowThread::getRegionRangeForBox):
(WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
(WebCore::RenderFlowThread::objectInFlowRegion):
(WebCore::RenderFlowThread::addRegionsVisualEffectOverflow):
(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::RenderFlowThread::addRegionsLayoutOverflow):
(WebCore::RenderFlowThread::addRegionsVisualOverflow):
(WebCore::RenderFlowThread::clearRegionsOverflow):
- rendering/RenderFlowThread.h:
- rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::locateFlowThreadContainingBlock):
Make sure we return the right render flow thread in the case of
region-based multicolumn inside named flows.
- rendering/RenderRegion.cpp:
(WebCore::RenderRegion::rectFlowPortionForBox):
LayoutTests:
- fast/regions/inline-block-inline-children-flowed-in-regions-expected.html: Added.
- fast/regions/inline-block-inline-children-flowed-in-regions.html: Added.
- fast/regions/inline-blocks-dyn-enlarged-regions-expected.html: Added.
- fast/regions/inline-blocks-dyn-enlarged-regions.html: Added.
- fast/regions/inline-blocks-dyn-shrunk-regions-expected.html: Added.
- fast/regions/inline-blocks-dyn-shrunk-regions.html: Added.
- fast/regions/inline-blocks-in-two-regions-expected.html: Added.
- fast/regions/inline-blocks-in-two-regions.html: Added.
- 5:21 AM Changeset in webkit [165889] by
-
- 5 edits in trunk/LayoutTests
Fix reftest failure of mathml/presentation/bug95404.html.
Unreviewed gardering.
After bug 116600, the test is only failing because of some difference
invisible by the naked eye, due to antialiasing of the radical symbol.
- mathml/presentation/bug95404-expected.html: add a 2px border to prevent antialiasing.
- mathml/presentation/bug95404.html: ditto.
- platform/efl/TestExpectations: remove test failure.
- platform/gtk/TestExpectations: ditto.
- 3:58 AM Changeset in webkit [165888] by
-
- 1 copy in releases/WebKitGTK/webkit-2.2.6
Tagging the WebKitGTK+ 2.2.6 release
- 3:55 AM Changeset in webkit [165887] by
-
- 4 edits in releases/WebKitGTK/webkit-2.2
Unreviewed. Update NEWS and Versions.m4 for 2.2.6 release.
.:
- Source/autotools/Versions.m4: Bump version numbers.
Source/WebKit/gtk:
- NEWS: Add release notes.
- 2:47 AM Changeset in webkit [165886] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r165812 - [GTK] Race condition when the socket event source is cancelled
https://bugs.webkit.org/show_bug.cgi?id=130395
Reviewed by Martin Robinson.
In some cases when the socket event source is cancelled the socket
event source callback is called with the condition of the previous
poll instead of 0. This can happen sometimes when the source is
cancelled from the socket event source callback. Once the socket
event source is cancelled, it's dispatched by glib without
polling, so the condition is never reset again and the callback is
called again and again with the previous condition. When the
condition is G_IO_IN, the source is re-scheduled entering into an
infinite loop. We should always check if the source has been
cancelled at the beginning of the callback to destroy the source
instead of relying on the condition being 0.
- Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::SocketEventSource::isCancelled):
(WorkQueue::SocketEventSource::eventCallback):
- 2:40 AM Changeset in webkit [165885] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r165550 - [GTK] Close the connection when we fail to read from the socket for any unhandled error
https://bugs.webkit.org/show_bug.cgi?id=130191
Reviewed by Martin Robinson.
We currently show an error message, but we should close the
connection avoid entering an infinite loop. Also provide more
information in the error message to help when debugging the issue.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::readyReadHandler):
- 2:34 AM Changeset in webkit [165884] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r165371 - [GTK] The web process can finish while a print operation is still ongoing
https://bugs.webkit.org/show_bug.cgi?id=129871
Reviewed by Martin Robinson.
This can happen when the last page is closed while the print job
is sending data to the printer.
- WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Disable web
process termination when the print job is sending data to the
printer and enable it again when job finishes.
- 2:19 AM Changeset in webkit [165883] by
-
- 5 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r165489 - [GTK] Runtime error when page is closed while print operation is in progress
https://bugs.webkit.org/show_bug.cgi?id=129869
Reviewed by Anders Carlsson.
Sometimes when the page is closed right after printing the web
process aborts with the runtime message "pure virtual method
called terminate called without an active exception".
This happens because the page is closed when the pages have been
printed, but print job is still ongoing sending the data to the
printer. When print job finishes, we try to notify the UI process
sending the print callback message using WebPage::send(), but the
web page object has been destroyed. The virtual method it complains
about is probably MessageSender::messageSenderDestinationID() used
by send(). Since our print operation is always asynchronous, we
need a way to notify the web page when the print operation has
actually finished to clean it up, but also notify the print
operation when the page has been closed to not try to notify the
UI process in that case.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close): Call disconnectFromPage to notify the
print operation in case there's an ongoing print job.
(WebKit::WebPage::endPrinting): Do not cleanup the print operation
here, since the print opertation might not have finished yet.
(WebKit::WebPage::didFinishPrintOperation): Send
PrintFinishedCallback message to the Ui process and cleanup the
print operation.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::WebPrintOperationGtk::disconnectFromPage): Set m_webPage
to nullptr.
(WebKit::WebPrintOperationGtk::printDone): Call
didFinishPrintOperation() is the web page hasn't been closed.
- WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
- 2:16 AM Changeset in webkit [165882] by
-
- 2 edits in trunk/Source/WebCore
[EFL] vibration/cancelVibration-during-pattern-vibrating.html is failing after r165598
https://bugs.webkit.org/show_bug.cgi?id=130333
Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-03-19
Reviewed by Gyuyoung Kim.
Added setting m_state when calling Vibration::vibrate. It was missing after
refactoring Vibration (r165598).
- Modules/vibration/Vibration.cpp:
(WebCore::Vibration::vibrate):
- 1:53 AM Changeset in webkit [165881] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r165182 - [GTK] Close the page when the view is disposed instead of when finalized
https://bugs.webkit.org/show_bug.cgi?id=129783
Reviewed by Sergio Villar Senin.
Source/WebKit2:
When a GtkWidget is destroyed, the GObject is disposed, but not
finalized if it has additional references. When the destroyed
widget is leaked by the application, we leak the page proxy and
what is more important the web process in multi-process mode.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDispose): Close the WebPageProxy.
- 1:49 AM Changeset in webkit [165880] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore
Merge r164980 - [GTK] webkit_dom_range_compare_boundary_points fails when 0 is passed as how parameter
https://bugs.webkit.org/show_bug.cgi?id=129145
Patch by Tomas Popela <tpopela@redhat.com> on 2014-03-03
Reviewed by Carlos Garcia Campos.
While generating GObject DOM API the generator should skip non pointer
types while generating the g_return_val_if_fail macro.
This will avoid the situation when Range.START_TO_START is defined as 0,
thus the webkit_dom_range_compare_boundary_points function will fail
everytime it is called with 0 as how value.
- bindings/scripts/CodeGeneratorGObject.pm:
(GenerateFunction):
- 1:38 AM Changeset in webkit [165879] by
-
- 6 edits3 adds in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r164808 - [GTK][WK2] Blocks when fetching plugins information
https://bugs.webkit.org/show_bug.cgi?id=115650
Reviewed by Gustavo Noronha Silva.
Use a persistent cache to store the plugins metadata to avoid
having to load all the plugins everytime a plugin is used for the
first time.
- GNUmakefile.am:
- GNUmakefile.list.am:
- PlatformGTK.cmake:
- Shared/Plugins/Netscape/NetscapePluginModule.h:
- Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::parseMIMEDescription): Make this
method public.
(WebKit::NetscapePluginModule::buildMIMEDescription): Added this
helper to build the MIME description string.
- UIProcess/Plugins/gtk/PluginInfoCache.cpp: Added.
(WebKit::PluginInfoCache::shared):
(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::~PluginInfoCache):
(WebKit::PluginInfoCache::saveToFileIdleCallback):
(WebKit::PluginInfoCache::saveToFile):
(WebKit::PluginInfoCache::getPluginInfo):
(WebKit::PluginInfoCache::updatePluginInfo):
- UIProcess/Plugins/gtk/PluginInfoCache.h: Added.
- UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
(WebKit::PluginInfoStore::getPluginInfo): Check first if we have
metadata of the plugin in the cache and update the cache if we
loaded the plugin to get its metadata.
- 1:23 AM Changeset in webkit [165878] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r165745 - [GTK] Don't busy loop when the socket is full
https://bugs.webkit.org/show_bug.cgi?id=129802
Patch by Giovanni Campagna <gcampagna@src.gnome.org> on 2014-03-17
Reviewed by Carlos Garcia Campos.
When the socket is full and we see EAGAIN or EWOULDBLOCK
(because the socket is non blocking), don't busy loop by
tring to write again, instead poll() until the socket
becomes writable.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::sendOutgoingMessage):
- 1:04 AM Changeset in webkit [165877] by
-
- 2 edits in trunk/Source/WebCore
Rewrite WebHTMLConverter::_colorForNode in C++
https://bugs.webkit.org/show_bug.cgi?id=130443
Patch by Sam Weinig <sam@webkit.org> on 2014-03-19
Reviewed by Andreas Kling.
- platform/mac/HTMLConverter.mm:
(_platformColor):
Rename from _colorForRGBColor and simplify to just do the platform conversion.
(normalizedColor):
Extract normalization out of _colorForRGBColor and remove cases that are impossible to hit
due to us only ever using the device color space.
(HTMLConverterCaches::colorPropertyValueForNode):
(-[WebHTMLConverter _colorForNode:property:]):
Convert to C++.
(-[WebHTMLConverter dealloc]):
(-[WebHTMLConverter init]):
Remove caches, we already cache in ColorMac.
- 12:14 AM Changeset in webkit [165876] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2
Merge r165812 - [GTK] Race condition when the socket event source is cancelled
https://bugs.webkit.org/show_bug.cgi?id=130395
Reviewed by Martin Robinson.
In some cases when the socket event source is cancelled the socket
event source callback is called with the condition of the previous
poll instead of 0. This can happen sometimes when the source is
cancelled from the socket event source callback. Once the socket
event source is cancelled, it's dispatched by glib without
polling, so the condition is never reset again and the callback is
called again and again with the previous condition. When the
condition is G_IO_IN, the source is re-scheduled entering into an
infinite loop. We should always check if the source has been
cancelled at the beginning of the callback to destroy the source
instead of relying on the condition being 0.
- Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::SocketEventSource::isCancelled):
(WorkQueue::SocketEventSource::eventCallback):
- 12:13 AM Changeset in webkit [165875] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=130334
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2014-03-19
Reviewed by Gustavo Noronha Silva.
- pl.po: updated.
- 12:12 AM Changeset in webkit [165874] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2
Merge r165745 - [GTK] Don't busy loop when the socket is full
https://bugs.webkit.org/show_bug.cgi?id=129802
Patch by Giovanni Campagna <gcampagna@src.gnome.org> on 2014-03-17
Reviewed by Carlos Garcia Campos.
When the socket is full and we see EAGAIN or EWOULDBLOCK
(because the socket is non blocking), don't busy loop by
tring to write again, instead poll() until the socket
becomes writable.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::sendOutgoingMessage):