Timeline
Feb 19, 2014:
- 11:12 PM Changeset in webkit [164416] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed build fix after r164396
- GNUmakefile.list.am: Added Promises.prototype.js properly
- 9:02 PM Changeset in webkit [164415] by
-
- 11 edits in trunk/Source/WebCore
Subpixel rendering: Make GraphicsLayer's offsetFromRenderer subpixel position based.
https://bugs.webkit.org/show_bug.cgi?id=128694
Reviewed by Simon Fraser.
Changing layers from using integral types to using Float/LayoutUnits so that
we can position them on subpixels. They are still integral positioned though.
Covered by existing tests.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::setOffsetFromRenderer):
(WebCore::GraphicsLayer::paintGraphicsLayerContents):
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::offsetFromRenderer): removed incorrect comment.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
(WebCore::RenderLayerBacking::positionOverflowControlsLayers):
(WebCore::RenderLayerBacking::computeTransformOrigin):
(WebCore::RenderLayerBacking::computePerspectiveOrigin):
- rendering/RenderLayerBacking.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresOwnBackingStore):
- rendering/RenderLayerCompositor.h:
- rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
- rendering/RenderMultiColumnSet.h:
- rendering/RenderRegion.cpp:
(WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
- rendering/RenderRegion.h:
- 8:18 PM Changeset in webkit [164414] by
-
- 5 edits in trunk/Source
Versioning.
- 8:14 PM Changeset in webkit [164413] by
-
- 1 copy in tags/Safari-538.19
New Tag.
- 8:13 PM Changeset in webkit [164412] by
-
- 12 edits in trunk/Source
Subpixel rendering: Make GraphicsLayer::paintGraphicsLayerContents()'s cliprect FloatRect based.
https://bugs.webkit.org/show_bug.cgi?id=128911
Reviewed by Simon Fraser.
Switching from IntRect to FloatRect makes device pixel position clipping possible.
Covered by existing tests.
- WebCore.exp.in:
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::paintGraphicsLayerContents):
- platform/graphics/GraphicsLayer.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::platformCALayerPaintContents):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/ca/PlatformCALayerClient.h:
- platform/graphics/ca/mac/TileController.h:
- platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::platformCALayerPaintContents):
- platform/graphics/mac/WebLayer.mm:
(WebCore::drawLayerContents):
(-[WebSimpleLayer drawInContext:]):
- 7:39 PM Changeset in webkit [164411] by
-
- 2 edits in trunk/Source/WebCore
Subpixel rendering: (RenderLayer)Pass non-css-pixel-snapped dirty rects to PaintInfo when painting renderer().
https://bugs.webkit.org/show_bug.cgi?id=128913
Reviewed by Simon Fraser.
This is part of the preparation to move RenderLayers to device pixel positioning.
We might need to device pixelsnapp the dirty rects later, but PaintInfo should be
able to manage that instead of doing it everywhere in the code.
Covered by existing tests.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
- 7:26 PM Changeset in webkit [164410] by
-
- 2 edits in trunk/Source/WebKit2
Build fix.
- UIProcess/API/C/WKPage.cpp: (WKPageGetBytecodeProfile): Updated a recently added
instance of ScriptCallback.
- 7:21 PM Changeset in webkit [164409] by
-
- 35 edits in trunk/Source/WebKit2
[WK2] IPC callback classes should not be tightly coupled to C API
https://bugs.webkit.org/show_bug.cgi?id=129030
Reviewed by Anders Carlsson.
Changed CallbackBase subclasses to take an std::function (with context captured inside).
Instead of C API objects, these callback functions take implementation ones.
There are VoidAPICallback and GenericAPICallback helpers for the common case of C API.
- Shared/SecurityOriginData.h:
- UIProcess/API/C/WKApplicationCacheManager.cpp:
(WKApplicationCacheManagerGetApplicationCacheOrigins):
- UIProcess/API/C/WKContext.cpp:
(WKContextGetStatistics):
(WKContextGetStatisticsWithOptions):
- UIProcess/API/C/WKCookieManager.cpp:
(WKCookieManagerGetHostnamesWithCookies):
(WKCookieManagerGetHTTPCookieAcceptPolicy):
- UIProcess/API/C/WKDatabaseManager.cpp:
(WKDatabaseManagerGetDatabasesByOrigin):
(WKDatabaseManagerGetDatabaseOrigins):
- UIProcess/API/C/WKFrame.cpp:
(WKFrameGetMainResourceData):
(WKFrameGetResourceData):
(WKFrameGetWebArchive):
- UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetKeyValueStorageOrigins):
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):
- UIProcess/API/C/WKMediaCacheManager.cpp:
(WKMediaCacheManagerGetHostnamesWithMediaCache):
- UIProcess/API/C/WKOriginDataManager.cpp:
(WKOriginDataManagerGetOrigins):
- UIProcess/API/C/WKPage.cpp:
(WKPageRunJavaScriptInMainFrame):
(WKPageRenderTreeExternalRepresentation):
(WKPageGetSourceForFrame):
(WKPageGetContentsAsString):
(WKPageGetSelectionAsWebArchiveData):
(WKPageGetContentsAsMHTMLData):
(WKPageForceRepaint):
(WKPageValidateCommand):
(WKPageComputePagesForPrinting):
(WKPageDrawPagesToPDF):
- UIProcess/API/C/WKPluginSiteDataManager.cpp:
(WKPluginSiteDataManagerGetSitesWithData):
(WKPluginSiteDataManagerClearSiteData):
(WKPluginSiteDataManagerClearAllSiteData):
- UIProcess/API/C/WKResourceCacheManager.cpp:
(WKResourceCacheManagerGetCacheOrigins):
- UIProcess/API/gtk/WebKitCookieManager.cpp:
(webkit_cookie_manager_get_accept_policy):
(webkit_cookie_manager_get_domains_with_cookies):
- UIProcess/API/gtk/WebKitPrintOperation.cpp:
(drawPagesForPrintingCompleted):
(webkitPrintOperationPrintPagesForFrame):
- UIProcess/API/gtk/WebKitWebResource.cpp:
(resourceDataCallback):
(webkit_web_resource_get_data):
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_can_execute_editing_command):
(webkitWebViewRunJavaScriptCallback):
(webkit_web_view_run_javascript):
(resourcesStreamReadCallback):
(getContentsAsMHTMLDataCallback):
(webkit_web_view_save):
(webkit_web_view_save_to_file):
- UIProcess/API/ios/WKInteractionView.mm:
(-[WKInteractionView _define:]):
(selectionChangedWithGesture):
(selectionChangedWithTouch):
(-[WKInteractionView changeSelectionWithGestureAt:withGesture:withState:]):
(-[WKInteractionView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]):
(-[WKInteractionView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
(-[WKInteractionView requestAutocorrectionRectsForString:withCompletionHandler:]):
(-[WKInteractionView applyAutocorrection:toString:withCompletionHandler:]):
(-[WKInteractionView requestAutocorrectionContextWithCompletionHandler:]):
- UIProcess/API/mac/WKPrintingView.mm:
(pageDidDrawToImage):
(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
(pageDidComputePageRects):
(-[WKPrintingView _askPageToComputePageRects]):
(-[WKPrintingView _drawPreview:]):
- UIProcess/API/mac/WKView.mm:
(-[WKView validateUserInterfaceItem:]):
(-[WKView startSpeaking:]):
- UIProcess/AutoCorrectionCallback.h:
(WebKit::AutocorrectionDataCallback::create):
(WebKit::AutocorrectionDataCallback::performCallbackWithReturnValue):
(WebKit::AutocorrectionDataCallback::invalidate):
(WebKit::AutocorrectionDataCallback::AutocorrectionDataCallback):
(WebKit::AutocorrectionContextCallback::create):
(WebKit::AutocorrectionContextCallback::performCallbackWithReturnValue):
(WebKit::AutocorrectionContextCallback::invalidate):
(WebKit::AutocorrectionContextCallback::AutocorrectionContextCallback):
- UIProcess/GenericCallback.h:
(WebKit::CallbackBase::CallbackBase):
(WebKit::CallbackBase::generateCallbackID):
(WebKit::VoidCallback::create):
(WebKit::VoidCallback::performCallback):
(WebKit::VoidCallback::invalidate):
(WebKit::VoidCallback::VoidCallback):
(WebKit::VoidAPICallback::create):
(WebKit::GenericCallback::create):
(WebKit::GenericCallback::performCallbackWithReturnValue):
(WebKit::GenericCallback::invalidate):
(WebKit::GenericCallback::GenericCallback):
(WebKit::GenericAPICallback::create):
(WebKit::ComputedPagesCallback::create):
(WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
(WebKit::ComputedPagesCallback::invalidate):
(WebKit::ComputedPagesCallback::ComputedPagesCallback):
(WebKit::ImageCallback::create):
(WebKit::ImageCallback::performCallbackWithReturnValue):
(WebKit::ImageCallback::invalidate):
(WebKit::ImageCallback::ImageCallback):
- UIProcess/Plugins/WebPluginSiteDataManager.h:
- UIProcess/StatisticsRequest.h:
- UIProcess/WebApplicationCacheManagerProxy.h:
- UIProcess/WebContext.h:
- UIProcess/WebCookieManagerProxy.h:
- UIProcess/WebDatabaseManagerProxy.h:
- UIProcess/WebFrameProxy.h:
- UIProcess/WebKeyValueStorageManager.h:
- UIProcess/WebMediaCacheManagerProxy.h:
- UIProcess/WebOriginDataManagerProxy.h:
- UIProcess/WebPageProxy.h:
(WebKit::ValidateCommandCallback::create):
(WebKit::ValidateCommandCallback::performCallbackWithReturnValue):
(WebKit::ValidateCommandCallback::invalidate):
(WebKit::ValidateCommandCallback::ValidateCommandCallback):
(WebKit::GestureCallback::create):
(WebKit::GestureCallback::performCallbackWithReturnValue):
(WebKit::GestureCallback::invalidate):
(WebKit::GestureCallback::GestureCallback):
(WebKit::TouchesCallback::create):
(WebKit::TouchesCallback::performCallbackWithReturnValue):
(WebKit::TouchesCallback::invalidate):
(WebKit::TouchesCallback::TouchesCallback):
- UIProcess/WebResourceCacheManagerProxy.h:
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
- 7:03 PM Changeset in webkit [164408] by
-
- 2 edits in trunk/Source/WTF
Crash in WTF::StringBuilder::append()
https://bugs.webkit.org/show_bug.cgi?id=125817
<rdar://problem/15671883>
Reviewed by Oliver Hunt.
- wtf/text/StringBuilder.cpp:
(WTF::expandedCapacity):
Ensure that we return a new capacity of at least 'requiredLength' in
the case where requiredLength is large. Also, use unsigned rather than
size_t for the parameters and the return value, as callers pass
unsigned arguments and treat the result as an unsigned int.
- 6:08 PM Changeset in webkit [164407] by
-
- 6 edits in trunk
fieldset:disabled fieldset > legend:first-child input should be disabled
https://bugs.webkit.org/show_bug.cgi?id=129077
Reviewed by Antti Koivisto.
Source/WebCore:
Similar to r164403. When a fieldset inside a disabled fieldset, input elements inside
the inner fieldset's first legend element child should be disabled.
Test: fast/forms/fieldset/fieldset-disabled-2.html
- html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::legend): Fixed the bug where it was returning the first
legend element descendent. It should be the first legend element _child_.
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::updateAncestorDisabledState): Fixed the algorithm
to look for any ancestor fieldset that has been disabled instead of the first fieldset
ancestor and checking its disabledness.
LayoutTests:
Added a test case.o
- fast/forms/fieldset/fieldset-disabled-2-expected.txt:
- fast/forms/fieldset/fieldset-disabled-2.html:
- 6:03 PM Changeset in webkit [164406] by
-
- 3 edits in trunk/Source/WebKit2
Avoid sending redundant layer properties to the UI process, and avoid allocation of RemoteLayerBackingStore unless we need it
https://bugs.webkit.org/show_bug.cgi?id=129076
Reviewed by Tim Horton.
Normally we rely on GraphicsLayerCA to avoid redundant property
setting on PlatformCALayers, but for contents layers GraphicsLayerCA
sets properties on every update.
Make PlatformCALayerRemote more efficient in this case by not
setting dirty flags for unchanged property sets.
Also avoid creation of RemoteLayerBackingStore unless we
actually need one.
- WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::ensureBackingStore):
(PlatformCALayerRemote::updateBackingStore):
(PlatformCALayerRemote::setBounds):
(PlatformCALayerRemote::setPosition):
(PlatformCALayerRemote::setAnchorPoint):
(PlatformCALayerRemote::setMasksToBounds):
(PlatformCALayerRemote::setAcceleratesDrawing):
(PlatformCALayerRemote::setBorderWidth):
(PlatformCALayerRemote::setBorderColor):
(PlatformCALayerRemote::setContentsScale):
- WebProcess/WebPage/mac/PlatformCALayerRemote.h:
- 6:03 PM Changeset in webkit [164405] by
-
- 9 edits in trunk/Source/WebKit2
[UI-Side Compositing] 6% of main thread time spent copying LayerProperties when adding to hash table
https://bugs.webkit.org/show_bug.cgi?id=129074
Reviewed by Tim Horton.
Make RemoteLayerTreeTransaction::LayerProperties smaller and not copied by
value everywhere.
Put some big members into unique_ptrs, and store unique_ptrs
in the hash of layerID to properties.
Clean up member variable order of LayerProperties to improve packing.
Also have applyPropertiesToLayer() take references to things to avoid
copies.
- Shared/mac/RemoteLayerTreePropertyApplier.h:
- Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
- Shared/mac/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::changedLayers):
- Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
(WebKit::dumpChangedLayers):
- UIProcess/mac/RemoteLayerTreeHost.h:
- UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
(WebKit::RemoteLayerTreeHost::createLayer):
- WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::create):
(PlatformCALayerRemote::PlatformCALayerRemote):
(PlatformCALayerRemote::clone):
(PlatformCALayerRemote::recursiveBuildTransaction):
(PlatformCALayerRemote::ensureBackingStore):
(PlatformCALayerRemote::setNeedsDisplay):
(PlatformCALayerRemote::transform):
(PlatformCALayerRemote::setTransform):
(PlatformCALayerRemote::sublayerTransform):
(PlatformCALayerRemote::setSublayerTransform):
(PlatformCALayerRemote::setFilters):
(PlatformCALayerRemote::enumerateRectsBeingDrawn):
- WebProcess/WebPage/mac/PlatformCALayerRemote.h:
- 5:16 PM Changeset in webkit [164404] by
-
- 2 edits in trunk/Source/WebCore
Debug build fix after r164401. Removed a bogus assertion in comparePositions.
When either position is anchored at a detached node, they don't have a tree scope in common.
- editing/htmlediting.cpp:
(WebCore::comparePositions):
- 5:06 PM Changeset in webkit [164403] by
-
- 3 edits2 adds in trunk
fieldset:disabled > legend:first-child legend input should not be disabled
https://bugs.webkit.org/show_bug.cgi?id=129068
Reviewed by Andreas Kling.
Source/WebCore:
An input element inside a disabled fieldset element is ordinarily disabled unless it's inside
a legend element that is the first of its kind to appear in the fieldset's child node list.
Prior to this patch, an input element inside such a legend element was erroneously disabled if
we had another legend element between the two as in <fieldset disabled><legend><legend><input>.
Fixed the bug by correcting the algorithm in updateAncestorDisabledState.
Test: fast/forms/fieldset/fieldset-disabled-2.html
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::updateAncestorDisabledState):
LayoutTests:
Added a new regression test.
- fast/forms/fieldset/fieldset-disabled-2-expected.txt: Added.
- fast/forms/fieldset/fieldset-disabled-2.html: Added.
- 5:06 PM Changeset in webkit [164402] by
-
- 3 edits in trunk/Source/WebKit2
Remove -[WKContentView setViewportSize:]
https://bugs.webkit.org/show_bug.cgi?id=129071
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-19
Reviewed by Enrica Casucci.
I forgot to clean that up.
- UIProcess/API/ios/WKContentView.h:
- UIProcess/API/ios/WKContentView.mm:
- 4:12 PM Changeset in webkit [164401] by
-
- 19 edits in trunk
Changing selection shouldn't synchronously update editor UI components
https://bugs.webkit.org/show_bug.cgi?id=129024
Reviewed by Brent Fulgham.
Source/WebCore:
Make updates to spellchecker, alternative text controller (correction pane), and delete button controller
asynchronous for programmatically triggered selection changes.
We continue to update their states synchronously immediately after we have applied, unapplied, or reapplied
editing commands to keep states in spell checker and alternative text controller consistent. We should be
able to make them asynchronous as well in the future but that should be done in a separate patch.
- WebCore.exp.in:
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::respondToChangedSelection): This function used to enumerate all document
makers and call respondToMarkerAtEndOfWord on each one of them only to exit early when SetSelectionOptions
had DictationTriggered. This condition is now checked in Editor::respondToChangedSelection to avoid all the
unnecessary work and remove the dependency on SetSelectionOptions.
(WebCore::AlternativeTextController::respondToMarkerAtEndOfWord): Ditto.
- editing/AlternativeTextController.h:
- editing/Editor.cpp:
(WebCore::Editor::appliedEditing): Calls updateEditorUINowIfScheduled before calling respondToAppliedEditing
on the alternative text controller.
(WebCore::Editor::unappliedEditing): Ditto.
(WebCore::Editor::reappliedEditing): Ditto.
(WebCore::Editor::Editor): Initializes newly added booleans.
(WebCore::Editor::respondToChangedSelection): Continue to call respondToChangedSelection (for API consistency)
and setStartNewKillRingSequence but defer the "editor UI updates" to spellchecker, alternative text controller
and delete button controller by firing a newly added one shot timer.
(WebCore::Editor::updateEditorUINowIfScheduled): Synchronously update the pending editor UI updates.
(WebCore::Editor::editorUIUpdateTimerFired): Extracted from respondToChangedSelection.
- editing/Editor.h:
- testing/Internals.cpp:
(WebCore::Internals::markerCountForNode): Calls updateEditorUINowIfScheduled() to update document markers.
(WebCore::Internals::markerAt): Ditto.
(WebCore::Internals::updateEditorUINowIfScheduled): Added.
(WebCore::Internals::findEditingDeleteButton): Added. Updates delete button controller synchronously.
(WebCore::Internals::hasSpellingMarker): Calls updateEditorUINowIfScheduled() to update document markers.
(WebCore::Internals::hasAutocorrectedMarker): Ditto.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
Added symbols for internals.
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
LayoutTests:
Many tests now calls internals.updateEditorUINowIfScheduled() to update the spellchecker states, and uses
setTimeout() to make things testable in the browser.
- editing/spelling/script-tests/spelling-backspace-between-lines.js:
(testTwoLinesMisspellings): Uses updateEditorUINowIfScheduled and setTimeout to make spellchecker recognize
two selection changes. This is okay since the user never moves selection multiple times in a single task.
- editing/spelling/spellcheck-attribute.html: Ditto.
- platform/mac/editing/deleting/deletionUI-click-on-delete-button.html: Use intenals.findEditingDeleteButton
which updates delete button controller states synchronously instead of getElementById which doesn't do that.
- platform/mac/editing/deleting/id-in-deletebutton-expected.txt:
- platform/mac/editing/deleting/id-in-deletebutton.html: Ditto. Also did some cleanups.
- platform/mac/editing/deleting/resources/deletionUI-helpers.js:
(deletionUIDeleteButtonForElement): Ditto.
- platform/mac/editing/spelling/editing-word-with-marker-1.html: Again, we must notify the spellchecker
synchronously here because we're expecting spellchecker to use the old selection set by setSelectionRange
in Editor::editorUIUpdateTimerFired triggered by the pasting command. This is, again, not a problem in
practice since user never pastes content synchronously after changing selection like this in a single task.
- 3:51 PM Changeset in webkit [164400] by
-
- 3 edits in trunk/Source/JavaScriptCore
Crash after -[JSContext evaluateScript:] when initializing JSContext with JSVirtualMachine
https://bugs.webkit.org/show_bug.cgi?id=129070
Reviewed by Mark Hahnenberg.
Clear our exception explicitly before throwing away the VM because our
exception references VM memory.
- API/JSContext.mm:
(-[JSContext dealloc]):
- API/tests/testapi.mm:
(testObjectiveCAPI):
- 3:47 PM Changeset in webkit [164399] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed build fix after r164391
- runtime/Arguments.h: Make SlowArgumentData public so template libraries can
access its methods.
- 3:43 PM Changeset in webkit [164398] by
-
- 8 edits in trunk/Source/WebKit2
Add WK2 SPI to get bytecode profile from web process
https://bugs.webkit.org/show_bug.cgi?id=129069
Reviewed by Anders Carlsson.
Simple patch to allow asynchronous fetching of the
bytecode profiler output from the WebProcess.
- UIProcess/API/C/WKPage.cpp:
(WKPageGetBytecodeProfile):
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getBytecodeProfile):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getBytecodeProfile):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 3:41 PM Changeset in webkit [164397] by
-
- 2 edits in trunk/Source/JavaScriptCore
Need to align sp before calling operationLoadVarargs on 32-bit platforms.
<https://webkit.org/b/129056>
Reviewed by Michael Saboff.
In JIT::compileLoadVarargs(), we'll call operationSizeFrameForVarargs()
to compute the amount of stack space we need for the varargs, adjust the
stack pointer to make room for those varargs, and then call
operationLoadVarargs() to fill in the varargs. Currently, the stack
pointer adjustment takes care of allocating space for the varargs, but
does not align the stack pointer for the call to operationLoadVarargs().
The fix is to align the stack pointer there.
Note: The stack pointer adjustment is based on the new CallFrame pointer
value returned by operationSizeFrameForVarargs(). On 64-bit platforms,
both the stack pointer and call frame pointer are similarly aligned
(i.e. low nibbles are 0). Hence, no additional adjustment is needed.
Only the 32-bit code needs the fix.
Note: The LLINT also works this way i.e. aligns the stack pointer before
calling llint_slow_path_call_varargs().
- jit/JITCall32_64.cpp:
(JSC::JIT::compileLoadVarargs):
- 3:31 PM Changeset in webkit [164396] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
[JS] Convert Promise.prototype.catch to be a built-in
https://bugs.webkit.org/show_bug.cgi?id=129052
Patch by Sam Weinig <sam@webkit.org> on 2014-02-19
Reviewed by Geoffrey Garen.
- GNUmakefile.list.am:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/Promise.prototype.js: Added.
(catch): Add JS based implementation of Promise.prototype.catch.
- runtime/JSPromisePrototype.cpp:
Remove the C++ implementation of Promise.prototype.catch.
- 3:22 PM Changeset in webkit [164395] by
-
- 1 edit1 add in trunk/PerformanceTests
[CSS Shapes] Add performance test for stacked floats with shape-outsides
https://bugs.webkit.org/show_bug.cgi?id=128821
Reviewed by Brent Fulgham.
This tests generate stacked floats content with shape-outsides.
The test is skipped by default.
- Layout/Shapes/ShapeOutsideStackedPolygons.html: Added.
- 3:21 PM HackingWebInspector edited by
- Improve words (diff)
- 3:11 PM Changeset in webkit [164394] by
-
- 2 edits in trunk/LayoutTests
Another Windows update to quiet the bots.
- platform/win/TestExpectations: Add more flakes and pass lint-test-expectations.
- 3:11 PM Changeset in webkit [164393] by
-
- 6 edits2 adds in trunk/Source/JavaScriptCore
FTL should allow LLVM to allocate data sections with alignment > 8
https://bugs.webkit.org/show_bug.cgi?id=129066
Reviewed by Geoffrey Garen.
We were previously using the native allocator's alignment guarantees (which we presumed
to be 8 bytes), and further hinting our desires by using the LSectionWord type (which
was 8 bytes). This breaks now that LLVM will sometimes ask for 16 byte alignment on
some sections.
This changes our data section allocation strategy to use the new FTL::DataSection,
which can handle arbitrary 2k alignment.
- JavaScriptCore.xcodeproj/project.pbxproj:
- ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
(JSC::FTL::dumpDataSection):
(JSC::FTL::compile):
- ftl/FTLDataSection.cpp: Added.
(JSC::FTL::DataSection::DataSection):
(JSC::FTL::DataSection::~DataSection):
- ftl/FTLDataSection.h: Added.
(JSC::FTL::DataSection::base):
(JSC::FTL::DataSection::size):
- ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::addDataSection):
- ftl/FTLJITCode.h:
(JSC::FTL::JITCode::dataSections):
- ftl/FTLState.h:
- 3:04 PM Changeset in webkit [164392] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix comment.
- ftl/FTLWeight.h:
(JSC::FTL::Weight::scaleToTotal):
- 3:02 PM Changeset in webkit [164391] by
-
- 14 edits in trunk/Source
Add WTF_MAKE_FAST_ALLOCATED to more classes
https://bugs.webkit.org/show_bug.cgi?id=129064
Reviewed by Andreas Kling.
Source/JavaScriptCore:
- dfg/DFGSpeculativeJIT.h:
- heap/CopyWorkList.h:
- heap/Region.h:
- runtime/Arguments.h:
- runtime/SymbolTable.h:
- runtime/WriteBarrier.h:
Source/WebCore:
- dom/EventContext.h:
- platform/graphics/Region.h:
- platform/text/BidiResolver.h:
- rendering/LayoutState.h:
Source/WTF:
- wtf/Bitmap.h:
- 2:42 PM Changeset in webkit [164390] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed build fix after r164374
- llint/LLIntOfflineAsmConfig.h: Added #define OFFLINE_ASM_X86_WIN 0
for ENABLE(LLINT_C_LOOP).
- 2:29 PM Changeset in webkit [164389] by
-
- 9 edits2 adds in trunk/Source/JavaScriptCore
FTL should be able to convey branch weights to LLVM
https://bugs.webkit.org/show_bug.cgi?id=129054
Reviewed by Michael Saboff.
This introduces a really nice way to convey branch weights to LLVM. The basic class
is Weight, which just wraps a float; NaN is used when you are not sure. You can
pass this alongside a LBasicBlock to branching instructions like condbr and switch.
But for simplicity, you can just pass a WeightedTarget, which is a tuple of the
two. And for even greater simplicity, you can create WeightedTargets from
LBasicBlocks by doing:
usually(b) => WeightedTarget(b, Weight(1))
rarely(b) => WeightedTarget(b, Weight(0))
unsure(b) => WeightedTarget(b, Weight()) or WeightedTarget(b, Weight(NaN))
This allows for constructs like:
m_out.branch(isCell(value), usually(isCellCase), rarely(slowCase));
This was intended to be perf-neutral for now, but it did end up creating a ~1%
speed-up on V8v7 and Octane2.
- JavaScriptCore.xcodeproj/project.pbxproj:
- ftl/FTLAbbreviations.h:
(JSC::FTL::mdNode):
- ftl/FTLCommonValues.cpp:
(JSC::FTL::CommonValues::CommonValues):
- ftl/FTLCommonValues.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::compileStoreBarrierWithNullCheck):
(JSC::FTL::LowerDFGToLLVM::compileToThis):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::LowerDFGToLLVM::compileArithMod):
(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
(JSC::FTL::LowerDFGToLLVM::compileCheckStructure):
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileGetIndexedPropertyStorage):
(JSC::FTL::LowerDFGToLLVM::compileGetTypedArrayByteOffset):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileToPrimitive):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt):
(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compileNotifyWrite):
(JSC::FTL::LowerDFGToLLVM::compileBranch):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::nonSpeculativeCompare):
(JSC::FTL::LowerDFGToLLVM::allocateCell):
(JSC::FTL::LowerDFGToLLVM::allocateBasicStorageAndGetEnd):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::contiguousPutByValOutOfBounds):
(JSC::FTL::LowerDFGToLLVM::buildSwitch):
(JSC::FTL::LowerDFGToLLVM::doubleToInt32):
(JSC::FTL::LowerDFGToLLVM::sensibleDoubleToInt32):
(JSC::FTL::LowerDFGToLLVM::lowDouble):
(JSC::FTL::LowerDFGToLLVM::strictInt52ToJSValue):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateStringOrStringObject):
(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):
(JSC::FTL::LowerDFGToLLVM::callCheck):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::initialize):
(JSC::FTL::Output::appendTo):
(JSC::FTL::Output::newBlock):
(JSC::FTL::Output::sensibleDoubleToInt):
(JSC::FTL::Output::load):
(JSC::FTL::Output::store):
(JSC::FTL::Output::baseIndex):
(JSC::FTL::Output::branch):
(JSC::FTL::Output::crashNonTerminal):
- ftl/FTLOutput.h:
(JSC::FTL::Output::branch):
(JSC::FTL::Output::switchInstruction):
- ftl/FTLSwitchCase.h:
(JSC::FTL::SwitchCase::SwitchCase):
(JSC::FTL::SwitchCase::weight):
- ftl/FTLWeight.h: Added.
(JSC::FTL::Weight::Weight):
(JSC::FTL::Weight::isSet):
(JSC::FTL::Weight::operator!):
(JSC::FTL::Weight::value):
(JSC::FTL::Weight::scaleToTotal):
- ftl/FTLWeightedTarget.h: Added.
(JSC::FTL::WeightedTarget::WeightedTarget):
(JSC::FTL::WeightedTarget::target):
(JSC::FTL::WeightedTarget::weight):
(JSC::FTL::usually):
(JSC::FTL::rarely):
(JSC::FTL::unsure):
- 1:57 PM Changeset in webkit [164388] by
-
- 2 edits in trunk/Source/WebKit2
Build fix.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView pageExtendedBackgroundColor]):
- 1:56 PM Changeset in webkit [164387] by
-
- 2 edits in trunk/Source/WebCore
isEditablePosition shouldn't trigger synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=129026
Reviewed by Brent Fulgham.
Just trigger style recalc instead.
- editing/htmlediting.cpp:
(WebCore::isEditablePosition):
- 1:53 PM Changeset in webkit [164386] by
-
- 2 edits in trunk/LayoutTests
media/controls-styling-strict.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=129057
- TestExpectations: Marked it as such.
- 1:07 PM Changeset in webkit [164385] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove unused InspectorBackend member variable
https://bugs.webkit.org/show_bug.cgi?id=129053
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-19
Reviewed by Timothy Hatcher.
- UserInterface/InspectorBackend.js:
(InspectorBackendClass):
(InspectorBackendClass.prototype.registerCommand):
(InspectorBackendClass.prototype.registerEnum):
(InspectorBackendClass.prototype.registerEvent):
- 1:02 PM Changeset in webkit [164384] by
-
- 4 edits in trunk/Source/WTF
Make PrintStream::print() a variadic template
https://bugs.webkit.org/show_bug.cgi?id=126388
Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-02-19
Reviewed by Brent Fulgham.
PrintStream::print() can be converted into a variadic template, printing the value
of the first parameter and recursively calling itself until the single parameter version
is used for printing the last value.
- wtf/DataLog.h:
(WTF::dataLog): Convert the function to a variadic template as well.
- wtf/PrintStream.h:
(WTF::PrintStream::print):
- wtf/StringPrintStream.h:
(WTF::toCString): Ditto.
(WTF::toString): Ditto.
- 12:49 PM Changeset in webkit [164383] by
-
- 2 edits in trunk/Source/WebCore
UIProcess needs to know the color of the page's extended background
https://bugs.webkit.org/show_bug.cgi?id=129004
Rubber-stamped by Andreas Kling.
Missed this late-breaking review comment. Fixing now!
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
- 12:47 PM Changeset in webkit [164382] by
-
- 14 edits in trunk/Source
UIProcess needs to know the color of the page's extended background
https://bugs.webkit.org/show_bug.cgi?id=129004
Source/WebCore:
Reviewed by Brent Fulgham.
This patch adds a new ChromeClient function,
pageExtendedBackgroundColorDidChange() which will be called whenever the extended
background color has changed.
New function.
- page/ChromeClient.h:
(WebCore::ChromeClient::pageExtendedBackgroundColorDidChange):
Store the extended background color in a member variable so that we can know if it
changed even if we do not have an m_layerForOverhangAreas.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
- rendering/RenderLayerCompositor.h:
Source/WebKit2:
Reviewed by Simon Fraser and Brent Fulgham.
New method on WKWebView and WKView will return the page’s extended background
color.
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView pageExtendedBackgroundColor]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/ios/WKViewIOS.mm:
(-[WKView pageExtendedBackgroundColor]):
The color is stored in the WebPageProxy, and the ChromeClient sends a message to
the WebPageProxy with the new color whenever it changes.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::pageExtendedBackgroundColorDidChange):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::pageExtendedBackgroundColor):
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- 12:44 PM Changeset in webkit [164381] by
-
- 3 edits in trunk/Source/WebKit2
[wk2] REGRESSION (r162710): Open tab urls not restored after switching to new Safari build
https://bugs.webkit.org/show_bug.cgi?id=128536
<rdar://problem/15911839>
Reviewed by Dan Bernstein.
- UIProcess/cf/WebBackForwardListCF.cpp:
(WebKit::extractBackForwardListEntriesFromArray):
Don't fail to extract an entry if it doesn't have a snapshot UUID.
- UIProcess/cf/WebPageProxyCF.cpp:
It turns out that this was the wrong version to bump, and we don't support
reading different versions of the session state data.
- 12:15 PM Changeset in webkit [164380] by
-
- 4 edits1 copy1 add1 delete in trunk
Missing box doesn't use border-box as reference box for clip-path
https://bugs.webkit.org/show_bug.cgi?id=129049
Reviewed by Simon Fraser.
Source/WebCore:
If no reference box was specified the default reference box should be
border-box. Previously to this patch the reference box was the bounding
client rect. This was not following the specification.
http://www.w3.org/TR/2014/WD-css-masking-1-20140213/#the-clip-path
The change affects content using -webkit-clip-path in Safari. Since the
bounding client box is equalvalent to the border box most of the time
there shouldn't be to much impact.
Existing tests cover the issue.
- rendering/RenderLayer.cpp:
(WebCore::computeReferenceBox):
LayoutTests:
Update the result for overflowing content. The clip-path uses the border-box instead of
the bounding client rect as reference box.
Change pixel test to reference text.
- css3/masking/clip-path-circle-relative-overflow-expected.html: Added.
- platform/mac/css3/masking/clip-path-circle-relative-overflow-expected.png: Removed.
- platform/mac/css3/masking/clip-path-inset-expected.png: Added. This was missing in the repo.
- 12:10 PM Changeset in webkit [164379] by
-
- 2 edits in trunk/Tools
[GTK] Add new ARM build slave for GTK+
https://bugs.webkit.org/show_bug.cgi?id=128978
Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2014-02-19
Reviewed by Brent Fulgham.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- 11:55 AM Changeset in webkit [164378] by
-
- 2 edits in trunk/Source/WTF
Use std::swap() in HashTable::swap()
https://bugs.webkit.org/show_bug.cgi?id=128995
Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-02-19
Reviewed by Brent Fulgham.
Use std::swap() to swap the member variable values of two HashTable objects in HashTable::swap().
- wtf/HashTable.h:
(WTF::KeyTraits>::swap):
- 11:52 AM Changeset in webkit [164377] by
-
- 2 edits in trunk/Source/WTF
SegmentedVector::append() should take in rvalue reference, forward it to Vector::uncheckedAppend()
https://bugs.webkit.org/show_bug.cgi?id=128996
Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-02-19
Reviewed by Brent Fulgham.
- wtf/SegmentedVector.h:
(WTF::SegmentedVector::append): Take in an rvalue reference of the object that's to be appended and
then forward it to Vector::uncheckedAppend(). This avoids unnecessary copies in the current situation
where a const lvalue is accepted and passed on.
- 11:22 AM Changeset in webkit [164376] by
-
- 10 edits in trunk
Web Inspector: AX: clarify reason for ignored state where possible (hidden, default for tag, etc)
https://bugs.webkit.org/show_bug.cgi?id=129037
Patch by James Craig <jcraig@apple.com> on 2014-02-19
Reviewed by Timothy Hatcher.
Source/WebCore:
Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status.
Test Updated: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
- inspector/protocol/DOM.json:
Source/WebInspectorUI:
Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/DOMNode.js:
- UserInterface/DOMNodeDetailsSidebarPanel.js:
LayoutTests:
Test updates to support hidden and ignoredByDefault in accessibility properties.
- inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
- inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
- 11:07 AM Changeset in webkit [164375] by
-
- 1 edit1 add in trunk/LayoutTests
Add missing layout test results for
<http://trac.webkit.org/changeset/164323>.
Unreviewed.
- platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Added.
- 11:00 AM Changeset in webkit [164374] by
-
- 6 edits in trunk/Source/JavaScriptCore
[Win][LLINT] Incorrect stack alignment.
https://bugs.webkit.org/show_bug.cgi?id=129045
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-19
Reviewed by Michael Saboff.
LLINT expects the stack to be 16 byte aligned, but with MSVC it is not.
To align the stack, a new backend, X86_WIN, is created.
- llint/LLIntOfflineAsmConfig.h: Use X86_WIN backend on Windows.
- llint/LowLevelInterpreter.asm: Align stack to 16 byte boundaries. Otherwise, use same implementation for X86_WIN as for X86.
- llint/LowLevelInterpreter32_64.asm: Adjust stack offset to retrieve function parameters now that the stack is aligned.
- offlineasm/backends.rb: Added X86_WIN backend.
- offlineasm/x86.rb: Fix crash caused by incorrect assembly code for double types.
- 10:58 AM Changeset in webkit [164373] by
-
- 5 edits in trunk
ASSERTION FAILED: (year >= 1970 && yearday >= 0) (year < 1970 && yearday < 0) in WTF::dateToDaysFrom1970 https://bugs.webkit.org/show_bug.cgi?id=128740
Source/JavaScriptCore:
Very large numbers could cause an overflow which resulted in the assertion failing in WTF::dateToDaysFrom1970
DateConstructor will now check if the number fits into an Int32 before casting
Patch by Dániel Bátyai <Dániel Bátyai> on 2014-02-19
Reviewed by Geoffrey Garen.
- runtime/DateConstructor.cpp:
(JSC::constructDate):
(JSC::dateUTC):
LayoutTests:
Very large numbers could cause an overflow which resulted in the assertion failing in WTF::dateToDaysFrom1970
Added test case which checks for this
Patch by Dániel Bátyai <Dániel Bátyai> on 2014-02-19
Reviewed by Geoffrey Garen.
- js/date-constructor-expected.txt:
- js/script-tests/date-constructor.js:
- 10:48 AM Changeset in webkit [164372] by
-
- 6 edits in trunk
[WebRTC] Updating RTCConfiguration to match WebRTC editor's draft of 01/27/2014
https://bugs.webkit.org/show_bug.cgi?id=129000
Source/WebCore:
Reviewed by Eric Carlson.
Adding RTCIceTransports and RTCIdentityOption to RTCConfiguration object.
Existing test was updated.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::parseConfiguration): Taking into account iceTransports and requestIdentity
parameters.
- platform/mediastream/RTCConfiguration.h:
(WebCore::RTCConfiguration::iceTransports): Added.
(WebCore::RTCConfiguration::setIceTransports): Added.
(WebCore::RTCConfiguration::requestIdentity): Added.
(WebCore::RTCConfiguration::setRequestIdentity): Added.
(WebCore::RTCConfiguration::RTCConfiguration): Initialize iceTransports and requestIdentity with the default
values.
LayoutTests:
Adding RTCIceTransports and RTCIdentityOption to RTCConfiguration object.
Reviewed by Eric Carlson.
- fast/mediastream/RTCPeerConnection-expected.txt:
- fast/mediastream/RTCPeerConnection.html:
- 10:41 AM Changeset in webkit [164371] by
-
- 9 edits in trunk
Dedicated worker crash caused by global DFG worklists + GC
https://bugs.webkit.org/show_bug.cgi?id=128537
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
The process-global DFG worklists were causing objects to participate in the garbage collections of VMs
other than the one they were allocated in. This started manifesting in the worker tests because they're
one of the few WebKit tests that do multithreaded JS.
The fix is to filter out Plans from other VMs during collection.
- dfg/DFGSafepoint.cpp:
(JSC::DFG::Safepoint::vm):
- dfg/DFGSafepoint.h:
- dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::isActiveForVM):
(JSC::DFG::Worklist::suspendAllThreads):
(JSC::DFG::Worklist::resumeAllThreads):
(JSC::DFG::Worklist::visitChildren):
- dfg/DFGWorklist.h:
- heap/Heap.cpp:
(JSC::Heap::deleteAllCompiledCode):
- heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::copyLater):
LayoutTests:
Reenable a previously skipped test.
- 10:11 AM Changeset in webkit [164370] by
-
- 2 edits in trunk/LayoutTests
Windows gardening. Mark more flakes.
- platform/win/TestExpectations: Add flaky tests.
- 10:04 AM Changeset in webkit [164369] by
-
- 2 edits in trunk/Source/WebCore
Don't call to willBeDeletedFrom(Document&) when destructing document
https://bugs.webkit.org/show_bug.cgi?id=129013
Reviewed by Andreas Kling.
The document is half dead at this point.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::~ContainerNode):
- 9:58 AM Changeset in webkit [164368] by
-
- 3 edits6 adds in trunk
REGRESSION (r163560): Always treat SVG <tspan> and <textPath> as display inline
https://bugs.webkit.org/show_bug.cgi?id=128552
<rdar://problem/16029658>
Reviewed by Andreas Kling.
Source/WebCore:
Following <http://trac.webkit.org/changeset/163560>, SVG <tspan> and <textPath> may be treated as block-
level elements depending on their CSS styles (e.g. display: block). But such elements should always be
treated as inline-level elements.
Tests: svg/text/textpath-display-block.html
svg/text/textpath-display-none.html
svg/text/tspan-display-block.html
- css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
LayoutTests:
Added tests to ensure that SVG <tspan> and <textPath> are always treated as inline-level
elements when explicitly or implicitly specified as a non-none, non-inline display type.
Additionally, added a test to ensure that we don't render a <textPath> when it has CSS
display none. Note, the test LayoutTests/svg/batik/text/textProperties2.svg ensures a
similar behavior for <tspan>.
- svg/text/textpath-display-block-expected.txt: Added.
- svg/text/textpath-display-block.html: Added.
- svg/text/textpath-display-none-expected.html: Added.
- svg/text/textpath-display-none.html: Added.
- svg/text/tspan-display-block-expected.txt: Added.
- svg/text/tspan-display-block.html: Added.
- 9:54 AM Changeset in webkit [164367] by
-
- 3 edits2 adds in trunk
Do not dispatch change event twice in single step action
https://bugs.webkit.org/show_bug.cgi?id=116936
<rdar://problem/16086828>
Reviewed by Ryosuke Niwa.
Merged from Blink (patch by Kent Tamura):
https://src.chromium.org/viewvc/blink?view=rev&revision=151175
Source/WebCore:
Test: fast/forms/number/number-type-update-by-change-event.html
- html/InputType.cpp:
(WebCore::InputType::stepUpFromRenderer):
LayoutTests:
- fast/forms/number/number-type-update-by-change-event-expected.txt: Added.
- fast/forms/number/number-type-update-by-change-event.html: Added.
- 9:35 AM Changeset in webkit [164366] by
-
- 8 edits in trunk/Source
Add FeatureDefines for image controls
https://bugs.webkit.org/show_bug.cgi?id=129022
Reviewed by Jer Noble.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
- 9:24 AM Changeset in webkit [164365] by
-
- 4 edits2 adds in trunk
Setting playback rate on Media Controller modifies current time.
https://bugs.webkit.org/show_bug.cgi?id=129042
Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-19
Reviewed by Jer Noble.
Source/WebCore:
In ClockGeneric: when setting playback rate or stoping timer,clock was restarted using current real time
instead of provided time by setCurrentTime.
Changed impl. so that m_offset is updated when clock stops to remember last clock position.
When playbackRate is changed m_offset is updated in order to not use old time interval for new playback rate.
Test: media/video-controller-currentTime-rate.html
- html/MediaController.cpp:
(MediaController::updatePlaybackState):
- platform/ClockGeneric.cpp:
(ClockGeneric::setPlayRate):
(ClockGeneric::start):
(ClockGeneric::stop):
LayoutTests:
- media/video-controller-currentTime-rate-expected.txt: Added.
- media/video-controller-currentTime-rate.html: Added.
- 9:05 AM Changeset in webkit [164364] by
-
- 7 edits in trunk/Source
Add settings/preferences for enabling image controls
https://bugs.webkit.org/show_bug.cgi?id=129027
Reviewed by Jer Noble.
Source/WebCore:
- WebCore.exp.in:
- page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setImageControlsEnabled):
- page/Settings.h:
(WebCore::Settings::imageControlsEnabled):
Source/WebKit2:
- Shared/WebPreferencesStore.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 7:20 AM Changeset in webkit [164363] by
-
- 9 edits16 adds in trunk
[CSS Shapes] shape-outside does not properly handle different writing modes
https://bugs.webkit.org/show_bug.cgi?id=128631
Reviewed by David Hyatt.
Source/WebCore:
Fix ShapeOutsideInfo to properly convert the line coordinates and
shape coordinates with respect to the writing mode and writing
direction for the lines that are affected by the shape. This is
notably different from shape inside in that shape outside needs to use
the writing mode of the container, not of the element that the shape
is applied to.
Tests: fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-border-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-content-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-margin-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-padding-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-border-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-content-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-margin-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-padding-box.html
- rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::borderWidth): Used by
ShapeInfo::setReferenceBoxLogicalSize.
(WebCore::RenderBoxModelObject::borderHeight): Ditto.
- rendering/shapes/ShapeInfo.cpp:
(WebCore::ShapeInfo<RenderType>::setReferenceBoxLogicalSize): Use the
container's writing mode to determine the logical dimensions in
the case of shape outside.
(WebCore::ShapeInfo<RenderType>::computedShape): Use the new
ShapeInfo::styleForWritingMode method.
(WebCore::borderBeforeInWritingMode): Determines the borderBefore for
the passed in renderer using the writing mode passed in. The
borderBefore method on the renderer is implemented in RenderStyle,
unlike with the margin methods, so this was chosen instead of
attempting to move the border method implementation into a place
where it could take the writing mode as an argument.
(WebCore::borderAndPaddingBeforeInWritingMode): Determines the
borderAndPaddingBefore for the passed in renderer using the
given writihg mode. See above for why this method instead of doing
it like margins.
(WebCore::borderStartWithStyleForWritingMode): Determines the
borderStart for the passed in renderer using the writing mode and
direction from the style passed in. See above for why this method
instead of doing it like margins.
(WebCore::borderAndPaddingStartWithStyleForWritingMode): Determines
the borderAndPaddingStart for the passed in renderer using the
writing mode and direction from the style passed in. See above for
why this method instead of doing it like margins.
(WebCore::ShapeInfo<RenderType>::logicalTopOffset): Use the
container's writing mode to determine the logicalTopOffset in the
case of shape outside.
(WebCore::ShapeInfo<RenderType>::logicalLeftOffset): Use the
container's writing mode to determine the logicalTopOffset in the
case of shape outside.
- rendering/shapes/ShapeInfo.h:
- rendering/shapes/ShapeInsideInfo.cpp:
(WebCore::ShapeInsideInfo::styleForWritingMode): Return the entire
style because to determine start/end the writing direction is
needed in addtion to the writing mode.
- rendering/shapes/ShapeInsideInfo.h:
- rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
Properly convert the containing block line into the reference box
coordinates of the shape.
(WebCore::ShapeOutsideInfo::styleForWritingMode): Return the entire
style because to determine start/end the writing direction is
needed in addtion to the writing mode.
- rendering/shapes/ShapeOutsideInfo.h:
LayoutTests:
Tests for floats with shape-outside where the float writing mode or
writing direction are difference from that of the container.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-border-box-expected.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-border-box.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-content-box-expected.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-content-box.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-margin-box-expected.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-margin-box.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-padding-box-expected.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-padding-box.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-border-box-expected.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-border-box.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-content-box-expected.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-content-box.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-margin-box-expected.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-margin-box.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-padding-box-expected.html: Added.
- fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-padding-box.html: Added.
- 2:25 AM Changeset in webkit [164362] by
-
- 4 edits in trunk/Source/WebCore
[GStreamer] the GstPlayFlags enum diverged from upstream
https://bugs.webkit.org/show_bug.cgi?id=128957
Reviewed by Philippe Normand.
Removed the GstPlayFlags from the GStreamer implementation and
replaced by the use of the GFlags.
- platform/graphics/gstreamer/GStreamerUtilities.h:
- platform/graphics/gstreamer/GStreamerUtilities.cpp:
(WebCore::getGstPlaysFlag): Created to get the flags by using the
GFlags infrastructure.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering):
Replaced GST_PLAY_FLAG_DOWNLOAD with getGstPlaysFlag.
- 1:45 AM Changeset in webkit [164361] by
-
- 2 edits in trunk/Source/WebCore
Replace WTF::bind() uses in RTCPeerConnection with C++11 lambdas
https://bugs.webkit.org/show_bug.cgi?id=129001
Reviewed by Eric Carlson.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::setLocalDescription): Pass a lambda function to
callOnMainThread() instead of using WTF::bind().
(WebCore::RTCPeerConnection::setRemoteDescription): Ditto.
- 1:41 AM Changeset in webkit [164360] by
-
- 3 edits3 deletes in trunk/Tools
Remove the remaining Nix cruft under Tools
https://bugs.webkit.org/show_bug.cgi?id=129003
Reviewed by Csaba Osztrogonác.
The Nix port was removed from the source tree so the remaining Nix-specific code
in the utility scripts is not required anymore.
- Scripts/run-nix-tests: Removed.
- Scripts/update-webkitnix-libs: Removed.
- Scripts/webkitpy/style/checker.py:
- jhbuild/jhbuild-wrapper:
(determine_platform):
- nix/common.py: Removed.
- nix/jhbuild.modules: Removed.
- nix/jhbuildrc: Removed.
- 12:43 AM Changeset in webkit [164359] by
-
- 1 copy in releases/WebKitGTK/webkit-2.2.5
Tagging the WebKitGTK+ 2.2.5 release
- 12:12 AM Changeset in webkit [164358] by
-
- 77 edits in trunk/Source
Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
https://bugs.webkit.org/show_bug.cgi?id=129029
Reviewed by Mark Rowe.
Source/JavaScriptCore:
- API/JSValueRef.cpp:
(JSValueUnprotect):
- jit/ExecutableAllocatorFixedVMPool.cpp:
Source/WebCore:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):
- config.h:
- editing/Editor.cpp:
(WebCore::Editor::copyURL):
- editing/EditorCommand.cpp:
(WebCore::createCommandMap):
- editing/TypingCommand.cpp:
(WebCore::TypingCommand::markMisspellingsAfterTyping):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadArchive):
- page/AlternativeTextClient.h:
- page/EventHandler.cpp:
- page/PageGroup.cpp:
(WebCore::PageGroup::captionPreferences):
- page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
- page/scrolling/ScrollingStateScrollingNode.h:
- page/scrolling/ScrollingTree.h:
- page/scrolling/ThreadedScrollingTree.cpp:
- page/scrolling/ThreadedScrollingTree.h:
- platform/DragData.h:
- platform/FileSystem.cpp:
- platform/MemoryPressureHandler.cpp:
- platform/Pasteboard.h:
- platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
- platform/PlatformPasteboard.h:
- platform/PlatformScreen.h:
- platform/Scrollbar.cpp:
(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
- platform/SuddenTermination.h:
- platform/ThreadGlobalData.cpp:
(WebCore::ThreadGlobalData::ThreadGlobalData):
(WebCore::ThreadGlobalData::destroy):
- platform/ThreadGlobalData.h:
- platform/audio/mac/AudioDestinationMac.cpp:
- platform/audio/mac/AudioFileReaderMac.cpp:
- platform/audio/mac/AudioSessionMac.cpp:
- platform/graphics/DisplayRefreshMonitor.h:
- platform/graphics/FloatPoint.h:
- platform/graphics/FloatRect.h:
- platform/graphics/FloatSize.h:
- platform/graphics/IntRect.h:
- platform/graphics/IntSize.h:
- platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines):
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::utiFromMIMEType):
- platform/graphics/cg/PDFDocumentImage.h:
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
- platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawLineForDocumentMarker):
- platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension):
(WebCore::Extensions3DOpenGL::drawBuffersEXT):
- platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
- platform/mac/KeyEventMac.mm:
- platform/network/NetworkStateNotifier.h:
- platform/network/cf/CookieJarCFNet.cpp:
- platform/network/cf/ResourceRequest.h:
- platform/network/cf/ResourceRequestCFNet.cpp:
- platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::reportErrorToClient):
- platform/text/TextEncodingRegistry.cpp:
(WebCore::extendTextCodecMaps):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
Source/WebKit2:
- PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::netscapePluginModule):
- Shared/API/c/WKDeprecatedFunctions.cpp:
- Shared/WebPreferencesStore.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
- UIProcess/PageClient.h:
- UIProcess/Scrolling/RemoteScrollingTree.cpp:
- UIProcess/Scrolling/RemoteScrollingTree.h:
- UIProcess/WebContext.h:
- UIProcess/WebInspectorProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChangeBackForwardList):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetTopOverhangImage):
(WKBundlePageSetBottomOverhangImage):
- WebProcess/WebPage/PageBanner.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setDeviceScaleFactor):
(WebKit::WebPage::mainFrameDidLayout):
(WebKit::WebPage::beginPrinting):
(WebKit::WebPage::drawRectToImage):
(WebKit::WebPage::drawPagesToPDF):
- WebProcess/WebPage/WebPage.messages.in:
- config.h:
Source/WTF:
- wtf/FeatureDefines.h:
- wtf/Platform.h:
- wtf/Threading.cpp:
- wtf/text/cf/StringImplCF.cpp:
(garbageCollectionEnabled):
Feb 18, 2014:
- 10:15 PM Changeset in webkit [164357] by
-
- 8 edits in trunk/Source
PLATFORM(MAC) is true when building for iOS
https://bugs.webkit.org/show_bug.cgi?id=129025
Reviewed by Mark Rowe.
Source/WebCore:
- editing/Editor.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA) now that the former does not
include iOS.
Source/WebKit2:
- Shared/Network/NetworkProcessCreationParameters.cpp: Changed PLATFORM(MAC) to
PLATFORM(COCOA) now that the former does not include iOS.
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
- Shared/Network/NetworkProcessCreationParameters.h: Ditto.
- WebKit2Prefix.h: Ditto.
Source/WTF:
- wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but
still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined).
- 10:12 PM Changeset in webkit [164356] by
-
- 2 edits in trunk/LayoutTests
Windows gardening: Add annotations for Debug case.
- platform/win/TestExpectations:
- 9:59 PM Changeset in webkit [164355] by
-
- 2 edits in trunk/Tools
[EFL][MiniBrowser] Remove view_mode parameter in window_create()
https://bugs.webkit.org/show_bug.cgi?id=128960
Reviewed by Gyuyoung Kim.
As view source code is removed in r164254, window_create() also should remove view_mode.
- MiniBrowser/efl/main.c:
(on_key_down):
(on_window_create):
(window_create):
(elm_main):
- 9:46 PM Changeset in webkit [164354] by
-
- 4 edits in trunk/Source/JavaScriptCore
Correctly install libllvmForJSC.dylib in production builds
https://bugs.webkit.org/show_bug.cgi?id=129023
Reviewed by Mark Rowe.
In non-production builds, we copy it as before. In production builds, we use the install
path.
Also roll http://trac.webkit.org/changeset/164348 back in.
- Configurations/Base.xcconfig:
- Configurations/LLVMForJSC.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- 9:32 PM Changeset in webkit [164353] by
-
- 3 edits in trunk
[EFL][CMake] Fix javascriptcore test failings by the jsCStack branch merge
https://bugs.webkit.org/show_bug.cgi?id=128961
Reviewed by Ryosuke Niwa.
Javascriptcore test on EFL port has been broken since the jsCStack branch merge.
For now we can fix almost tests by using "-fno-tree-dce option". Unfortunately,
EFL port needs not to check "uninitialized" build warning as error in order to
adjust the option to EFL port. This patch don't take it as error temporarily.
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/WebKitHelpers.cmake:
- 8:59 PM Changeset in webkit [164352] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, roll out http://trac.webkit.org/changeset/164348 because it broke some
builds.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 8:33 PM Changeset in webkit [164351] by
-
- 2 edits in trunk/LayoutTests
More Windows test gardening to get the bots green.
- platform/win/TestExpectations: Mark some flaky tests, and some passes to reduce report output.
- 8:30 PM Changeset in webkit [164350] by
-
- 2 edits in trunk/Source/JavaScriptCore
Don't call LLVMInitializeNativeTarget() because it can be all messed up if you cross-compile LLVM
https://bugs.webkit.org/show_bug.cgi?id=129020
Reviewed by Dan Bernstein.
LLVMInitializeNativeTarget() is this super special inline function in llvm-c/Target.h that
depends on some #define's that come from some really weird magic in autoconf/configure.ac.
That magic fails miserably for cross-compiles. So, we need to manually initialize the things
that InitializeNativeTarget initializes.
- llvm/library/LLVMExports.cpp:
(initializeAndGetJSCLLVMAPI):
- 8:12 PM Changeset in webkit [164349] by
-
- 4 edits in trunk/Source/WebKit2
Clean up WKContentView initialization
https://bugs.webkit.org/show_bug.cgi?id=129016
Reviewed by Benjamin Poulain.
WKContentView had too many initializers and duplicated init
code. Clean up by removing all but one initializer and and
doing all the setup in it.
- UIProcess/API/ios/WKContentView.h:
- UIProcess/API/ios/WKContentView.mm:
- UIProcess/API/ios/WKViewIOS.mm:
(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
- 8:08 PM Changeset in webkit [164348] by
-
- 2 edits in trunk/Source/JavaScriptCore
The shell scripts in the Xcode build system should tell you when they failed
https://bugs.webkit.org/show_bug.cgi?id=129018
Reviewed by Mark Rowe.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 7:21 PM Changeset in webkit [164347] by
-
- 14 edits in trunk/Source
Add fast mapping from StringImpl to JSString
https://bugs.webkit.org/show_bug.cgi?id=128625
Reviewed by Geoff Garen & Andreas Kling.
Source/JavaScriptCore:
- runtime/JSString.cpp:
(JSC::JSString::WeakOwner::finalize):
- once the JSString weakly owned by a StringImpl becomed unreachable remove the WeakImpl.
- runtime/JSString.h:
(JSC::jsStringWithWeakOwner):
- create a JSString wrapping a StringImpl, and weakly caches the JSString on the StringImpl.
- runtime/VM.cpp:
(JSC::VM::VM):
- initialize jsStringWeakOwner.
(JSC::VM::createLeakedForMainThread):
- initialize jsStringWeakOwner - the main thread gets to use the weak pointer on StringImpl to cache a JSString wrapper.
- runtime/VM.h:
- renamed createLeaked -> createLeakedForMainThread to make it clear this should only be used to cretae the main thread VM.
Source/WebCore:
Removed JSStringCache from WebCore; call JSC::jsStringWithWeakOwner instead.
- bindings/js/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::clearWrappers):
- removed JSStringCache.
- bindings/js/DOMWrapperWorld.h:
- removed JSStringCache.
- bindings/js/JSDOMBinding.h:
(WebCore::jsStringWithCache):
- call jsStringWithWeakOwner insead of using JSStringCache.
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):
- renamed createLeaked -> createLeakedForMainThread.
- bindings/scripts/StaticString.pm:
(GenerateStrings):
- StringImpl has an additional field.
Source/WTF:
Add weak pointer from StringImpl to JSString.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
- ASSERT m_weakJSString is null.
- wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
- initialize m_weakJSString.
(WTF::StringImpl::weakJSString):
(WTF::StringImpl::setWeakJSString):
- added acessors for m_weakJSString.
- 6:58 PM Changeset in webkit [164346] by
-
- 3 edits in trunk/Source/JavaScriptCore
Prevent builtin js named with C++ reserved words from breaking the build
https://bugs.webkit.org/show_bug.cgi?id=129017
Reviewed by Sam Weinig.
Simple change to a couple of macros to make sure we don't create functions
named using reserved words.
- builtins/BuiltinExecutables.cpp:
- builtins/BuiltinNames.h:
- 6:44 PM Changeset in webkit [164345] by
-
- 2 edits in trunk/Source/WebKit2
Another 32-bit build fix.
- UIProcess/API/mac/WKView.mm:
(-[WKView _acceleratedCompositingModeRootLayer]):
- 6:39 PM Changeset in webkit [164344] by
-
- 2 edits in trunk/Source/WebKit2
More more WK_API_ENABLED after r164337.
- UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::activeView):
- 6:34 PM Changeset in webkit [164343] by
-
- 2 edits in trunk/Source/WebKit2
Can't use #if inside a macro, so we'll duplicate the macro for now.
Build fix for all of Mac.
- UIProcess/API/mac/WKView.mm:
- 6:29 PM Changeset in webkit [164342] by
-
- 2 edits in trunk/Source/WebKit2
Don't build WKThumbnailView on iOS; it won't build.
- Configurations/WebKit2.xcconfig:
- 6:26 PM Changeset in webkit [164341] by
-
- 3 edits in trunk/Source/WebKit2
More WK_API_ENABLED after r164337.
- UIProcess/API/mac/WKView.mm:
(-[WKView dealloc]):
(-[WKView scrollWheel:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]):
- UIProcess/API/mac/WKViewInternal.h:
- 6:19 PM Changeset in webkit [164340] by
-
- 5 edits2 deletes in trunk/Source
Remove UIWKRemoteView
https://bugs.webkit.org/show_bug.cgi?id=129015
Source/WebCore:
Reviewed by Dan Bernstein.
The project referenced a maketokenizer script that disappeared
long ago.
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit2:
Reviewed by Dan Bernstein.
Remove UIWKRemoteView which is unused.
- Configurations/WebKit2.xcconfig:
- UIProcess/API/ios/UIWKRemoteView.h: Removed.
- UIProcess/API/ios/UIWKRemoteView.mm: Removed.
- WebKit2.xcodeproj/project.pbxproj:
- 6:19 PM Changeset in webkit [164339] by
-
- 2 edits in trunk/LayoutTests
Unreviewed Windows test gardening.
- platform/win/TestExpectations: Re-enable the many tests that actually pass on Windows. Mark tests
using current syntax so we can see when tests start passing. Identify a few flaky tests.
- 6:12 PM Changeset in webkit [164338] by
-
- 3 edits in trunk/Source/WebKit2
32-bit build fix after r164337
- UIProcess/API/Cocoa/WKThumbnailView.mm:
Address a review comment. We'll get this for free.
- UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::activeView):
Build fix.
- 5:57 PM Changeset in webkit [164337] by
-
- 15 edits3 adds in trunk/Source/WebKit2
Add a way to efficiently thumbnail WKViews
https://bugs.webkit.org/show_bug.cgi?id=128831
<rdar://problem/15669655>
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/WKThumbnailView.h: Added.
- UIProcess/API/Cocoa/WKThumbnailView.mm: Added.
(-[WKThumbnailView initWithFrame:fromWKView:]):
(-[WKThumbnailView _viewWasUnparented]):
(-[WKThumbnailView _viewWasParented]):
(-[WKThumbnailView viewDidMoveToWindow]):
(-[WKThumbnailView setScale:]):
(-[WKThumbnailView setThumbnailLayer:]):
(-[WKThumbnailView thumbnailLayer]):
- UIProcess/API/Cocoa/WKThumbnailViewInternal.h: Added.
Add WKThumbnailView.
Clients of this private API will call initWithFrame:fromWKView:,
giving the WKView they wish to borrow contents from.
They can also call setScale: to set the scale that will be used to render
the content in an implementation-defined set of cases (currently, we will
use the low resolution scale for WKViews which were not parented when the
WKThumbnailView was created; parented WKViews will use the existing scale).
- UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::isViewWindowActive):
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::isViewVisibleOrOccluded):
(WebKit::PageClientImpl::isViewInWindow):
(WebKit::PageClientImpl::viewLayerHostingMode):
If the WKView has an actively-parented WKThumbnailView attached to it,
we should determine view visibility/etc. using that view instead of the WKView.
- UIProcess/API/mac/WKView.mm:
(-[WKView dealloc]):
WKThumbnailView holds on to the WKView, and clears WKView's backpointer
when it leaves the window, so we should never see WKView get deallocated
with a live thumbnail view.
(-[WKView scrollWheel:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
Don't handle events while thumbnailed.
(-[WKView _setAcceleratedCompositingModeRootLayer:]):
Forward root layer changes to the installed thumbnail view.
(-[WKView _acceleratedCompositingModeRootLayer]):
_acceleratedCompositingModeRootLayer should return the same layer
that was set via _setAcceleratedCompositingModeRootLayer:, not its parent.
(-[WKView _setThumbnailView:]):
(-[WKView _thumbnailView]):
Install/uninstall a WKThumbnailView. Hand it our root layer if installing,
or recover it from the departing thumbnail view if uninstalling.
- UIProcess/API/mac/WKViewInternal.h:
Add in a missing RetainPtr.h include that I missed earlier and causes trouble.
Add WKView _thumbnailView and _setThumbnailView:.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setThumbnailScale):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::mayStartMediaWhenInWindow):
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
Swipe was accidentally depending on a mistake in WKView's
_acceleratedCompositingModeRootLayer where it was returning the wrong layer.
The actual root layer doesn't have a size, so we should use the drawing
area's size instead.
- WebKit2.xcodeproj/project.pbxproj:
Add some new files.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
If we reset the page scale because a load was committed, we should
reset the stored thumbnail-scale-less page scale so that we don't restore
the wrong scale when leaving thumbnailing.
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setThumbnailScale):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Apply the thumbnail scale to the page. If we're currently not in
thumbnail scaling mode, save the current page scale and scroll position
so we can restore them once we leave thumbnail mode again.
Transform the DrawingArea so that the page appears at the same
position and size, but scaled.
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::setTransform):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setTransform):
Add a DrawingArea method to apply an arbitrary transform to the drawing area.
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
(WebKit::TiledCoreAnimationDrawingArea::resumePainting):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
(WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
(WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
Remove the word "compositing" in a bunch of places where it isn't needed.
Rename m_rootLayer to m_hostingLayer, and repurpose m_rootLayer to store
the root compositing layer actually passed in via setRootCompositingLayer.
Rename m_pendingRootCompositingLayer to m_pendingRootLayer.
- 5:55 PM Changeset in webkit [164336] by
-
- 3 edits2 adds in trunk
border-box clip-paths jump around when outline changes
https://bugs.webkit.org/show_bug.cgi?id=128929
Source/WebCore:
Reviewed by Dirk Schulze.
computeReferenceBox() for clip paths was using "rootRelativeBounds"
to position the border-box. This bounds is an enclosing bounds for
the layer and its descendants, including outlines and absolute descendants,
so it is not the correct box to use to offset the border-box.
The caller has offsetFromRoot(), which is the correct thing to use,
so use it.
Test: css3/masking/clip-path-root-relative-bounds.html
- rendering/RenderLayer.cpp:
(WebCore::computeReferenceBox):
(WebCore::RenderLayer::setupClipPath):
LayoutTests:
Reviewed by Dirk Schulze.
Test comparing a border-box clip path with and without an outline.
- css3/masking/clip-path-root-relative-bounds-expected.html: Added.
- css3/masking/clip-path-root-relative-bounds.html: Added.
- 5:29 PM Changeset in webkit [164335] by
-
- 3 edits in trunk/Source/WebKit2
Add SPI for enabling/disabling private browsing
https://bugs.webkit.org/show_bug.cgi?id=129012
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _privateBrowsingEnabled]):
(-[WKWebView _setPrivateBrowsingEnabled:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- 5:16 PM Changeset in webkit [164334] by
-
- 3 edits in trunk/Source/WebKit2
Add more SPI methods to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=129011
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _webProcessIdentifier]):
(-[WKWebView _sessionState]):
(releaseNSData):
(-[WKWebView _restoreFromSessionState:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- 5:07 PM Changeset in webkit [164333] by
-
- 5 edits in trunk/Source/JavaScriptCore
FTL should build on ARM64
https://bugs.webkit.org/show_bug.cgi?id=129010
Reviewed by Sam Weinig.
- disassembler/X86Disassembler.cpp: Just because we have the LLVM disassembler doesn't mean we're on X86.
- ftl/FTLLocation.cpp: DWARF parsing for ARM64 is super easy.
(JSC::FTL::Location::isGPR):
(JSC::FTL::Location::gpr):
(JSC::FTL::Location::isFPR):
(JSC::FTL::Location::fpr):
(JSC::FTL::Location::restoreInto): This function wasn't even X86-specific to begin with so move it out of the #if stuff.
- ftl/FTLUnwindInfo.cpp: They're called q not d.
(JSC::FTL::UnwindInfo::parse):
- jit/GPRInfo.h:
(JSC::GPRInfo::toArgumentRegister): Add this method; we alraedy had it on X86.
- 4:45 PM Changeset in webkit [164332] by
-
- 8 edits2 adds in trunk
Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored)
https://bugs.webkit.org/show_bug.cgi?id=128504
Patch by James Craig <jcraig@apple.com> on 2014-02-18
Reviewed by Timothy Hatcher.
Source/WebCore:
Additions to the accessibility node inspector: exists, required, invalid.
Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
- inspector/protocol/DOM.json:
Source/WebInspectorUI:
Additions to the accessibility node inspector: exists, required, invalid.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/DOMNode.js:
- UserInterface/DOMNodeDetailsSidebarPanel.js:
LayoutTests:
New files test the inspector protocol for DOM.getAccessibilityPropertiesForNode
- inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Added.
- inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Added.
- 4:43 PM Changeset in webkit [164331] by
-
- 3 edits in trunk/Source/WebCore
Commit the code change supposed to happen in r164320.
- editing/Editor.cpp:
(WebCore::Editor::setIgnoreCompositionSelectionChange):
(WebCore::Editor::respondToChangedSelection):
- editing/Editor.h:
- 4:36 PM Changeset in webkit [164330] by
-
- 3 edits in trunk/Source/WebKit2
Add more new SPI methods
https://bugs.webkit.org/show_bug.cgi?id=129009
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _certificateChain]):
(-[WKWebView _committedURL]):
(-[WKWebView _applicationNameForUserAgent]):
(-[WKWebView _setApplicationNameForUserAgent:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- 4:04 PM Changeset in webkit [164329] by
-
- 2 edits in trunk/Source/WebCore
TextFieldInputType::handleBeforeTextInsertedEvent shouldn't use plainText
https://bugs.webkit.org/show_bug.cgi?id=128953
Reviewed by Alexey Proskuryakov.
Don't use FrameSelection's toNormalizedRange and plainText. Instead, use the cached selection start and selection
end to extract the selected text. The caches are updated inside FrameSelection::setSelection whenever selection
is inside a text form control via HTMLTextFormControlElement::selectionChanged.
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
- 3:26 PM Changeset in webkit [164328] by
-
- 4 edits in trunk/Source/WebKit2
Make reload SPI for now
https://bugs.webkit.org/show_bug.cgi?id=129007
Reviewed by Simon Fraser.
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _reload]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- 3:17 PM Changeset in webkit [164327] by
-
- 3 edits in trunk/Source/WebKit2
Add -[WKWebView reload]
https://bugs.webkit.org/show_bug.cgi?id=129005
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView reload]):
- 3:04 PM Changeset in webkit [164326] by
-
- 13 edits2 adds in trunk/Source/JavaScriptCore
FTL unwind parsing should handle ARM64
https://bugs.webkit.org/show_bug.cgi?id=128984
Reviewed by Oliver Hunt.
This makes unwind parsing handle ARM64 and it makes all clients of unwind info capable of
dealing with that architecture.
The big difference is that ARM64 has callee-save double registers. This is conceptually easy
to handle, but out code for dealing with callee-saves spoke of "GPRReg". We've been in this
situation before: code that needs to deal with either a GPRReg or a FPRReg. In the past we'd
hacked around the problem, but this time I decided to do a full frontal assault. This patch
adds a Reg class, which is a box for either GPRReg or FPRReg along with tools for iterating
over all possible registers. Then, I threaded this through SaveRestore, RegisterSet,
RegisterAtOffset, and UnwindInfo. With the help of Reg, it was easy to refactor the code to
handle FPRs in addition to GPRs.
- CMakeLists.txt:
- GNUmakefile.list.am:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
- ftl/FTLRegisterAtOffset.cpp:
(JSC::FTL::RegisterAtOffset::dump):
- ftl/FTLRegisterAtOffset.h:
(JSC::FTL::RegisterAtOffset::RegisterAtOffset):
(JSC::FTL::RegisterAtOffset::operator!):
(JSC::FTL::RegisterAtOffset::reg):
(JSC::FTL::RegisterAtOffset::operator==):
(JSC::FTL::RegisterAtOffset::operator<):
(JSC::FTL::RegisterAtOffset::getReg):
- ftl/FTLSaveRestore.cpp:
(JSC::FTL::offsetOfReg):
- ftl/FTLSaveRestore.h:
- ftl/FTLUnwindInfo.cpp:
(JSC::FTL::UnwindInfo::parse):
(JSC::FTL::UnwindInfo::find):
(JSC::FTL::UnwindInfo::indexOf):
- ftl/FTLUnwindInfo.h:
- jit/Reg.cpp: Added.
(JSC::Reg::dump):
- jit/Reg.h: Added.
(JSC::Reg::Reg):
(JSC::Reg::fromIndex):
(JSC::Reg::first):
(JSC::Reg::last):
(JSC::Reg::next):
(JSC::Reg::index):
(JSC::Reg::isSet):
(JSC::Reg::operator!):
(JSC::Reg::isGPR):
(JSC::Reg::isFPR):
(JSC::Reg::gpr):
(JSC::Reg::fpr):
(JSC::Reg::operator==):
(JSC::Reg::operator!=):
(JSC::Reg::operator<):
(JSC::Reg::operator>):
(JSC::Reg::operator<=):
(JSC::Reg::operator>=):
(JSC::Reg::hash):
(JSC::Reg::invalid):
- jit/RegisterSet.h:
(JSC::RegisterSet::set):
(JSC::RegisterSet::clear):
(JSC::RegisterSet::get):
- 2:58 PM Changeset in webkit [164325] by
-
- 4 edits1 copy in trunk/Source/WebKit2
Add SPI for allowing HTTPS certificates
https://bugs.webkit.org/show_bug.cgi?id=129002
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/WKProcessClass.mm:
(-[WKProcessClass _setAllowsSpecificHTTPSCertificate:forHost:]):
- UIProcess/API/Cocoa/WKProcessClassInternal.h:
- UIProcess/API/Cocoa/WKProcessClassPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h.
- WebKit2.xcodeproj/project.pbxproj:
- 2:57 PM Changeset in webkit [164324] by
-
- 3 edits2 adds in trunk
Bottom/right sticky positioning don't correctly handle scroll containers with padding
https://bugs.webkit.org/show_bug.cgi?id=119280
Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2014-02-18
Reviewed by Simon Fraser.
Source/WebCore:
Take padding into account during calculation of overflow constraining rect for sticky
positioning.
Test: fast/css/sticky/sticky-bottom-overflow-padding.html
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::stickyPositionOffset):
LayoutTests:
Check that sticky elements positioned correcly in overflow with padding.
- fast/css/sticky/sticky-bottom-overflow-padding-expected.html: Added.
- fast/css/sticky/sticky-bottom-overflow-padding.html: Added.
- 2:55 PM Changeset in webkit [164323] by
-
- 7 edits1 add in trunk
Crash when merging ruby bases that contain floats
https://bugs.webkit.org/show_bug.cgi?id=127515
<rdar://problem/15896562>
Source/WebCore:
This crash occurs when we remove a ruby text object and decide to merge
two adjacent ruby base objects. The right ruby base's children were
being merged into the left ruby base, but the right ruby base's floats
were not being moved to the left base. This could cause us not to
descend into all nodes containing a FloatingObject in
RenderBlockFlow::markAllDescendantsWithFloatsForLayout(), because we
assume that if a block does not have a particular float in its float
list, none of its descendants will, either.
Reviewed by David Hyatt.
Test: fast/ruby/ruby-base-merge-block-children-crash-2.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::moveFloatsTo):
Code split out of moveAllChildrenIncludingFloatsTo().
(WebCore::RenderBlockFlow::moveAllChildrenIncludingFloatsTo):
Call moveFloatsTo().
- rendering/RenderBlockFlow.h:
Add declaration of moveFloatsTo().
- rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::mergeChildrenWithBase):
Move children and floats to the new base.
- rendering/RenderRubyBase.h:
Declare mergeChildrenWithBase().
- rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):
Call mergeChildrenWithBase().
LayoutTests:
Reviewed by David Hyatt.
- fast/ruby/ruby-base-merge-block-children-crash-2.html: Added.
- 2:54 PM Changeset in webkit [164322] by
-
- 2 edits in trunk/Source/WebCore
iOS build fix after r164319.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectedRange):
- 2:39 PM Changeset in webkit [164321] by
-
- 5 edits in trunk
AX: Searching for "immediate descendants only" can return unexpected results.
https://bugs.webkit.org/show_bug.cgi?id=128986
Reviewed by Chris Fleizach.
Source/WebCore:
Missed an application of the immediateDescendantsOnly flag during the initial implementation. We
need to make sure we don't decend into the startObject first if it is provided. This fix causes
the outer loop to 'skip' the first iteration so only siblings of the startObject are considered.
No new tests, updated existing search-predicate-immediate-descendants-only.html test to cover this case.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::findMatchingObjects):
LayoutTests:
Updated test and expectations to make sure the results match traditional "children" results when appropriate.
- platform/mac/accessibility/search-predicate-immediate-descendants-only-expected.txt:
- platform/mac/accessibility/search-predicate-immediate-descendants-only.html:
- 2:37 PM Changeset in webkit [164320] by
-
- 2 edits in trunk/Source/WebCore
Merge notifyComponentsOnChangedSelection into respondToSelectionChange
https://bugs.webkit.org/show_bug.cgi?id=128993
Reviewed by Andreas Kling.
Merged notifyComponentsOnChangedSelection into respondToSelectionChange since notifyComponentsOnChangedSelection
was only added in iOS codebase in response to the code added for continuous spellchecking and alternative text controller
in respondToChangedSelection but they should have been called inside setIgnoreCompositionSelectionChange.
So merge these two functions and make respondToChangedSelection behave like setIgnoreCompositionSelectionChange.
- editing/Editor.cpp:
(WebCore::Editor::setIgnoreCompositionSelectionChange):
(WebCore::Editor::respondToChangedSelection):
- editing/Editor.h:
- 2:35 PM Changeset in webkit [164319] by
-
- 2 edits in trunk/Source/WebCore
FrameSelection::textWasReplaced and setSelectedRange shouldn't trigger synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=128951
Reviewed by Antti Koivisto.
Cleanup.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::textWasReplaced): Don't call updateLayout. It's totally unnecessarily.
(WebCore::FrameSelection::setSelectedRange): Ditto. Also removed the code to set affinity only when
range is collapsed since VisibleSelection::validate already does this.
- 2:24 PM Changeset in webkit [164318] by
-
- 3 edits in trunk/Source/WebCore
Do not cache media time until media engine returns a non-zero value
https://bugs.webkit.org/show_bug.cgi?id=128976
Reviewed by Jer Noble.
No new tests, covered by existing tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid
until it is non-zero.
(WebCore::HTMLMediaElement::currentTime): Return 0 if m_cachedTime is invalid.
- 2:23 PM Changeset in webkit [164317] by
-
- 2 edits in trunk/Source/WebCore
[iOS] All WebKit clients should encrypt WebCrypto keys automatically
https://bugs.webkit.org/show_bug.cgi?id=128938
Reviewed by Dan Bernstein.
Don't pass ACLs on iOS. Key will be added to app's default Keychain access group.
Also, don't pass kSecAttrIsPermanent, which is irrelevant for password items, and
caused error -50 in DumpRenderTree for me when passed.
Added fallback to _NSGetProgname for account name, to account for tools such as
Mac DumpRenderTree that don't have bundle identifiers.
- crypto/mac/SerializedCryptoKeyWrapMac.mm:
(WebCore::masterKeyAccountNameForCurrentApplication):
(WebCore::createAndStoreMasterKey):
- 2:23 PM Changeset in webkit [164316] by
-
- 16 edits in trunk
setSelectionRange should set selection without validation
https://bugs.webkit.org/show_bug.cgi?id=128949
Reviewed by Enrica Casucci.
Source/WebCore:
Since positionForIndex in HTMLTextFormControlElement always returns a candidate Position, we don't have to
validate selection in setSelectionRange.
Also fixed various bugs uncovered by this change.
This patch also fixes fast/forms/input-select-webkit-user-select-none.html, which used to assert wrong outcome
so that WebKit's behavior matches that of Chrome and Firefox.
Test: fast/forms/input-select-webkit-user-select-none.html
- dom/Position.h:
(WebCore::positionInParentBeforeNode): This function had a bug that when node is a child of the shadow root
it would return a null Position. Allow a position anchored inside a shadow root.
(WebCore::positionInParentAfterNode): Ditto.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveWithoutValidationTo): Renamed from moveTo and avoided selection validation.
- editing/FrameSelection.h:
- editing/htmlediting.cpp:
(WebCore::updatePositionForNodeRemoval): Fixed the bug that this function doesn't update positions before
or after children even if the shadow host of the anchor node is getting removed. Move the position before
the shadow host to be removed in both situations.
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setSelectionRange): moveTo is renamed to moveWithoutValidationTo.
(WebCore::HTMLTextFormControlElement::selectionChanged): Check if the cached selection offsets are different
in lieu of FrameSelection::isRange() since they're equivalent here.
(WebCore::positionForIndex): Return the position inside or after the last br when there is one to match
the canonicalization algorithm we have. It's probably harmless to return the last position in the inner text
element anyways since most of our codebase supports that but this would avoid having to rebaseline dozens
of tests and reduces the risk of this patch.
LayoutTests:
Fixed input-select-webkit-user-select-none.html which was erroneously asserting selectionStart and selectionEnd
of a text field to be zero when it has -webkit-user-select: none. This doesn't not match behaviors of Chrome
and Firefox. They both retain the programatically set selection offsets since such style should not bleed into
the shadow DOM of the text field in the first place.
New behavior matches the latest Firefox and Chrome although we still have the bug that user cannot select text
inside such a text field.
Also modernized LayoutTests/editing/selection/5497643.html to make the expected results more readable and made
the test more robust against changes in the node index of textarea element.
- editing/selection/5497643-expected.txt: See above.
- editing/selection/5497643.html:
- fast/forms/input-select-webkit-user-select-none-expected.txt: See above.
- fast/forms/input-select-webkit-user-select-none.html:
- editing/deleting/delete-ligature-001-expected.txt: Progression in the editing delegate callbacks dumps.
Now we set selection directly into the text node inside the inner text element.
- platform/mac/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Ditto.
- platform/mac/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Ditto.
- platform/mac-mountainlion/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt:
Removed.
- platform/mac-mountainlion/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt:
Removed.
- 2:23 PM Changeset in webkit [164315] by
-
- 4 edits1 copy in trunk/Source/WebKit2
Add SPI for getting the original URL from a WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=128997
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKNavigationActionInternal.h:
- UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
- WebKit2.xcodeproj/project.pbxproj:
- 2:08 PM Changeset in webkit [164314] by
-
- 18 edits in trunk/Source/WebCore
Move IndexedDB module, LevelDB code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128964
Reviewed by Andreas Kling.
Replace uses of OwnPtr and PassOwnPtr in the IndexedDB module and LevelDB platform code with std::unique_ptr.
- Modules/indexeddb/IDBCursorBackend.h:
- Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
(WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
(WebCore::IDBDatabaseBackend::processPendingCalls):
(WebCore::IDBDatabaseBackend::processPendingOpenCalls):
(WebCore::IDBDatabaseBackend::openConnection):
(WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackend::deleteDatabase):
(WebCore::IDBDatabaseBackend::close):
- Modules/indexeddb/IDBDatabaseBackend.h:
(WebCore::IDBDatabaseBackend::hasPendingSecondHalfOpen):
(WebCore::IDBDatabaseBackend::setPendingSecondHalfOpen):
- Modules/indexeddb/IDBPendingDeleteCall.h:
(WebCore::IDBPendingDeleteCall::IDBPendingDeleteCall):
- Modules/indexeddb/IDBPendingOpenCall.h:
(WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
- Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
- Modules/indexeddb/IDBTransactionCoordinator.cpp:
- Modules/indexeddb/IDBTransactionCoordinator.h:
- Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:
- Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::setUpMetadata):
(WebCore::DefaultLevelDBFactory::openLevelDB):
(WebCore::IDBBackingStoreLevelDB::IDBBackingStoreLevelDB):
(WebCore::IDBBackingStoreLevelDB::~IDBBackingStoreLevelDB):
(WebCore::IDBBackingStoreLevelDB::open):
(WebCore::IDBBackingStoreLevelDB::openInMemory):
(WebCore::IDBBackingStoreLevelDB::create):
(WebCore::IDBBackingStoreLevelDB::getDatabaseNames):
(WebCore::deleteRange):
(WebCore::IDBBackingStoreLevelDB::deleteDatabase):
(WebCore::IDBBackingStoreLevelDB::getObjectStores):
(WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::getIndexes):
(WebCore::findGreatestKeyLessThanOrEqual):
(WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
- Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
- platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::~LevelDBDatabase):
(WebCore::LevelDBDatabase::open):
(WebCore::LevelDBDatabase::openInMemory):
(WebCore::IteratorImpl::IteratorImpl):
(WebCore::LevelDBDatabase::createIterator):
- platform/leveldb/LevelDBDatabase.h:
- platform/leveldb/LevelDBTransaction.cpp:
(WebCore::LevelDBTransaction::commit):
(WebCore::LevelDBTransaction::createIterator):
(WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
(WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
(WebCore::LevelDBWriteOnlyTransaction::LevelDBWriteOnlyTransaction):
- platform/leveldb/LevelDBTransaction.h:
- platform/leveldb/LevelDBWriteBatch.cpp:
(WebCore::LevelDBWriteBatch::LevelDBWriteBatch):
- platform/leveldb/LevelDBWriteBatch.h:
- 1:59 PM Changeset in webkit [164313] by
-
- 4 edits in trunk/Source/WebKit2
Add more WKWebView SPI
https://bugs.webkit.org/show_bug.cgi?id=128994
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _unreachableURL]):
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- 1:44 PM Changeset in webkit [164312] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: editing a color in the Styles sidebar using the color picker only works once for a given color
https://bugs.webkit.org/show_bug.cgi?id=128965
Reviewed by Timothy Hatcher.
Use the WebInspector.TextMarker backing the CodeMirror TextMarker object to inspect its type in
order to identify color markers that were created for a color. This fixes a regression introduced
in http://webkit.org/b/125695 when we abstracted CodeMirror TextMarker objects.
- UserInterface/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):
- 1:41 PM Changeset in webkit [164311] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Editing transparent color shows incorrect opacity slider
https://bugs.webkit.org/show_bug.cgi?id=128975
Reviewed by Joseph Pecoraro.
The opacity slider should show a range of colors from transparent to the full opacity of the tinted color.
- UserInterface/ColorPicker.js:
(WebInspector.ColorPicker.prototype._updateSliders):
- 1:27 PM Changeset in webkit [164310] by
-
- 5 edits in trunk/Source/WebCore
Follow-up: Add type-checked casts for StyleImage and subclasses
<http://webkit.org/b/128915>
Address some style issues based on feedback from Andreas Kling.
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::cachedImageURL):
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::hasFailedOrCanceledSubresources):
- Use the reference version of the type-checked casts since we know the pointers are not NULL.
- rendering/style/StyleImage.h:
- Use 'styleImage' instead of 'resource' in STYLE_IMAGE_TYPE_CASTS.
- 1:15 PM Changeset in webkit [164309] by
-
- 3 edits in trunk/Source/WebCore
Remove unnecessary UserActionElementSet constructor, destructor
https://bugs.webkit.org/show_bug.cgi?id=128962
Reviewed by Andreas Kling.
UserActionElementSet constructor and destructor are not necessary, as is not the
static create() function that returns PassOwnPtr<UserActionElementSet>. The implicit
constructor and destructor can take care of creating and destroying the sole HashMap
member variable.
- dom/UserActionElementSet.cpp:
- dom/UserActionElementSet.h:
- 1:01 PM Changeset in webkit [164308] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: shift-clicking #fff swatch results in bad rgb value
https://bugs.webkit.org/show_bug.cgi?id=128954
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-18
Reviewed by Daniel Bates.
parseInt("FF", 16) is already 255. Do not multiply the result by 255.
- UserInterface/Color.js:
(WebInspector.Color.fromString):
- 12:47 PM Changeset in webkit [164307] by
-
- 2 edits in trunk/Tools
[GTK] Minibrowser: Add shortcut to open Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=128813
Patch by Diego Pino García <Diego Pino Garcia> on 2014-02-18
Reviewed by Anders Carlsson.
Added shortcuts Ctrl+Shift+I and F12 for toggling Web Inspector.
- MiniBrowser/gtk/BrowserWindow.c:
(toggleWebInspector):
(browser_window_init):
- 12:44 PM Changeset in webkit [164306] by
-
- 2 edits in trunk/Source/WebKit2
Fix build.
- UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
(-[WKProcessClassConfiguration description]):
- 12:33 PM Changeset in webkit [164305] by
-
- 4 edits in releases/WebKitGTK/webkit-2.2
Unreviewed. Update NEWS and Versions.m4 for 2.2.5 release.
.:
- Source/autotools/Versions.m4: Bump version numbers.
Source/WebKit/gtk:
- NEWS: Add release notes.
- 12:24 PM Changeset in webkit [164304] by
-
- 3 edits in trunk/Source/WebKit2
Temporarily remove support for setting the maximumDecodedImageSize. It is causing assertions.
- Shared/WebPreferencesStore.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 12:13 PM Changeset in webkit [164303] by
-
- 4 edits in trunk/Source/WebCore
Rename convertFixedAndStickyPosition() to convertPositionStyle()
https://bugs.webkit.org/show_bug.cgi?id=128987
Reviewed by NOBODY. This is addressing a post-commit review from Dean Jackson.
No new tests are necessary because there is no behavior change
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::convertPositionStyle):
- editing/EditingStyle.h:
- editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendElement):
- 12:05 PM Changeset in webkit [164302] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r164296.
http://trac.webkit.org/changeset/164296
https://bugs.webkit.org/show_bug.cgi?id=128989
Broke many media tests (Requested by eric_carlson on #webkit).
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
- html/HTMLMediaElement.h:
- 11:51 AM Changeset in webkit [164301] by
-
- 2 edits in trunk/Source/WTF
[iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled
https://bugs.webkit.org/show_bug.cgi?id=128959
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-18
Reviewed by David Kilzer.
When JavaScriptCore is used without WebCore on iOS (e.g. JSContext)
the WebCoreWebThread* functions will not be initialized. Avoid
calling the function pointer if it is uninitialized. This was
happening with remote inspection via StringImpl::createCFString
for implicit NSString / WTFString conversion which uses isMainThread.
- wtf/mac/MainThreadMac.mm:
(WTF::webThreadIsUninitializedOrLockedOrDisabled):
(WTF::isMainThread):
(WTF::canAccessThreadLocalDataForThread):
- 11:36 AM Changeset in webkit [164300] by
-
- 8 edits in trunk/Source/WebKit2
[Cocoa] Implement -description in some API objects
https://bugs.webkit.org/show_bug.cgi?id=128956
Reviewed by Anders Carlsson.
- Shared/API/Cocoa/WKRemoteObjectInterface.mm:
Changed category name to have the framework’s prefix.
(-[WKRemoteObjectInterface description]): Added.
- UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo description]): Added.
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction description]): Added.
- UIProcess/API/Cocoa/WKNavigationResponse.mm:
(-[WKNavigationResponse description]): Added.
- UIProcess/API/Cocoa/WKProcessClass.mm:
(-[WKProcessClass description]): Added.
- UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
(-[WKProcessClassConfiguration description]): Added.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration description]): Added.
- 11:32 AM Changeset in webkit [164299] by
-
- 3 edits4 copies2 moves in trunk
Convert position:sticky to position:static upon copy and paste
https://bugs.webkit.org/show_bug.cgi?id=128982
Reviewed by NOBODY (OOPS!).
Source/WebCore:
This patch has two parts:
- Make sure that position:absolute elements trigger the position:relative wrapping (as
well as position:fixed)
- Now that we copy position:sticky, convert that to position:fixed
Tests: editing/pasteboard/copy-paste-converts-fixed.html
editing/pasteboard/copy-paste-converts-sticky.html
editing/pasteboard/copy-paste-wraps-position-absolute.html
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::convertFixedAndStickyPosition):
LayoutTests:
- editing/pasteboard/copy-paste-converts-fixed-expected.txt: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
- editing/pasteboard/copy-paste-converts-fixed.html: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
- editing/pasteboard/copy-paste-converts-sticky-expected.txt: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
- editing/pasteboard/copy-paste-converts-sticky.html: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
- editing/pasteboard/copy-paste-wraps-position-absolute-expected.txt: Renamed from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
- editing/pasteboard/copy-paste-wraps-position-absolute.html: Renamed from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
- 11:10 AM Changeset in webkit [164298] by
-
- 12 edits in trunk/Source/WebCore
Add type-checked casts for StyleImage and subclasses
<http://webkit.org/b/128915>
Reviewed by Oliver Hunt.
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::detachPendingImage):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedImageURL):
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::detachPendingImage):
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::cachedImageSet):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::detachPendingImage):
(WebCore::CSSImageValue::cachedImage):
(WebCore::CSSImageValue::hasFailedOrCanceledSubresources):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingShapeImage):
(WebCore::StyleResolver::loadPendingImages):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
- Switch from static_cast<>() operators to toTypeName() methods.
- Replace 0 with nullptr where convenient.
- rendering/style/StyleCachedImage.h:
- rendering/style/StyleCachedImageSet.h:
- rendering/style/StyleGeneratedImage.h:
- rendering/style/StyleImage.h:
- rendering/style/StylePendingImage.h:
- Define type-checked cast macros.
- 10:58 AM Changeset in webkit [164297] by
-
- 10 edits in trunk/Source
Simplify HTML tokenizer parameterization down to what is used
https://bugs.webkit.org/show_bug.cgi?id=128977
Reviewed by Alexey Proskuryakov.
../WebCore:
- Removes support for CustomHTMLTokenizerChunkSize.
- Consolidates CustomHTMLTokenizerTimeDelay down to one implementation, using Settings::maxParseDuration
- WebCore.exp.in:
- html/parser/HTMLParserScheduler.cpp:
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
(WebCore::Page::customHTMLTokenizerTimeDelay):
- page/Page.h:
../WebKit/mac:
Remove unused _setCustomHTMLTokenizerTimeDelay and _setCustomHTMLTokenizerChunkSize SPI.
- WebView/WebView.mm:
- WebView/WebViewPrivate.h:
../WebKit/win:
Remove unused SPI.
- WebView.cpp:
(WebView::setCustomHTMLTokenizerTimeDelay):
(WebView::setCustomHTMLTokenizerChunkSize):
- 10:43 AM Changeset in webkit [164296] by
-
- 3 edits in trunk/Source/WebCore
Do not cache media time until media engine returns a non-zero value
https://bugs.webkit.org/show_bug.cgi?id=128976
Reviewed by Jer Noble.
No new tests, covered by existing tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid
until it is non-zero.
- 9:36 AM Changeset in webkit [164295] by
-
- 21 edits in trunk/Tools
Stop using PLATFORM(MAC) except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128952
Reviewed by Anders Carlsson.
- TestWebKitAPI/JavaScriptTest.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) and changed to
use OBJC_CLASS.
- TestWebKitAPI/PlatformUtilities.h: Changed PLATFORM(MAC) to USE(FOUNDATION) and changed
to use OBJC_CLASS.
- TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: Changed PLATFORM(MAC) to
PLATFORM(COCOA).
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
(TestWebKitAPI::TEST): Added expected default font-family values for iOS.
- TestWebKitAPI/config.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
- WebKitTestRunner/EventSenderProxy.h: Ditto.
- WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Ditto.
- WebKitTestRunner/InjectedBundle/AccessibilityController.h: Ditto.
- WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Ditto.
(WTR::AccessibilityTextMarker::platformTextMarker):
- WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.h: Ditto.
- WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Ditto.
(WTR::AccessibilityTextMarkerRange::platformTextMarkerRange):
- WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.h: Ditto.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Ditto.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: Ditto.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Ditto.
- WebKitTestRunner/InjectedBundle/TestRunner.h: Ditto.
- WebKitTestRunner/PlatformWebView.h: Ditto.
- WebKitTestRunner/TestController.cpp: Ditto.
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::processDidCrash):
- WebKitTestRunner/TestInvocation.cpp: Ditto.
(WTR::updateThreadedScrollingForCurrentTest):
(WTR::TestInvocation::dumpWebProcessUnresponsiveness):
- WebKitTestRunner/cg/TestInvocationCG.cpp: Ditto.
(WTR::computeMD5HashStringForContext):
- 9:10 AM Changeset in webkit [164294] by
-
- 10 edits69 adds in trunk
Source/WebCore: [CSS Blending] Add -webkit-blend-mode support for SVG.
https://bugs.webkit.org/show_bug.cgi?id=110427
Patch by Mihai Tica <mitica@adobe.com> on 2014-02-18
Reviewed by Dirk Schulze.
Add support for blend modes to SVG. This includes adding and validating isolation for blending.
Make masked elements isolate blending by creating a transparency layer.
Tests: css3/compositing/svg-blend-color-burn.html
css3/compositing/svg-blend-color-dodge.html
css3/compositing/svg-blend-color.html
css3/compositing/svg-blend-darken.html
css3/compositing/svg-blend-difference.html
css3/compositing/svg-blend-exclusion.html
css3/compositing/svg-blend-hard-light.html
css3/compositing/svg-blend-hue.html
css3/compositing/svg-blend-layer-blend.html
css3/compositing/svg-blend-layer-clip-path.html
css3/compositing/svg-blend-layer-filter.html
css3/compositing/svg-blend-layer-mask.html
css3/compositing/svg-blend-layer-opacity.html
css3/compositing/svg-blend-layer-shadow.html
css3/compositing/svg-blend-lighten.html
css3/compositing/svg-blend-luminosity.html
css3/compositing/svg-blend-multiply-alpha.html
css3/compositing/svg-blend-multiply.html
css3/compositing/svg-blend-normal.html
css3/compositing/svg-blend-overlay.html
css3/compositing/svg-blend-saturation.html
css3/compositing/svg-blend-screen.html
css3/compositing/svg-blend-soft-light.html
- rendering/RenderElement.cpp:
(WebCore::RenderElement::styleDidChange): Also pass a pointer to the old style when calling SVGRenderSupport::styleChanged.
- rendering/style/RenderStyle.h: Add blendMode default getter when CSS_COMPOSITING is disabled.
- rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::isolatesBlending): Add method.
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::styleChanged): Call updateMaskedAncestorShouldIsolateBlending only when a blend mode is set/unset.
(WebCore::SVGRenderSupport::isolatesBlending): Implement method that decides whether an SVGElement isolates or not blending.
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending): Traverse to the nearest ancestor having a mask.
- Set a flag causing the creation of a transparency layer when rendering the masked element.
- rendering/svg/SVGRenderSupport.h:
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent): Call GraphicsContext::setCompositeOperation.
- Isolate blending by creating a transparency layer.
- Isolate group when rendering a masked element having a blended child node.
- svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::SVGGraphicsElement): Set default m_shouldIsolateBlending to false.
- svg/SVGGraphicsElement.h: Add m_shouldIsolateBlending member, getter and setter.
(WebCore::SVGGraphicsElement::shouldIsolateBlending):
(WebCore::SVGGraphicsElement::setShouldIsolateBlending):
LayoutTests: [CSS Blending] Add -webkit-blend-mode support for SVG.
https://bugs.webkit.org/show_bug.cgi?id=110427
Patch by Mihai Tica <mitica@adobe.com> on 2014-02-18
Reviewed by Dirk Schulze.
Test -webkit-blend-mode implementation for simple SVGs. This includes:
- Test each blend operator.
- Test that ensures blending is isolated by other properties: blending, filters, masks, shadow and opacity.
- css3/compositing/svg-blend-color-burn.html: Test blend mode color-burn.
- css3/compositing/svg-blend-color-dodge.html: Test blend mode color-dodge.
- css3/compositing/svg-blend-color.html: Test blend mode color.
- css3/compositing/svg-blend-darken.html: Test blend mode darken.
- css3/compositing/svg-blend-difference.html: Test blend mode difference.
- css3/compositing/svg-blend-exclusion.html: Test blend mode exclusion.
- css3/compositing/svg-blend-hard-light.html: Test blend mode hard-light.
- css3/compositing/svg-blend-hue.html: Test blend mode hue.
- css3/compositing/svg-blend-layer-blend.html: mix-blend-mode should isolate for blending.
- css3/compositing/svg-blend-layer-clip-path.html: clip-path should not isolate for blending.
- css3/compositing/svg-blend-layer-filter.html: filters should isolate for blending.
- css3/compositing/svg-blend-layer-mask.html: masks should isolate for blending.
- css3/compositing/svg-blend-layer-opacity.html: opacity should isolate for blending.
- css3/compositing/svg-blend-layer-shadow.html: -webkit-shadow should isolate for blending.
- css3/compositing/svg-blend-lighten.html: Test blend mode lighten.
- css3/compositing/svg-blend-luminosity.html: Test blend mode luminosity.
- css3/compositing/svg-blend-multiply-alpha.html: Test blend mode multiply while also having alpha set.
- css3/compositing/svg-blend-multiply.html: Test blend mode multiply.
- css3/compositing/svg-blend-normal.html: Test blend mode normal. Note this blend mode has no effect.
- css3/compositing/svg-blend-overlay.html: Test blend mode overlay.
- css3/compositing/svg-blend-saturation.html: Test blend mode saturation.
- css3/compositing/svg-blend-screen.html: Test blend mode screen.
- css3/compositing/svg-blend-soft-light.html: Test blend mode soft-light.
- platform/mac/css3/compositing/svg-blend-color-burn-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-color-burn-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-color-dodge-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-color-dodge-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-color-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-color-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-darken-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-darken-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-difference-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-difference-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-exclusion-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-exclusion-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-hard-light-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-hard-light-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-hue-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-hue-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-layer-blend-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-layer-blend-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-layer-clip-path-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-layer-clip-path-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-layer-filter-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-layer-filter-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-layer-mask-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-layer-mask-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-layer-opacity-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-layer-opacity-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-layer-shadow-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-layer-shadow-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-lighten-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-lighten-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-luminosity-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-luminosity-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-multiply-alpha-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-multiply-alpha-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-multiply-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-multiply-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-normal-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-normal-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-overlay-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-overlay-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-saturation-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-saturation-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-screen-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-screen-expected.txt: Added.
- platform/mac/css3/compositing/svg-blend-soft-light-expected.png: Added.
- platform/mac/css3/compositing/svg-blend-soft-light-expected.txt: Added.
- 9:00 AM Changeset in webkit [164293] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Unreviewed fix. Correct wrong flags, ENABLE(GTK)->PLATFORM(GTK).
- platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):
- 8:13 AM Changeset in webkit [164292] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: color picker sliders sometime look wrong on Retina display
https://bugs.webkit.org/show_bug.cgi?id=128963
Reviewed by Timothy Hatcher.
Round the values used to position and size popovers in order to ensure that their content don't suffer
from poor pixel alignment on Retina displays.
- UserInterface/Popover.js:
(WebInspector.Popover.prototype.set frame):
- 7:21 AM Changeset in webkit [164291] by
-
- 3 edits3 adds in trunk/LayoutTests
Unreviewed EFL gardening.
Add test expecations for failing and crashing tests.
- platform/efl-wk2/TestExpectations:
- platform/efl/TestExpectations:
- platform/efl/fast/forms/search/search-size-with-decorations-expected.png: Added after r164145.
- platform/efl/fast/forms/search/search-size-with-decorations-expected.txt: Ditto.
- 7:11 AM Changeset in webkit [164290] by
-
- 4 edits5 adds in trunk
[CSSRegions] Compute region ranges for inline replaced elements
https://bugs.webkit.org/show_bug.cgi?id=128800
Reviewed by Andrei Bucur.
Source/WebCore:
Tests: fast/regions/hover-content-inside-iframe-in-region.html
fast/regions/select-multiple-in-region.html
When asking for the range of regions for an inline replaced box,
use the region cached on the root inline box for the inline replaced
box as the range of regions is computed only for blocks.
A future patch will extend the computation of region ranges
for inline blocks too.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
Remove the restriction set during https://bugs.webkit.org/show_bug.cgi?id=113703
and enable the code path for boxes not only for blocks.
Method RenderFlowThread::getRegionRangeForBox returns a null region when it is unable
to get the region range and we already check for null region case.
- rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getRegionRangeForBox):
LayoutTests:
- fast/regions/hover-content-inside-iframe-in-region-expected.html: Added.
- fast/regions/hover-content-inside-iframe-in-region.html: Added.
- fast/regions/resources/iframe-in-region-source.html: Added.
- fast/regions/select-multiple-in-region-expected.txt: Added.
- fast/regions/select-multiple-in-region.html: Added.
- 6:42 AM Changeset in webkit [164289] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r164167 - [GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
https://bugs.webkit.org/show_bug.cgi?id=128808
Reviewed by Sergio Villar Senin.
- WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(webkit_web_page_class_init): Use g_cclosure_marshal_VOIDVOID
instead of g_cclosure_marshal_VOIDOBJECT.
- 4:15 AM Changeset in webkit [164288] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.2
Merge r163871 - [GStreamer] High playback rate causes crash
https://bugs.webkit.org/show_bug.cgi?id=128453
Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-11
Reviewed by Philippe Normand.
Source/WebCore:
To high playback rate passed to GStreamer was causing crash.
Added guard in setRate method.
Test: media/video-extreme-playbackrate-crash.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setRate):
LayoutTests:
Test checks if passing high playback rate causes crash.
- media/video-extreme-playbackrate-crash-expected.txt: Added.
- media/video-extreme-playbackrate-crash.html: Added.
- 4:12 AM Changeset in webkit [164287] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore
Merge r163435 - MediaPlayerPrivateGStreamerBase should have virtual destructor
https://bugs.webkit.org/show_bug.cgi?id=128238
Reviewed by Carlos Garcia Campos.
MediaPlayerPrivateGStreamer inherit MediaPlayerPrivateGStreamerBase.
So MediaPlayerPrivateGStreamerBase should have virtual destructor.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Made destructor as virtual.
- 4:08 AM WebKitGTK/2.2.x edited by
- (diff)
- 4:07 AM Changeset in webkit [164286] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2
Merge r163954 - 'ar T' is not portable and breaks the build on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128596
Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-12
Reviewed by Gustavo Noronha Silva.
Create thin archives only if we are using GNU ar.
- Source/autotools/SetupLibtool.m4:
- 4:05 AM Changeset in webkit [164285] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r163875 - O_CLOEXEC in shm_open does not work on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128572
Reviewed by Darin Adler.
The O_CLOEXEC is not supported by shm_open() and is also not
necessary since FD_CLOEXEC is already set by default when the new
file descriptor is created.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::create):
- 4:05 AM WebKitGTK/2.2.x edited by
- (diff)
- 4:02 AM WebKitGTK/2.2.x edited by
- (diff)
- 4:01 AM Changeset in webkit [164284] by
-
- 3 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r163292 - Fix wrong mix of fcntl commands and flags
https://bugs.webkit.org/show_bug.cgi?id=127842
Reviewed by Darin Adler.
We are mixing the commands to set file descriptor and file status
flags in a couple of fcntl() calls. FD_CLOEXEC must be set using
F_SETFD, and the access mode flags (O_RDONLY, O_WRONLY, O_RDWR)
with F_SETFL.
This combines patches by Guillem Jover and Sergio Correia.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::readBytesFromSocket):
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::createHandle):
- 3:59 AM WebKitGTK/2.2.x edited by
- (diff)
- 3:55 AM Changeset in webkit [164283] by
-
- 10 edits5 adds in releases/WebKitGTK/webkit-2.2
Merge r155730 - DFG AI assumes that ToThis can never return non-object if it is passed an object, and operationToThis will get the wrong value of isStrictMode() if there's inlining
https://bugs.webkit.org/show_bug.cgi?id=121330
Source/JavaScriptCore:
Reviewed by Mark Hahnenberg and Oliver Hunt.
Also print whether a function is strict mode in debug dumps.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpAssumingJITType):
- bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::dumpInContext):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
Tools:
Reviewed by Mark Hahnenberg and Oliver Hunt.
We should run tests even if they don't have expected files yet.
- Scripts/run-layout-jsc:
LayoutTests:
Reviewed by Mark Hahnenberg and Oliver Hunt.
- js/dfg-strict-mode-to-this-expected.txt: Added.
- js/dfg-strict-mode-to-this.html: Added.
- js/jsc-test-list:
- js/script-tests/dfg-strict-mode-to-this.js: Added.
(thingy.bar):
(thingy.foo):
(thingy):
- 3:54 AM WebKitGTK/2.2.x edited by
- (diff)
- 3:49 AM WebKitGTK/2.2.x edited by
- (diff)
- 3:39 AM Changeset in webkit [164282] by
-
- 9 edits in releases/WebKitGTK/webkit-2.2/Source/JavaScriptCore
Merge r155480 - Introduce a SpecInt48 type and be more careful about what we mean by "Top" https://bugs.webkit.org/show_bug.cgi?id=121116
Reviewed by Oliver Hunt.
SpecInt48 will mean that we have something that would be a double if it was a JSValue,
but it's profitable to represent it as something other than a double.
SpecInt48AsDouble means that it has a value that could have been represented like
SpecInt48, but we're making a heuristic decision not to do it.
- bytecode/SpeculatedType.h:
(JSC::isInt48Speculation):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
(JSC::DFG::::clobberCapturedVars):
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::filter):
- dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::makeHeapTop):
(JSC::DFG::AbstractValue::makeBytecodeTop):
(JSC::DFG::AbstractValue::isHeapTop):
(JSC::DFG::AbstractValue::heapTop):
(JSC::DFG::AbstractValue::validateType):
(JSC::DFG::AbstractValue::validate):
(JSC::DFG::AbstractValue::makeTop):
- dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::initialize):
- dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::noticeOSREntry):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
- 3:38 AM Changeset in webkit [164281] by
-
- 3 edits in releases/WebKitGTK/webkit-2.2/Source/JavaScriptCore
Merge r155466 - SpecType should have SpecInt48AsDouble
https://bugs.webkit.org/show_bug.cgi?id=121065
Reviewed by Oliver Hunt.
- bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationToAbbreviatedString):
(JSC::speculationFromValue):
- bytecode/SpeculatedType.h:
(JSC::isInt48AsDoubleSpeculation):
(JSC::isIntegerSpeculation):
(JSC::isDoubleRealSpeculation):
- 3:33 AM WebKitGTK/2.2.x edited by
- (diff)
- 3:10 AM Changeset in webkit [164280] by
-
- 3 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
[GTK] webkit_web_view_load_html reads UTF8 css files as UTF16
https://bugs.webkit.org/show_bug.cgi?id=127481
Patch by Sami Wagiaalla <swagiaal@redhat.com> on 2014-02-18
Reviewed by Carlos Garcia Campos.
Partial merge of r160572.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadString):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):
- WebProcess/WebPage/WebPage.h:
- 3:05 AM WebKitGTK/2.2.x edited by
- (diff)
- 2:22 AM Changeset in webkit [164279] by
-
- 4 edits in trunk/Source/WebCore
Move inheriting method to the superclass in the JavaScript media controls
https://bugs.webkit.org/show_bug.cgi?id=128897
Reviewed by Jer Noble.
The inheriting method of the JavaScript multimedia controls was
moved from the subclasses to the superclass because this way it is
only defined once.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.extend): Added to replace inheritFrom in the
subclasses.
- Modules/mediacontrols/mediaControlsGtk.js:
- Modules/mediacontrols/mediaControlsiOS.js: Removed inheritFrom
and used extend.
- 2:16 AM Changeset in webkit [164278] by
-
- 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2
Merge r162830 - [SOUP] WebProcess sometimes crashes when a download is cancelled
https://bugs.webkit.org/show_bug.cgi?id=127650
Reviewed by Martin Robinson.
The problem is that when the download is cancelled, the download
manager removes the download from the map and it's deleted. The
Download destructor calls platformInvalidate() that cancels the
resource handle if there's still one. We set to nullptr the
ResourceHandle when the download is cancelled to avoid cancelling
it twice, but it's done after calling Download::didCancel(). It
should be done before, because at that moment, when the download
is deleted, the resource handle pointer is still valid.
- Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::cancel):
- 2:10 AM WebKitGTK/2.2.x edited by
- (diff)
- 1:49 AM Changeset in webkit [164277] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Fix hitting hasClass() assertion in debug with the new JS media controls
https://bugs.webkit.org/show_bug.cgi?id=128820
Reviewed by Martin Robinson.
The code introduced at r164024 caused the hit of hasClass()
assertion when getting the classNames() of an element with no
class. Now we check for it to avoid the assertion.
No new tests, current set detects the crash in many tests.
- platform/gtk/RenderThemeGtk.cpp:
(WebCore::nodeHasClass): Check for hasClass() in order not to hit
the assertion when getting the classNames() in debug mode.
- 1:42 AM Changeset in webkit [164276] by
-
- 3 edits in trunk/Source/WebCore
Refactor SVGPreserveAspectRatio::parse()
https://bugs.webkit.org/show_bug.cgi?id=128658
Reviewed by Dirk Schulze.
To removed "goto" in SVGPreserveAspectRatio::parse(), this patch introduce parseInternal() to handle
existing behavior with local variables, and existing/new parse() functions invoke it, then set
those to member variables.
Motivated from Blink: https://src.chromium.org/viewvc/blink?view=rev&revision=166927
No new tests, no behavior change.
- svg/SVGPreserveAspectRatio.cpp:
(WebCore::SVGPreserveAspectRatio::parse):
(WebCore::SVGPreserveAspectRatio::parseInternal):
- svg/SVGPreserveAspectRatio.h: Add parse() and parseInternal() functions.