Timeline
Apr 27, 2015:
- 11:52 PM Changeset in webkit [183461] by
-
- 2 edits in trunk/Source/WebCore
Eliminate styleDidChange with StyleDifferenceEqual when updates are actually necessary
https://bugs.webkit.org/show_bug.cgi?id=144198
Followup: fix assertions seen in fullscreen and pseudo-element tests. These code
paths set the style to the existing pointer, but with a SyntheticStyleChange.
We have to avoid an early return in this case.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::setStyle):
- 11:35 PM Changeset in webkit [183460] by
-
- 3 edits in trunk/Source/WebKit2
[WK2] API::Point, API::Size, API::Rect creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144223
Reviewed by Darin Adler.
Have API::Point, API::Size and API::Rect creation functions return Ref<>.
Call-sites are also updated, using and operating on the returned Ref<> object
where possible.
- Shared/API/APIGeometry.h:
(API::Size::create):
(API::Point::create):
(API::Rect::create):
- Shared/API/c/WKGeometry.cpp:
(WKPointCreate):
(WKSizeCreate):
(WKRectCreate):
- 11:31 PM Changeset in webkit [183459] by
-
- 8 edits in trunk/Source/WebKit2
[WK2] API::Error creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144222
Reviewed by Darin Adler.
Have API::Error creation functions return Ref<>.
The call-sites are also updated, using and operating
on the returned Ref<> object where possible.
- Shared/API/APIError.h:
(API::Error::create):
- Shared/API/c/cf/WKErrorCF.cpp:
(WKErrorCreateWithCFError):
- UIProcess/API/C/WKOriginDataManager.cpp:
(WKOriginDataManagerDeleteEntriesForOrigin):
(WKOriginDataManagerDeleteEntriesModifiedBetweenDates):
(WKOriginDataManagerDeleteAllEntries):
- UIProcess/API/C/WKPage.cpp:
(toGenericCallbackFunction):
(WKPageForceRepaint):
(WKPageValidateCommand):
(WKPageComputePagesForPrinting):
- UIProcess/API/C/WKPluginSiteDataManager.cpp:
(WKPluginSiteDataManagerClearSiteData):
(WKPluginSiteDataManagerClearAllSiteData):
- UIProcess/GenericCallback.h:
(WebKit::toGenericCallbackFunction):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::printFinishedCallback):
- 10:54 PM Changeset in webkit [183458] by
-
- 5 edits in trunk/Source/JavaScriptCore
RegExp matches arrays should use contiguous indexing.
<https://webkit.org/b/144286>
Reviewed by Geoffrey Garen.
We had a custom Structure being used for RegExp matches arrays that would
put the arrays into SlowPutArrayStorageShape mode. This was just left
from when matches arrays were custom, lazily initialized objects.
This change removes that Structure and switches the matches arrays to
using the default ContiguousShape Structure. This allows the FTL JIT
to compile the inner loop of the Octane/regexp benchmark.
Also made a version of initializeIndex() [inline] that takes the indexing
type in an argument, allowing createRegExpMatchesArray() to initialize
the entire array without branching on the indexing type for each entry.
~3% progression on Octane/regexp.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::mapStructure):
(JSC::JSGlobalObject::regExpMatchesArrayStructure): Deleted.
- runtime/JSObject.h:
(JSC::JSObject::initializeIndex):
- runtime/RegExpMatchesArray.cpp:
(JSC::createRegExpMatchesArray):
- 10:33 PM Changeset in webkit [183457] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Remove unnecessary semicolon from WebKitNotificationProvider.h.
https://bugs.webkit.org/show_bug.cgi?id=144312
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-04-27
Reviewed by Martin Robinson.
No new tests, no behavior change.
- UIProcess/API/gtk/WebKitNotificationProvider.h:
- 10:24 PM Changeset in webkit [183456] by
-
- 2 edits in trunk
Unreviewed, fix GTK build after r183452
- Source/cmake/OptionsGTK.cmake:
- 10:13 PM Changeset in webkit [183455] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Cannot scroll Timeline Overview horizontally, scrollbar cannot be interacted with
https://bugs.webkit.org/show_bug.cgi?id=144302
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-27
Reviewed by Timothy Hatcher.
- UserInterface/Views/TimelineOverview.css:
(.timeline-overview > .scroll-container):
Increase the z-index of the scroll container over anything in the
overview so that it can be interacted with.
- 9:59 PM Changeset in webkit [183454] by
-
- 20 edits in trunk
Eliminate styleDidChange with StyleDifferenceEqual when updates are actually necessary
https://bugs.webkit.org/show_bug.cgi?id=144198
Reviewed by Darin Adler, Antti Koivisto.
Source/WebCore:
SyntheticStyleChange style recalcs are triggered for cases where behavior depends
on state which is outside of RenderStyle; this includes triggering compositing for
animations, for video and canvas, and for iframes with composited content.
In these cases, we'd run through RenderElement::setStyle() and its fan-out, but
with diff == StyleDifferenceEqual, and so be unable to determine if there
is actual work to be done.
This patch enforces the contract that the diff is never StyleDifferenceEqual if
compositing or other work has to happen from setStyle(). This is achieved by
passing in a 'hasSideEffects' flag, which causes the diff to become at least
StyleDifferenceRecompositeLayer.
RenderLayerCompositor::layerStyleChanged() can now safely early return
if the diff is equal. Future patches will reduce redundant work even more.
Test: compositing/animation/no-style-recalc-during-accelerated-animation.html
- page/animation/AnimationBase.h:
(WebCore::AnimationBase::animate): Returns a bool now if the state changed.
(WebCore::AnimationBase::state):
- page/animation/AnimationController.cpp:
(WebCore::AnimationController::updateAnimations): bool out param which indicates
whether any animations changed state.
- page/animation/AnimationController.h:
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::animate): If any transitions or animations changed
state, set the animationStateChanged out param to true.
- page/animation/CompositeAnimation.h:
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::animate): Return true if the state changed.
- page/animation/ImplicitAnimation.h:
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::animate): Return true if the state changed.
- page/animation/KeyframeAnimation.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::adjustStyleDifference): We may enter here now with diff
!= StyleDifferenceEqual, but still need to do the check to see if layers changed.
(WebCore::RenderElement::initializeStyle): When setting style for the first time,
don't use StyleDifferenceEqual.
(WebCore::RenderElement::setStyle): Additional flag to indicate whether this style
change involves side effects. If the diff is equal but the flag is set, change
the diff to StyleDifferenceRecompositeLayer (the "lowest" non-zero diff).
- rendering/RenderElement.h:
(WebCore::RenderElement::setAnimatableStyle): Pass true to setStyle() if hasSideEffects
is true, or if animation state changed.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::styleChanged): Pass the diff down.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerStyleChanged): Return if the diff is equal.
- rendering/RenderLayerCompositor.h:
- rendering/style/RenderStyleConstants.h: StyleDifferenceNewStyle is used when
setting style for the first time.
- style/StyleResolveTree.cpp:
(WebCore::Style::createRendererIfNeeded): Provide animationsChanged bool (which is unused).
(WebCore::Style::resolveLocal): If the style change is synthetic, set the flag that
says there are side-effects.
LayoutTests:
New test that detects whether a "hardware" animation is firing the style recalc
timer on every frame, which happened during development of this patch.
- compositing/animation/no-style-recalc-during-accelerated-animation-expected.txt: Added.
- compositing/animation/no-style-recalc-during-accelerated-animation.html: Added.
- 9:44 PM Changeset in webkit [183453] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
FTL failed to initialize arguments.callee on the slow path as well as the fast path
https://bugs.webkit.org/show_bug.cgi?id=144293
Reviewed by Mark Lam.
The slow path doesn't fully initialize DirectArguments - it leaves callee blank. So, we need
to initialize the callee on the common path after the fast and slow path.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments):
- tests/stress/arguments-callee-uninitialized.js: Added.
(foo):
- 9:35 PM Changeset in webkit [183452] by
-
- 4 edits in trunk
[GTK] Add one single option to control all OpenGL-related options
https://bugs.webkit.org/show_bug.cgi?id=144105
Reviewed by Martin Robinson.
.:
Add public ENABLE_OPENGL option, which is mandatory for ENABLE_3D_TRANSFORMS,
ENABLE_ACCELERATED_2D_CANVAS, ENABLE_GLES2, ENABLE_THREADED_COMPOSITOR, ENABLE_WEBGL,
USE_REDIRECTED_XCOMPOSITE_WINDOW, and USE_GSTREAMER_GL. Make ENABLE_GLES2 a proper WebKit
option and move code around accordingly. Use WEBKIT_OPTION_DEPEND and rely on it. Add a
large comment to explain why default value of ENABLE_ACCELERATED_2D_CANVAS is based on the
presence of CairoGL.
- Source/cmake/OptionsGTK.cmake:
Source/WebCore:
Test WTF_USE_TEXTURE_MAPPER since USE_TEXTURE_MAPPER has been removed.
- PlatformGTK.cmake:
- 9:28 PM Changeset in webkit [183451] by
-
- 2 edits in trunk
[GTK] ENABLE_SMOOTH_SCROLLING should be private
https://bugs.webkit.org/show_bug.cgi?id=144306
Reviewed by Martin Robinson.
Make ENABLE_SMOOTH_SCROLLING private instead of public.
- Source/cmake/OptionsGTK.cmake:
- 9:16 PM Changeset in webkit [183450] by
-
- 6 edits4 adds in trunk
[JSC] Add support for typed arrays to the Array profiling
https://bugs.webkit.org/show_bug.cgi?id=143913
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-27
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This patch adds ArrayModes for every typed arrays. Having that information
let us generate better GetByVal and PutByVal when the type speculation
are not good enough.
A typical case where this is useful is any basic block for which the type
of the object is always more restrictive than the speculation (for example,
a basic block gated by a branch only taken for on type).
- bytecode/ArrayProfile.cpp:
(JSC::dumpArrayModes):
- bytecode/ArrayProfile.h:
(JSC::arrayModeFromStructure):
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::fromObserved):
(JSC::DFG::ArrayMode::refine):
Maintain the refine() semantic. We do not support OutOfBounds access
for GetByVal on typed array.
- runtime/IndexingType.h:
- tests/stress/typed-array-get-by-val-profiling.js: Added.
(testArray.testCode):
(testArray):
- tests/stress/typed-array-put-by-val-profiling.js: Added.
(testArray.testCode):
(testArray):
LayoutTests:
- js/regress/script-tests/typed-array-get-set-by-val-profiling.js: Added.
- js/regress/typed-array-get-set-by-val-profiling.html: Added.
- 8:43 PM Changeset in webkit [183449] by
-
- 2 edits in trunk/Source/WebKit/mac
<rdar://problem/20721931> REGRESSION (r178753): All legacy framework headers are missing availability annotations
https://bugs.webkit.org/show_bug.cgi?id=144311
Reviewed by Adele Peterson.
- postprocess-headers.sh: Changed “macsox” to “macosx”.
- 8:05 PM Changeset in webkit [183448] by
-
- 2 edits23 adds2 deletes in trunk/LayoutTests
Break up select text into multiple tests
https://bugs.webkit.org/show_bug.cgi?id=144301
Patch by Doug Russell <d_russell@apple.com> on 2015-04-27
Reviewed by Alexey Proskuryakov.
- platform/mac/TestExpectations:
- platform/mac/accessibility/select-text-expected.txt: Removed.
- platform/mac/accessibility/select-text.html: Removed.
- platform/mac/accessibility/select-text/select-text-1-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-1.html: Added.
- platform/mac/accessibility/select-text/select-text-135546-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-135546.html: Added.
- platform/mac/accessibility/select-text/select-text-135575-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-135575.html: Added.
- platform/mac/accessibility/select-text/select-text-2-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-2.html: Added.
- platform/mac/accessibility/select-text/select-text-3-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-3.html: Added.
- platform/mac/accessibility/select-text/select-text-4-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-4.html: Added.
- platform/mac/accessibility/select-text/select-text-5-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-5.html: Added.
- platform/mac/accessibility/select-text/select-text-6-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-6.html: Added.
- platform/mac/accessibility/select-text/select-text-7-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-7.html: Added.
- platform/mac/accessibility/select-text/select-text-8-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-8.html: Added.
- platform/mac/accessibility/select-text/select-text-9-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-9.html: Added.
- 7:43 PM Changeset in webkit [183447] by
-
- 3 edits in trunk/Source/WebKit2
PDF action menu fixes
https://bugs.webkit.org/show_bug.cgi?id=144299
<rdar://problem/20702215>
Reviewed by Tim Horton.
Make two corrections to how PDFs are handled:
- When calculating the view rect for the user's selection, make sure
that we get coordinates for the correct PDF page. The existing code assumed
that the current PDFLayerControler's current page was correct, but this will
not be true if you zoom the PDF out so that several pages are displayed at
once. Each selection keeps track of the page it is referenced against.
- Revise the offsets calculated for the TextIndicator to take into account
the font descender (as well as the ascender), and to adjust by the scaled
amount of margin around the selected text.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::viewRectForSelection): Use correct page for calculating
the coordinates.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForSelectionInPDFPlugin): Include font 'descendant'
and (scaled) margin when adjusting the hit target for the TextIndicator to draw.
- 7:14 PM Changeset in webkit [183446] by
-
- 5 edits in trunk/Source/JavaScriptCore
Unreviewed, roll out r183438 "RegExp matches arrays should use contiguous indexing". It
causes many debug test failures.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::regExpMatchesArrayStructure):
- runtime/JSObject.h:
(JSC::JSObject::initializeIndex):
- runtime/RegExpMatchesArray.cpp:
(JSC::createRegExpMatchesArray):
- 6:25 PM Changeset in webkit [183445] by
-
- 3 edits in branches/safari-600.6-branch/LayoutTests
Unreviewed Mac gardening for safari-600.6-branch.
- fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt:
- fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt:
- 6:16 PM Changeset in webkit [183444] by
-
- 2 edits in branches/safari-600.6-branch/LayoutTests
Marked platform/mac/fast/text/multiple-codeunit-vertical-upright.html as ImageOnlyFailure
https://bugs.webkit.org/show_bug.cgi?id=144303
- platform/mac/TestExpectations:
- 6:06 PM Changeset in webkit [183443] by
-
- 2 edits4 adds in trunk/Tools
Add 'init.py' and fix known bug in benchmark runner.
https://bugs.webkit.org/show_bug.cgi?id=144296
Patch by Dewei Zhu <Dewei Zhu> on 2015-04-27
Reviewed by Ryosuke Niwa
- Scripts/webkitpy/benchmark_runner/init.py: Make python to recognize this module.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/init.py: Make python to recognize this module.
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.init):
(BenchmarkRunner.execute): Fix logic bug that '--output-file' option doesn't work, and empty output file bug.
- Scripts/webkitpy/benchmark_runner/browser_driver/init.py: Make python to recognize this module.
- Scripts/webkitpy/benchmark_runner/http_server_driver/init.py: Make python to recognize this module.
- 5:59 PM Changeset in webkit [183442] by
-
- 19 edits7 deletes in trunk/Source/WebCore
Consolidate one-line flag-related header files into TextFlags.h
https://bugs.webkit.org/show_bug.cgi?id=144295
Reviewed by Tim Horton.
There were a collection of single-line header files throughout platform/ which contain
single-line type declaractions of flags related to text layout & rendering. This patch
consolidates all these single-line headers into TextFlags.h
No new tests because there is no behavior change.
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSFontFace.h:
- css/CSSPrimitiveValueMappings.h:
- loader/cache/CachedFont.h:
- loader/cache/CachedTextTrack.h:
- page/Settings.h:
- platform/DragImage.h:
- platform/graphics/FontDescription.h:
- platform/graphics/FontOrientation.h: Removed.
- platform/graphics/FontPlatformData.h:
- platform/graphics/FontRenderingMode.h: Removed.
- platform/graphics/FontSmoothingMode.h: Removed.
- platform/graphics/FontTraitsMask.h: Removed.
- platform/graphics/FontWidthVariant.h: Removed.
- platform/graphics/TextRenderingMode.h: Removed.
- platform/graphics/cairo/FontCustomPlatformData.h:
- platform/graphics/freetype/FontPlatformData.h:
- platform/graphics/mac/FontCustomPlatformData.h:
- platform/graphics/win/FontCustomPlatformData.h:
- platform/text/NonCJKGlyphOrientation.h: Removed.
- platform/text/TextFlags.h:
- rendering/TextPainter.h:
- style/StyleFontSizeFunctions.h:
- 5:46 PM Changeset in webkit [183441] by
-
- 2 edits in trunk/Websites/webkit.org
Add naver to team.html
https://bugs.webkit.org/show_bug.cgi?id=144298
Reviewed by Gyuyoung Kim.
- team.html:
- 5:31 PM Changeset in webkit [183440] by
-
- 2 edits in trunk/Websites/webkit.org
Status page: fix the email links
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-27
- status.html:
- 5:22 PM Changeset in webkit [183439] by
-
- 2 edits in trunk/Tools
More build fix.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
Use -objectForKey:, not array subscript.
- 5:14 PM Changeset in webkit [183438] by
-
- 5 edits in trunk/Source/JavaScriptCore
RegExp matches arrays should use contiguous indexing.
<https://webkit.org/b/144286>
Reviewed by Geoffrey Garen.
We had a custom Structure being used for RegExp matches arrays that would
put the arrays into SlowPutArrayStorageShape mode. This was just left
from when matches arrays were custom, lazily initialized objects.
This change removes that Structure and switches the matches arrays to
using the default ContiguousShape Structure. This allows the FTL JIT
to compile the inner loop of the Octane/regexp benchmark.
Also made a version of initializeIndex() [inline] that takes the indexing
type in an argument, allowing createRegExpMatchesArray() to initialize
the entire array without branching on the indexing type for each entry.
~3% progression on Octane/regexp.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::mapStructure):
(JSC::JSGlobalObject::regExpMatchesArrayStructure): Deleted.
- runtime/JSObject.h:
(JSC::JSObject::initializeIndex):
- runtime/RegExpMatchesArray.cpp:
(JSC::createRegExpMatchesArray):
- 5:08 PM Changeset in webkit [183437] by
-
- 2 edits in branches/safari-600.6-branch/LayoutTests
Mark fast/text/ruby-justification-flush.html as ImageOnlyFailure
https://bugs.webkit.org/show_bug.cgi?id=144294
- 5:03 PM Changeset in webkit [183436] by
-
- 6 edits4 adds in trunk
Form control may be associated with the wrong HTML Form element after form id change
https://bugs.webkit.org/show_bug.cgi?id=133456
<rdar://problem/17095055>
Reviewed by Andy Estes.
Source/WebCore:
Fixes an issue where a form control may be associated with the wrong HTML Form element
after the id of the HTML Form element associated with the form control is changed when
there is more than one HTML Form element with the same id in the document. Specifically,
a form control that has an HTML form attribute value X will always be associated with
some HTML Form element f where f.id = X regardless of whether f.id is subsequently
changed.
Tests: fast/forms/change-form-id-to-be-unique-then-submit-form.html
fast/forms/change-form-id-to-be-unique.html
- dom/Element.cpp:
(WebCore::Element::attributeChanged): Notify observers when the id of an element changed.
(WebCore::Element::updateId): Added parameter NotifyObservers (defaults to NotifyObservers::Yes),
as to whether we should notify observers of the id change.
(WebCore::Element::updateIdForTreeScope): Ditto.
(WebCore::Element::willModifyAttribute): Do not notify observers of the id change immediately. As
indicated by the name of this method, we plan to modify the DOM attribute id of the element, but
we have not actually modified it when this method is called. Instead we will notify observers
in Element::attributeChanged(), which is called after the DOM attribute id is modified.
(WebCore::Element::cloneAttributesFromElement): Ditto.
- dom/Element.h: Defined enum class NotifyObservers.
- dom/TreeScope.cpp:
(WebCore::TreeScope::addElementById): Added boolean parameter notifyObservers (defaults to true)
as to whether we should dispatch a notification to all observers.
(WebCore::TreeScope::removeElementById): Ditto.
- dom/TreeScope.h:
LayoutTests:
Add tests to ensure that we associate the correct HTML Form element with a
<select> after changing the id of its associated HTML form element.
- fast/forms/change-form-id-to-be-unique-expected.txt: Added.
- fast/forms/change-form-id-to-be-unique-then-submit-form-expected.txt: Added.
- fast/forms/change-form-id-to-be-unique-then-submit-form.html: Added.
- fast/forms/change-form-id-to-be-unique.html: Added.
- 4:34 PM Changeset in webkit [183435] by
-
- 2 edits in trunk/Tools
Catch unexpected exits in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=144288
Reviewed by Tim Horton.
- DumpRenderTree/mac/DumpRenderTree.mm:
(atexitFunction):
(DumpRenderTreeMain):
- 4:18 PM Changeset in webkit [183434] by
-
- 2 edits in trunk/Tools
Build fix
- DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
Use -objectForKey:, not array subscript.
- 3:34 PM Changeset in webkit [183433] by
-
- 2 edits in trunk/Source/WebCore
Reduce allocations and memory usage when compiling content extensions.
https://bugs.webkit.org/show_bug.cgi?id=144277
Reviewed by Benjamin Poulain.
Covered by existing tests.
- contentextensions/Term.h:
(WebCore::ContentExtensions::Term::CharacterSet::set):
(WebCore::ContentExtensions::Term::CharacterSet::get):
(WebCore::ContentExtensions::Term::CharacterSet::invert):
(WebCore::ContentExtensions::Term::CharacterSet::inverted):
(WebCore::ContentExtensions::Term::CharacterSet::bitCount):
(WebCore::ContentExtensions::Term::CharacterSet::operator==):
(WebCore::ContentExtensions::Term::CharacterSet::hash):
(WebCore::ContentExtensions::Term::Term):
(WebCore::ContentExtensions::Term::addCharacter):
(WebCore::ContentExtensions::Term::isEndOfLineAssertion):
(WebCore::ContentExtensions::Term::isUniversalTransition):
(WebCore::ContentExtensions::Term::generateSubgraphForAtom):
Use two uint64_t's instead of a BitVector with a capacity of 128 bits.
- 3:30 PM Changeset in webkit [183432] by
-
- 35 edits in trunk
Rename WTF_USE_3D_GRAPHICS to ENABLE_GRAPHICS_CONTEXT_3D
https://bugs.webkit.org/show_bug.cgi?id=144193
Reviewed by Darin Adler.
.:
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWinCairo.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/WebCore:
- CMakeLists.txt:
- platform/graphics/ANGLEWebKitBridge.cpp:
- platform/graphics/FormatConverter.cpp:
- platform/graphics/FormatConverter.h:
- platform/graphics/GLContext.h:
- platform/graphics/GraphicsContext3D.cpp:
- platform/graphics/GraphicsContext3DPrivate.cpp:
- platform/graphics/OpenGLShims.cpp:
- platform/graphics/cairo/GraphicsContext3DCairo.cpp:
- platform/graphics/cg/GraphicsContext3DCG.cpp:
- platform/graphics/egl/GLContextEGL.cpp:
- platform/graphics/egl/GLContextEGL.h:
- platform/graphics/glx/GLContextGLX.cpp:
- platform/graphics/glx/GLContextGLX.h:
- platform/graphics/mac/GraphicsContext3DMac.mm:
- platform/graphics/opengl/Extensions3DOpenGL.cpp:
- platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
- platform/graphics/opengl/Extensions3DOpenGLES.cpp:
- platform/graphics/opengl/GLPlatformContext.cpp:
- platform/graphics/opengl/GLPlatformSurface.cpp:
- platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
- platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
- platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
- platform/graphics/win/GraphicsContext3DWin.cpp:
Source/WebKit2:
- CMakeLists.txt:
Source/WTF:
- wtf/FeatureDefines.h:
- wtf/Platform.h:
- 3:24 PM Changeset in webkit [183431] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Video not centered in element on retina devices
https://bugs.webkit.org/show_bug.cgi?id=144274
Reviewed by Simon Fraser.
In r173702, a transform was added to the video layer (and a matching, inverse transform
in the UIProcess), but this transform affects the position property of the video layer
used to position the video content within the element bounds when their aspect ratios
do not match.
To work around this problem, pre-apply the transform during -setPosition:.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(-[WebVideoContainerLayer setPosition:]):
- 3:12 PM Changeset in webkit [183430] by
-
- 5 edits in tags/Safari-601.1.30.1/Source
Versioning.
- 3:10 PM Changeset in webkit [183429] by
-
- 1 copy in tags/Safari-601.1.30.1
New tag.
- 3:08 PM Changeset in webkit [183428] by
-
- 11 edits2 adds in trunk
Add a setting & restriction which prevents non-interactivte playback of audible media elements.
https://bugs.webkit.org/show_bug.cgi?id=143486
Reviewed by Eric Carlson.
Source/WebCore:
Tests: media/audio-playback-restriction-autoplay.html
media/audio-playback-restriction-play.html
To allow clients who want to allow non-user-interactive video-only playback, but still
restrict playback of audible media elements, add a new setting and matching restriction
which disallows playback of media elements containing audible characteristics.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Set the RequireUserGestureForAudioRateChange
restriction if the audioPlaybackRequiresUserGesture() setting is set.
(WebCore::HTMLMediaElement::parseAttribute): Drive-by fix. Move the opening brace
out of the #if, as this confuses the heck out of diff and makes all subsequent
changes appear to be within HTMLMediaElement::parseAttribute.
(WebCore::HTMLMediaElement::autoplay): Remove the restriction check from within autoplay().
It is checked again immediately after every autoplay() call site.
(WebCore::HTMLMediaElement::pauseInternal): Remove the iOS-only #if.
(WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Check whether playback
is permitted, and if not, pause.
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): Ditto.
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Ditto.
- html/HTMLMediaSession.cpp:
(WebCore::restrictionName): Since BehaviorRestrictions is a bitfield, check each bit
individually.
(WebCore::HTMLMediaSession::removeBehaviorRestriction): Handle RequireUserGestureForAudioRateChange.
(WebCore::HTMLMediaSession::playbackPermitted): Check whether the element has audio and
audio playback is restricted, and return false if so.
- html/HTMLMediaSession.h:
- page/Settings.cpp:
- page/Settings.in:
- testing/Internals.cpp:
(WebCore::Internals::setMediaSessionRestrictions): Added.
(WebCore::Internals::setMediaElementRestrictions): Added.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- media/audio-playback-restriction-autoplay.html: Added.
- media/audio-playback-restriction-play.html: Added.
- media/video-test.js:
(setCaptionDisplayMode):
(runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk):
(runWithKeyDown):
- 3:04 PM Changeset in webkit [183427] by
-
- 2 edits in trunk
[CMake] Should be possible for an option to conflict with other options
https://bugs.webkit.org/show_bug.cgi?id=143956
Reviewed by Martin Robinson.
Add WEBKIT_OPTION_CONFLICT macro, which fails the build if conflicting options are on.
- Source/cmake/WebKitFeatures.cmake:
- 2:57 PM Changeset in webkit [183426] by
-
- 2 edits in trunk/Source/WebKit2
Context menus are not reshown after an orientation change
<https://bugs.webkit.org/show_bug.cgi?id=144143>
<rdar://problem/20679931>
Reviewed by Darin Adler.
- UIProcess/ios/WKActionSheet.mm:
(-[WKActionSheet updateSheetPosition]):
Return early if we're still in a rotation, not if the rotation is
complete.
- 2:43 PM Changeset in webkit [183425] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Attempt to workaround exception in TimelineRuler
https://bugs.webkit.org/show_bug.cgi?id=144228
Reviewed by Joseph Pecoraro.
- UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype.updateLayout):
Use firstChild instead of a custom _labelElement property on the dividerElement.
- 2:35 PM Changeset in webkit [183424] by
-
- 11 edits4 adds in trunk
[WebAudio] AudioContext does not remove user-gesture restriction during resume()
https://bugs.webkit.org/show_bug.cgi?id=144211
Reviewed by Eric Carlson.
Source/WebCore:
Tests: webaudio/audiocontext-restriction-audiobuffersourcenode-start.html
webaudio/audiocontext-restriction.html
Before the introduction of resume(), suspend(), and stop(), AudioContexts which required
a user-gesture would start normally, but would effectively mute their outputs. Now that
the AudioContext's state property is exposed to JavaScript, the AudioContext should stay
in the "suspended" state until the user-gesture restriction is lifted.
Add a new method, willBeginPlayback() which checks and potentially clears the context's
behavior restrictions before checking with the MediaSession. Call this new willBeginPlayback()
method when the state would transition to "running".
Because they may be called before any nodes are created, make sure to call lazyInitialize()
from within the JS-exposed resumePlayback(), suspendPlayback(), and stopPlayback() methods.
Instead of clearing the behavior restrictions directly, scheduled AudioNodes should instead
call a new method nodeWillBeginPlayback(). Because existing sites will call AudioNode.start()
inside a user-gesture handler to clear the user-gesture restriction, call startRendering()
from nodeWillBeginPlayback(). But because we don't want AudioNode.start() to resume playback
unconditionally, only do so when the user-gesture restriction is set.
Now that an AudioContext will not transition to "running" state without a user-gesture (if
that restriction is set), there's no reason to check for that restriction from inside
AudioDestinationNode.
Add some internal methods to set and clear AudioContext BehaviorRestrictions for testing purposes.
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::startPlaying):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::nodeWillBeginPlayback):
(WebCore::AudioContext::willBeginPlayback):
(WebCore::AudioContext::willPausePlayback):
(WebCore::AudioContext::startRendering):
(WebCore::AudioContext::suspendContext):
(WebCore::AudioContext::resumeContext):
(WebCore::AudioContext::closeContext):
(WebCore::AudioContext::suspendPlayback):
(WebCore::AudioContext::mayResumePlayback):
- Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::behaviorRestrictions):
(WebCore::AudioContext::userGestureRequiredForAudioStart):
(WebCore::AudioContext::pageConsentRequiredForAudioStart):
- Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::render):
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::start):
- testing/Internals.cpp:
(WebCore::Internals::setAudioContextRestrictions):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- webaudio/audiocontext-restriction-audiobuffersourcenode-start-expected.txt: Added.
- webaudio/audiocontext-restriction-audiobuffersourcenode-start.html: Added.
- webaudio/audiocontext-restriction-expected.txt: Added.
- webaudio/audiocontext-restriction.html: Added.
- webaudio/resources/audio-testing.js:
(runWithKeyDown):
- 2:30 PM Changeset in webkit [183423] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements tab details sidebar becomes non-expandable after using Console tab
https://bugs.webkit.org/show_bug.cgi?id=144212
Show the DOM tree content view again on main resource change. This better matches what we did
in the pre tab user interface with the DOM being off the main resource tree element.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ElementsTabContentView.js:
(WebInspector.ElementsTabContentView): Listen for main resource change. Call _showDOMTreeContentView.
(WebInspector.ElementsTabContentView.prototype.closed): Fix a leak and exception.
The removeEventListener was wrong. Add a new removeEventListener for WebInspector.Frame.
(WebInspector.ElementsTabContentView.prototype._showDOMTreeContentView): Added.
(WebInspector.ElementsTabContentView.prototype._mainFrameDidChange): Call _showDOMTreeContentView.
(WebInspector.ElementsTabContentView.prototype._mainResourceDidChange): Added.
- 2:28 PM Changeset in webkit [183422] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: TabContentView closed() isn't being called when a tab is closed / removed
https://bugs.webkit.org/show_bug.cgi?id=144229
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype._disassociateFromContentView):
TabContentViews don't have a representedObject, so returning early and not
calling closed() was not correct.
- 2:08 PM Changeset in webkit [183421] by
-
- 4 edits in trunk/Source/JavaScriptCore
REGRESSION (r183373): ASSERT failed in wtf/SHA1.h
https://bugs.webkit.org/show_bug.cgi?id=144257
Temporarily disable skip these tests.
- tests/stress/template-literal-line-terminators.js:
- tests/stress/template-literal-syntax.js:
- tests/stress/template-literal.js:
- 2:02 PM Changeset in webkit [183420] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
- accessibility/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::postTextReplacementPlatformNotification):
Use -setObject:forKey:, not array subscript.
- 1:42 PM Changeset in webkit [183419] by
-
- 3 edits in trunk/Source/JavaScriptCore
Function allocations shouldn't sink through Put operations
https://bugs.webkit.org/show_bug.cgi?id=144176
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-27
Reviewed by Filip Pizlo.
By design, we don't support function allocation sinking through any
related operation ; however object allocation can sink through PutByOffset et
al.
Currently, the checks to prevent function allocation to sink through
these are misguided and do not prevent anything ; function allocation sinking
through these operations is prevented as a side effect of requiring an
AllocatePropertyStorage through which the function allocation is seen as
escaping.
This changes it so that ObjectAllocationSinkingPhase::handleNode()
checks properly that only object allocations sink through related write
operations.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- 1:34 PM Changeset in webkit [183418] by
-
- 2 edits in trunk/Tools
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
Reviewed by Tim Horton.
- WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues):
Disable App Nap. I don't have positive evidence that it's the culprit, but it could be,
and we clearly don't want App Nap while testing.
- 1:33 PM Changeset in webkit [183417] by
-
- 2 edits in trunk/Source/WebCore
WirelessTargetPicker should not be visible unless a file is playable
https://bugs.webkit.org/show_bug.cgi?id=144271
<rdar://problem/20712003>
Reviewed by Jer Noble.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.isPlayable): New.
(Controller.prototype.setStatusHidden): Call updateWirelessTargetAvailable.
(Controller.prototype.updateWirelessTargetAvailable): Don't show the button until the
status message has been hidden.
- 1:30 PM Changeset in webkit [183416] by
-
- 13 edits1 delete in trunk
[CMake] Autogenerate cmakeconfig.h.cmake
https://bugs.webkit.org/show_bug.cgi?id=143997
Reviewed by Csaba Osztrogonác.
.:
- CMakeLists.txt: Create the configuration header as the last part of the cmake run.
- Source/CMakeLists.txt: No longer use configure_file to create cmakeconfig.h.
- Source/cmake/OptionsCommon.cmake: Expose WTF_CPU_ARM64_CORTEXA53 to the build explicitly.
- Source/cmake/OptionsGTK.cmake: Expose variables to the build using SET_AND_EXPOSE_TO_BUILD.
Do some other miscellaneous related cleanup.
- Source/cmake/OptionsEFL.cmake: Expose HAVE_LLVM to the build.
- Source/cmake/WebKitFeatures.cmake: Expose all WebKit features to the build. Add support for
build exposed variables. Add a macro to generate a configuration from them.
- Source/cmakeconfig.h.cmake: Removed.
Source/WebCore:
- PlatformGTK.cmake: Use the WTF_USE style variables, because those are the same
as the ones exposed to the build.
Source/WTF:
- wtf/Platform.h: Move a GTK-specific setting from cmakeconfig.h to here.
Tools:
- DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Add XP_UNIX to the command-line
definitions since TestNetscapePlugIn does not use cmakeconfig.h.
- 1:28 PM Changeset in webkit [183415] by
-
- 2 edits in trunk/Source/WebKit/win
Unreviewed build fix after r183405
- WebActionPropertyBag.cpp:
(WebActionPropertyBag::Read): Cast the enum class to a LONG.
- 1:23 PM Changeset in webkit [183414] by
-
- 2 edits in trunk/LayoutTests
rdar://problem/16678392 Page visibility tests are broken in Yosemite
- platform/mac-wk2/TestExpectations: They don't seem to be broken any more, unskipping.
Maybe <http://trac.webkit.org/changeset/181866> fixed them?
Also updated the next line (media/video-background-tab-playback.html), as it didn't match what bots see now.
- 1:19 PM Changeset in webkit [183413] by
-
- 3 edits2 adds in trunk
Simple line layout: Wrong text offsetting when range does not start from the first renderer.
https://bugs.webkit.org/show_bug.cgi?id=144167
rdar://problem/20639857
Reviewed by Simon Fraser.
This patch ensures that TextIterator returns the right text when the input range starts
from a sibling node.
TextIterator::m_previousTextLengthInFlow keeps track of the current node offset from the parent.
Source/WebCore:
It is required to map simple line layout runs to RenderText positions.
This patch sets the offset value when the iteration start with a sibling node.
Test: fast/text/range-text-with-simple-line-layout.html
- editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::handleTextNode):
LayoutTests:
it is required to map simple line layout runs to RenderText positions.
This patch sets the offset value when the iteration start with a sibling node.
- fast/text/range-text-with-simple-line-layout-expected.txt: Added.
- fast/text/range-text-with-simple-line-layout.html: Added.
- 1:15 PM Changeset in webkit [183412] by
-
- 19 edits in trunk/Source/WebKit2
[WK2] API::Dictionary creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144221
Reviewed by Darin Adler.
Have API::Dictionary creation functions return Ref<>.
The call-sites are also updated, using and operating
on the returned Ref<> object where possible.
- Shared/API/APIDictionary.cpp:
(API::Dictionary::create):
- Shared/API/APIDictionary.h:
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(createEncodedObject):
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
- Shared/API/c/WKDictionary.cpp:
(WKDictionaryCreate):
- Shared/API/c/WKMutableDictionary.cpp:
(WKMutableDictionaryCreate):
- Shared/Plugins/Netscape/PluginInformation.cpp:
(WebKit::createPluginInformationDictionary):
- Shared/Plugins/Netscape/PluginInformation.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_prefetch_dns):
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_snapshot):
- UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
- UIProcess/Plugins/PlugInAutoStartProvider.h:
- UIProcess/StatisticsRequest.cpp:
(WebKit::createDictionaryFromHashMap):
(WebKit::StatisticsRequest::completedRequest):
- UIProcess/WebFormClient.cpp:
(WebKit::WebFormClient::willSubmitForm):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFailToInitializePlugin):
- WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(didInitiateLoadForResource):
(willSendRequestForFrame):
(didReceiveResponseForResource):
(didReceiveContentLengthForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(webkitWebPageDidReceiveMessage):
- WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
(WebKit::InjectedBundlePageFormClient::willSubmitForm):
- 1:13 PM Changeset in webkit [183411] by
-
- 15 edits in trunk/Source/WebKit2
[WK2] API::Data creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144220
Reviewed by Darin Adler.
Have API::Data creation functions return Ref<>.
The call-sites are also updated, using and operating
on the returned Ref<> object where possible.
- Shared/API/APIData.h:
(API::Data::createWithoutCopying):
(API::Data::create):
- Shared/API/c/WKData.cpp:
(WKDataCreate):
- Shared/API/c/mac/WKWebArchive.cpp:
(WKWebArchiveCopyData):
- Shared/API/c/mac/WKWebArchiveResource.cpp:
(WKWebArchiveResourceCopyData):
- Shared/APIWebArchive.h:
- Shared/APIWebArchive.mm:
(API::WebArchive::data):
- Shared/APIWebArchiveResource.h:
- Shared/APIWebArchiveResource.mm:
(API::WebArchiveResource::data):
- Shared/Cocoa/APIDataCocoa.mm:
(API::Data::createWithoutCopying):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
- UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_load_bytes):
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::createData):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dataCallback):
(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):
- 1:09 PM Changeset in webkit [183410] by
-
- 7 edits in trunk/Source/WebKit2
[WK2] API::URL creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144219
Reviewed by Darin Adler.
Have API::URL creation functions return Ref<>.
The call-sites are also updated, using and operating in the
returned Ref<> object, where possible.
- Shared/API/APIURL.h:
(API::URL::create):
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedURLAPI):
- Shared/API/c/WKURL.cpp:
(WKURLCreateWithUTF8CString):
(WKURLCreateWithBaseURL):
- UIProcess/API/gtk/WebKitWebResource.cpp:
(webkit_web_resource_get_data):
- UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::didChangeIconForPageURL):
(WebKit::WebIconDatabase::notifyIconDataReadyForPageURL):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::userAgent):
- 1:05 PM Changeset in webkit [183409] by
-
- 9 edits in trunk/Source/WebKit2
[WK2] API::String creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144218
Reviewed by Darin Adler.
Have API::String creation functions return Ref<>.
The call-sites are also updated, using and operating on the returned
Ref<> object, where possible.
- Shared/API/APIString.h:
- Shared/API/c/WKPluginInformation.cpp:
(WKPluginInformationBundleIdentifierKey):
(WKPluginInformationBundleVersionKey):
(WKPluginInformationBundleShortVersionKey):
(WKPluginInformationPathKey):
(WKPluginInformationDisplayNameKey):
(WKPluginInformationDefaultLoadPolicyKey):
(WKPluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
(WKPluginInformationHasSandboxProfileKey):
(WKPluginInformationFrameURLKey):
(WKPluginInformationMIMETypeKey):
(WKPluginInformationPageURLKey):
(WKPluginInformationPluginspageAttributeURLKey):
(WKPluginInformationPluginURLKey):
(WKPlugInInformationReplacementObscuredKey):
- Shared/API/c/WKSharedAPICast.h:
(WebKit::ProxyingRefPtr::ProxyingRefPtr):
(WebKit::toCopiedAPI):
- Shared/API/c/WKString.cpp:
(WKStringCreateWithUTF8CString):
(WKStringCreateWithJSString):
- UIProcess/API/C/WKDatabaseManager.cpp:
(WKDatabaseManagerGetOriginKey):
(WKDatabaseManagerGetOriginQuotaKey):
(WKDatabaseManagerGetOriginUsageKey):
(WKDatabaseManagerGetDatabaseDetailsKey):
(WKDatabaseManagerGetDatabaseDetailsNameKey):
(WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
(WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
(WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
- UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetOriginKey):
(WKKeyValueStorageManagerGetCreationTimeKey):
(WKKeyValueStorageManagerGetModificationTimeKey):
- UIProcess/API/C/WKPage.cpp:
(WKPageGetSessionHistoryURLValueType):
(WKPageGetSessionBackForwardListItemValueType):
(toGenericCallbackFunction):
(WKPageValidateCommand):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::didReceiveInvalidMessage):
- 12:36 PM Changeset in webkit [183408] by
-
- 10 edits4 deletes in trunk
Unreviewed, rolling out r183393.
https://bugs.webkit.org/show_bug.cgi?id=144272
Caused memory corruption detected by GuardMalloc (Requested by
ap on #webkit).
Reverted changeset:
"Synchronous XMLHttpRequest should get access to AppCache
resources stored as flat files"
https://bugs.webkit.org/show_bug.cgi?id=143711
http://trac.webkit.org/changeset/183393
- 11:57 AM Changeset in webkit [183407] by
-
- 4 edits in trunk/Source/WebCore
[Curl] Favicons loaded from disc cache are ignored.
https://bugs.webkit.org/show_bug.cgi?id=143953
Reviewed by Alex Christensen.
When a favicon is loaded from the Curl disc cache, the icon data is thrown away.
This happens because we give a 304 response, which makes the icon loader ignore
the response. We can solve this by responding with 200 OK.
- platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
- platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::didReceiveResponse):
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::initializeHandle):
- 11:49 AM Changeset in webkit [183406] by
-
- 5 edits in trunk/Source/JavaScriptCore
VarargsForwardingPhase should use bytecode liveness in addition to other uses to determine the last point that a candidate is used
https://bugs.webkit.org/show_bug.cgi?id=143843
Reviewed by Geoffrey Garen.
It will soon come to pass that Phantom isn't available at the time that
VarargsForwardingPhase runs. So, it needs to use some other mechanism for discovering when
a value dies for OSR.
This is simplified by two things:
1) The bytecode kill analysis is now reusable. This patch makes it even more reusable than
before by polishing the API.
2) This phase already operates on one node at a time and allows itself to do a full search
of the enclosing basic block for that node. This is fine because CreateDirectArguments
and friends is a rarely occurring node. The fact that it operates on one node at a time
makes it even easier to reason about OSR liveness - we just track the list of locals in
which it is live.
This change has no effect right now but it is a necessary prerequisite to implementing
https://bugs.webkit.org/show_bug.cgi?id=143736.
- dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::tryAt):
- dfg/DFGForAllKills.h:
(JSC::DFG::forAllKilledOperands):
- dfg/DFGPhantomInsertionPhase.cpp:
- dfg/DFGVarargsForwardingPhase.cpp:
- 11:46 AM Changeset in webkit [183405] by
-
- 15 edits in trunk/Source
Make 'enum NavigationType' be an enum class
https://bugs.webkit.org/show_bug.cgi?id=144270
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No change in behavior).
I’ll be adding a new NavigationType for bug 144269 so it makes sense to make this
an enum class first.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::loadDifferentDocumentItem):
- loader/FrameLoaderTypes.h:
- loader/NavigationAction.cpp:
(WebCore::navigationType):
(WebCore::NavigationAction::NavigationAction):
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- page/PerformanceNavigation.cpp:
(WebCore::PerformanceNavigation::type):
Source/WebKit/mac:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary):
Source/WebKit2:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::NavigationActionData):
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(toWKNavigationType):
- UIProcess/API/gtk/WebKitPrivate.cpp:
(toWebKitNavigationType):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::openInNewTab):
- 11:42 AM Changeset in webkit [183404] by
-
- 4 edits2 adds in trunk
Fix viewport units in Media Queries
https://bugs.webkit.org/show_bug.cgi?id=144260
Reviewed by Darin Adler.
Source/WebCore:
This patch makes sure that viewport units are considered "length units"
in the context of Media Queries, by having MediaQueryExp use the unit logic
that is in CSSPrimitiveValue.
It does that by turning the relevant methods in CSSPrimitiveValue into static.
It also makes sure that the logic for "resolution units" is not maintained separately
in MediaQueryExp, to avoid similiar issues in the future with resolution units.
Test: fast/media/mq-viewport-units.html
- css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isViewportPercentageLength): Added a static variant.
(WebCore::CSSPrimitiveValue::isLength): Added a static variant.
(WebCore::CSSPrimitiveValue::isResolution): Added a static variant.
- css/MediaQueryExp.cpp:
(WebCore::featureWithValidPositiveLenghtOrNumber): Call CSSPrimitiveValue's length unit logic.
(WebCore::featureWithValidDensity): Call CSSPrimitiveValue's resolution unit logic.
LayoutTests:
These tests make sure that viewport units are working as expected inside of Media Queries.
- fast/media/mq-viewport-units-expected.txt: Added.
- fast/media/mq-viewport-units.html: Added.
- 11:38 AM Changeset in webkit [183403] by
-
- 6 edits in trunk
REGRESSION(r182879): Images and video can no longer be downloaded
https://bugs.webkit.org/show_bug.cgi?id=144267
<rdar://problem/20702844>
Reviewed by Simon Fraser.
Source/WebKit/mac:
- WebView/WebActionMenuController.mm:
(-[WebActionMenuController _createActionMenuItemForTag:]): Check for
"!WebCore::protocolIs(..., "file")" for image and media downloads.
Source/WebKit2:
- UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _createActionMenuItemForTag:]): Check for
"!WebCore::protocolIs(..., "file")" for image and media downloads.
Tools:
Revise tests to check for proper download menu state.
- Downloading a loal image should be disabled.
- Downloading a local media file should be disabled.
- Downloading non-downloadable media should be disabled.
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST):
- 11:36 AM Changeset in webkit [183402] by
-
- 3 edits in trunk/Source/JavaScriptCore
Map#entries and Map#keys error for non-Maps is swapped
https://bugs.webkit.org/show_bug.cgi?id=144253
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-27
Reviewed by Simon Fraser.
Correcting error messages on Set/Map methods when called on
incompatible objects.
- runtime/MapPrototype.cpp:
(JSC::mapProtoFuncEntries):
(JSC::mapProtoFuncKeys):
- runtime/SetPrototype.cpp:
(JSC::setProtoFuncEntries):
- 11:31 AM Changeset in webkit [183401] by
-
- 23 edits4 adds in trunk/Source/JavaScriptCore
Rationalize DFG DCE handling of nodes that perform checks that propagate through AI
https://bugs.webkit.org/show_bug.cgi?id=144186
Reviewed by Geoffrey Garen.
If I do ArithAdd(Int32Use, Int32Use, CheckOverflow) then AI will prove that this returns
Int32. We may later perform code simplifications based on the proof that this is Int32, and
we may kill all DFG users of this ArithAdd. Then we may prove that there is no exit site at
which the ArithAdd is live. This seems like it is sufficient to then kill the ArithAdd,
except that we still need the overflow check!
Previously we mishandled this:
- In places where we want the overflow check we need to use MustGenerate(@ArithAdd) as a hack to keep it alive. That's dirty and it's just indicative of a deeper issue.
- Our MovHint removal doesn't do Phantom canonicalization which essentially makes it powerless. This was sort of hiding the bug.
- Nodes that have checks that AI leverages should always be NodeMustGenerate. You can't kill something that you are relying on for subsequent simplifications.
This fixes MovHint removal to also canonicalize Phantoms. This also adds ModeMustGenerate to
nodes that may perform checks that are used by AI to guarantee the result type. As a result,
we no longer need the weird MustGenerate node.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::run):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::tryToRelaxRepresentation):
- dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
(JSC::DFG::IntegerCheckCombiningPhase::insertMustAdd): Deleted.
- dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
- dfg/DFGNode.h:
(JSC::DFG::Node::willHaveCodeGenOrOSR):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- dfg/DFGPhantomCanonicalizationPhase.cpp:
(JSC::DFG::PhantomCanonicalizationPhase::run):
- dfg/DFGPhantomRemovalPhase.cpp:
(JSC::DFG::PhantomRemovalPhase::run):
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
- dfg/DFGVarargsForwardingPhase.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
- tests/stress/fold-based-on-int32-proof-mul-branch.js: Added.
(foo):
- tests/stress/fold-based-on-int32-proof-mul.js: Added.
(foo):
- tests/stress/fold-based-on-int32-proof-or-zero.js: Added.
(foo):
- tests/stress/fold-based-on-int32-proof.js: Added.
(foo):
- 11:19 AM Changeset in webkit [183400] by
-
- 8 edits1 delete in trunk/Tools
Merge run-launcher into run-minibrowser
https://bugs.webkit.org/show_bug.cgi?id=141928
Reviewed by Darin Adler.
- Scripts/run-iexploder-tests:
(runSafariWithIExploder):
- Scripts/run-launcher: Removed.
- Scripts/run-minibrowser:
- Scripts/webkitdirs.pm:
(launcherPath):
- Scripts/webkitpy/port/efl.py:
(EflPort.show_results_html_file):
- Scripts/webkitpy/port/efl_unittest.py:
(EflPortTest.test_show_results_html_file):
- Scripts/webkitpy/port/gtk.py:
(GtkPort.print_leaks_summary):
(GtkPort.show_results_html_file):
(GtkPort): Deleted.
- Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_show_results_html_file):
- 10:24 AM Changeset in webkit [183399] by
-
- 7 edits8 adds in trunk
[CSS Grid Layout] Support for the justify-self and justify-items in grid layout
https://bugs.webkit.org/show_bug.cgi?id=133280
Source/WebCore:
Reviewed by David Hyatt.
Implementation of justify-self and justify-items properties for grid. It supports
different writing-modes and direction. Margins, borders and paddings are also
considered when computing the final position and stretched size.
This patch applies also a quite important refactoring of the alignment logic in
order to share code between the two alignment dimensions, row-axis and column-axis.
Overflow handling is still missing and will be added later in a follow-up bug.
Tests: fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html
fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html
fast/css-grid-layout/grid-align-justify-margin-border-padding.html
fast/css-grid-layout/justify-self-cell.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::columnAxisPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::columnPositionForChild):
(WebCore::RenderGrid::findChildLogicalPosition):
(WebCore::RenderGrid::allowedToStretchLogicalHeightForChild): Deleted.
(WebCore::RenderGrid::needToStretchChildLogicalHeight): Deleted.
(WebCore::RenderGrid::marginLogicalHeightForChild): Deleted.
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching): Deleted.
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded): Deleted.
- rendering/RenderGrid.h:
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::resolveJustification):
- rendering/style/RenderStyle.h:
LayoutTests:
Implementation of justify-self and justify-items properties for grid.
Added additional testing for ensuring margin, padding and border are considered when
computing grid item's position.
Reviewed by David Hyatt.
- fast/css-grid-layout/grid-align-justify-margin-border-padding-expected.txt: Added.
- fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr-expected.txt: Added.
- fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html: Added.
- fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl-expected.txt: Added.
- fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html: Added.
- fast/css-grid-layout/grid-align-justify-margin-border-padding.html: Added.
- fast/css-grid-layout/justify-self-cell-expected.txt: Added.
- fast/css-grid-layout/justify-self-cell.html: Added.
- fast/css-grid-layout/resources/grid.css:
(.directionLTR): Added. Useful for defining orthogonal flows.
- 10:07 AM Changeset in webkit [183398] by
-
- 2 edits in trunk/Source/WebCore
Crashes under IDBDatabase::closeConnection
https://bugs.webkit.org/show_bug.cgi?id=141745
Reviewed by Alexey Proskuryakov.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::~IDBDatabase): Do the work of close/closeConnection without
actually calling those functions.
(WebCore::IDBDatabase::closeConnection): Protect the database so it's not destroyed
in the middle of this function's execution.
- 7:56 AM Changeset in webkit [183397] by
-
- 1 edit in trunk/LayoutTests/ChangeLog
Unreviewed.
Fixed timeout expectation of "closed should fulfill with
undefined" test. This doesn't time out anymore.
- streams/reference-implementation/readable-stream-templated.html:
- 7:54 AM Changeset in webkit [183396] by
-
- 2 edits in trunk/LayoutTests
Unreviewed.
Fixed timeout expectation of "closed should fulfill with
undefined" test. This doesn't time out anymore.
- streams/reference-implementation/readable-stream-templated.html:
- 6:31 AM Changeset in webkit [183395] by
-
- 12 edits in trunk
[Streams API] ReadableStream constructor start function should be able to close the stream
https://bugs.webkit.org/show_bug.cgi?id=143363
Reviewed by Benjamin Poulain.
Source/WebCore:
Implements https://streams.spec.whatwg.org/#close-readable-stream.
When the "close" JS function is called, the stream is getting closed.
The stream state is changed to close and if it has a reader, the reader gets closed as well:
The reader resolves the closed promise and releases the stream.
Enabled the possibility to resolve a promise with any JS value.
This is used to resolve closed promise with jsUndefined and will be used for read promises in
the future as well, though of course it is not restricted to Streams.
Covered by reference tests that are now passing.
- Modules/streams/ReadableStream.h:
- Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::changeStateToClosed): Called by the JS function 'close'.
- Modules/streams/ReadableStreamReader.cpp:
(WebCore::ReadableStreamReader::ReadableStreamReader): Initialized stream.
(WebCore::ReadableStreamReader::initialize): Added to handle state change at constructor time
in particular closed/errored state.
(WebCore::ReadableStreamReader::releaseStream): Releases the stream.
(WebCore::ReadableStreamReader::closed): Stores the promise callbacks and invokes success
immediately if the stream is already closed.
(WebCore::ReadableStreamReader::changeStateToClosed): Changes the internal state to closed,
resolves the promise and releases the stream.
- Modules/streams/ReadableStreamReader.h:
(WebCore::ReadableStreamReader::State): Added.
- bindings/js/JSDOMPromise.h:
(WebCore::DeferredWrapper::resolve<JSC::JSValue>): Adds the ability to resolve a promise with
a custom JS value.
- bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::close): Not "notImplemented" anymore. Now it closes the
stream.
- bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed): Resolves the promise with undefined.
LayoutTests:
Updated expectations with new passes.
- streams/reference-implementation/bad-underlying-sources-expected.txt:
- streams/reference-implementation/readable-stream-reader-expected.txt:
- streams/reference-implementation/readable-stream-templated-expected.txt:
- 4:10 AM Changeset in webkit [183394] by
-
- 2 edits in trunk/Source/WebCore
Fix the !ENABLE(CSS_GRID_LAYOUT) build after r183370
https://bugs.webkit.org/show_bug.cgi?id=144255
Reviewed by Carlos Garcia Campos.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeight):
- 4:03 AM Changeset in webkit [183393] by
-
- 10 edits4 adds in trunk
Synchronous XMLHttpRequest should get access to AppCache resources stored as flat files
https://bugs.webkit.org/show_bug.cgi?id=143711
Reviewed by Darin Adler.
Source/WebCore:
This patch checks whether a substitute resource data is stored in memory or in file for synchronous loads.
If data is stored in file, it reads the data through SharedBuffer::createWithContentsOfFile.
This patch refactors some routines to replace Vector<char> by SharedBuffer to transmit response data.
Test: http/tests/appcache/simple-video-sync.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
- loader/FrameLoader.h:
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::createFileURL):
(WebCore::ApplicationCacheHost::maybeLoadSynchronously):
(WebCore::ApplicationCacheHost::maybeLoadFallbackSynchronously):
- loader/appcache/ApplicationCacheHost.h:
- xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::openFunc):
LayoutTests:
- http/tests/appcache/resources/fake-video.mp4: Added.
- http/tests/appcache/resources/simple-video-sync.manifest: Added.
- http/tests/appcache/simple-video-sync-expected.txt: Added.
- http/tests/appcache/simple-video-sync.html: Added.
- 3:23 AM Changeset in webkit [183392] by
-
- 2 edits in trunk/LayoutTests
Also skip it in run-javascriptcore-tests.
- js/script-tests/class-syntax-semicolon.js:
- 3:13 AM Changeset in webkit [183391] by
-
- 2 edits in trunk/LayoutTests
Temporarily skip the test added in r183384 as it's hitting an assertion per an existing bug.
The newly uncovered bug is tracked by webkit.org/b/144258.
- 3:05 AM Changeset in webkit [183390] by
-
- 3 edits in trunk/Tools
[buildbot] Fix the output of perf-test buildstep on timeout
https://bugs.webkit.org/show_bug.cgi?id=144097
Reviewed by Ryosuke Niwa.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunAndUploadPerfTests.getText2):
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(RunAndUploadPerfTestsTest.test_buildbot_timeout):
(RunAndUploadPerfTestsTest.test_build_bad_preparation): Deleted.
- 3:02 AM Changeset in webkit [183389] by
-
- 5 edits in trunk
[EFL] TestWebKitAPI's forwarding header generator should depend on WebKit2's generator
https://bugs.webkit.org/show_bug.cgi?id=143874
Reviewed by Gyuyoung Kim.
Source/WebKit2:
- PlatformEfl.cmake: Rename the generator to have consistent name with other generators.
- Scripts/generate-forwarding-headers.pl: Removed the unnecessary multiple include-path support.
Tools:
- TestWebKitAPI/PlatformEfl.cmake: Add the new dependency.
Apr 26, 2015:
- 11:47 PM Changeset in webkit [183388] by
-
- 7 edits2 adds in trunk
[JHBuild] Move to upstream OpenWebRTC
https://bugs.webkit.org/show_bug.cgi?id=144145
Reviewed by Carlos Garcia Campos.
.:
- Source/cmake/FindOpenWebRTC.cmake: Check the presence of the
owr-gst library.
Source/WebCore:
- platform/mediastream/openwebrtc/OpenWebRTCUtilities.cpp:
(WebCore::initializeOpenWebRTC): Update with new owr_init API.
Tools:
- efl/jhbuild.modules: Switch to upstream OpenWebRTC repository
and add a new simple patch to gst-plugins-base, required for
OpenWebRTC build.
- efl/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Added.
- gtk/jhbuild.modules: Ditto.
- gtk/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Added.
- 11:17 PM Changeset in webkit [183387] by
-
- 11 edits4 adds1 delete in trunk/Source
[SOUP] Add initial implementation of NetworkProcess disk cache
https://bugs.webkit.org/show_bug.cgi?id=143872
Reviewed by Martin Robinson.
Source/WebCore:
Allow to create a GRefPtr for SoupBuffer. Even though SoupBuffer
is not a GObject and has copy/free functions instead of ref/unref,
it's internally refcounted, so we could use copy/free as
ref/unref.
- PlatformGTK.cmake:
- platform/network/soup/GRefPtrSoup.cpp: Added.
(WTF::refGPtr):
(WTF::derefGPtr):
- platform/network/soup/GRefPtrSoup.h: Added.
Source/WebKit2:
Implement the platform specific parts of the disk cache
implementation for Soup. It's mainly NetworkCache::Data and
NetworkCache::IOChannel.
- CMakeLists.txt:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::dumpFileChanged):
(WebKit::NetworkCache::Cache::initialize):
- NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
- NetworkProcess/cache/NetworkCacheData.h:
(WebKit::NetworkCache::Data::soupBuffer):
- NetworkProcess/cache/NetworkCacheDataSoup.cpp: Added.
(WebKit::NetworkCache::Data::Data):
(WebKit::NetworkCache::Data::empty):
(WebKit::NetworkCache::Data::data):
(WebKit::NetworkCache::Data::isNull):
(WebKit::NetworkCache::Data::apply):
(WebKit::NetworkCache::Data::subrange):
(WebKit::NetworkCache::concatenate):
(WebKit::NetworkCache::MapWrapper::~MapWrapper):
(WebKit::NetworkCache::deleteMapWrapper):
(WebKit::NetworkCache::mapFile):
(WebKit::NetworkCache::Data::adoptMap):
(WebKit::NetworkCache::computeSHA1):
(WebKit::NetworkCache::bytesEqual):
- NetworkProcess/cache/NetworkCacheIOChannel.h:
- NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: Added.
(WebKit::NetworkCache::IOChannel::IOChannel):
(WebKit::NetworkCache::IOChannel::open):
(WebKit::NetworkCache::fillDataFromReadBuffer):
(WebKit::NetworkCache::inputStreamReadReadyCallback):
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSync):
(WebKit::NetworkCache::outputStreamWriteReadyCallback):
(WebKit::NetworkCache::IOChannel::write):
- NetworkProcess/cache/NetworkCacheStorageSoup.cpp: Removed.
- NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::platformSetCacheModel):
(WebKit::NetworkProcess::clearDiskCache):
- PlatformGTK.cmake:
- 10:58 PM Changeset in webkit [183386] by
-
- 2 edits in trunk/LayoutTests
editing/selection/programmatic-selection-on-mac-is-directionless.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141122
- platform/wk2/TestExpectations: Mark the test as such. Unfortunately, there are
almost certainly other tests affected by this.
- 10:39 PM Changeset in webkit [183385] by
-
- 5 edits in trunk
[CSS Grid Layout] LayoutBox::hasDefiniteLogicalHeight() should consider abspos boxes as definite
https://bugs.webkit.org/show_bug.cgi?id=144144
Reviewed by Darin Adler.
Source/WebCore:
Change order in hasDefiniteLogicalHeight() ifs to consider definite
absolutely positioned elements.
Test: fast/css-grid-layout/percent-track-breadths-regarding-container-size.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::hasDefiniteLogicalHeight):
LayoutTests:
Add new test case to check absolutely positioned elements.
- fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt:
- fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:
- 10:02 PM Changeset in webkit [183384] by
-
- 2 edits in trunk/LayoutTests
Class body ending with a semicolon throws a SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=144244
Patch by Ryosuke Niwa <rniwa@webkit.org> on 2015-04-26
Reviewed by Darin Adler.
Added a regression test for having a semicolon inside the class definition.
- js/class-syntax-semicolon-expected.txt: Added.
- js/class-syntax-semicolon.html: Added.
- js/script-tests/class-syntax-semicolon.js: Added.
- 9:20 PM Changeset in webkit [183383] by
-
- 3 edits3 adds in trunk
Class body ending with a semicolon throws a SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=144244
Reviewed by Darin Adler.
Source/JavaScriptCore:
The bug was caused by parseClass's inner loop for method definitions not moving onto the next iteration
it encounters a semicolon. As a result, we always expected a method to appear after a semicolon. Fixed
it by continue'ing when it encounters a semicolon.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
LayoutTests:
Added a regression test for having a semicolon inside the class definition.
- js/class-syntax-semicolon-expected.txt: Added.
- js/class-syntax-semicolon.html: Added.
- js/script-tests/class-syntax-semicolon.js: Added.
- 9:18 PM Changeset in webkit [183382] by
-
- 7 edits in trunk
Getter or setter method named "prototype" or "constrcutor" should throw SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=144243
Reviewed by Darin Adler.
Source/JavaScriptCore:
Fixed the bug by adding explicit checks in parseGetterSetter when we're parsing class methods.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseGetterSetter):
LayoutTests:
Added tests cases to both tests. Also added test cases missing from expression tests.
- js/class-syntax-declaration-expected.txt:
- js/class-syntax-expression-expected.txt:
- js/script-tests/class-syntax-declaration.js:
- js/script-tests/class-syntax-expression.js:
- 8:51 PM Changeset in webkit [183381] by
-
- 86 edits2 adds in trunk
SVGFilterBuilder should drive the builtin sourceAlpha from the passed sourceGraphic
https://bugs.webkit.org/show_bug.cgi?id=144137
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-04-26
Reviewed by Darin Adler.
Source/WebCore:
The SourceAlpha should be driven from the last applied FilterEffect. This
will require the SourceAlpha FilterEffect to wrap a FilterEffect rather
than just getting the SourceGraphic reference from FilterEffectRenderer.
This is based on the Blink patch:
https://src.chromium.org/viewvc/blink?revision=194115&view=revision.
Test: svg/filters/sourceAlpha-input-filter-effect.html
- platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::create): Make SourceAlpha wraps a FilterEffect
rather than a Filter.
(WebCore::SourceAlpha::determineAbsolutePaintRect): Determine the paint
rect from the wrapped FilterEffect.
(WebCore::SourceAlpha::platformApplySoftware): Extract the alpha channel
from the wrapped FilterEffect.
(WebCore::SourceAlpha::SourceAlpha):
- platform/graphics/filters/SourceAlpha.h:
(WebCore::SourceAlpha::SourceAlpha): Deleted.
Reimplement the constructor of the SourceAlpha such that it wraps the
sourceEffect in its inputEffects.
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::buildReferenceFilter): Delete the FIXME
comment and do exactly what it said. This matches the implementation of
Gecko and Blink.
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::buildPrimitives):
Delete the extra argument.
- svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::SVGFilterBuilder):
- svg/graphics/filters/SVGFilterBuilder.h: Drive the SourceAlpha from the
passed source FilterEffect.
- platform/graphics/filters/FEBlend.cpp:
- platform/graphics/filters/FEBlend.h:
- platform/graphics/filters/FEColorMatrix.cpp:
- platform/graphics/filters/FEColorMatrix.h:
- platform/graphics/filters/FEComponentTransfer.cpp:
- platform/graphics/filters/FEComponentTransfer.h:
- platform/graphics/filters/FEComposite.cpp:
- platform/graphics/filters/FEComposite.h:
- platform/graphics/filters/FEConvolveMatrix.cpp:
- platform/graphics/filters/FEConvolveMatrix.h:
- platform/graphics/filters/FEDiffuseLighting.cpp:
- platform/graphics/filters/FEDiffuseLighting.h:
- platform/graphics/filters/FEDisplacementMap.cpp:
- platform/graphics/filters/FEDisplacementMap.h:
- platform/graphics/filters/FEDropShadow.cpp:
- platform/graphics/filters/FEDropShadow.h:
- platform/graphics/filters/FEFlood.cpp:
- platform/graphics/filters/FEFlood.h:
- platform/graphics/filters/FEGaussianBlur.cpp:
- platform/graphics/filters/FEGaussianBlur.h:
- platform/graphics/filters/FELighting.cpp:
- platform/graphics/filters/FELighting.h:
- platform/graphics/filters/FEMerge.cpp:
- platform/graphics/filters/FEMerge.h:
- platform/graphics/filters/FEMorphology.cpp:
- platform/graphics/filters/FEMorphology.h:
- platform/graphics/filters/FEOffset.cpp:
- platform/graphics/filters/FEOffset.h:
- platform/graphics/filters/FESpecularLighting.cpp:
- platform/graphics/filters/FESpecularLighting.h:
- platform/graphics/filters/FETile.cpp:
- platform/graphics/filters/FETile.h:
- platform/graphics/filters/FETurbulence.cpp:
- platform/graphics/filters/FETurbulence.h:
- platform/graphics/filters/Filter.h:
- platform/graphics/filters/FilterEffect.cpp:
- platform/graphics/filters/FilterEffect.h:
- platform/graphics/filters/SourceGraphic.cpp:
- platform/graphics/filters/SourceGraphic.h:
- rendering/svg/RenderSVGResourceFilter.h:
- rendering/svg/SVGRenderTreeAsText.cpp:
Code clean up: Pointer to reference conversion. It starts by converting
FilterEffect::m_filter from pointer to reference and it kept expanding.
All the creations of FilterEffect were happening by passing "this" so
passing "*this" did not require to check whether the pointer is nil.
- svg/SVGFEBlendElement.cpp:
- svg/SVGFEBlendElement.h:
- svg/SVGFEColorMatrixElement.cpp:
- svg/SVGFEColorMatrixElement.h:
- svg/SVGFEComponentTransferElement.cpp:
- svg/SVGFEComponentTransferElement.h:
- svg/SVGFECompositeElement.cpp:
- svg/SVGFECompositeElement.h:
- svg/SVGFEConvolveMatrixElement.cpp:
- svg/SVGFEConvolveMatrixElement.h:
- svg/SVGFEDiffuseLightingElement.cpp:
- svg/SVGFEDiffuseLightingElement.h:
- svg/SVGFEDisplacementMapElement.cpp:
- svg/SVGFEDisplacementMapElement.h:
- svg/SVGFEDropShadowElement.cpp:
- svg/SVGFEDropShadowElement.h:
- svg/SVGFEFloodElement.cpp:
- svg/SVGFEFloodElement.h:
- svg/SVGFEGaussianBlurElement.cpp:
- svg/SVGFEGaussianBlurElement.h:
- svg/SVGFEImageElement.cpp:
- svg/SVGFEImageElement.h:
- svg/SVGFEMergeElement.cpp:
- svg/SVGFEMergeElement.h:
- svg/SVGFEMorphologyElement.cpp:
- svg/SVGFEMorphologyElement.h:
- svg/SVGFEOffsetElement.cpp:
- svg/SVGFEOffsetElement.h:
- svg/SVGFESpecularLightingElement.cpp:
- svg/SVGFESpecularLightingElement.h:
- svg/SVGFETileElement.cpp:
- svg/SVGFETileElement.h:
- svg/SVGFETurbulenceElement.cpp:
- svg/SVGFETurbulenceElement.h:
- svg/SVGFilterPrimitiveStandardAttributes.h:
- svg/graphics/filters/SVGFEImage.cpp:
- svg/graphics/filters/SVGFEImage.h:
Code clean up: Pointer to reference and PassRefPtr<> to RefPtr<> or Ref<>
conversion.
LayoutTests:
Ensure the SourceAlpha is driven from last applied FilterEffect.
- svg/filters/sourceAlpha-input-filter-effect-expected.html: Added.
- svg/filters/sourceAlpha-input-filter-effect.html: Added.
- 8:38 PM Changeset in webkit [183380] by
-
- 2 edits in trunk/Websites/webkit.org
Improve the status page
https://bugs.webkit.org/show_bug.cgi?id=144248
Reviewed by Darin Adler.
- status.html:
Lots of minor changes:
-Add a page title.
-Do not use sync XHR. That was nice for testing but that's eveil
and it breaks Firefox.
-Start fetching the json files as soon as possible during page load,
that server takes forever to respond.
-Remove some useless CSS.
-Get rid of mustache. That template thing was awesome but it took
up to 600ms to fetch the file (plus it is not exactly efficient).
-Put both the specifications and the features in the list.
They are referencing each other with links. That seems to work pretty well.
-Use the keywords for filtering.
- 7:30 PM Changeset in webkit [183379] by
-
- 2 edits in trunk/LayoutTests
[EFL] Unreviewed EFL gardening on 27th April.
Unskip 2 tests which have been passed since r183368.
Mark editing/selection/extend-by-character-007.html to missing.
This needs to have new baseline for EFL port.
- platform/efl/TestExpectations:
- 7:04 PM Changeset in webkit [183378] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION (r174283): disabled default buttons use impossible-to-read white text on Mac
https://bugs.webkit.org/show_bug.cgi?id=144237
Reviewed by Simon Fraser.
No test because DumpRenderTree and WebKitTestRunner don't have a good method
for testing behaviors that are specific to active windows. That's the same reason
that the change that caused this bug didn't come with a regression test.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle): Renamed "e" to "element". Added a comment to
clarify the meaning of the setInsideDefaultButton function, and added an
isDisabledFormControl check so it won't trigger on a disabled button.
(WebCore::RenderTheme::systemColor): Moved CSSValueActivebuttontext into
alphabetical order to match the rest of the switch statement ordering.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor): Moved CSSValueActivebuttontext into
alphabetical order to match the rest of the switch statement ordering. Also
fixed its behavior on older versions of OS X; it should just return the same
thing that CSSValueButtontext would return in that context.
- 6:52 PM Changeset in webkit [183377] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Cannot make Timeline time range selection clicking inside Frames Overview
https://bugs.webkit.org/show_bug.cgi?id=143744
Patch by Matt Baker <Matt Baker> on 2015-04-26
Reviewed by Timothy Hatcher.
Fixed frame rate divider element style so that it is no longer a mouse event target.
- UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
(.timeline-overview-graph.rendering-frame > .divider):
- 6:25 PM Changeset in webkit [183376] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Allow Timeline tab to show resource when a go-to arrow is clicked in a recording
https://bugs.webkit.org/show_bug.cgi?id=144240
Only support showing a resource or script if we have that represented object in the Timeline sidebar.
Reviewed by Darin Adler.
- UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.prototype.canShowRepresentedObject):
- 6:24 PM Changeset in webkit [183375] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Don't use treeElement.revealAndSelect when showing a default content view
https://bugs.webkit.org/show_bug.cgi?id=144239
Using revealAndSelect will end up calling WebInspector.showRepresentedObject. That is not bad
is most cases, but if the select tab supports the same represented object, it can end up showing
the content view in the wrong tab.
Reviewed by Darin Adler.
- UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObjectInNavigationSidebar):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
(WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.showContentViewForCurrentSelection): Deleted.
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
- 5:33 PM Changeset in webkit [183374] by
-
- 2 edits3 adds in trunk
Map#forEach does not pass "map" argument to callback.
https://bugs.webkit.org/show_bug.cgi?id=144187
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-26
Reviewed by Darin Adler.
Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-map.prototype.foreach
step 7.a.i., the callback should be called with three arguments.
- runtime/MapPrototype.cpp:
(JSC::mapProtoFuncForEach):
- 5:27 PM Changeset in webkit [183373] by
-
- 37 edits3 adds in trunk
[ES6] Implement ES6 template literals
https://bugs.webkit.org/show_bug.cgi?id=142691
Reviewed by Darin Adler.
.:
Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
- Source/cmake/WebKitFeatures.cmake:
- Source/cmakeconfig.h.cmake:
Source/JavaScriptCore:
This patch implements TemplateLiteral.
Since TaggedTemplate requires some global states and
primitive operations like GetTemplateObject,
we separate the patch. It will be implemented in a subsequent patch.
Template Literal Syntax is guarded by ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
By disabling it, we can disable Template Literal support.
To implement template literals, in this patch,
we newly introduces bytecode op_to_string.
In template literals, we alternately evaluate the expression and
perform ToString onto the result of evaluation.
For example,
${f1()} ${f2()}
In this template literal, execution order is the following,
- calling f1()
- ToString(the result of f1())
- calling f2()
- ToString(the result of f2())
op_strcat also performs ToString. However, performing ToString
onto expressions are batched in op_strcat, it's not the same to the
template literal spec. In the above example,
ToString(f1()) should be called before calling f2().
- Configurations/FeatureDefines.xcconfig:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitToString):
(JSC::BytecodeGenerator::emitToNumber): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::TemplateStringNode::emitBytecode):
(JSC::TemplateLiteralNode::emitBytecode):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_to_string):
(JSC::JIT::emitSlow_op_to_string):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_to_string):
(JSC::JIT::emitSlow_op_to_string):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createTemplateString):
(JSC::ASTBuilder::createTemplateStringList):
(JSC::ASTBuilder::createTemplateExpressionList):
(JSC::ASTBuilder::createTemplateLiteral):
- parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::Lexer<T>::parseIdentifierSlowCase):
(JSC::Lexer<T>::parseString):
(JSC::LineNumberAdder::LineNumberAdder):
(JSC::LineNumberAdder::clear):
(JSC::LineNumberAdder::add):
(JSC::Lexer<T>::parseTemplateLiteral):
(JSC::Lexer<T>::lex):
(JSC::Lexer<T>::scanRegExp):
(JSC::Lexer<T>::scanTrailingTemplateString):
(JSC::Lexer<T>::parseStringSlowCase): Deleted.
- parser/Lexer.h:
- parser/NodeConstructors.h:
(JSC::TemplateExpressionListNode::TemplateExpressionListNode):
(JSC::TemplateStringNode::TemplateStringNode):
(JSC::TemplateStringListNode::TemplateStringListNode):
(JSC::TemplateLiteralNode::TemplateLiteralNode):
- parser/Nodes.h:
(JSC::TemplateExpressionListNode::value):
(JSC::TemplateExpressionListNode::next):
(JSC::TemplateStringNode::cooked):
(JSC::TemplateStringNode::raw):
(JSC::TemplateStringListNode::value):
(JSC::TemplateStringListNode::next):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseTemplateString):
(JSC::Parser<LexerType>::parseTemplateLiteral):
(JSC::Parser<LexerType>::parsePrimaryExpression):
- parser/Parser.h:
- parser/ParserTokens.h:
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createTemplateString):
(JSC::SyntaxChecker::createTemplateStringList):
(JSC::SyntaxChecker::createTemplateExpressionList):
(JSC::SyntaxChecker::createTemplateLiteral):
(JSC::SyntaxChecker::createSpreadExpression): Deleted.
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
- tests/stress/template-literal-line-terminators.js: Added.
(test):
(testEval):
(testEvalLineNumber):
- tests/stress/template-literal-syntax.js: Added.
(testSyntax):
(testSyntaxError):
- tests/stress/template-literal.js: Added.
(test):
(testEval):
(testEmbedded):
Source/WebCore:
Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
- Configurations/FeatureDefines.xcconfig:
Tools:
Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
- Scripts/webkitperl/FeatureList.pm:
- 4:41 PM Changeset in webkit [183372] by
-
- 4 edits in trunk/Source/WebKit2
Remove PluginView::renderer().
https://bugs.webkit.org/show_bug.cgi?id=144216
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-04-26
Reviewed by Darin Adler.
Nobody should have to know about the plug-in view's renderer except the plug-in view itself.
No new tests, no behavior change.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::convertFromScrollbarToContainingView):
(WebKit::PDFPlugin::convertFromContainingViewToScrollbar):
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::renderer): Deleted.
- WebProcess/Plugins/PluginView.h:
- 3:54 PM Changeset in webkit [183371] by
-
- 2 edits3 adds in trunk
Set#forEach does not pass "key" or "set" arguments to callback.
https://bugs.webkit.org/show_bug.cgi?id=144188
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-26
Reviewed by Darin Adler.
Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set.prototype.foreach
Set#forEach should pass 3 arguments to the callback.
- runtime/SetPrototype.cpp:
(JSC::setProtoFuncForEach):
- 3:44 PM Changeset in webkit [183370] by
-
- 11 edits2 adds in trunk
[CSS Grid Layout] Support for align-self and align-items in grid layout
https://bugs.webkit.org/show_bug.cgi?id=133225
Reviewed by Darin Adler.
Source/WebCore:
Implementation of align-self and align-items properties for grid. It supports
different writing-modes and direction. Margins, borders and paddings are also
considered when computing the final position and stretched size.
Overflow handling is still missing and will be added when implemented row-axis
alignment support.
Test: fast/css-grid-layout/grid-align.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeight):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::logicalContentHeightForChild):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::computeOverflowAlignmentOffset):
(WebCore::RenderGrid::endOfRowForChild):
(WebCore::RenderGrid::startOfRowForChild):
(WebCore::RenderGrid::centeredRowPositionForChild):
(WebCore::marginWidthForChild):
(WebCore::marginHeightForChild):
(WebCore::RenderGrid::allowedToStretchLogicalHeightForChild):
(WebCore::RenderGrid::needToStretchChildLogicalHeight):
(WebCore::RenderGrid::marginLogicalHeightForChild):
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching):
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::findChildLogicalPosition):
(WebCore::RenderGrid::populateGridPositions): Deleted.
- rendering/RenderGrid.h:
LayoutTests:
Implementation of align-self and align-items properties ifor grid.
Several layout tests were touched for adapting them to the new grid item's
column-axis position when using RTL direction.
- fast/css-grid-layout/grid-align-expected.txt: Added.
- fast/css-grid-layout/grid-align.html: Added.
- fast/css-grid-layout/grid-element-border-grid-item.html:
- fast/css-grid-layout/grid-element-border-padding-grid-item.html:
- fast/css-grid-layout/grid-element-padding-grid-item.html:
- fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl-expected.html:
- fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl-expected.html:
- fast/css-grid-layout/grid-item-margin-resolution.html:
- 3:31 PM Changeset in webkit [183369] by
-
- 2 edits in trunk/Tools
[CMake][EFL] Remove unnecessary include, library path in WebKitTestRunner/PlatformEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=144217
Reviewed by Darin Adler.
- WebKitTestRunner/PlatformEfl.cmake:
- 3:17 PM Changeset in webkit [183368] by
-
- 74 edits3 copies8 adds in trunk
AX: richer text change notifications (142719)
https://bugs.webkit.org/show_bug.cgi?id=142719
Patch by Doug Russell <d_russell@apple.com> on 2015-04-26
Reviewed by Darin Adler.
Richer accessibility value change notifications. Introduce AXTextEditType,
postTextStateChangeNotification and postTextReplacementNotification to give assistive
tech apps more reliable context for responding to changes in web content. Also implement
a mechanism to post value changes in password form fields in coalesced ticks to thwart
analyzing the cadence of changes.
Richer accessibility selection change notifications. Introduce AXTextStateChangeIntent,
and an overload of postTextReplacementNotification to give assistive tech apps more
reliable context for responding to changes in web content selection. Also block posting
selection changes on password fields.
Source/WebCore:
Tests: platform/mac/accessibility/input-replacevalue-userinfo.html
platform/mac/accessibility/selection-change-userinfo.html
platform/mac/accessibility/value-change-userinfo.html
- CMakeLists.txt:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::passwordNotificationPostTimerFired):
(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::setTextSelectionIntent):
(WebCore::isPasswordFieldOrContainedByPasswordField):
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::enqueuePasswordValueChangeNotification):
(WebCore::AXObjectCache::rootWebArea):
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::selectedChildrenChanged): Deleted.
(WebCore::AXObjectCache::frameLoadingEventNotification): Deleted.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::computedObjectAttributeCache): Deleted.
(WebCore::AXObjectCache::getOrCreate): Deleted.
(WebCore::AXObjectCache::attachWrapper): Deleted.
- accessibility/AXTextStateChangeIntent.h: Added.
(WebCore::AXTextStateChangeIntent::AXTextStateChangeIntent):
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::passwordFieldOrContainingPasswordField):
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isContainedByPasswordField):
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::passwordFieldOrContainingPasswordField):
(WebCore::AccessibilityObject::isPasswordField): Deleted.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
- accessibility/AccessibilityScrollView.h:
- accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
- accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::setShouldRepostNotificationsForTests):
(WebCore::AXPostNotificationWithUserInfo):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::textReplacementChangeDictionary):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
- accessibility/mac/WebAccessibilityObjectWrapperBase.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(+[WebAccessibilityObjectWrapperBase accessibilitySetShouldRepostNotifications:]):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:]):
(arrayRemovingNonJSONTypes):
(dictionaryRemovingNonJSONTypes):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:userInfo:]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(textMarkerRangeFromVisiblePositions):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
- editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::AppendNodeCommand):
(WebCore::sendAXTextChangedIgnoringLineBreaks):
(WebCore::AppendNodeCommand::doApply):
(WebCore::AppendNodeCommand::doUnapply):
- editing/AppendNodeCommand.h:
(WebCore::AppendNodeCommand::create):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::ApplyStyleCommand):
(WebCore::ApplyStyleCommand::applyBlockStyle): Deleted.
- editing/ApplyStyleCommand.h:
- editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::unapplyEditType):
(WebCore::CompositeEditCommand::CompositeEditCommand):
(WebCore::CompositeEditCommand::apply):
(WebCore::CompositeEditCommand::insertParagraphSeparator):
(WebCore::CompositeEditCommand::insertNodeBefore):
(WebCore::CompositeEditCommand::appendNode):
(WebCore::CompositeEditCommand::removeNodePreservingChildren):
(WebCore::CompositeEditCommand::insertTextIntoNode):
(WebCore::CompositeEditCommand::deleteTextFromNode):
(WebCore::CompositeEditCommand::replaceTextInNode):
(WebCore::CompositeEditCommand::moveParagraphs):
(WebCore::EditCommandComposition::getNodesInCommand): Deleted.
(WebCore::CompositeEditCommand::applyStyle): Deleted.
(WebCore::CompositeEditCommand::insertLineBreak): Deleted.
(WebCore::CompositeEditCommand::insertNodeAt): Deleted.
(WebCore::CompositeEditCommand::removeChildrenInRange): Deleted.
(WebCore::CompositeEditCommand::inputText): Deleted.
- editing/CompositeEditCommand.h:
- editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
- editing/DeleteFromTextNodeCommand.h:
(WebCore::DeleteFromTextNodeCommand::create):
(WebCore::DeleteFromTextNodeCommand::deletedText):
- editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
(WebCore::DeleteSelectionCommand::preservesTypingStyle): Deleted.
- editing/DeleteSelectionCommand.h:
(WebCore::DeleteSelectionCommand::create):
- editing/DictationCommand.cpp:
(WebCore::DictationCommand::insertTextRunWithoutNewlines):
(WebCore::DictationCommand::insertParagraphSeparator):
- editing/EditAction.h:
- editing/EditCommand.cpp:
(WebCore::EditCommand::EditCommand):
(WebCore::EditCommand::editingAction):
(WebCore::EditCommand::applyEditType):
(WebCore::EditCommand::unapplyEditType):
(WebCore::SimpleEditCommand::SimpleEditCommand):
(WebCore::SimpleEditCommand::notifyAccessibilityForTextChange):
(WebCore::EditCommand::setParent): Deleted.
- editing/EditCommand.h:
- editing/EditingAllInOne.cpp:
- editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::deleteSelectionWithSmartDelete):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::replaceSelectionWithText):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::transpose):
(WebCore::Editor::changeSelectionAfterCommand):
- editing/Editor.h:
- editing/EditorCommand.cpp:
(WebCore::executeInsertFragment):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveTo):
(WebCore::FrameSelection::moveWithoutValidationTo):
(WebCore::FrameSelection::setSelectionByMouseIfDifferent):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateAndRevealSelection):
(WebCore::isBoundary):
(WebCore::FrameSelection::textSelectionIntent):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::wordSelectionContainingCaretSelection):
(WebCore::FrameSelection::modifyMovingBackward): Deleted.
(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected): Deleted.
(WebCore::FrameSelection::selectionAtWordStart): Deleted.
- editing/FrameSelection.h:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
(WebCore::FrameSelection::selection): Deleted.
- editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
- editing/InsertIntoTextNodeCommand.h:
(WebCore::InsertIntoTextNodeCommand::create):
(WebCore::InsertIntoTextNodeCommand::insertedText):
- editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
- editing/InsertNodeBeforeCommand.h:
(WebCore::InsertNodeBeforeCommand::create):
- editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
- editing/InsertParagraphSeparatorCommand.h:
(WebCore::InsertParagraphSeparatorCommand::create):
- editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::InsertTextCommand):
- editing/InsertTextCommand.h:
(WebCore::InsertTextCommand::create):
(WebCore::InsertTextCommand::createWithMarkerSupplier):
- editing/MoveSelectionCommand.cpp:
(WebCore::MoveSelectionCommand::doApply):
- editing/RemoveNodePreservingChildrenCommand.cpp:
(WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
- editing/RemoveNodePreservingChildrenCommand.h:
(WebCore::RemoveNodePreservingChildrenCommand::create):
- editing/ReplaceDeleteFromTextNodeCommand.cpp: Copied from Source/WebCore/editing/AppendNodeCommand.h.
(WebCore::ReplaceDeleteFromTextNodeCommand::ReplaceDeleteFromTextNodeCommand):
(WebCore::ReplaceDeleteFromTextNodeCommand::notifyAccessibilityForTextChange):
- editing/ReplaceDeleteFromTextNodeCommand.h: Copied from Source/WebCore/editing/AppendNodeCommand.h.
- editing/ReplaceInsertIntoTextNodeCommand.cpp: Added.
(WebCore::ReplaceInsertIntoTextNodeCommand::ReplaceInsertIntoTextNodeCommand):
(WebCore::ReplaceInsertIntoTextNodeCommand::notifyAccessibilityForTextChange):
- editing/ReplaceInsertIntoTextNodeCommand.h: Copied from Source/WebCore/editing/RemoveNodePreservingChildrenCommand.h.
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
(WebCore::ReplaceSelectionCommand::InsertedNodes::didReplaceNode): Deleted.
(WebCore::ReplaceSelectionCommand::insertAsListItems): Deleted.
- editing/ReplaceSelectionCommand.h:
(WebCore::ReplaceSelectionCommand::create):
- editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::insertParagraphSeparator):
- editing/atk/FrameSelectionAtk.cpp:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
- editing/ios/DictationCommandIOS.cpp:
(WebCore::DictationCommandIOS::DictationCommandIOS):
- editing/ios/DictationCommandIOS.h:
- editing/mac/FrameSelectionMac.mm:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
- page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
- page/EventHandler.cpp:
(WebCore::setInitialKeyboardSelection):
- page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder):
Source/WebKit/mac:
- WebCoreSupport/WebEditorClient.mm:
(undoNameForEditAction):
Source/WebKit2:
- UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::nameForEditAction):
Tools:
- DumpRenderTree/mac/AccessibilityNotificationHandler.h:
- DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler stopObserving]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::removeNotificationListener):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::removeNotificationListener):
LayoutTests:
- platform/mac/accessibility/input-replacevalue-userinfo-expected.txt: Added.
- platform/mac/accessibility/input-replacevalue-userinfo.html: Added.
- platform/mac/accessibility/selection-change-userinfo-expected.txt: Added.
- platform/mac/accessibility/selection-change-userinfo.html: Added.
- platform/mac/accessibility/value-change-userinfo-expected.txt: Added.
- platform/mac/accessibility/value-change-userinfo.html: Added.
- 2:26 PM Changeset in webkit [183367] by
-
- 1 edit in trunk/Source/WebCore/ChangeLog
refine
- 2:25 PM Changeset in webkit [183366] by
-
- 6 edits2 adds in trunk
REGRESSION (r176751): line-height ignored in <button> elements
https://bugs.webkit.org/show_bug.cgi?id=144234
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/forms/button-line-height.html
- platform/Theme.h: Changed controlFont to return an Optional so we can tell
when the theme is overriding the font. Otherwise if the font from the user-agent
style sheet and the font from the theme are the same, we will think we are not
overriding the font when we actually are.
- platform/mac/ThemeMac.h: Updated controlFont to return Optional.
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::controlFont): Ditto.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle): Set line height only if the font is
overriden by the theme, all the time for PushButtonPart on Mac, and not at all
for other parts. Also tightened up the logic a little since RenderStyle's
setFontDescription already does an "==" comparison; we don't have to do
that twice.
LayoutTests:
- fast/forms/button-line-height-expected.html: Added.
- fast/forms/button-line-height.html: Added.
- 2:18 PM Changeset in webkit [183365] by
-
- 4 edits2 adds in trunk
REGRESSION (r173801): Use after free in WebCore::NotificationCenter::~NotificationCenter
https://bugs.webkit.org/show_bug.cgi?id=137163
Reviewed by Andy Estes.
Source/WebCore:
Test: fast/notifications/request-notification-permission-while-reloading.html
The test doesn't crash under WebKit2, but that's still OK for our purposes.
- Modules/notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::NotificationCenter): Initialize m_timer.
(WebCore::NotificationCenter::createNotification): Moved here from the header.
(WebCore::NotificationCenter::requestPermission): Start the timer and ref the notification
center when we need to defer a callback. Also use a lambda for the callback and changed
the argument to match what the bindings actually pass. Before we said PassRefPtr, but the
bindings were not transferring ownership of the VoidCallback. The new type is a little
strange but it's consistent with how the bindings work right now.
(WebCore::NotificationCenter::timerFired): Added. Calls all the callbacks, then does a deref
to match the ref we did above.
(WebCore::NotificationCenter::requestTimedOut): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::createAndStartTimer): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::startTimer): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::timerFired): Deleted.
- Modules/notifications/NotificationCenter.h: Reorganized the header to be a bit more tidy.
Changed the argument type for requestPermission to match the reality of what's passed by the
bindings. Removed NotificationRequestCallback and replaced the m_callbacks HashSet with a
vector of std::function.
LayoutTests:
- fast/notifications/request-notification-permission-while-reloading-expected.txt: Added.
- fast/notifications/request-notification-permission-while-reloading.html: Added.
- 1:38 PM Changeset in webkit [183364] by
-
- 15 edits in trunk/Source/WebCore
Modernize animations code
https://bugs.webkit.org/show_bug.cgi?id=144196
Reviewed by Darin Adler.
General cleanup in animation-related code.
Use C++ references where possible. Use modern loops. Make classes fast-allocated.
Use C++11 member initialization. Order member variables to optimize packing.
This removes some null checks in CompositeAnimation, but the values in m_transitions
and m_keyframeAnimations can never be null.
No behavior change.
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::AnimationBase):
(WebCore::AnimationBase::animationsMatch):
(WebCore::AnimationBase::updateStateMachine):
(WebCore::AnimationBase::fireAnimationEventsIfNeeded):
(WebCore::AnimationBase::beginAnimationUpdateTime):
(WebCore::AnimationBase::getElapsedTime):
- page/animation/AnimationBase.h:
(WebCore::AnimationBase::animation):
(WebCore::AnimationBase::setAnimation):
- page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::CompositeAnimation):
(WebCore::CompositeAnimation::clearRenderer):
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
(WebCore::CompositeAnimation::getAnimatedStyle):
(WebCore::CompositeAnimation::timeToNextService):
(WebCore::CompositeAnimation::getAnimationForProperty):
(WebCore::CompositeAnimation::computeExtentOfTransformAnimation):
(WebCore::CompositeAnimation::suspendAnimations):
(WebCore::CompositeAnimation::resumeAnimations):
(WebCore::CompositeAnimation::overrideImplicitAnimations):
(WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
(WebCore::CompositeAnimation::isAnimatingProperty):
(WebCore::CompositeAnimation::pauseTransitionAtTime):
(WebCore::CompositeAnimation::numberOfActiveAnimations):
- page/animation/CompositeAnimation.h:
(WebCore::CompositeAnimation::create):
(WebCore::CompositeAnimation::animationController):
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::ImplicitAnimation):
(WebCore::ImplicitAnimation::sendTransitionEvent):
- page/animation/ImplicitAnimation.h:
(WebCore::ImplicitAnimation::create):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::animate):
(WebCore::KeyframeAnimation::getAnimatedStyle):
(WebCore::KeyframeAnimation::computeExtentOfTransformAnimation):
(WebCore::KeyframeAnimation::startAnimation):
(WebCore::KeyframeAnimation::sendAnimationEvent):
(WebCore::KeyframeAnimation::overrideAnimations):
(WebCore::KeyframeAnimation::resumeOverriddenAnimations):
(WebCore::KeyframeAnimation::timeToNextService):
- page/animation/KeyframeAnimation.h:
- platform/animation/Animation.cpp:
(WebCore::Animation::animationsMatch):
- platform/animation/Animation.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::performOverlapTests):
- rendering/style/KeyframeList.h:
(WebCore::KeyframeList::properties):
(WebCore::KeyframeList::keyframes):
(WebCore::KeyframeList::beginProperties): Deleted.
(WebCore::KeyframeList::endProperties): Deleted.
(WebCore::KeyframeList::operator[]): Deleted.
- rendering/style/RenderStyle.h:
- 1:36 PM Changeset in webkit [183363] by
-
- 4 edits in tags/Safari-601.1.30/Source/WebKit2
Merged r183360. rdar://problem/20702337
- 1:22 PM Changeset in webkit [183362] by
-
- 5 edits in trunk/Source
Versioning.
- 1:20 PM Changeset in webkit [183361] by
-
- 1 copy in tags/Safari-601.1.30
New tag.
- 1:20 PM Changeset in webkit [183360] by
-
- 4 edits in trunk/Source/WebKit2
<rdar://problem/20702337> REGRESSION (r182952): Plug-in service fails to load because it links against WebKit2.framework
https://bugs.webkit.org/show_bug.cgi?id=144233
Reviewed by Simon Fraser.
Have the plug-in service link against WebKit.framework rather than WebKit2.framework.
- Configurations/PluginService.32.xcconfig: Removed linker flags for linking against WebKit2
and Foundation from the definition of OTHER_LDFLAGS. Since linking is no longer conditional,
we can just do it in the target’s Link Binary With Libraries build phase.
- Configurations/PluginService.64.xcconfig: Ditto.
- WebKit2.xcodeproj/project.pbxproj: Have Foundation and WebKit listed in the services’ Link
Binariy With Libraries build phases (one service already had WebKit).
- 12:57 PM Changeset in webkit [183359] by
-
- 1 edit1 add in trunk/Websites/webkit.org
Start a basic status page on webkit.org
https://bugs.webkit.org/show_bug.cgi?id=143940
Patch by Benjamin Poulain <benjamin@webkit.org>, Chris Bateman <chrisb808@gmail.com> on 2015-04-26
Reviewed by Darin Adler.
- status.html: Added.
Nothing fancy, for now just show the "features" list of the two features.json
- 12:55 PM Changeset in webkit [183358] by
-
- 30 edits4 adds3 deletes in trunk
[JSC] Implement Math.clz32(), remove Number.clz()
https://bugs.webkit.org/show_bug.cgi?id=144205
Reviewed by Michael Saboff.
Source/JavaScriptCore:
This patch adds the ES6 function Math.clz32(), and remove the non-standard
Number.clz(). Number.clz() probably came from an older draft.
The new function has a corresponding instrinsic: Clz32Intrinsic,
and a corresponding DFG node: ArithClz32, optimized all the way to LLVM.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::countLeadingZeros32):
- assembler/X86Assembler.h:
(JSC::X86Assembler::bsr_rr):
The x86 assembler did not have countLeadingZeros32() because there is
no native CLZ instruction on that architecture.
I have added the version with bsr + branches for the case of zero.
An other popular version uses cmov to handle the case of zero. I kept
it simple since the Assembler has no support for cmov.
It is unlikely to matter much. If the code is hot enough, LLVM picks
something good based on the surrounding code.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
Constant handling + effect propagation. The node only produces integer (between 0 and 32).
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
Thanks to the definition of toUint32(), we can ignore plenty of details
from doubles.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithClz32):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLIntrinsicRepository.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithClz32):
- ftl/FTLOutput.h:
(JSC::FTL::Output::ctlz32):
- jit/ThunkGenerators.cpp:
(JSC::clz32ThunkGenerator):
- jit/ThunkGenerators.h:
- runtime/Intrinsic.h:
- runtime/MathCommon.h:
(JSC::clz32):
Fun fact: InstCombine does not recognize this pattern to eliminate
the branch which makes our FTL version better than the C version.
- runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
(JSC::mathProtoFuncClz32):
- runtime/NumberPrototype.cpp:
(JSC::clz): Deleted.
(JSC::numberProtoFuncClz): Deleted.
- runtime/VM.cpp:
(JSC::thunkGeneratorForIntrinsic):
- tests/stress/math-clz32-basics.js: Added.
(mathClz32OnInteger):
(testMathClz32OnIntegers):
(verifyMathClz32OnIntegerWithOtherTypes):
(mathClz32OnDouble):
(testMathClz32OnDoubles):
(verifyMathClz32OnDoublesWithOtherTypes):
(mathClz32NoArguments):
(mathClz32TooManyArguments):
(testMathClz32OnConstants):
(mathClz32StructTransition):
(Math.clz32):
LayoutTests:
Basic conformance tests.
- js/Object-getOwnPropertyNames-expected.txt:
- js/math-clz32-expected.txt: Added.
- js/math-clz32.html: Renamed from LayoutTests/js/number-clz.html.
- js/number-clz-expected.txt: Removed.
- js/script-tests/Object-getOwnPropertyNames.js:
- js/script-tests/math-clz32.js: Added.
(objectConvertToString.toString):
(objectRecordToStringCall.toString):
(objectThrowOnToString.toString):
(objectWithValueOf.valueOf):
(objectThrowOnValueOf.valueOf):
(objectThrowOnValueOf.toString):
(objectRecordValueOfCall.valueOf):
(objectRecordConversionCalls.toString):
(objectRecordConversionCalls.valueOf):
- js/script-tests/number-clz.js: Removed.
- 12:52 PM Changeset in webkit [183357] by
-
- 7 edits2 adds in trunk
[ES6] Array.from need to accept iterables
https://bugs.webkit.org/show_bug.cgi?id=141055
Reviewed by Darin Adler.
Source/JavaScriptCore:
ES6 spec requires that Array.from accepts iterable objects.
This patch introduces this functionality, Array.from accepting iterable objects.
Currently,
isConstructor
is not used. Instead of it,typeof thiObj === "function"
is used.
However, it doesn't conform to the spec. WhileisConstructor
queries the given object has[[Construct]]
,
typeof thisObj === "function"
queries the given object has[[Call]]
.
This will be fixed in the subsequent patch[1].
[1]: https://bugs.webkit.org/show_bug.cgi?id=144093
- builtins/ArrayConstructor.js:
(from):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- tests/stress/array-from-with-iterable.js: Added.
(shouldBe):
(.set for):
(.set var):
(.get var):
(argumentsGenerators):
(.set shouldBe):
(.set new):
- tests/stress/array-from-with-iterator.js: Added.
(shouldBe):
(shouldThrow):
(createIterator.iterator.return):
(createIterator):
(.):
LayoutTests:
Array.from now accepts iterables.
- js/array-from-expected.txt:
- 11:45 AM Changeset in webkit [183356] by
-
- 17 edits in trunk/LayoutTests
New baselines for iOS.
- platform/ios-simulator-wk2/compositing/contents-scale/rounded-contents-scale-expected.txt:
- platform/ios-simulator-wk2/compositing/contents-scale/scaled-ancestor-expected.txt:
- platform/ios-simulator-wk2/compositing/contents-scale/simple-scale-expected.txt:
- platform/ios-simulator-wk2/compositing/contents-scale/z-translate-expected.txt:
- platform/ios-simulator-wk2/compositing/repaint/invalidations-on-composited-layers-expected.txt:
- platform/ios-simulator-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/2d-transformed-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/3d-transformed-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/clipped-by-viewport-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/clipped-visible-rect-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/flipped-preserve-3d-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/iframe-and-layers-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/nested-transform-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/scrolled-expected.txt:
- 11:25 AM Changeset in webkit [183355] by
-
- 1 edit2 adds in trunk/LayoutTests
New WK1 results for this test.
- platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt: Added.
- 10:24 AM Changeset in webkit [183354] by
-
- 49 edits1 copy1 add in trunk
Expand compositing coverage rect when scrolling and animating
https://bugs.webkit.org/show_bug.cgi?id=144214
rdar://problem/20695926
Reviewed by Darin Adler.
Source/WebCore:
r183300 added a secondary rect that gets mapped through graphics layers during
layer flushing, which represents a rect, in layer coordinates, that represents
the portion of this layer that's visible in the viewport.
This patch extends that rect based on scrolling and animating, with the extended
coverage rect being mapped into descendants (where it's used to determine whether
they should detach their backing store). This required moving the responsibility for
extending the coverage rect from TileController (where it was used to compute
tiled extent), to GraphicsLayerCA. Thus, GraphicsLayerCA now owns the concept
of coverage rect, and pushes it onto TileControllers.
Test: compositing/tiling/transform-origin-tiled.html
- platform/graphics/TiledBacking.h: Coverage rect is now pushed onto
TiledBacking from outside; new functions reflect that.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): No need to pass
old visible rect to commitLayerChangesBeforeSublayers.
(WebCore::accumulatesTransform):
(WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush): Now calls computeVisibleAndCoverageRect(),
then adjustCoverageRect() which adjusts for scrolling and animations.
(WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect): Fetch the coverage rect from the
TransformState, but we can only use this if mapping it through various transforms didn't clamp
it (which can happen with severe rotations in perspective).
(WebCore::GraphicsLayerCA::adjustCoverageRect): If this layer represents the page tiled backing,
ask the TileController to do coverage adjustment (code which should move into here eventually).
For other tiled layers, do motion-based adjustment. This should really be done for all layers
(an animating non-tiled layer may contain a tiled layer).
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects): The VisibleRectChanged wasn't needed
any more; layers only react to changed in coverage rect now.
(WebCore::GraphicsLayerCA::recursiveCommitChanges): If adjustCoverageRect() changed the
coverage rect, here we push the new rect back into the TransformState so it will affect
descendants.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateCoverage): Coverage and backing store attachment go
hand-in-hand now.
(WebCore::GraphicsLayerCA::changeLayerTypeTo):
(WebCore::GraphicsLayerCA::computeVisibleRect): Deleted.
(WebCore::GraphicsLayerCA::updateBackingStoreAttachment): Deleted.
(WebCore::GraphicsLayerCA::updateVisibleRect): Deleted.
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setVisibleRect): Visible rect is only used for scroll performance
logging now.
(WebCore::TileController::setCoverageRect):
(WebCore::TileController::tilesWouldChangeForCoverageRect):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::boundsForSize): This is required because when computeTileCoverageRect()
is called at the top of committing the owning layer, we haven't yet pushed a new size to the
underlying platform layer (which TileController::bounds() consults).
(WebCore::TileController::bounds):
(WebCore::TileController::computeTileCoverageRect): Have to push the new size in, since the
underlying layer hasn't been updated yet.
(WebCore::TileController::didRevalidateTiles):
(WebCore::TileController::tilesWouldChangeForVisibleRect): Deleted.
- platform/graphics/ca/TileController.h:
- platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::TileCoverageMap): Add a layer to the tile map that shows
a dark blue outline for the coverage rect.
(WebCore::TileCoverageMap::update): Fix some minor issues with map position when top
content inset is non-zero.
- platform/graphics/ca/TileCoverageMap.h:
- platform/graphics/ca/TileGrid.cpp: Everything is in terms of coverage rect now.
(WebCore::TileGrid::tilesWouldChangeForCoverageRect):
(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::tilesWouldChangeForVisibleRect): Deleted.
- platform/graphics/ca/TileGrid.h:
- platform/graphics/transforms/TransformState.cpp:
(WebCore::TransformState::operator=):
(WebCore::TransformState::mappedQuad): Pass direction into mapQuad().
(WebCore::TransformState::mappedSecondaryQuad): Ditto.
(WebCore::TransformState::setLastPlanarSecondaryQuad): This function allows a caller
to pass in a secondary quad, and get it mapped into the coordinate space of the last
"flattening" state (since the TransformState may have in-flight XY offset, or transform).
This mapping is achieved by re-using mapQuad(), but in the inverse direction.
(WebCore::TransformState::mapQuad): Make direction a parameter.
(WebCore::TransformState::flattenWithTransform): This code omitted to map the secondary
quad. Failure was detected by tests.
- platform/graphics/transforms/TransformState.h:
(WebCore::TransformState::isMappingSecondaryQuad):
(WebCore::TransformState::direction):
(WebCore::TransformState::inverseDirection):
(WebCore::TransformState::lastPlanarSecondaryQuad): Deleted.
LayoutTests:
New baselines for tests dumping layer output, with coverage rect being affected
by this changeset. One new test for tiling a layer inside overflow:hidden with transform-origin.
- compositing/contents-scale/animating-expected.txt:
- compositing/contents-scale/rounded-contents-scale-expected.txt:
- compositing/contents-scale/scaled-ancestor-expected.txt:
- compositing/contents-scale/simple-scale-expected.txt:
- compositing/tiling/transform-origin-tiled.html: Added.
- platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
- platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/mac/compositing/visible-rect/2d-transformed-expected.txt:
- platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
- platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt:
- platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt:
- platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt:
- platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
- platform/mac/compositing/visible-rect/scrolled-expected.txt:
- 8:47 AM Changeset in webkit [183353] by
-
- 2 edits in trunk/Source/WebKit2
Fixed the build.
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _showDocumentPickerMenu]): Suppressed deprecation warnings around use
of -[UIDocumentMenuViewController _setIgnoreApplicationEntitlementForImport:].
- 6:00 AM Changeset in webkit [183352] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Vertically misaligned text in Object Trees
https://bugs.webkit.org/show_bug.cgi?id=144029
Reviewed by Timothy Hatcher.
Remove top offset for object tree property titles to fix alignment issue since applying -webkit-system-font
font family to these (http://trac.webkit.org/changeset/182982).
- UserInterface/Views/ObjectTreePropertyTreeElement.css:
(.object-tree-property > .titles):
Apr 25, 2015:
- 11:54 PM Changeset in webkit [183351] by
-
- 2 edits in trunk/LayoutTests
Mark some tests that take >10 seconds on debug bots as slow.
This is too close to 30 second timeout, so it's likely that these tests would flakily
time out on other configurations, e.g. locally.
- 11:06 PM Changeset in webkit [183350] by
-
- 19 edits in trunk/Source/WebCore
Updated expected bindings generation test results after r183343.
- bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
- bindings/scripts/test/ObjC/DOMTestCallback.h:
- bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
- bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
- bindings/scripts/test/ObjC/DOMTestEventTarget.h:
- bindings/scripts/test/ObjC/DOMTestException.h:
- bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
- bindings/scripts/test/ObjC/DOMTestInterface.h:
- bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
- bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
- bindings/scripts/test/ObjC/DOMTestNode.h:
- bindings/scripts/test/ObjC/DOMTestNondeterministic.h:
- bindings/scripts/test/ObjC/DOMTestObj.h:
- bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
- bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
- bindings/scripts/test/ObjC/DOMTestTypedefs.h:
- bindings/scripts/test/ObjC/DOMattribute.h:
- bindings/scripts/test/ObjC/DOMreadonly.h:
- 11:00 PM Changeset in webkit [183349] by
-
- 4 edits1 delete in trunk/Source/WebKit2
Further update gesture swipe shadow style
https://bugs.webkit.org/show_bug.cgi?id=144215
<rdar://problem/19295843>
Reviewed by Dan Bernstein.
- Resources/mac/SwipeShadow.png: Removed.
- Resources/mac/SwipeShadow@2x.png: Removed.
- UIProcess/mac/ViewGestureController.h:
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
- WebKit2.xcodeproj/project.pbxproj:
Use a CAGradientLayer instead of PNGs for the swipe shadow.
- 10:20 PM Changeset in webkit [183348] by
-
- 5 edits in trunk
font-synthesis's initial value is "style weight"
https://bugs.webkit.org/show_bug.cgi?id=144195
Reviewed by Darin Adler.
Source/WebCore:
Updated fast/css3-text/font-synthesis-parse.html.
- rendering/style/RenderStyle.h:
LayoutTests:
Updating test.
- fast/css3-text/font-synthesis-parse-expected.txt:
- fast/css3-text/font-synthesis-parse.html:
- 9:16 PM Changeset in webkit [183347] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r183305.
https://bugs.webkit.org/show_bug.cgi?id=144213
Crashes on wikipedia (Requested by litherum on #webkit).
Reverted changeset:
"[Cocoa] FontPlatformData's equality check should always use
reference URLs"
https://bugs.webkit.org/show_bug.cgi?id=144168
http://trac.webkit.org/changeset/183305
- 9:12 PM Changeset in webkit [183346] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught exception ReferenceError: Can't find variable: message LogContentView.js
https://bugs.webkit.org/show_bug.cgi?id=144210
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-25
Reviewed by Timothy Hatcher.
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._reappendProvisionalMessages):
With recent refactorings this change was missed.
- 8:42 PM Changeset in webkit [183345] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught exception using WebInspector.contentBrowser
https://bugs.webkit.org/show_bug.cgi?id=144206
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-25
Reviewed by Timothy Hatcher.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
Use the current tab's content browser since a global one no longer exists.
- 7:33 PM Changeset in webkit [183344] by
-
- 2 edits in trunk/Tools
Add myself to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=144204
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-04-25
Reviewed by Darin Adler.
- Scripts/webkitpy/common/config/contributors.json:
- 6:38 PM Changeset in webkit [183343] by
-
- 5 edits in trunk/Source
Source/WebCore:
WebCore part of <rdar://problem/20697966> Avoid using TBD as an argument to NS_AVAILABLE
https://bugs.webkit.org/show_bug.cgi?id=144201
Reviewed by Darin Adler.
Instead of TBD, use the high version number to which it corresponds in CFAvailability.h,
9876.5.
- bindings/objc/WebKitAvailability.h: Added a definition of NSi_9876_5, so that we can
use 9876_5 in availability macros. Removed the definition of
AVAILABILITY_INTERNALMAC_TBD, which will no longer be used.
- bindings/scripts/CodeGeneratorObjC.pm:
(ReadPublicInterfaces): Use 9876_5 instead of TBD.
Source/WebKit2:
WebKit2 part of <rdar://problem/20697966> Avoid using TBD as an argument to NS_AVAILABLE
https://bugs.webkit.org/show_bug.cgi?id=144201
Reviewed by Darin Adler.
Instead of TBD, we use the high version number to which it corresponds in CFAvailability.h,
9876.5.
- mac/MigrateHeadersFromWebKitLegacy.make: To detect not-yet-available declarations in
headers, look for "9876_5" rather than "TBA".
- 6:28 PM Changeset in webkit [183342] by
-
- 4 edits in trunk/Source
Update localized strings.
Source/WebCore:
- English.lproj/Localizable.strings: Updated.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js: Updated.
- 6:27 PM Changeset in webkit [183341] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Make JSContext debugging work with Tabs UI
https://bugs.webkit.org/show_bug.cgi?id=144203
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._isTabTypeAllowed):
(WebInspector.activateExtraDomains):
(WebInspector._updateReloadToolbarButton):
(WebInspector._updateDownloadToolbarButton):
- 6:26 PM Changeset in webkit [183340] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Save and restore tab state on reload and between sessions
https://bugs.webkit.org/show_bug.cgi?id=144202
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._mainResourceDidChange):
(WebInspector._provisionalLoadStarted):
(WebInspector._restoreCookieForOpenTabs):
(WebInspector._saveCookieForOpenTabs):
(WebInspector._pageHidden):
- UserInterface/Views/TabContentView.js:
(WebInspector.TabContentView):
(WebInspector.TabContentView.prototype.restoreStateFromCookie):
(WebInspector.TabContentView.prototype.saveStateToCookie):
- 6:26 PM Changeset in webkit [183339] by
-
- 7 edits1 move3 adds in trunk/Source/WebInspectorUI
Web Inspector: Split search from ResourceSidebarPanel into a Search tab and sidebar
https://bugs.webkit.org/show_bug.cgi?id=144197
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._tabContentViewForType):
(WebInspector._searchTextDidChange):
(WebInspector._focusSearchField):
(WebInspector._domNodeWasInspected):
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
- UserInterface/Images/SearchResults.svg: Added.
- UserInterface/Main.html:
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
(WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
(WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
(WebInspector.ResourceSidebarPanel.prototype._addStorageChild):
(WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated):
(WebInspector.ResourceSidebarPanel.prototype.get contentTreeOutlineToAutoPrune): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholderSoon): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholder): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.forEachMatch): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.resourceCallback): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.resourcesCallback): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.searchScripts.scriptCallback): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.searchScripts): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.domSearchResults): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.domCallback): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._showResourcesContentTreeOutline): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._showSearchContentTreeOutline): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._searchFieldChanged): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._searchFieldInput): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._searchTreeElementForResource): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._searchTreeElementForScript): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._focusSearchField): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._scriptsToSearch): Deleted.
- UserInterface/Views/SearchBar.js:
(WebInspector.SearchBar):
- UserInterface/Views/SearchSidebarPanel.css: Renamed from Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.css.
(.sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)):
(body.mac-platform.legacy .sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)):
(.sidebar > .panel.navigation.search > .search-bar):
(body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar):
(.sidebar > .panel.navigation.search > .search-bar > input[type="search"]):
(body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar > input[type="search"]):
- UserInterface/Views/SearchSidebarPanel.js: Added.
(WebInspector.SearchSidebarPanel):
(WebInspector.SearchSidebarPanel.prototype.closed):
(WebInspector.SearchSidebarPanel.prototype.focusSearchField):
(WebInspector.SearchSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholderSoon):
(WebInspector.SearchSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholder):
(WebInspector.SearchSidebarPanel.prototype.performSearch.forEachMatch):
(WebInspector.SearchSidebarPanel.prototype.performSearch.resourceCallback):
(WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
(WebInspector.SearchSidebarPanel.prototype.performSearch.searchScripts.scriptCallback):
(WebInspector.SearchSidebarPanel.prototype.performSearch.searchScripts):
(WebInspector.SearchSidebarPanel.prototype.performSearch.domSearchResults):
(WebInspector.SearchSidebarPanel.prototype.performSearch.domCallback):
(WebInspector.SearchSidebarPanel.prototype.performSearch):
(WebInspector.SearchSidebarPanel.prototype._searchFieldChanged):
(WebInspector.SearchSidebarPanel.prototype._searchFieldInput):
(WebInspector.SearchSidebarPanel.prototype._searchTreeElementForResource):
(WebInspector.SearchSidebarPanel.prototype._searchTreeElementForScript):
(WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange.delayedWork):
(WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange):
(WebInspector.SearchSidebarPanel.prototype._treeElementSelected):
- UserInterface/Views/SearchTabContentView.js: Added.
(WebInspector.SearchTabContentView):
(WebInspector.SearchTabContentView.prototype.get type):
(WebInspector.SearchTabContentView.prototype.shown):
(WebInspector.SearchTabContentView.prototype.closed):
(WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
(WebInspector.SearchTabContentView.prototype.focusSearchField):
(WebInspector.SearchTabContentView.prototype.performSearch):
- UserInterface/Views/Toolbar.css:
(.toolbar .item-section.center-right):
(.toolbar .item-section.right):
(.toolbar .search-bar):
(.toolbar .search-bar > input[type="search"]):
(.toolbar .search-bar > input[type="search"]::-webkit-textfield-decoration-container):
(body.window-inactive .toolbar .search-bar > input[type="search"]):
(.toolbar .item): Deleted.
- 6:25 PM Changeset in webkit [183338] by
-
- 15 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: New Toolbar UI for tabs
https://bugs.webkit.org/show_bug.cgi?id=144185
Reviewed by Joseph Pecoraro.
- UserInterface/Base/ImageUtilities.js:
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
(WebInspector.updateDockedState):
(WebInspector._captureDidStart):
(WebInspector._debuggerDidPause):
(WebInspector._debuggerDidResume):
(WebInspector._mainFrameDidChange):
(WebInspector._mainResourceDidChange):
(WebInspector._windowKeyDown):
(WebInspector._windowKeyUp):
(WebInspector._pageHidden):
(WebInspector._undock):
(WebInspector._dockBottom):
(WebInspector._dockRight):
(WebInspector._updateDockNavigationItems):
(WebInspector._domNodeWasInspected):
(WebInspector._inspectModeStateChanged):
(WebInspector._toggleInspectMode):
(WebInspector._downloadWebArchive):
(WebInspector._reloadPageClicked):
(WebInspector._updateDownloadToolbarButton):
(WebInspector.archiveMainFrame):
(WebInspector.canArchiveMainFrame):
- UserInterface/Images/Crosshair.svg:
- UserInterface/Images/DockBottom.svg:
- UserInterface/Images/DockRight.svg:
- UserInterface/Images/DownloadArrow.svg:
- UserInterface/Images/ReloadToolbar.svg: Added.
- UserInterface/Images/Undock.svg:
- UserInterface/Views/ActivateButtonToolbarItem.js:
(WebInspector.ActivateButtonToolbarItem):
(WebInspector.ActivateButtonToolbarItem.prototype.set label):
- UserInterface/Views/ButtonToolbarItem.css:
(.toolbar .item.button):
(body.window-inactive .toolbar .item.button):
(.toolbar.small-size .item.button > .glyph):
- UserInterface/Views/ButtonToolbarItem.js:
(WebInspector.ButtonToolbarItem):
(WebInspector.ButtonToolbarItem.prototype.set label):
- UserInterface/Views/DashboardContainerView.css:
(.toolbar .dashboard-container):
- UserInterface/Views/Main.css:
(body.docked.bottom):
- UserInterface/Views/Toolbar.css:
(.toolbar):
(body.mac-platform:not(.legacy, .docked) .toolbar):
(.toolbar .control-section):
(.toolbar .item-section):
(.toolbar .item-section.left):
(.toolbar .item-section.center-left):
(.toolbar .item-section.center-right):
(.toolbar .item-section.right):
- UserInterface/Views/Toolbar.js:
(WebInspector.Toolbar):
(WebInspector.Toolbar.prototype.customUpdateLayout.isOverflowingToolbar):
(WebInspector.Toolbar.prototype.customUpdateLayout):
(WebInspector.Toolbar.prototype.addToolbarItem):
- 6:24 PM Changeset in webkit [183337] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Add NavigationBar to the details sidebar
https://bugs.webkit.org/show_bug.cgi?id=144191
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
- UserInterface/Views/DetailsSidebarPanel.js:
(WebInspector.DetailsSidebarPanel):
(WebInspector.DetailsSidebarPanel.prototype.get navigationItem):
- UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar.prototype.removeNavigationItem):
Remove unused index argument.
- UserInterface/Views/Sidebar.css:
(.sidebar > .navigation-bar):
(.sidebar.has-navigation-bar > .panel):
- UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar):
(WebInspector.Sidebar.prototype.addSidebarPanel):
(WebInspector.Sidebar.prototype.removeSidebarPanel):
(WebInspector.Sidebar.prototype.set selectedSidebarPanel):
(WebInspector.Sidebar.prototype.get minimumWidth):
(WebInspector.Sidebar.prototype.set width):
(WebInspector.Sidebar.prototype.set collapsed):
- 6:23 PM Changeset in webkit [183336] by
-
- 8 edits6 deletes in trunk/Source
Web Inspector: Remove native window dock controls
https://bugs.webkit.org/show_bug.cgi?id=144184
Reviewed by Joseph Pecoraro.
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKit/mac:
- Resources/Dock.pdf: Removed.
- Resources/DockLegacy.pdf: Removed.
- WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]):
(-[WebInspectorWindowController setDockingUnavailable:]):
Source/WebKit2:
- Resources/DockBottom.pdf: Removed.
- Resources/DockBottomLegacy.pdf: Removed.
- Resources/DockRight.pdf: Removed.
- Resources/DockRightLegacy.pdf: Removed.
- UIProcess/WebInspectorProxy.h:
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):
- WebKit2.xcodeproj/project.pbxproj:
- 6:23 PM Changeset in webkit [183335] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Switch over to a tab based UI
https://bugs.webkit.org/show_bug.cgi?id=144154
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
(WebInspector._tabContentViewForType):
(WebInspector._rememberOpenTabs):
(WebInspector._windowResized):
(WebInspector._tabBrowserSizeDidChange):
(WebInspector._quickConsoleDidResize):
(WebInspector._sidebarWidthDidChange):
(WebInspector._tabBrowserSelectedTabContentViewDidChange):
(WebInspector._inspectModeStateChanged):
(WebInspector._focusedContentView):
- UserInterface/Main.html:
- UserInterface/Views/Main.css:
(#tab-browser):
- 6:22 PM Changeset in webkit [183334] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove Main.js code we don't need for Tabs
https://bugs.webkit.org/show_bug.cgi?id=144126
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
- 6:22 PM Changeset in webkit [183333] by
-
- 8 edits in trunk/Source/WebInspectorUI
Web Inspector: Change more places that changed WebInspector.navigationSidebar.selectedSidebarPanel to tabs
https://bugs.webkit.org/show_bug.cgi?id=144125
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.toggleDetailsSidebar):
(WebInspector.tabContentViewClassForRepresentedObject):
(WebInspector._updateModifierKeys):
(WebInspector._consoleResizerMouseDown.dockedResizerDragEnd):
(WebInspector._consoleResizerMouseDown):
(WebInspector.linkifyURLAsNode):
(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setTimelineProfilingEnabled):
(InspectorFrontendAPI.showConsole):
(InspectorFrontendAPI.showResources):
- UserInterface/Protocol/InspectorObserver.js:
(WebInspector.InspectorObserver.prototype.inspect):
- UserInterface/Views/DebuggerTabContentView.js:
(WebInspector.DebuggerTabContentView.prototype.canShowRepresentedObject):
(WebInspector.DebuggerTabContentView.prototype.revealAndSelectBreakpoint):
- UserInterface/Views/DefaultDashboardView.js:
(WebInspector.DefaultDashboardView):
(WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.revealInSidebar):
- UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser.bestTabContentViewForClass):
- 6:21 PM Changeset in webkit [183332] by
-
- 7 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: Make Console work in a tab world
https://bugs.webkit.org/show_bug.cgi?id=144112
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.isShowingConsoleTab):
(WebInspector.UIString):
(WebInspector.toggleNavigationSidebar):
(WebInspector.toggleDetailsSidebar):
(WebInspector.tabContentViewClassForRepresentedObject):
(WebInspector.linkifyStringAsFragment):
- UserInterface/Images/Console.svg: Added.
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.showConsole):
- UserInterface/Views/ConsoleTabContentView.js: Added.
(WebInspector.ConsoleTabContentView):
(WebInspector.ConsoleTabContentView.prototype.shown):
(WebInspector.ConsoleTabContentView.prototype.showRepresentedObject):
(WebInspector.ConsoleTabContentView.prototype.canShowRepresentedObject):
(WebInspector.ConsoleTabContentView.prototype.get supportsSplitContentBrowser):
- UserInterface/Views/DefaultDashboardView.js:
(WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
(WebInspector.LogContentView.prototype.get navigationItems):
(WebInspector.LogContentView.prototype.shown):
(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
(WebInspector.LogContentView.prototype._showConsoleTab):
- UserInterface/Views/LogIcon.css:
(.log-icon .icon):
- UserInterface/Views/Main.css:
(#split-content-browser .hierarchical-path-component.log-icon .icon):
(#split-content-browser .hierarchical-path-component.log-icon .title):
(#split-content-browser .hierarchical-path-component.log-icon select):
- 6:20 PM Changeset in webkit [183331] by
-
- 25 edits in trunk/Source/WebInspectorUI
Web Inspector: Make showing a content view work in the tab world
https://bugs.webkit.org/show_bug.cgi?id=144110
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.hideSplitConsole):
(WebInspector.showSourceCodeLocation):
(WebInspector.showOriginalUnformattedSourceCodeLocation):
(WebInspector.showOriginalOrFormattedSourceCodeLocation):
(WebInspector.showOriginalOrFormattedSourceCodeTextRange):
(WebInspector.showResourceRequest):
(WebInspector.debuggerToggleBreakpoints):
(WebInspector.debuggerPauseResumeToggle):
(WebInspector.debuggerStepOver):
(WebInspector.debuggerStepInto):
(WebInspector.debuggerStepOut):
(WebInspector._focusChanged):
(WebInspector._mouseWasClicked):
(WebInspector._dragOver):
(WebInspector._captureDidStart):
(WebInspector._debuggerDidPause):
(WebInspector._debuggerDidResume):
(WebInspector._frameWasAdded):
(WebInspector._undock):
(WebInspector._updateDockNavigationItems):
- UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
(WebInspector.Breakpoint.prototype.appendContextMenuItems):
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.showMainResourceForFrame):
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
- UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked):
(WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
(WebInspector.ComputedStyleDetailsPanel):
- UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype.updateHierarchicalPathForCurrentContentView):
- UserInterface/Views/ContentView.js:
(WebInspector.ContentView):
- UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView.prototype.restoreFromCookie):
- UserInterface/Views/DOMTreeDataGridNode.js:
(WebInspector.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
(WebInspector.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToContentTreeOutline):
(WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
(WebInspector.DebuggerSidebarPanel.prototype._addIssue):
(WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
- UserInterface/Views/LayerTreeDataGridNode.js:
(WebInspector.LayerTreeDataGridNode.prototype._goToArrowWasClicked):
- UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView.prototype._treeElementSelected):
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.get contentBrowser):
(WebInspector.NavigationSidebarPanel.prototype.set contentBrowser):
(WebInspector.NavigationSidebarPanel.prototype._updateFilter):
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype._treeElementSelected):
- UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
(WebInspector.ObjectTreeBaseTreeElement):
- UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype._treeElementSelected):
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype._goToRequestDataClicked):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
(WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
(WebInspector.ResourceSidebarPanel.prototype._storageCleared):
- UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype._goToResource):
- UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype._treeElementSelected):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
- UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype._popoverCallStackTreeElementSelected):
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.shown):
(WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline):
- 6:20 PM Changeset in webkit [183330] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Make debugger keyboard shortcuts global
https://bugs.webkit.org/show_bug.cgi?id=144068
We wont always have a DebuggerSidebarPanel to listen for the shortcuts.
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.showSourceCodeForFrame):
(WebInspector.showSourceCode):
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.pause):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerDidResume):
(WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
(WebInspector.DebuggerSidebarPanel.prototype._handleIssuesCleared):
(WebInspector.DebuggerSidebarPanel):
- 6:19 PM Changeset in webkit [183329] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove Reload and Download Web Archive buttons from FrameTreeElement
https://bugs.webkit.org/show_bug.cgi?id=144064
The will be global toolbar items soon.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/FrameTreeElement.js:
- UserInterface/Views/ResourceTreeElement.js:
(WebInspector.ResourceTreeElement.prototype._updateStatus):
- 6:19 PM Changeset in webkit [183328] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove time and weight from the dashboard
https://bugs.webkit.org/show_bug.cgi?id=144063
These two items were the odd ones out since they are only available
when recording a timeline. We will need the toolbar space soon, so make
this lets us make the dashboard skinnier.
This also removes the exception catching in DashboardContainerView. It doesn't really
help us and it makes debugging an exception harder.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/DashboardContainerView.css:
(.toolbar .dashboard-container):
- UserInterface/Views/DashboardContainerView.js:
(WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
- UserInterface/Views/DefaultDashboardView.css:
(body.web .toolbar.collapsed .dashboard.default > .item.resourcesCount):
(body.javascript .toolbar .dashboard.default > .item.resourcesCount):
- UserInterface/Views/DefaultDashboardView.js:
(WebInspector.DefaultDashboardView):
(WebInspector.DefaultDashboardView.prototype._updateDisplay):
- 6:18 PM Changeset in webkit [183327] by
-
- 16 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove sidebar panel shortcut and image
https://bugs.webkit.org/show_bug.cgi?id=144061
Sidebar panels no longer need a keyboard shortcut or a toolbar image.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel):
- UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
- UserInterface/Views/DOMDetailsSidebarPanel.js:
(WebInspector.DOMDetailsSidebarPanel):
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel):
- UserInterface/Views/DebuggerSidebarPanel.js:
- UserInterface/Views/DetailsSidebarPanel.js:
(WebInspector.DetailsSidebarPanel):
- UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel):
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
(WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
(WebInspector.NavigationSidebarPanel.prototype.show):
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
- UserInterface/Views/ProbeDetailsSidebarPanel.js:
(WebInspector.ProbeDetailsSidebarPanel):
- UserInterface/Views/RenderingFrameDetailsSidebarPanel.js:
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
- UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
- UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.added):
(WebInspector.SidebarPanel.prototype.removed):
(WebInspector.SidebarPanel.prototype.visibilityDidChange):
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.showTimelineViewForTimeline):
- 6:17 PM Changeset in webkit [183326] by
-
- 13 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove allowedNavigationSidebarPanels, it isn't needed
https://bugs.webkit.org/show_bug.cgi?id=144056
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ApplicationCacheFrameContentView.js:
- UserInterface/Views/ContentView.js:
- UserInterface/Views/CookieStorageContentView.js:
- UserInterface/Views/DOMStorageContentView.js:
- UserInterface/Views/DOMTreeContentView.js:
- UserInterface/Views/DatabaseContentView.js:
- UserInterface/Views/DatabaseTableContentView.js:
- UserInterface/Views/FontResourceContentView.js:
- UserInterface/Views/FrameDOMTreeContentView.js:
- UserInterface/Views/LogContentView.js:
- UserInterface/Views/ResourceClusterContentView.js:
- UserInterface/Views/TimelineRecordingContentView.js:
- 6:17 PM Changeset in webkit [183325] by
-
- 12 edits in trunk/Source/WebInspectorUI
Web Inspector: Support passing extra arguments to ContentViews during construction
https://bugs.webkit.org/show_bug.cgi?id=144055
This allows us to pass the TimelineSidebarPanel to Timeline views since in the future
there could be multiple timeline sidebars, one per tab. So the global instance will
be going away.
This also removes the exception catching in ContentViewContainer. It doesn't really
help us and it makes debugging an exception harder.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject):
(WebInspector.ContentBrowser.prototype.contentViewForRepresentedObject):
- UserInterface/Views/ContentView.js:
(WebInspector.ContentView):
- UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject):
(WebInspector.ContentViewContainer.prototype.showContentViewForRepresentedObject):
- UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.LayoutTimelineView.prototype._treeElementSelected):
(WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.NetworkTimelineView.prototype._treeElementSelected):
(WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):
- UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype._treeElementSelected):
(WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked):
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
- UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView):
(WebInspector.ScriptTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.ScriptTimelineView.prototype._treeElementSelected):
(WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
(WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
- UserInterface/Views/TimelineSidebarPanel.js:
- UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype.get timelineSidebarPanel):
- 6:16 PM Changeset in webkit [183324] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Disable global keyboard shortcuts for background tabs
https://bugs.webkit.org/show_bug.cgi?id=143918
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser):
(WebInspector.ContentBrowser.prototype.shown): Added.
(WebInspector.ContentBrowser.prototype.hidden): Added.
Disable shortcuts on the browser and find banner.
- UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView.prototype.shown): Added.
(WebInspector.ContentBrowserTabContentView.prototype.hidden): Added.
Tell the content browser we were shown or hidden.
- UserInterface/Views/FindBanner.js:
(WebInspector.FindBanner):
(WebInspector.FindBanner.prototype.show):
(WebInspector.FindBanner.prototype.enableKeyboardShortcuts): Added.
(WebInspector.FindBanner.prototype.disableKeyboardShortcuts): Added.
Support disabling or enabling the keyboard shortcuts.
- 6:16 PM Changeset in webkit [183323] by
-
- 7 edits4 copies13 adds in trunk/Source/WebInspectorUI
Web Inspector: Add TabBrowser and TabContentView
https://bugs.webkit.org/show_bug.cgi?id=143886
Reviewed by Joseph Pecoraro.
- UserInterface/Images/Debugger.svg: Added.
- UserInterface/Images/Elements.svg: Added.
- UserInterface/Images/Gear.svg: Added.
- UserInterface/Images/NewTabPlus.svg: Added.
- UserInterface/Images/Resources.svg:
- UserInterface/Images/Timeline.svg: Added.
- UserInterface/Images/ToggleLeftSidebar.svg: Added.
- UserInterface/Images/ToggleRightSidebar.svg: Added.
- UserInterface/Views/ContentBrowserTabContentView.css: Added.
(.content-browser.tab.content-view > .content-browser):
- UserInterface/Views/ContentBrowserTabContentView.js: Added.
(WebInspector.ContentBrowserTabContentView):
(WebInspector.ContentBrowserTabContentView.prototype.get contentBrowser):
(WebInspector.ContentBrowserTabContentView.prototype.shown):
(WebInspector.ContentBrowserTabContentView.prototype.hidden):
(WebInspector.ContentBrowserTabContentView.prototype.closed):
(WebInspector.ContentBrowserTabContentView.prototype.updateLayout):
(WebInspector.ContentBrowserTabContentView.prototype.get managesDetailsSidebarPanels):
(WebInspector.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels):
(WebInspector.ContentBrowserTabContentView.prototype.contentBrowserTreeElementForRepresentedObject):
(WebInspector.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange):
(WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarCollapsedStateDidChange):
(WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarPanelSelected):
(WebInspector.ContentBrowserTabContentView.prototype._contentBrowserRepresentedObjectsDidChange):
(WebInspector.ContentBrowserTabContentView.prototype._contentBrowserCurrentContentViewDidChange):
(WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObjectInNavigationSidebar):
- UserInterface/Views/DebuggerTabContentView.js: Added.
(WebInspector.DebuggerTabContentView):
- UserInterface/Views/ElementsTabContentView.js: Added.
(WebInspector.ElementsTabContentView):
(WebInspector.ElementsTabContentView.prototype._mainFrameDidChange):
- UserInterface/Views/ResourcesTabContentView.js: Added.
(WebInspector.ResourcesTabContentView):
- UserInterface/Views/SettingsTabContentView.js: Added.
(WebInspector.SettingsTabContentView):
- UserInterface/Views/TabBrowser.css: Added.
(.tab-browser):
(.tab-browser > .tab-bar):
(.tab-browser > .content-view-container):
(.tab-browser > .tab-bar + .content-view-container):
- UserInterface/Views/TabBrowser.js: Added.
(WebInspector.TabBrowser):
(WebInspector.TabBrowser.prototype.get tabBar):
(WebInspector.TabBrowser.prototype.get navigationSidebar):
(WebInspector.TabBrowser.prototype.get detailsSidebar):
(WebInspector.TabBrowser.prototype.get selectedTabContentView):
(WebInspector.TabBrowser.prototype.updateLayout):
(WebInspector.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
(WebInspector.TabBrowser.prototype.addTabForContentView):
(WebInspector.TabBrowser.prototype.showTabForContentView):
(WebInspector.TabBrowser.prototype.closeTabForContentView):
(WebInspector.TabBrowser.prototype._tabBarItemSelected):
(WebInspector.TabBrowser.prototype._sidebarPanelSelected):
(WebInspector.TabBrowser.prototype._sidebarCollapsedStateDidChange):
(WebInspector.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView):
(WebInspector.TabBrowser.prototype._showDetailsSidebarPanelsForTabContentView):
- UserInterface/Views/TabContentView.js: Added.
(WebInspector.TabContentView):
(WebInspector.TabContentView.prototype.get parentTabBrowser):
(WebInspector.TabContentView.prototype.set parentTabBrowser):
(WebInspector.TabContentView.prototype.get tabBarItem):
(WebInspector.TabContentView.prototype.get managesDetailsSidebarPanels):
(WebInspector.TabContentView.prototype.showDetailsSidebarPanels):
(WebInspector.TabContentView.prototype.canShowRepresentedObject):
(WebInspector.TabContentView.prototype.get navigationSidebarPanel):
(WebInspector.TabContentView.prototype.get navigationSidebarCollapsedSetting):
(WebInspector.TabContentView.prototype.get detailsSidebarPanels):
(WebInspector.TabContentView.prototype.get detailsSidebarCollapsedSetting):
(WebInspector.TabContentView.prototype.get detailsSidebarSelectedPanelSetting):
- UserInterface/Views/TimelineTabContentView.js: Added.
(WebInspector.TimelineTabContentView):
- 6:15 PM Changeset in webkit [183322] by
-
- 2 edits3 adds in trunk/Source/WebInspectorUI
Web Inspector: Add a WebInspector.TabBar class
https://bugs.webkit.org/show_bug.cgi?id=143442
Reviewed by Joseph Pecoraro.
- UserInterface/Main.html:
Added new files.
- UserInterface/Protocol/InspectorFrontendHostStub.js:
(window.Symbol):
(WebInspector.InspectorFrontendHostStub.prototype.showContextMenu):
Added some stubs needed to work standalone.
- UserInterface/Views/TabBar.css: Added.
(.tab-bar):
(body.window-inactive .tab-bar):
(.tab-bar > .top-border):
(body.window-inactive .tab-bar > .top-border):
(.tab-bar > .item):
(.tab-bar > :nth-child(n + 2 of .item)):
(.tab-bar > .item.pinned):
(.tab-bar > .item.selected):
(.tab-bar > .item.new-tab-button:hover):
(.tab-bar:not(.animating) > .item:not(.selected):hover + .item):
(body.window-inactive .tab-bar > .item):
(body.window-inactive .tab-bar > .item.selected):
(.tab-bar > .item > .close):
(body:not(.window-inactive) .tab-bar:not(.single-tab) > .item:hover > .close):
(.tab-bar.single-tab > .item > .close):
(.tab-bar > .item > .close:hover):
(.tab-bar > .item > .close:active):
(.tab-bar > .item > .flex-space):
(.tab-bar > .item > .flex-space:last-child):
(.tab-bar > .item > .icon):
(.tab-bar > .item.selected > .icon):
(.tab-bar > .item.new-tab-button:hover > .icon):
(.tab-bar > .item > .title):
(.tab-bar > .item > .title > .content):
(.tab-bar:not(.animating) > .item:not(.selected):hover > .title):
(.tab-bar > .item.selected > .title):
(.tab-bar.collapsed > .item):
(.tab-bar.collapsed > .item > .flex-space):
(.tab-bar.collapsed > .item > .close):
(.tab-bar.hide-titles > .item > .title):
(.tab-bar.hide-titles > .item.selected:hover > .icon):
(.tab-bar.hide-titles > .item.selected:hover > .close):
(.tab-bar.static-layout):
(.tab-bar.static-layout > .item):
(.tab-bar.animating.closing-tab > .item):
(.tab-bar.animating:matches(.expanding-tabs, .inserting-tab) > .item):
(.tab-bar.animating.inserting-tab > .item.being-inserted):
(.tab-bar.animating.closing-tab > .item.selected):
(body.window-inactive .tab-bar.animating.closing-tab > .item.selected):
(.tab-bar.dragging-tab > .item.selected):
- UserInterface/Views/TabBar.js: Added.
(WebInspector.TabBar):
(WebInspector.TabBar.prototype.get newTabItem):
(WebInspector.TabBar.prototype.set newTabItem):
(WebInspector.TabBar.prototype.addTabBarItem):
(WebInspector.TabBar.prototype.insertTabBarItem.animateTabs):
(WebInspector.TabBar.prototype.insertTabBarItem.removeStyles):
(WebInspector.TabBar.prototype.insertTabBarItem):
(WebInspector.TabBar.prototype.insertTabBarItem.set else):
(WebInspector.TabBar.prototype.insertTabBarItem.set this):
(WebInspector.TabBar.animateTabs.get if):
(WebInspector.TabBar.animateTabs):
(WebInspector.TabBar.removeStyles):
(WebInspector.TabBar.prototype.insertTabBarItem):
(WebInspector.TabBar.prototype.updateLayoutSoon.update):
(WebInspector.TabBar.prototype.updateLayoutSoon):
(WebInspector.TabBar.prototype.updateLayout):
(WebInspector.TabBar.prototype.get selectedTabBarItem):
(WebInspector.TabBar.prototype.set selectedTabBarItem):
(WebInspector.TabBar.prototype.get tabBarItems):
(WebInspector.TabBar.prototype.get element):
(WebInspector.TabBar.prototype._findTabBarItem):
(WebInspector.TabBar.prototype._hasMoreThanOneNormalTab):
(WebInspector.TabBar.prototype._recordTabBarItemSizesAndPositions):
(WebInspector.TabBar.prototype._clearTabBarItemSizesAndPositions):
(WebInspector.TabBar.prototype._finishExpandingTabsAfterClose.):
(WebInspector.TabBar.prototype._finishExpandingTabsAfterClose):
(WebInspector.TabBar.prototype._handleMouseDown):
(WebInspector.TabBar.prototype._handleMouseMoved):
(WebInspector.TabBar.prototype._handleMouseUp):
(WebInspector.TabBar.prototype._handleMouseLeave):
(WebInspector.TabBar.prototype._handleNewTabMouseEnter):
- UserInterface/Views/TabBarItem.js: Added.
(WebInspector.TabBarItem):
(WebInspector.TabBarItem.prototype.get identifier):
(WebInspector.TabBarItem.prototype.get element):
(WebInspector.TabBarItem.prototype.get parentTabBar):
(WebInspector.TabBarItem.prototype.set parentTabBar):
(WebInspector.TabBarItem.prototype.get selected):
(WebInspector.TabBarItem.prototype.set selected):
(WebInspector.TabBarItem.prototype.get pinned):
(WebInspector.TabBarItem.prototype.get image):
(WebInspector.TabBarItem.prototype.set image):
(WebInspector.TabBarItem.prototype.get title):
(WebInspector.TabBarItem.prototype.set title):
(WebInspector.TabBarItem.prototype.updateLayout):
- 6:14 PM Changeset in webkit [183321] by
-
- 1 edit in trunk/Source/WebInspectorUI/ChangeLog
Web Inspector: Make closing ContentViews more leak proof
https://bugs.webkit.org/show_bug.cgi?id=144200
Remove all listeners on the target objects in close that match the this object.
This makes things more foolproof when something changes or a new listener is
added to the same object. TimelineRecordingContentView also had a leak where
TimelineManager and DebuggerManager listeners were not being removed.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype.closed):
- UserInterface/Views/ClusterContentView.js:
(WebInspector.ClusterContentView.prototype.closed):
- UserInterface/Views/ContentFlowDOMTreeContentView.js:
(WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
- UserInterface/Views/FrameDOMTreeContentView.js:
(WebInspector.FrameDOMTreeContentView.prototype.closed):
- UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView.prototype.closed):
- UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype.closed):
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype.closed):
- 6:08 PM Changeset in webkit [183320] by
-
- 3 edits3 adds in trunk
Set#keys !== Set#values
https://bugs.webkit.org/show_bug.cgi?id=144190
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-25
Reviewed by Darin Adler.
Source/JavaScriptCore:
per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set.prototype.keys
Set#keys should === Set#values
- runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
(JSC::setProtoFuncValues):
(JSC::setProtoFuncEntries):
(JSC::setProtoFuncKeys): Deleted.
LayoutTests:
- js/script-tests/set-keys.js: Added.
- js/set-keys-expected.txt: Added.
- js/set-keys.html: Added.
- 6:06 PM Changeset in webkit [183319] by
-
- 10 edits in trunk/Source/JavaScriptCore
Allow for pausing a JSContext when opening a Web Inspector
<rdar://problem/20564788>
Reviewed by Timothy Hatcher.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::receivedSetupMessage):
- inspector/remote/RemoteInspectorConstants.h:
- inspector/remote/RemoteInspectorDebuggable.h:
- inspector/remote/RemoteInspectorDebuggableConnection.h:
- inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorDebuggableConnection::setup):
On any incoming setup message, we may want to automatically
pause the debuggable. If requested, pause the debuggable
after we have setup the frontend connection.
- runtime/JSGlobalObjectDebuggable.h:
- runtime/JSGlobalObjectDebuggable.cpp:
(JSC::JSGlobalObjectDebuggable::pause):
Pass through to the inspector controller.
- inspector/JSGlobalObjectInspectorController.h:
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::pause):
Enable pause on next statement.
- 5:59 PM Changeset in webkit [183318] by
-
- 8 edits in trunk/Source/WebInspectorUI
Web Inspector: Make closing ContentViews more leak proof
https://bugs.webkit.org/show_bug.cgi?id=144200
Remove all listeners on the target objects in close that match the this object.
This makes things more foolproof when something changes or a new listener is
added to the same object. TimelineRecordingContentView also had a leak where
TimelineManager and DebuggerManager listeners were not being removed.
Reviewed by Darin Adler.
- UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype.closed):
- UserInterface/Views/ClusterContentView.js:
(WebInspector.ClusterContentView.prototype.closed):
- UserInterface/Views/ContentFlowDOMTreeContentView.js:
(WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
- UserInterface/Views/FrameDOMTreeContentView.js:
(WebInspector.FrameDOMTreeContentView.prototype.closed):
- UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView.prototype.closed):
- UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype.closed):
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype.closed):
- 4:47 PM Changeset in webkit [183317] by
-
- 5 edits in trunk
Crash if IDBTransaction is aborted right after it's created
https://bugs.webkit.org/show_bug.cgi?id=144199
Reviewed by Simon Fraser.
Source/WebCore:
Test: storage/indexeddb/transaction-abort.html
- Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::IDBTransactionBackend): Don't start the
transaction if it is already complete (has been aborted).
LayoutTests:
- platform/mac-wk2/TestExpectations: Unskip storage/indexeddb/transaction-abort.html.
- storage/indexeddb/transaction-abort-expected.txt: Updated since the exact text of
the execptions is different from what was marked here as expected.
- 4:20 PM WebKitEFLLayoutTest edited by
- (diff)
- 3:03 PM Changeset in webkit [183316] by
-
- 16 edits3 adds in trunk
class methods should be non-enumerable
https://bugs.webkit.org/show_bug.cgi?id=143181
Reviewed by Darin Adler.
Source/JavaScriptCore:
Fixed the bug by using Object.defineProperty to define methods.
This patch adds the concept of link time constants and uses it to resolve Object.defineProperty
inside CodeBlock's constructor since bytecode can be linked against multiple global objects.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock): Resolve link time constants that are used. Ignore ones with register
index of zero.
- bytecode/SpecialPointer.h: Added a new enum for link time constants. It currently contains
exactly one entry for Object.defineProperty.
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::addConstant): Added. Like addConstant that takes JSValue, allocate a new
constant register for the link time constant we're adding.
(JSC::UnlinkedCodeBlock::registerIndexForLinkTimeConstant): Added.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitMoveLinkTimeConstant): Added. Like addConstantValue, allocate a new
register for the specified link time constant and notify UnlinkedCodeBlock about it.
(JSC::BytecodeGenerator::emitCallDefineProperty): Added. Create a new property descriptor and call
Object.defineProperty with it.
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode): Make static and non-static getters and setters for classes
non-enumerable by using emitCallDefineProperty to define them.
(JSC::PropertyListNode::emitPutConstantProperty): Ditto for a non-accessor properties.
(JSC::ClassExprNode::emitBytecode): Make prototype.constructor non-enumerable and make prototype
property on the class non-writable, non-configurable, and non-enumerable by using defineProperty.
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Set m_definePropertyFunction.
(JSC::JSGlobalObject::visitChildren): Visit m_definePropertyFunction.
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::definePropertyFunction): Added.
(JSC::JSGlobalObject::actualPointerFor): Added a variant that takes LinkTimeConstant.
(JSC::JSGlobalObject::jsCellForLinkTimeConstant): Like actualPointerFor, takes LinkTimeConstant and
returns a JSCell; e.g. Object.defineProperty.
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::addDefineProperty): Added. Returns Object.defineProperty.
- runtime/ObjectConstructor.h:
LayoutTests:
Added a regression test.
Also fixed a test that previously relied on "prototype" property being writable
since this is no longer the case.
- js/class-syntax-extends-expected.txt:
- js/class-syntax-prototype.html: Added.
- js/script-tests/class-syntax-extends.js:
- js/script-tests/class-syntax-prototype.js: Added.
- 3:00 PM Changeset in webkit [183315] by
-
- 5 edits1 add in trunk
[ES6] Implement String.fromCodePoint
https://bugs.webkit.org/show_bug.cgi?id=144160
Reviewed by Darin Adler.
Source/JavaScriptCore:
This patch implements String.fromCodePoint.
It accepts multiple code points and generates a string that consists of given code points.
The range [0x0000 - 0x10FFFF] is valid for code points.
If the given value is out of range, throw a range error.
When a 0xFFFF <= valid code point is given,
String.fromCodePoint generates a string that contains surrogate pairs.
- runtime/StringConstructor.cpp:
(JSC::stringFromCodePoint):
(JSC::constructWithStringConstructor):
- tests/stress/string-from-code-point.js: Added.
(shouldBe):
(shouldThrow):
(toCodePoints):
(passThrough):
LayoutTests:
Add String.fromCodePoint.
- js/Object-getOwnPropertyNames-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- 2:43 PM Changeset in webkit [183314] by
-
- 32 edits in trunk
Rename ENABLE_3D_RENDERING to ENABLE_3D_TRANSFORMS
https://bugs.webkit.org/show_bug.cgi?id=144182
Reviewed by Simon Fraser.
.:
- Source/cmake/OptionsEfl.cmake: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- Source/cmake/OptionsGTK.cmake: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- Source/cmake/OptionsMac.cmake: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- Source/cmake/WebKitFeatures.cmake: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- Source/cmakeconfig.h.cmake: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Source/WebCore:
- Configurations/FeatureDefines.xcconfig: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- WebCore.vcxproj/WebCoreCommon.props: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- WebCore.vcxproj/WebCoreTestSupportCommon.props: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- css/CSSComputedStyleDeclaration.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- css/MediaQueryEvaluator.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- platform/graphics/GraphicsContext.h: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- platform/graphics/cairo/GraphicsContextCairo.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- platform/graphics/texmap/TextureMapperImageBuffer.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- rendering/RenderLayer.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- rendering/RenderLayerCompositor.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- rendering/RenderObject.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Source/WTF:
- wtf/FeatureDefines.h: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Tools:
- DumpRenderTree/win/DumpRenderTree.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
WebKitLibraries:
- win/tools/vsprops/FeatureDefines.props: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- win/tools/vsprops/FeatureDefinesCairo.props: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- 1:50 PM Changeset in webkit [183313] by
-
- 2 edits in trunk/LayoutTests
Mavericks fix - no window.performance there.
- fast/frames/flattening/resources/iframe-to-resize.html:
- 1:20 PM Changeset in webkit [183312] by
-
- 2 edits in trunk/LayoutTests
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
Unreviewed. Add more temporary logging to figure out what's going on with the test on bots.
- fast/frames/flattening/resources/iframe-to-resize.html:
- 9:29 AM Changeset in webkit [183311] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: assertion failure when editing inline styles
https://bugs.webkit.org/show_bug.cgi?id=143939
Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-04-25
Reviewed by Timothy Hatcher.
Prevent "_updateResourceContent" from being called on inline style changes.
Introduce a flag that marks a CSSStyleSheet as a representation of an
"ElementCSSInlineStyle" (DOM Level 2 spec) and return early.
- UserInterface/Controllers/CSSStyleManager.js:
(WebInspector.CSSStyleManager.prototype.styleSheetChanged):
- UserInterface/Models/CSSStyleSheet.js:
(WebInspector.CSSStyleSheet):
(WebInspector.CSSStyleSheet.isInlineStyle):
(WebInspector.CSSStyleSheet.prototype.markAsInlineStyle):
- UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
- 8:43 AM Changeset in webkit [183310] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
mayExit() is wrong about Branch nodes with ObjectOrOtherUse: they can exit.
https://bugs.webkit.org/show_bug.cgi?id=144152
Reviewed by Filip Pizlo.
Changed the EdgeMayExit functor to recognize ObjectUse, ObjectOrOtherUse,
StringObjectUse, and StringOrStringObjectUse kinds as potentially triggering
OSR exits. This was overlooked in the original code.
While only the ObjectOrOtherUse kind is relevant for manifesting this bug with
the Branch node, the other 3 may also trigger the same bug for other nodes.
To prevent this bug from manifesting with other nodes (and future ones that
are yet to be added to mayExits()'s "potential won't exit" set), we fix the
EdgeMayExit functor to handle all 4 use kinds (instead of just ObjectOrOtherUse).
Also added a test to exercise a code path that will trigger this bug with
the Branch node before the fix is applied.
- dfg/DFGMayExit.cpp:
- tests/stress/branch-may-exit-due-to-object-or-other-use-kind.js: Added.
(inlinedFunction):
(foo):
- 1:13 AM Changeset in webkit [183309] by
-
- 1 edit31 adds in trunk/Tools
https://bugs.webkit.org/show_bug.cgi?id=144038
Patch by Dewei Zhu <Dewei Zhu> on 2015-04-25
Reviewed by Ryosuke Niwa
Add a script to run Speedometer and JetStream on a browser.
- Scripts/run-benchmark: Wrapper script to run benchmark.
(main):
- Scripts/webkitpy/benchmark_runner/README.md: Introduction of this script.
- Scripts/webkitpy/benchmark_runner/init.py: Added.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/init.py: Added.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builder_factory.py: Added.
(BenchmarkBuilderFactory):
- Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builders.json: Added.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py: Added.
(GenericBenchmarkBuilder):
(GenericBenchmarkBuilder.prepare):
(GenericBenchmarkBuilder._copyBenchmarkToTempDir):
(GenericBenchmarkBuilder._applyPatch):
(GenericBenchmarkBuilder.clean):
- Scripts/webkitpy/benchmark_runner/benchmark_builder/jetstream_benchmark_builder.py: Added.
(JetStreamBenchmarkBuilder):
(JetStreamBenchmarkBuilder.prepare):
(JetStreamBenchmarkBuilder._runCreateScript):
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Main module that masters all the processes of benchmark running.
(BenchmarkRunner):
(BenchmarkRunner.init):
(BenchmarkRunner.execute):
(BenchmarkRunner.dump):
(BenchmarkRunner.wrap):
(BenchmarkRunner.merge):
- Scripts/webkitpy/benchmark_runner/browser_driver/init.py: Added.
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py: Added.
(BrowserDriver):
(BrowserDriver.prepareEnv):
(BrowserDriver.launchUrl):
(BrowserDriver.closeBrowser):
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py: Added.
(BrowserDriverFactory):
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_drivers.json: Added.
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Added.
(OSXChromeDriver):
(OSXChromeDriver.prepareEnv):
(OSXChromeDriver.launchUrl):
(OSXChromeDriver.closeBrowsers):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: Added.
(OSXSafariDriver):
(OSXSafariDriver.prepareEnv):
(OSXSafariDriver.launchUrl):
(OSXSafariDriver.closeBrowsers):
- Scripts/webkitpy/benchmark_runner/data/patches/JetStream.patch: Patch that makes JetStream compatible with this script.
- Scripts/webkitpy/benchmark_runner/data/patches/Speedometer.patch: Patch that makes Speedometer compatible with this scritp.
- Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan: Added.
- Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan: Added.
- Scripts/webkitpy/benchmark_runner/generic_factory.py: Factory for generic purpose.
(GenericFactory):
(GenericFactory.iterateGetItem):
(GenericFactory.create):
- Scripts/webkitpy/benchmark_runner/http_server_driver/init.py: Added.
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py: Added.
(ServerControl):
(ServerControl.render_GET):
(ServerControl.render_POST):
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py: Added.
(HTTPServerDriver):
(HTTPServerDriver.serve):
(HTTPServerDriver.fetchResult):
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver_factory.py: Added.
(HTTPServerDriverFactory):
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_drivers.json: Added.
- Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Added.
(SimpleHTTPServerDriver):
(SimpleHTTPServerDriver.depends):
(SimpleHTTPServerDriver.init):
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver.baseUrl):
(SimpleHTTPServerDriver.fetchResult):
- Scripts/webkitpy/benchmark_runner/utils.py: Utility module.
(ModuleNotFoundError):
(loadModule):
(getPathFromProjectRoot):
(loadJSONFromFile):
(TimeoutError):
(timeout):
(timeout.init):
(timeout.handle_timeout):
(timeout.enter):
(timeout.exit):
Apr 24, 2015:
- 11:57 PM Changeset in webkit [183308] by
-
- 31 edits1 add in trunk
Unreviewed, rolling out r183288.
https://bugs.webkit.org/show_bug.cgi?id=144189
Made js/sort-with-side-effecting-comparisons.html time out in
debug builds (Requested by ap on #webkit).
Reverted changeset:
"It shouldn't take 1846 lines of code and 5 FIXMEs to sort an
array."
https://bugs.webkit.org/show_bug.cgi?id=144013
http://trac.webkit.org/changeset/183288
- 10:19 PM Changeset in webkit [183307] by
-
- 6 edits2 adds in trunk/Source/JavaScriptCore
CRASH in operationCreateDirectArgumentsDuringExit()
https://bugs.webkit.org/show_bug.cgi?id=143962
Reviewed by Geoffrey Garen.
We shouldn't assume that constant-like OSR exit values are always recoverable. They are only
recoverable so long as they are live. Therefore, OSR exit should track liveness of
constants instead of assuming that they are always live.
- dfg/DFGGenerationInfo.h:
(JSC::DFG::GenerationInfo::noticeOSRBirth):
(JSC::DFG::GenerationInfo::appendBirth):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
- dfg/DFGVariableEvent.cpp:
(JSC::DFG::VariableEvent::dump):
- dfg/DFGVariableEvent.h:
(JSC::DFG::VariableEvent::birth):
(JSC::DFG::VariableEvent::id):
(JSC::DFG::VariableEvent::dataFormat):
- dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct):
- tests/stress/phantom-direct-arguments-clobber-argument-count.js: Added.
(foo):
(bar):
- tests/stress/phantom-direct-arguments-clobber-callee.js: Added.
(foo):
(bar):
- 8:40 PM Changeset in webkit [183306] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r183303.
https://bugs.webkit.org/show_bug.cgi?id=144181
Change was incorrect, broke builds (Requested by smfr on
#webkit).
Reverted changeset:
"Fix the build."
http://trac.webkit.org/changeset/183303
- 8:30 PM Changeset in webkit [183305] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] FontPlatformData's equality check should always use reference URLs
https://bugs.webkit.org/show_bug.cgi?id=144168
Reviewed by Tim Horton.
<rdar://problem/18985642> is not fixed, so we need to continue using the older
objectForEqualityCheck().
No new tests because there is no behavior change.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::objectForEqualityCheck):
- 8:29 PM Changeset in webkit [183304] by
-
- 11 edits2 adds in trunk
Implement parsing support for font-synthesis CSS property
https://bugs.webkit.org/show_bug.cgi?id=144180
Source/WebCore:
<rdar://problem/20692791>
<rdar://problem/20625024>
Reviewed by Tim Horton.
See http://www.w3.org/TR/css-fonts-3/#font-synthesis-prop
This property allows web authors to opt out of font synthesis. This patch only
implements parsing support for the property.
Test: fast/css3-text/font-synthesis-parse.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::fontSynthesisFromStyle): Create a CSSValue for the existing style object.
(WebCore::ComputedStyleExtractor::propertyValue): Call fontSynthesisFromStyle().
- css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Call parseFontSynthesis().
(WebCore::CSSParser::parseFontSynthesis): Accept the grammar
"none | [ weight style ]" - css/CSSParser.h: Function signature.
- css/CSSPropertyNames.in: New CSS property name.
- css/CSSValueKeywords.in: New CSS value names.
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueFontSynthesis): Construct an internal
representation of font-synthesis for a given CSSValue.
- rendering/style/RenderStyle.h: Function signature.
- rendering/style/RenderStyleConstants.h: Internal representation of
font-synthesis.
- rendering/style/StyleRareInheritedData.h: Where we actually store the bits
related to this internal representation.
LayoutTests:
Reviewed by Tim Horton.
- fast/css3-text/font-synthesis-parse-expected.txt: Added.
- fast/css3-text/font-synthesis-parse.html: Added.
- 6:31 PM Changeset in webkit [183303] by
-
- 2 edits in trunk/Tools
Fix the build.
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController initWithConfiguration:]):
- 6:03 PM Changeset in webkit [183302] by
-
- 5 edits in trunk/Source
Have the web inspector report accurate memory use for layers with detached backing store
https://bugs.webkit.org/show_bug.cgi?id=144179
Reviewed by Dean Jackson.
Source/WebCore:
Only report memory use for layers whose backing store is attached.
- platform/graphics/ca/GraphicsLayerCA.cpp:
- platform/graphics/ca/PlatformCALayer.h: Add backingContributesToMemoryEstimate()
which platforms can override if they allow backing store detaching.
Source/WebKit2:
Remote layers can make their backing store volatile, so the backing only contributes
to reported memory use when attached.
- WebProcess/WebPage/mac/PlatformCALayerRemote.h:
- 6:02 PM Changeset in webkit [183301] by
-
- 26 edits in trunk/LayoutTests
Track a coverage rect through GraphicsLayerCA flushes, use it to mark backing store attached
https://bugs.webkit.org/show_bug.cgi?id=144165
Reviewed by Dean Jackson.
New results for platform/mac-wk2/tiled-drawing tests that dump layer trees.
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
- platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
- platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt:
- platform/mac-wk2/tiled-drawing/visible-rect-content-inset-expected.txt:
- 6:02 PM Changeset in webkit [183300] by
-
- 30 edits6 adds in trunk
Track a coverage rect through GraphicsLayerCA flushes, use it to mark backing store attached
https://bugs.webkit.org/show_bug.cgi?id=144165
Reviewed by Dean Jackson.
Source/WebCore:
Push in the clipRect as the secondary rect when doing a GraphicsLayerCA flush,
which maps this rect through all the layers. Each layer tests intersection with
this rect to determine if its backing store should be attached.
This will cause us to drop backing store for layers that don't intersect the
visible part of the view, which is too aggressive. A future patch will add
some padding.
Tests: compositing/visible-rect/coverage-clipped.html
compositing/visible-rect/coverage-scrolling.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA): Remove initialization of things with
C++11 initializers. Initialize the new m_intersectsCoverageRect bit.
(WebCore::GraphicsLayerCA::flushCompositingState): Push the clipRect in as the
secondary coverage rect. A future patch will inflate this on the way down the tree.
(WebCore::GraphicsLayerCA::computeVisibleRect): If we're clipping, and
we have a secondary coverage rect, that rect can be clipped to us too.
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateBackingStoreAttachment):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
- platform/graphics/ca/GraphicsLayerCA.h: New CoverageRectChanged bit.
Use more C++11 initializers.
(WebCore::GraphicsLayerCA::coverageRect):
LayoutTests:
Updated results that now include coverage rects, and a new test that includes both visible
and hidden layers.
- compositing/contents-scale/animating-expected.txt:
- compositing/contents-scale/rounded-contents-scale-expected.txt:
- compositing/contents-scale/scaled-ancestor-expected.txt:
- compositing/contents-scale/simple-scale-expected.txt:
- compositing/contents-scale/z-translate-expected.txt:
- compositing/visible-rect/coverage-clipped-expected.txt: Added.
- compositing/visible-rect/coverage-clipped.html: Added.
- compositing/visible-rect/coverage-scrolling-expected.txt: Added.
- compositing/visible-rect/coverage-scrolling.html: Added.
- platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt: Added.
- platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt: Added.
- platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
- platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
- platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/mac/compositing/visible-rect/2d-transformed-expected.txt:
- platform/mac/compositing/visible-rect/3d-transform-style-expected.txt:
- platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
- platform/mac/compositing/visible-rect/animated-expected.txt:
- platform/mac/compositing/visible-rect/animated-from-none-expected.txt:
- platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt:
- platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt:
- platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt:
- platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt:
- platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
- platform/mac/compositing/visible-rect/nested-transform-expected.txt:
- platform/mac/compositing/visible-rect/scrolled-expected.txt:
- 5:25 PM Changeset in webkit [183299] by
-
- 2 edits in trunk/Source/WebKit2
theverge.com burning 100% CPU on iPad (due to window.screenX/Y)
<https://webkit.org/b/144175>
<rdar://problem/20694585>
Reviewed by Anders Carlsson.
Return an empty window rect on iOS WK2 builds. This avoids sending a synchronous
IPC request to the UI process that would give the same result, but spend way
more time and CPU cycles to do so.
With this change, theverge.com CPU usage goes from 100% to ~20% when idle.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::windowRect):
- 5:19 PM Changeset in webkit [183298] by
-
- 2 edits in trunk/Tools
Disable ActionMenusPDFTest due to timeout on test bot
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST):
- 5:16 PM Changeset in webkit [183297] by
-
- 5 edits in trunk/Source/WebKit2
TextIndicator for embedded PDFs is slightly offset
https://bugs.webkit.org/show_bug.cgi?id=144172
<rdar://problem/20691304>
Reviewed by Tim Horton.
When I converted the existing DOM Range logic to work with PDFSelections, I omitted the
step where the font ascent was used to adjust the origin used for the TextIndicator. This
patch determines the correct ascent for the range of characters in the selection, and
adjusts the offset by the difference between the ascent and the height of the selection rect.
Also, since the PDFSelection only supplies the bounding rect for the selection, I calculate
an equivalent text bounding box by insetting the rect by half the size of the ascent.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::scaleFactor): Add accessor for PDF scale factor.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForPDFSelectionInPluginView): Adjusted to take the
font ascent and scale factor into account.
- 5:11 PM Changeset in webkit [183296] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r183293): Fix iOS EWS build by adding SPI declaration for +[UIPeripheralHost visiblePeripheralFrame]
Fixes the following build failures:
WebKit2/UIProcess/ios/WKPDFView.mm:740:45: error: class method '+visiblePeripheralFrame' not found (return type defaults to 'id') [-Werror,-Wobjc-method-access]
CGRect keyboardRect = [UIPeripheralHost visiblePeripheralFrame];
~
WebKit2/UIProcess/ios/WKPDFView.mm:740:12: error: no viable conversion from 'id' to 'CGRect'
CGRect keyboardRect = [UIPeripheralHost visiblePeripheralFrame];
~
- Platform/spi/ios/UIKitSPI.h:
(+[UIPeripheralHost visiblePeripheralFrame]): Add declaration.
- 5:11 PM Changeset in webkit [183295] by
-
- 5 edits in trunk/Source/WebCore
AnimationController::scrollWasUpdated() shows up in scrolling profiles on pages that don't use scroll triggers
https://bugs.webkit.org/show_bug.cgi?id=144173
<rdar://problem/20526168>
Reviewed by Simon Fraser.
Keep a list of Animations that care about scroll updates, and only
run the animation update if the list is not empty.
Covered by existing tests.
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updateStateMachine): Tell the AnimationController
if this is an animation that depends on scrolling.
- page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::animationWillBeRemoved): Call the
new removeFromAnimationsDependentOnScroll as this animation is deleted.
(WebCore::AnimationControllerPrivate::addToAnimationsDependentOnScroll):
(WebCore::AnimationControllerPrivate::removeFromAnimationsDependentOnScroll):
(WebCore::AnimationControllerPrivate::scrollWasUpdated): Only update if
there are animations that care.
(WebCore::AnimationController::wantsScrollUpdates): Helper to expose this
value to FrameView.
- page/animation/AnimationController.h:
- page/animation/AnimationControllerPrivate.h:
(WebCore::AnimationControllerPrivate::wantsScrollUpdates):
- 5:09 PM Changeset in webkit [183294] by
-
- 5 edits1 copy in trunk/Source/WebKit2
Change _WKWebsiteDataStore to hold on to an internal WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=144171
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _websiteDataStore]):
(-[WKWebViewConfiguration _setWebsiteDataStore:]):
- UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(-[_WKWebsiteDataStore initWithDataStore:]):
(+[_WKWebsiteDataStore defaultDataStore]):
(+[_WKWebsiteDataStore nonPersistentDataStore]):
(-[_WKWebsiteDataStore isNonPersistent]):
(-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
(-[_WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
(-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
- UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataStore.h.
- WebKit2.xcodeproj/project.pbxproj:
- 4:54 PM Changeset in webkit [183293] by
-
- 6 edits in trunk/Source
WKPDFView does not support password-protected PDFs
https://bugs.webkit.org/show_bug.cgi?id=144162
<rdar://problem/18411512>
Reviewed by Andy Estes.
- Platform/spi/ios/UIKitSPI.h:
Add some SPI.
- UIProcess/ios/WKPDFView.h:
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _didLoadPDFDocument]):
(-[WKPDFView web_setContentProviderData:suggestedFilename:]):
Move creation of the UIPDFDocument (only possible if the CGPDFDocument is unlocked)
and initial setup of the page views out into _didLoadPDFDocument.
If the CGPDFDocument is locked, we'll show some UI to unlock it; otherwise
we'll continue on to _didLoadPDFDocument as previously.
(-[WKPDFView web_setMinimumSize:]):
Resize the password UI instead of the PDF pages if we have it.
(-[WKPDFView _computePageAndDocumentFrames]):
Don't bother doing any work revalidating PDF pages if the document is locked.
(-[WKPDFView _updatePasswordEntryField]):
Make sure that the UIDocumentPassword view is always the size of the scrollview.
This takes care of rotation.
(-[WKPDFView _keyboardDidShow:]):
Make sure that we scroll the password field around, if necessary, to keep it
on screen when editing begins.
(-[WKPDFView _showPasswordEntryField]):
(-[WKPDFView _hidePasswordEntryField]):
Adjust the background color (to match the UIDocumentPasswordView) and disable zooming
while it's up. The UIDocumentPassword view is installed into the scroll view
to match UIWebView behavior.
(-[WKPDFView userDidEnterPassword:forPasswordView:]):
(-[WKPDFView didBeginEditingPassword:inView:]):
(-[WKPDFView didEndEditingPassword:inView:]):
(-[WKPDFView _didFailToUnlock]):
Pop up a dialog informing the user that they entered the wrong password.
(-[WKPDFView _tryToUnlockWithPassword:]):
Try to unlock the document. If it succeeds, hide the unlock UI and go back to
_didLoadPDFDocument.
- English.lproj/Localizable.strings:
Add some localizable strings.
- 4:51 PM Changeset in webkit [183292] by
-
- 3 edits in trunk/Source/WebCore
Fix iOS EWS builds after updating to iOS 8.3 SDK
- platform/spi/cocoa/CoreTextSPI.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
- Update IPHONE_OS_VERSION_MIN_REQUIRED for these constants.
- 4:29 PM Changeset in webkit [183291] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
[JSC] When inserting a NaN into a Int32 array, we convert it to DoubleArray then to ContiguousArray
https://bugs.webkit.org/show_bug.cgi?id=144169
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-24
Reviewed by Geoffrey Garen.
- runtime/JSObject.cpp:
(JSC::JSObject::convertInt32ForValue):
DoubleArray do not store NaN, they are used for holes.
What happened was:
1) We fail to insert the NaN in the Int32 array because it is a double.
2) We were converting the array to DoubleArray.
3) We were trying to insert the value again. We would fail again because
DoubleArray does not store NaN.
4) We would convert the DoubleArrayt to Contiguous Array, converting the values
to boxed values.
- tests/stress/int32array-transition-on-nan.js: Added.
The behavior is not really observable. This only test nothing crashes in those
cases.
(insertNaNWhileFilling):
(testInsertNaNWhileFilling):
(insertNaNAfterFilling):
(testInsertNaNAfterFilling):
(pushNaNWhileFilling):
(testPushNaNWhileFilling):
- 4:11 PM Changeset in webkit [183290] by
-
- 2 edits2 adds in trunk/LayoutTests
Handling additional review feedback after http://trac.webkit.org/changeset/183280
https://bugs.webkit.org/show_bug.cgi?id=144157.
Suggested by, implicitly reviewed by, and explicitly rubber-stamped by Alexey Proskuryakov.
- http/tests/security/cors-post-redirect-303-expected.txt: Added.
- http/tests/security/cors-post-redirect-303.html: Added.
- http/tests/security/resources/cors-post-redirect-target.php:
- 4:04 PM Changeset in webkit [183289] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed iOS build fix; add declarations to AVKitSPI.h
- platform/spi/cocoa/AVKitSPI.h:
- 4:02 PM Changeset in webkit [183288] by
-
- 31 edits1 delete in trunk
It shouldn't take 1846 lines of code and 5 FIXMEs to sort an array.
https://bugs.webkit.org/show_bug.cgi?id=144013
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch implements Array.prototype.sort in JavaScript, removing the
C++ implementations. It is simpler and less error-prone to express our
operations in JavaScript, which provides memory safety, exception safety,
and recursion safety.
The performance result is mixed, but net positive in my opinion. It's
difficult to enumerate all the results, since we used to have so many
different sorting modes, and there are lots of different data patterns
across which you might want to measure sorting. Suffice it to say:
(*) The benchmarks we track are faster or unchanged.
(*) Sorting random input using a comparator -- which we think is
common -- is 3X faster.
(*) Sorting random input in a non-array object -- which jQuery does
-- is 4X faster.
(*) Sorting random input in a compact array of integers using a
trivial pattern-matchable comparator is 2X *slower*.
- builtins/Array.prototype.js:
(sort.min):
(sort.stringComparator):
(sort.compactSparse): Special case compaction for sparse arrays because
we don't want to hang when sorting new Array(BIG).
(sort.compact):
(sort.merge):
(sort.mergeSort): Use merge sort because it's a reasonably efficient
stable sort. We have evidence that some sites depend on stable sort,
even though the ES6 spec does not mandate it. (See
<http://trac.webkit.org/changeset/33967>.)
This is a textbook implementation of merge sort with three optimizations:
(1) Use iteration instead of recursion;
(2) Use array subscripting instead of array copying in order to
create logical sub-lists without creating physical sub-lists;
(3) Swap src and dst at each iteration instead of copying src into
dst, and only copy src into the subject array at the end if src is
not the subject array.
(sort.inflate):
(sort.comparatorSort):
(sort): Sort in JavaScript for the win.
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createExecutableInternal): Allow non-private
names so we can use helper functions.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::isNumericCompareFunction): Deleted.
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::setIsNumericCompareFunction): Deleted.
(JSC::UnlinkedCodeBlock::isNumericCompareFunction): Deleted.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::setIsNumericCompareFunction): Deleted.
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::FunctionNode::emitBytecode): We don't do this special casing based
on pattern matching anymore. This was mainly an optimization to avoid
the overhead of calling from C++ to JS, which we now avoid by
sorting in JS.
- heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::pushTempSortVector): Deleted.
(JSC::Heap::popTempSortVector): Deleted.
(JSC::Heap::visitTempSortVectors): Deleted.
- heap/Heap.h: We don't have temp sort vectors anymore because we sort
in JavaScript using a normal JavaScript array for our temporary storage.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner): Allow capturing so we can use
helper functions.
- runtime/ArrayPrototype.cpp:
(JSC::isNumericCompareFunction): Deleted.
(JSC::attemptFastSort): Deleted.
(JSC::performSlowSort): Deleted.
(JSC::arrayProtoFuncSort): Deleted.
- runtime/CommonIdentifiers.h: New strings used by sort.
- runtime/JSArray.cpp:
(JSC::compareNumbersForQSortWithInt32): Deleted.
(JSC::compareNumbersForQSortWithDouble): Deleted.
(JSC::compareNumbersForQSort): Deleted.
(JSC::compareByStringPairForQSort): Deleted.
(JSC::JSArray::sortNumericVector): Deleted.
(JSC::JSArray::sortNumeric): Deleted.
(JSC::ContiguousTypeAccessor::getAsValue): Deleted.
(JSC::ContiguousTypeAccessor::setWithValue): Deleted.
(JSC::ContiguousTypeAccessor::replaceDataReference): Deleted.
(JSC::ContiguousTypeAccessor<ArrayWithDouble>::getAsValue): Deleted.
(JSC::ContiguousTypeAccessor<ArrayWithDouble>::setWithValue): Deleted.
(JSC::ContiguousTypeAccessor<ArrayWithDouble>::replaceDataReference): Deleted.
(JSC::JSArray::sortCompactedVector): Deleted.
(JSC::JSArray::sort): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::get_less): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::set_less): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::get_greater): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::set_greater): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::get_balance_factor): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::set_balance_factor): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::compare_key_key): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::compare_key_node): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::compare_node_node): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::null): Deleted.
(JSC::JSArray::sortVector): Deleted.
(JSC::JSArray::compactForSorting): Deleted.
- runtime/JSArray.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation): Provide some builtins used
by sort.
Source/WTF:
Remove this custom tree implementation because it is unused. (It was
previously used to achieve a stable array sort in certain cases.)
- WTF.vcxproj/WTF.vcxproj:
- WTF.vcxproj/WTF.vcxproj.filters:
- WTF.xcodeproj/project.pbxproj:
- wtf/AVLTree.h: Removed.
- wtf/CMakeLists.txt:
LayoutTests:
- js/script-tests/array-holes.js:
- js/array-holes-expected.txt: This result now matches Firefox. We see
'peekaboo', which is a prototype property, rather than a hole, because
sorting uses Get?, which sees prototype properties.
The ES6 spec says that sorting should use Get?, so this new result
matches the spec a little better -- although the spec also says that the
result of sorting is undefined in this case because of the presence of
an indexed property in the prototype chain.
- js/dom/array-prototype-properties-expected.txt: Updated error message
to match other array prototype error messages.
- js/comparefn-sort-stability-expected.txt:
- js/script-tests/comparefn-sort-stability.js: Made this test bigger in
order to demonstrate that Firefox and Safari use a stable sort, and
Chrome does not.
- js/script-tests/array-sort-sparse.js:
- js/array-sort-sparse-expected.txt: Added some tests for things I got
wrong in this patch.
- 3:31 PM Changeset in webkit [183287] by
-
- 2 edits in trunk/LayoutTests
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
Unreviewed follow-up. Added a notifyDone, so that the watchdog timer actually works.
- fast/frames/flattening/resources/iframe-to-resize.html:
- 3:22 PM Changeset in webkit [183286] by
-
- 6 edits in trunk/Source/WebCore
Make rangeExpandedAroundPositionByCharacters to all platforms.
https://bugs.webkit.org/show_bug.cgi?id=144161
Reviewed by Tim Horton.
No change in functionality, simply making this available
to all platforms.
- editing/VisibleUnits.cpp:
(WebCore::rangeExpandedAroundPositionByCharacters):
- editing/VisibleUnits.h:
- editing/mac/DataDetection.mm:
- editing/mac/DictionaryLookup.h:
- editing/mac/DictionaryLookup.mm:
(WebCore::rangeExpandedAroundPositionByCharacters): Deleted.
- 3:05 PM Changeset in webkit [183285] by
-
- 3 edits in trunk/Source/WebCore
Purge PassRefPtr from NamedNodeMap.
<https://webkit.org/b/144091>
Reviewed by Antti Koivisto.
Use RefPtr instead of PassRefPtr in NamedNodeMap.
- dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::getNamedItem):
(WebCore::NamedNodeMap::getNamedItemNS):
(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):
(WebCore::NamedNodeMap::setNamedItem):
(WebCore::NamedNodeMap::setNamedItemNS):
(WebCore::NamedNodeMap::item):
- dom/NamedNodeMap.h:
- 3:01 PM Changeset in webkit [183284] by
-
- 1 copy in tags/Safari-600.7.3
New tag.
- 3:00 PM Changeset in webkit [183283] by
-
- 73 edits11 deletes in trunk
Unreviewed, rolling out r183266.
https://bugs.webkit.org/show_bug.cgi?id=144164
Broke 32-bit build and a test. (Requested by ap on #webkit).
Reverted changeset:
"AX: richer text change notifications (142719)"
https://bugs.webkit.org/show_bug.cgi?id=142719
http://trac.webkit.org/changeset/183266
- 2:53 PM Changeset in webkit [183282] by
-
- 6 edits in trunk
REGRESSION: WebKit2.ActionMenusTest API test fails
https://bugs.webkit.org/show_bug.cgi?id=144149
<rdar://problem/20677770>
Reviewed by Tim Horton.
Source/WebKit2:
Tested by TestWebKitAPI
The 'lookupTextAtLocation' method was not converting the NSEvent coordinates it
was receiving from root view to the plugin view. Consequently, full page PDFs
did hit testing correctly, but an <embed> PDF would not.
Since 'existingSelectionContainsPoint' is exposed as API, I also modified it to
expect 'root view' coordinates and perform the requisite conversions, rather
than expecting 'plugin view' coordinates.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::existingSelectionContainsPoint): Expect 'root view' coordinates
for the input.
(WebKit::PDFPlugin::lookupTextAtLocation): Properly convert the passed 'root view'
coordinates to the PDF's view coordinate space.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performActionMenuHitTestAtLocation): Pass hit point using view coordinates,
not content coordinates.
Tools:
- TestWebKitAPI/Tests/WebKit2/action-menu-targets.html: Revise to use the same test PDF
as the 'ActionMenusPDFTest'.
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST): Unskip the PDF portion of ActionMenusTest, and revise its expected output
to match the hit test on the 'action-menu-target.pdf' test file.
- 2:39 PM Changeset in webkit [183281] by
-
- 2 edits in trunk/Tools
Cleanup: Use @memoized for property IOSSimulator.testing_device
https://bugs.webkit.org/show_bug.cgi?id=141715
Reviewed by Darin Adler.
Simplify the caching of the result of IOSSimulator.testing_device
and make the code more readable by making use of the @memoized declarator
instead of explicitly managing a private instance variable,
IOSSimulator._testing_device, for the cached result.
- Scripts/webkitpy/port/ios.py:
(IOSPort.determine_full_port_name):
(IOSSimulatorPort.init): Delete instance variable IOSSimulatorPort._testing_device.
(IOSSimulatorPort):
(IOSSimulatorPort.testing_device): No need to cache the created device object in
IOSSimulatorPort._testing_device since we are marking this function @memoized.
(IOSSimulatorPort.reset_preferences): Code style fix; inline self.testing_device.path instead
of caching in local variable since we only make use of this value exactly once in this function.
(IOSPort.init): Deleted; The instance variable IOSPort._testing_device has never
been used since being added in r178622. So, we can remove this constructor since
it's the trivial constructor once we remove the instance variable IOSPort._testing_device.
- 2:09 PM Changeset in webkit [183280] by
-
- 4 edits9 adds in trunk
Origin header is preserved on cross-origin redirects.
https://bugs.webkit.org/show_bug.cgi?id=144157.
Reviewed by Sam Weinig.
Source/WebCore:
Tests: http/tests/security/cors-post-redirect-301.html
http/tests/security/cors-post-redirect-302.html
http/tests/security/cors-post-redirect-307.html
http/tests/security/cors-post-redirect-308.html
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::willSendRequest): Always clear any origin header for cross-origin redirects.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::willSendRequest): Ditto.
LayoutTests:
- http/tests/security/cors-post-redirect-301-expected.txt: Added.
- http/tests/security/cors-post-redirect-301.html: Added.
- http/tests/security/cors-post-redirect-302-expected.txt: Added.
- http/tests/security/cors-post-redirect-302.html: Added.
- http/tests/security/cors-post-redirect-307-expected.txt: Added.
- http/tests/security/cors-post-redirect-307.html: Added.
- http/tests/security/cors-post-redirect-308-expected.txt: Added.
- http/tests/security/cors-post-redirect-308.html: Added.
- http/tests/security/resources/cors-post-redirect-target.php: Added.
- 1:55 PM Changeset in webkit [183279] by
-
- 2 edits in trunk/Source/WebKit2
Address a review comment from Joe Pecoraro.
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- 1:48 PM Changeset in webkit [183278] by
-
- 10 edits in trunk
Rename -[WKWebsiteDataStore isNonPersistent] to -[WKWebsiteDataStore isPersistent]
https://bugs.webkit.org/show_bug.cgi?id=144158
Reviewed by Beth Dakin.
Source/WebKit2:
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::isPersistent):
(API::WebsiteDataStore::isNonPersistent): Deleted.
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore isPersistent]):
(-[WKWebsiteDataStore isNonPersistent]): Deleted.
- UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(-[_WKWebsiteDataStore isNonPersistent]):
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController initWithConfiguration:]):
- 12:33 PM Changeset in webkit [183277] by
-
- 15 edits in trunk/Source
Immediate action not functional for embedded PDFs
https://bugs.webkit.org/show_bug.cgi?id=143952
<rdar://problem/19842365>
Reviewed by Tim Horton.
Source/WebCore:
Add a dictionary lookup method to allow us to retrieve
relevant information for PDFs.
- editing/mac/DictionaryLookup.mm:
(WebCore::dictionaryLookupForPDFSelection): Updated to properly handle cases
where the Lookup engine selects a smaller range than the initial automatic
selection performed on clicking.
Source/WebKit2:
Add a new method to retrieve appropriate dictionary lookup content and update the
hit test result with relevant dictionary content and the bounding rect of the
selection.
- WebProcess/Plugins/Netscape/NetscapePlugin.h: Add stub.
- WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Initialize plugin type.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::rectInWindowSpaceForRectInLayoutSpace): New helper function to
convert PDF 'in page' units to the equivalent view units.
(WebKit::PDFPlugin::PDFPlugin): Initialize plugin type.
(WebKit::PDFPlugin::viewRectForSelection): Query a provided PDFSelection for
its bounding rect and return the result in view units.
- WebProcess/Plugins/Plugin.h:
- WebProcess/Plugins/PluginProxy.cpp: Initialize plugin type.
- WebProcess/Plugins/PluginProxy.h: Add stub.
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::viewRectForSelection): Added.
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForPDFSelectionInPluginView): Added.
(WebKit::textIndicatorTransitionForActionMenu): Added helper function.
(WebKit::WebPage::performActionMenuHitTestAtLocation): Update the hit test information
with relevant dictionary lookup content, and mark the result as a text node (if
appropriate).
- 12:15 PM Changeset in webkit [183276] by
-
- 2 edits in trunk/Source/WebKit2
[WK2] Only issue a isPlayingAudioDidChange() notification if the audio playing state actually changed.
https://bugs.webkit.org/show_bug.cgi?id=144153
Reviewed by Alexey Proskuryakov.
Check the old state vs. the new state and only issue the change notification if the IsPlayingAudio state changed.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::isPlayingMediaDidChange):
- 12:08 PM Changeset in webkit [183275] by
-
- 3 edits3 adds in trunk
Source/JavaScriptCore:
Made Object.prototype.proto native getter and setter check that this object not null or undefined
https://bugs.webkit.org/show_bug.cgi?id=141865
rdar://problem/19927273
Reviewed by Filip Pizlo.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
LayoutTests:
Added tests to ensure that Object.prototype.proto native getter and setter do not coerce undefined to this
https://bugs.webkit.org/show_bug.cgi?id=141865
rdar://problem/19927273
Reviewed by Filip Pizlo.
- js/script-tests/sloppy-getter-setter-global-object.js: Added.
- js/sloppy-getter-setter-global-object-expected.txt: Added.
- js/sloppy-getter-setter-global-object.html: Added.
- 12:01 PM Changeset in webkit [183274] by
-
- 5 edits in trunk/Source/WebCore
Make it possible to map a secondary quad through TransformState
https://bugs.webkit.org/show_bug.cgi?id=144156
Reviewed by Dean Jackson.
A future patch will need to map two quads simultaneously through TransformState,
so add the ability to provide an optional secondary quad.
This patch also firms up the setQuad() contract, fixing webkit.org/b/106680,
requiring the state to be flattened when setting the quad (and now, the secondary quad).
Previously, setQuad implicitly flattened but failed to update m_mapPoint when
doing so.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::computeVisibleRect): Now we have to explicitly flatten
before setting the quad.
- platform/graphics/ca/GraphicsLayerCA.h: Drive-up #include removal.
- platform/graphics/transforms/TransformState.cpp:
(WebCore::TransformState::operator=): Copy the secondary quad if we have one.
(WebCore::TransformState::translateMappedCoordinates): Move the secondary quad
if we have one.
(WebCore::TransformState::mappedQuad): Code factored into mapQuad().
(WebCore::TransformState::mappedSecondaryQuad): Return the secondary quad mapped
into the state's current coordinate space.
(WebCore::TransformState::mapQuad): Factored code.
- platform/graphics/transforms/TransformState.h:
(WebCore::TransformState::setQuad): Make the contract more explicit with assertions.
(WebCore::TransformState::setSecondaryQuad): Ditto when setting the secondary quad.
(WebCore::TransformState::lastPlanarSecondaryQuad):
(WebCore::TransformState::lastPlanarQuad): Deleted.
- 11:57 AM Changeset in webkit [183273] by
-
- 3 edits in trunk/Source/WebKit2
CrashTracer: [USER] com.apple.WebKit.Networking at com.apple.WebKit: WebKit::NetworkResourceLoader::~NetworkResourceLoader + 14
https://bugs.webkit.org/show_bug.cgi?id=144147
Reviewed by Chris Dumez.
Storage::storeBodyAsBlob copies the std::function callback for handling mapped bodies in a thread.
This is thread safe only if the function copy is thread safe. It is currently not as we are capturing
RefPtr<NetworkResourceLoader> and NetworkResourceLoader doesn't use thread safe refcounting.
Fix by avoiding copying of the callback. Use same apporach for WriteOperation as we already use for
ReadOperation: count the active operations in progress and delete WriteOperation when everything is
finished. This way we don't need to copy the function out from WriteOperation.
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::ReadOperation::ReadOperation):
(WebKit::NetworkCache::Storage::WriteOperation::WriteOperation):
Move definition here from the header.
(WebKit::NetworkCache::Storage::~Storage):
(WebKit::NetworkCache::Storage::storeBodyAsBlob):
Increment the operation count when storing a blob, call finishWriteOperation when done.
(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::finishReadOperation):
Count active operations instead of finished operations. This makes the code clearer.
(WebKit::NetworkCache::Storage::dispatchWriteOperation):
(WebKit::NetworkCache::Storage::finishWriteOperation):
Mirror the way ReadOperations work.
- NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCache::Storage::ReadOperation::ReadOperation): Deleted.
- 11:55 AM Changeset in webkit [183272] by
-
- 3 edits in trunk/LayoutTests
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
Reviewed by Anders Carlsson.
Cleaned the test up a little, and added logging to collect some information about
why it fails.
- fast/frames/flattening/iframe-flattening-resize-event-count.html:
- fast/frames/flattening/resources/iframe-to-resize.html:
- 11:45 AM Changeset in webkit [183271] by
-
- 5 edits in trunk/Source/WebCore
[iOS] Reimplement r182512 and r183153 in a cleaner way
https://bugs.webkit.org/show_bug.cgi?id=144151
Reviewed by Enrica Casucci.
On iOS, we create FontPlatformData's ctFont() by round tripping it through a CGFontRef.
This causes the resultant ctFont() to lose system-font-ness. Patches r182512 and r183153
react to this fact by making users of a FontPlatformData use the original font passed in
to the FontPlatformData instead of the FontPlatformData's ctFont(), but only if we
detect that the FontPlatformData represents a system font (the underlying APIs have
different behavior for system fonts and non-system-fonts).
However, on OS X, we create a FontPlatformData's ctFont() directly from the original
font passed in to the constructor. This preserves system-font-ness (because it no
longer has the CGFontRef in the middle of the transformation). Therefore, OS X has the
correct behavior regarding system fonts.
The difference between the two ctFont() creation codepaths seems to be historical
rather than intentional. Rather than change all the call sites of ctFont() to use a
different platform font object if a system font is detected, a cleaner solution is to
simply unify the two ctFont() creation codepaths to the version which preserves system-
font-ness. Doing this will make all users of FontPlatformData automatically have the
correct behavior with no updates.
This patch reverts the relevant parts of r182512 and r183153 in favor of this new
solution.
No new tests because there is no behavior change.
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::hashTableDeletedFontValue): Deleted.
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformWidthForGlyph):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFontSize):
(WebCore::FontPlatformData::ctFont):
- platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::Font::getCFStringAttributes):
- 11:26 AM Changeset in webkit [183270] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
- 11:12 AM Changeset in webkit [183269] by
-
- 11 edits in trunk/Source
[Cocoa] Start cleaning up FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=144133
Reviewed by Enrica Casucci.
Source/WebCore:
This is the start of a crusade to ultimately remove one of the CTFontRefs which we have inside
FontPlatformData. This patch starts this effort out by removing the FontPlatformData
constructor which accepts an NSFont. This constructor simply casts the NSFont to a CTFontRef,
and forwards to another constructor. This patch moves this cast to callers of this constructor,
thereby enumerating the places we have left that use NSFont with FontPlatformData.
This patch also cleans up two of the constructors in FontPlatformData.cpp to forward on to
a common constructor.
This patch also collects places inside FontPlatformDataCocoa.mm where we check if a pointer is
not 0 and not -1, and puts this common code inside a new function,
FontPlatformData::isValidCTFontRef().
No new tests because there is no behavior change.
- platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData): Coalesce constructors.
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::isValidCTFontRef): Check if a pointer is not 0 and not -1.
(WebCore::FontPlatformData::hashTableDeletedFontValue): Deleted.
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformCreateScaledFont): Receive cast which has been hoisted from the deleted
FontPlatformData constructor.
(WebCore::Font::compositeFontReferenceFont): Ditto.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::~FontPlatformData): Use isValidCTFontRef().
(WebCore::FontPlatformData::platformDataInit): Ditto.
(WebCore::FontPlatformData::platformDataAssign): Ditto.
(WebCore::FontPlatformData::platformIsEqual): Simplify preprocessor macros.
(WebCore::FontPlatformData::allowsLigatures): Remove unnecessary NSFont use.
(WebCore::FontPlatformData::FontPlatformData): Deleted.
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Remove unnecessary
NSFont use.
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::systemFallbackForCharacters): Receive cast which has been hoisted from the
deleted FontPlatformData constructor.
(WebCore::FontCache::createFontPlatformData): Ditto.
- platform/mac/DragImageMac.mm:
(WebCore::fontFromNSFont): Ditto.
(WebCore::widthWithFont): Ditto.
(WebCore::drawAtPoint): Ditto.
Source/WebKit/mac:
Receive casts which have been hoisted from the deleted FontPlatformData constructor.
- Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Receive cast which has
been hoisted from the deleted FontPlatformData constructor.
(-[NSString _web_widthWithFont:]): Ditto.
- Misc/WebStringTruncator.mm:
(fontFromNSFont): Ditto.
- 11:02 AM Changeset in webkit [183268] by
-
- 4 edits in trunk/Source
REGRESSION: Web Inspector: Start Timeline Recording in Develop menu broken
https://bugs.webkit.org/show_bug.cgi?id=144150
Reviewed by Brian Burg.
Source/WebInspectorUI:
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setTimelineProfilingEnabled): Change !== to === when
checking enabled to isCapturing().
Source/WebKit2:
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::evaluateCommandOnLoad): Properly treat bools as literals
instead of strings by not using the string version of evaluateCommandOnLoad.
- 10:26 AM Changeset in webkit [183267] by
-
- 4 edits in trunk/Source/WebKit2
Add headerdocs for WKWebsiteDataRecord and WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=144138
Reviewed by Darin Adler.
- UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
(-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
(-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
- 9:49 AM Changeset in webkit [183266] by
-
- 73 edits3 copies8 adds in trunk
AX: richer text change notifications (142719)
https://bugs.webkit.org/show_bug.cgi?id=142719
Patch by Doug Russell <d_russell@apple.com> on 2015-04-24
Reviewed by Darin Adler.
Richer accessibility value change notifications. Introduce AXTextEditType, postTextStateChangeNotification and postTextReplacementNotification to give assistive tech apps more reliable context for responding to changes in web content. Also implement a mechanism to post value changes in password form fields in coalesced ticks to thwart analyzing the cadence of changes.
Richer accessibility selection change notifications. Introduce AXTextStateChangeIntent, and an overload of postTextReplacementNotification to give assistive tech apps more reliable context for responding to changes in web content selection. Also block posting selection changes on password fields.
Source/WebCore:
Tests: platform/mac/accessibility/input-replacevalue-userinfo.html
platform/mac/accessibility/selection-change-userinfo.html
platform/mac/accessibility/value-change-userinfo.html
- CMakeLists.txt:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::passwordNotificationPostTimerFired):
(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::setTextSelectionIntent):
(WebCore::isPasswordFieldOrContainedByPasswordField):
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::enqueuePasswordValueChangeNotification):
(WebCore::AXObjectCache::rootWebArea):
(WebCore::AXObjectCache::selectedChildrenChanged): Deleted.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::computedObjectAttributeCache): Deleted.
(WebCore::AXObjectCache::getOrCreate): Deleted.
(WebCore::AXObjectCache::attachWrapper): Deleted.
- accessibility/AXTextStateChangeIntent.h: Added.
(WebCore::AXTextStateChangeIntent::AXTextStateChangeIntent):
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::passwordFieldOrContainingPasswordField):
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isContainedByPasswordField):
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::passwordFieldOrContainingPasswordField):
(WebCore::AccessibilityObject::isPasswordField): Deleted.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
- accessibility/AccessibilityScrollView.h:
- accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::postPlatformNotification): Deleted.
- accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::setShouldRepostNotificationsForTests):
(WebCore::AXPostNotificationWithUserInfo):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::textReplacementChangeDictionary):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
- accessibility/mac/WebAccessibilityObjectWrapperBase.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(+[WebAccessibilityObjectWrapperBase accessibilitySetShouldRepostNotifications:]):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:]):
(arrayRemovingNonJSONTypes):
(dictionaryRemovingNonJSONTypes):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:userInfo:]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(textMarkerRangeFromVisiblePositions):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
- editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::AppendNodeCommand):
(WebCore::sendAXTextChangedIgnoringLineBreaks):
(WebCore::AppendNodeCommand::doApply):
(WebCore::AppendNodeCommand::doUnapply):
- editing/AppendNodeCommand.h:
(WebCore::AppendNodeCommand::create):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::ApplyStyleCommand):
(WebCore::ApplyStyleCommand::applyBlockStyle): Deleted.
- editing/ApplyStyleCommand.h:
- editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::unapplyEditType):
(WebCore::CompositeEditCommand::CompositeEditCommand):
(WebCore::CompositeEditCommand::apply):
(WebCore::CompositeEditCommand::insertParagraphSeparator):
(WebCore::CompositeEditCommand::insertNodeBefore):
(WebCore::CompositeEditCommand::appendNode):
(WebCore::CompositeEditCommand::removeNodePreservingChildren):
(WebCore::CompositeEditCommand::insertTextIntoNode):
(WebCore::CompositeEditCommand::deleteTextFromNode):
(WebCore::CompositeEditCommand::replaceTextInNode):
(WebCore::CompositeEditCommand::moveParagraphs):
(WebCore::EditCommandComposition::getNodesInCommand): Deleted.
(WebCore::CompositeEditCommand::applyStyle): Deleted.
(WebCore::CompositeEditCommand::insertLineBreak): Deleted.
(WebCore::CompositeEditCommand::insertNodeAt): Deleted.
(WebCore::CompositeEditCommand::removeChildrenInRange): Deleted.
(WebCore::CompositeEditCommand::inputText): Deleted.
- editing/CompositeEditCommand.h:
- editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
- editing/DeleteFromTextNodeCommand.h:
(WebCore::DeleteFromTextNodeCommand::create):
(WebCore::DeleteFromTextNodeCommand::deletedText):
- editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
(WebCore::DeleteSelectionCommand::preservesTypingStyle): Deleted.
- editing/DeleteSelectionCommand.h:
(WebCore::DeleteSelectionCommand::create):
- editing/DictationCommand.cpp:
(WebCore::DictationCommand::insertTextRunWithoutNewlines):
(WebCore::DictationCommand::insertParagraphSeparator):
- editing/EditAction.h:
- editing/EditCommand.cpp:
(WebCore::EditCommand::EditCommand):
(WebCore::EditCommand::editingAction):
(WebCore::EditCommand::applyEditType):
(WebCore::EditCommand::unapplyEditType):
(WebCore::SimpleEditCommand::SimpleEditCommand):
(WebCore::SimpleEditCommand::notifyAccessibilityForTextChange):
(WebCore::EditCommand::setParent): Deleted.
- editing/EditCommand.h:
- editing/EditingAllInOne.cpp:
- editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::deleteSelectionWithSmartDelete):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::replaceSelectionWithText):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::transpose):
(WebCore::Editor::changeSelectionAfterCommand):
- editing/Editor.h:
- editing/EditorCommand.cpp:
(WebCore::executeInsertFragment):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveTo):
(WebCore::FrameSelection::moveWithoutValidationTo):
(WebCore::FrameSelection::setSelectionByMouseIfDifferent):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateAndRevealSelection):
(WebCore::isBoundary):
(WebCore::FrameSelection::textSelectionIntent):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::wordSelectionContainingCaretSelection):
(WebCore::FrameSelection::modifyMovingBackward): Deleted.
(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected): Deleted.
(WebCore::FrameSelection::selectionAtWordStart): Deleted.
- editing/FrameSelection.h:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
(WebCore::FrameSelection::selection): Deleted.
- editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
- editing/InsertIntoTextNodeCommand.h:
(WebCore::InsertIntoTextNodeCommand::create):
(WebCore::InsertIntoTextNodeCommand::insertedText):
- editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
- editing/InsertNodeBeforeCommand.h:
(WebCore::InsertNodeBeforeCommand::create):
- editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
- editing/InsertParagraphSeparatorCommand.h:
(WebCore::InsertParagraphSeparatorCommand::create):
- editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::InsertTextCommand):
- editing/InsertTextCommand.h:
(WebCore::InsertTextCommand::create):
(WebCore::InsertTextCommand::createWithMarkerSupplier):
- editing/MoveSelectionCommand.cpp:
(WebCore::MoveSelectionCommand::doApply):
- editing/RemoveNodePreservingChildrenCommand.cpp:
(WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
- editing/RemoveNodePreservingChildrenCommand.h:
(WebCore::RemoveNodePreservingChildrenCommand::create):
- editing/ReplaceDeleteFromTextNodeCommand.cpp: Copied from Source/WebCore/editing/AppendNodeCommand.h.
(WebCore::ReplaceDeleteFromTextNodeCommand::ReplaceDeleteFromTextNodeCommand):
(WebCore::ReplaceDeleteFromTextNodeCommand::notifyAccessibilityForTextChange):
- editing/ReplaceDeleteFromTextNodeCommand.h: Copied from Source/WebCore/editing/AppendNodeCommand.h.
- editing/ReplaceInsertIntoTextNodeCommand.cpp: Added.
(WebCore::ReplaceInsertIntoTextNodeCommand::ReplaceInsertIntoTextNodeCommand):
(WebCore::ReplaceInsertIntoTextNodeCommand::notifyAccessibilityForTextChange):
- editing/ReplaceInsertIntoTextNodeCommand.h: Copied from Source/WebCore/editing/RemoveNodePreservingChildrenCommand.h.
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
(WebCore::ReplaceSelectionCommand::InsertedNodes::didReplaceNode): Deleted.
(WebCore::ReplaceSelectionCommand::insertAsListItems): Deleted.
- editing/ReplaceSelectionCommand.h:
(WebCore::ReplaceSelectionCommand::create):
- editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::insertParagraphSeparator):
- editing/atk/FrameSelectionAtk.cpp:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
- editing/ios/DictationCommandIOS.cpp:
(WebCore::DictationCommandIOS::DictationCommandIOS):
- editing/ios/DictationCommandIOS.h:
- editing/mac/FrameSelectionMac.mm:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
- page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
- page/EventHandler.cpp:
(WebCore::setInitialKeyboardSelection):
- page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder):
Source/WebKit/mac:
- WebCoreSupport/WebEditorClient.mm:
(undoNameForEditAction):
Source/WebKit2:
- UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::nameForEditAction):
Tools:
- DumpRenderTree/mac/AccessibilityNotificationHandler.h:
- DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler stopObserving]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::removeNotificationListener):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::removeNotificationListener):
LayoutTests:
- platform/mac/accessibility/input-replacevalue-userinfo-expected.txt: Added.
- platform/mac/accessibility/input-replacevalue-userinfo.html: Added.
- platform/mac/accessibility/selection-change-userinfo-expected.txt: Added.
- platform/mac/accessibility/selection-change-userinfo.html: Added.
- platform/mac/accessibility/value-change-userinfo-expected.txt: Added.
- platform/mac/accessibility/value-change-userinfo.html: Added.
- 9:38 AM Changeset in webkit [183265] by
-
- 56 edits6 deletes in trunk
Convert OwnPtr and PassOwnPtr uses to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128007
Reviewed by Anders Carlsson.
Source/WebCore:
- PlatformEfl.cmake: Removed OwnPtrCairo source files.
- PlatformGTK.cmake: Ditto.
- PlatformWinCairo.cmake: Ditto.
- WebCore.vcxproj/WebCore.vcxproj: Ditto.
- WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
- platform/CrossThreadCopier.cpp: Removed OwnPtr specialization.
- platform/CrossThreadCopier.h: Ditto.
- platform/ScrollAnimatorNone.cpp: Removed unneeded include.
- platform/ThreadGlobalData.cpp: Ditto.
- platform/ThreadGlobalData.h: Ditto.
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h: Ditto.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::processNotification): Use unique_ptr.
(WebCore::AVFWrapper::notificationCallback): Use make_unique.
(WebCore::AVFWrapper::platformLayer): Ditto.
- platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::appendPathToCairoContext): Use cairo_path_destroy directly
instead of a smart pointer; the code path is simple enough that it is
clear this way.
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer): Use make_unique.
- platform/graphics/cairo/ImageBufferDataCairo.h: Use unique_ptr.
- platform/graphics/cairo/OwnPtrCairo.cpp: Removed.
- platform/graphics/cairo/OwnPtrCairo.h: Removed.
- platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::Path): Use cairo_path_destroy directly instead of a
smart pointer; the code path is simple enough that it is clear this way.
(WebCore::Path::operator=): Ditto.
(WebCore::Path::addPath): Ditto.
(WebCore::Path::apply): Ditto.
- platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::clipForPatternFilling): Ditto.
- platform/graphics/freetype/FontCacheFreeType.cpp: Removed unneeded include.
- platform/graphics/glx/GLContextGLX.cpp: Ditto.
- platform/graphics/surfaces/egl/EGLSurface.cpp:
(WebCore::EGLOffScreenSurface::EGLOffScreenSurface): Use make_unique.
- platform/graphics/surfaces/glx/GLXConfigSelector.h:
(WebCore::GLXConfigSelector::findMatchingConfig): Use unique_ptr with X11Deleter.
(WebCore::GLXConfigSelector::findMatchingConfigWithVisualId): Ditto.
- platform/graphics/surfaces/glx/GLXSurface.cpp:
(WebCore::GLXTransportSurface::GLXTransportSurface): Ditto.
(WebCore::GLXOffScreenSurface::initialize): Ditto.
- platform/graphics/surfaces/glx/OwnPtrX11.h: Removed.
- platform/graphics/surfaces/glx/X11Helper.cpp:
(WebCore::X11Helper::createOffScreenWindow): Use unique_ptr with X11Deleter.
(WebCore::X11Helper::createPixmap): Ditto.
- platform/graphics/surfaces/glx/X11Helper.h: Added X11Deleter,
which can be used with unique_ptr to make it call XFree instead of delete.
- platform/graphics/win/FullScreenController.cpp: Use unique_ptr.
(FullScreenController::FullScreenController): Use make_unique.
(FullScreenController::enterFullScreen): Ditto.
- platform/graphics/win/FullScreenController.h: Use unique_ptr.
- platform/graphics/win/GraphicsContext3DWin.cpp: Removed unneeded includes.
- platform/graphics/win/WKCAImageQueue.cpp:
(WebCore::WKCAImageQueue::WKCAImageQueue): Use make_unique.
- platform/graphics/win/WKCAImageQueue.h: Use unique_ptr.
- platform/network/NetworkStorageSessionStub.cpp: Removed unneeded include.
- platform/network/ResourceHandleInternal.h: Use unique_ptr.
- platform/network/curl/MultipartHandle.cpp:
(WebCore::MultipartHandle::create): Deleted.
- platform/network/curl/MultipartHandle.h: Deleted the create function.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback): Use make_unique.
Source/WebKit2:
- NetworkProcess/cache/NetworkCacheEncoder.h: Added an include now
needed that was inherited from OwnPtr.h before.
Source/WTF:
- WTF.vcxproj/WTF.vcxproj: Removed OwnPtr source files.
- WTF.vcxproj/WTF.vcxproj.filters: Ditto.
- WTF.xcodeproj/project.pbxproj: Ditto.
- wtf/CMakeLists.txt: Ditto.
- wtf/Forward.h: Removed OwnPtr and PassOwnPtr.
- wtf/HashTraits.h: Ditto.
- wtf/OwnPtr.h: Removed.
- wtf/OwnPtrCommon.h: Removed.
- wtf/PassOwnPtr.h: Removed.
- wtf/SizeLimits.cpp: Removed OwnPtr.
- wtf/VectorTraits.h: Removed OwnPtr specialization.
Tools:
- DumpRenderTree/win/HistoryDelegate.h: Removed unneeded include.
- DumpRenderTree/win/UIDelegate.h: Ditto.
- TestWebKitAPI/Tests/WTF/HashMap.cpp: Removed OwnPtr-specific test cases.
- TestWebKitAPI/Tests/WTF/HashSet.cpp: Ditto.
- TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp: Removed unneeded include.
- TestWebKitAPI/Tests/WebKit2/UserMessage.cpp: Use unique_ptr.
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::SetUp): Use make_unique.
- TestWebKitAPI/Tests/WebKit2/WillLoad.cpp: Ditto.
(TestWebKitAPI::WebKit2WillLoadTest::SetUp): Ditto.
- TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp:
(WebKitDOMDOMWindowTest::create): Ditto.
- TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(documentLoadedCallback): Use a queue of DelayedSignal objects instead
of smart pointers to DelayedSIgnal objects.
(uriChangedCallback): Ditto.
- 8:44 AM Changeset in webkit [183264] by
-
- 2 edits in trunk/Tools
[Mac] Unreviewed test fix.
https://bugs.webkit.org/show_bug.cgi?id=144149
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST): Temporarily skip the PDF <embed>
test.
- 7:39 AM Changeset in webkit [183263] by
-
- 3 edits in trunk/Source/WebKit2
Network Cache: Make path functions members
https://bugs.webkit.org/show_bug.cgi?id=144146
Reviewed by Carlos Garcia Campos.
This simplifies the code.
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::partitionPathForKey):
(WebKit::NetworkCache::Storage::recordPathForKey):
(WebKit::NetworkCache::Storage::bodyPathForKey):
(WebKit::NetworkCache::Storage::storeBodyAsBlob):
(WebKit::NetworkCache::Storage::remove):
(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::finishReadOperation):
(WebKit::NetworkCache::Storage::dispatchWriteOperation):
(WebKit::NetworkCache::partitionPathForKey): Deleted.
(WebKit::NetworkCache::recordPathForKey): Deleted.
(WebKit::NetworkCache::bodyPathForKey): Deleted.
- NetworkProcess/cache/NetworkCacheStorage.h:
- 4:42 AM Changeset in webkit [183262] by
-
- 4 edits in trunk/Source/WebCore
[Win] Popup menu is not accessible.
https://bugs.webkit.org/show_bug.cgi?id=141704
Reviewed by Brent Fulgham.
Get accessibility information for items in popup menus.
- platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::onGetObject):
(WebCore::PopupMenuWin::wndProc):
(WebCore::AccessiblePopupMenu::AccessiblePopupMenu):
(WebCore::AccessiblePopupMenu::~AccessiblePopupMenu):
(WebCore::AccessiblePopupMenu::QueryInterface):
(WebCore::AccessiblePopupMenu::AddRef):
(WebCore::AccessiblePopupMenu::Release):
(WebCore::AccessiblePopupMenu::GetTypeInfoCount):
(WebCore::AccessiblePopupMenu::GetTypeInfo):
(WebCore::AccessiblePopupMenu::GetIDsOfNames):
(WebCore::AccessiblePopupMenu::Invoke):
(WebCore::AccessiblePopupMenu::get_accParent):
(WebCore::AccessiblePopupMenu::get_accChildCount):
(WebCore::AccessiblePopupMenu::get_accChild):
(WebCore::AccessiblePopupMenu::get_accName):
(WebCore::AccessiblePopupMenu::get_accValue):
(WebCore::AccessiblePopupMenu::get_accDescription):
(WebCore::AccessiblePopupMenu::get_accRole):
(WebCore::AccessiblePopupMenu::get_accState):
(WebCore::AccessiblePopupMenu::get_accHelp):
(WebCore::AccessiblePopupMenu::get_accKeyboardShortcut):
(WebCore::AccessiblePopupMenu::get_accFocus):
(WebCore::AccessiblePopupMenu::get_accSelection):
(WebCore::AccessiblePopupMenu::get_accDefaultAction):
(WebCore::AccessiblePopupMenu::accSelect):
(WebCore::AccessiblePopupMenu::accLocation):
(WebCore::AccessiblePopupMenu::accNavigate):
(WebCore::AccessiblePopupMenu::accHitTest):
(WebCore::AccessiblePopupMenu::accDoDefaultAction):
(WebCore::AccessiblePopupMenu::put_accName):
(WebCore::AccessiblePopupMenu::put_accValue):
(WebCore::AccessiblePopupMenu::get_accHelpTopic):
- platform/win/PopupMenuWin.h:
- platform/win/ScrollbarThemeWin.h:
(WebCore::ScrollbarThemeWin::hasButtons): Deleted.
- 4:20 AM Changeset in webkit [183261] by
-
- 7 edits in trunk
Memory cache live resources repeatedly purged during painting
https://bugs.webkit.org/show_bug.cgi?id=144104
Source/WebCore:
<rdar://problem/20667695>
Reviewed by Chris Dumez.
On some PLT pages (like nytimes.com) we get into state where painting repeatedly purges live bitmaps.
This slows down page loads significantly.
This might have regressed because improvements in page caching keep more pages and so resources 'live'.
With this path we do all regular cache pruning asynchronously. If memory is really critical
the low memory handling code will still prune synchronously.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::didAccessDecodedData):
prune() -> pruneSoon()
- loader/cache/MemoryCache.cpp:
Decrease the pruning size target from 0.95 to 0.8 so we don't need to prune so often.
(WebCore::MemoryCache::needsPruning):
Factor into a function.
(WebCore::MemoryCache::prune):
(WebCore::MemoryCache::pruneSoon):
Prune asynchronously.
- loader/cache/MemoryCache.h:
LayoutTests:
Reviewed by Chris Dumez.
- http/tests/cache/disk-cache/disk-cache-vary-cookie.html:
These clearMemoryCache calls are now done by cache-test.js.
- http/tests/cache/disk-cache/resources/cache-test.js:
(loadResources):
Make sure to clear the memory cache explicitly in the beginning so we always hit the disk cache.
(runTests):
- 4:16 AM Changeset in webkit [183260] by
-
- 7 edits in trunk
Unreviewed, rolling out r183259.
Wrong ChangeLog.
Reverted changeset:
"Memory cache live resources repeatedly purged during
painting"
https://bugs.webkit.org/show_bug.cgi?id=144104
http://trac.webkit.org/changeset/183259
- 4:05 AM Changeset in webkit [183259] by
-
- 7 edits in trunk
Source/WebCore:
CrashTracer: WebProcess at com.apple.WebCore: WebCore::toScriptElementIfPossible + 4
https://bugs.webkit.org/show_bug.cgi?id=144050
Reviewed by Chris Dumez.
We are seeing null Element pointer crashes with this stack:
47 com.apple.WebCore: WebCore::toScriptElementIfPossible + 4 <==
47 com.apple.WebCore: WebCore::ScriptRunner::timerFired + 452
47 com.apple.WebCore: WebCore::ThreadTimers::sharedTimerFiredInternal + 175
The most likely cause seems to be that this code
ASSERT(m_pendingAsyncScripts.contains(scriptElement));
m_scriptsToExecuteSoon.append(m_pendingAsyncScripts.take(scriptElement));
in ScriptRunner::notifyScriptReady fails to find scriptElement and we are left with null entry in
m_scriptsToExecuteSoon. However I haven't managed to repro this or find the exact path how this
could happen. The related code is fragile with lot of state (especially in ScriptElement class)
and involves many opportunities for re-entry via scripts.
No repro, no test case.
- dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::timerFired):
Paper this over by adding a null check. We could check m_pendingAsyncScripts.take() above
but this also covers possibility this is caused by something else.
LayoutTests:
Memory cache live resources repeatedly purged during painting
https://bugs.webkit.org/show_bug.cgi?id=144104
Reviewed by Chris Dumez.
- http/tests/cache/disk-cache/disk-cache-vary-cookie.html:
These clearMemoryCache calls are now done by cache-test.js.
- http/tests/cache/disk-cache/resources/cache-test.js:
(loadResources):
Make sure to clear the memory cache explicitly in the beginning so we always hit the disk cache.
(runTests):
- 3:21 AM Changeset in webkit [183258] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Remove incorrect assert after r183189.
In this case the assert was already there, but it's incorrect
because we are handling uninitialized attachments below in the
same function, and also when sending messages. So, if it's ok to
send uninitialized attachments, it's ok to receive them. This
didn't fail before r183189, because we were only invaliding the
attachments by setting the file descriptor to -1, and they were
handled as null attachments. After r183189, the move operator
resets the moved attachment leaving it uninitialized again.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::processMessage):
- 12:41 AM Changeset in webkit [183257] by
-
- 1 copy in tags/Safari-601.1.29
New tag.
- 12:40 AM Changeset in webkit [183256] by
-
- 5 edits in trunk/Source
Versioning.
- 12:17 AM Changeset in webkit [183255] by
-
- 6 edits in trunk/Source
[SOUP] Use a webkit subdirectory for the disk cache
https://bugs.webkit.org/show_bug.cgi?id=144048
Reviewed by Martin Robinson.
Source/WebCore:
Add a static method to SoupNetworkSession to clear a soup cache
given its directory.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::strIsNumeric):
(WebCore::SoupNetworkSession::clearCache):
- platform/network/soup/SoupNetworkSession.h:
Source/WebKit2:
Recent versions of libsoup remove any file in cache dir not
referenced by the index when the cache is loaded to workaround
leaked resources when load/dump is unbalanced for whatever reason,
like a crash. We currently use $XDG_CACHE_HOME/app-name as default
disk cache directory, but that directory could be used by apps to
cache other things, and the soup cache might end up deleting other
stuff. The soup cache assumes the given directory is only for the
disk cache, so we should ensure that.
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess): Append
webkit to the given disk cache and clear the previous soup cache if it exists.
- WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Ditto.
- 12:05 AM Changeset in webkit [183254] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Remove incorrect ASSERT added in r183176.
We allow to encode null attachments.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::Handle::releaseAttachment):
Apr 23, 2015:
- 11:45 PM Changeset in webkit [183253] by
-
- 5 edits in branches/safari-600.1.4.16-branch/Source
Versioning.
- 11:42 PM Changeset in webkit [183252] by
-
- 5 edits in branches/safari-600.7-branch/Source
Versioning.
- 11:36 PM Changeset in webkit [183251] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove a useless branch on DFGGraph::addShouldSpeculateMachineInt()
https://bugs.webkit.org/show_bug.cgi?id=144118
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-23
Reviewed by Geoffrey Garen.
- dfg/DFGGraph.h:
(JSC::DFG::Graph::addShouldSpeculateMachineInt):
Both block do the same thing.
- 11:30 PM Changeset in webkit [183250] by
-
- 2 edits in trunk/Source/WTF
Disable HAVE_AVKIT on AppleTV
https://bugs.webkit.org/show_bug.cgi?id=144142
Reviewed by Dan Bernstein.
- wtf/Platform.h:
- 10:56 PM Changeset in webkit [183249] by
-
- 2 edits in tags/Safari-601.1.28.2/Source/WebKit2
Merged r183245. rdar://problem/20680694
- 10:51 PM Changeset in webkit [183248] by
-
- 5 edits in tags/Safari-601.1.28.2/Source
Versioning.
- 10:47 PM Changeset in webkit [183247] by
-
- 1 copy in tags/Safari-601.1.28.2
New tag.
- 10:30 PM Changeset in webkit [183246] by
-
- 1 edit in trunk/Source/WebKit2/ChangeLog
Added Radar information to Change Log entry
- 10:27 PM Changeset in webkit [183245] by
-
- 2 edits in trunk/Source/WebKit2
Fixed a bug where framework header postprocessing wasn’t removing WK_DEPRECATED macros when it should have.
Reviewed by Andy Estes.
- mac/postprocess-framework-headers.sh:
- 9:55 PM Changeset in webkit [183244] by
-
- 2 edits in trunk/Source/WebCore
Fix the iOS build after r183234.
- platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::commitScaleChange):
- 9:52 PM Changeset in webkit [183243] by
-
- 3 edits in trunk/Source/WebCore
Fix Windows build.
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::setBackingStoreAttached):
(PlatformCALayerWin::backingStoreAttached):
- platform/graphics/ca/win/PlatformCALayerWin.h:
- 9:36 PM Changeset in webkit [183242] by
-
- 16 edits in trunk/Source
Make it possible to detach GraphicsLayerCA backing store
https://bugs.webkit.org/show_bug.cgi?id=144140
Reviewed by Tim Horton.
Source/WebCore:
This changes makes it possible to denote a GraphicsLayerCA's backing store
as "attached" or not. When not attached, the backing store is made volatile
and can be purged. This will be used in a future patch.
- platform/graphics/ca/GraphicsLayerCA.h: Add updateBackingStoreAttachment().
- platform/graphics/ca/PlatformCALayer.h:
- platform/graphics/ca/mac/PlatformCALayerMac.h:
- platform/graphics/ca/mac/PlatformCALayerMac.mm: Stubs. In future, we could
remove backing store on Mac and iOS WK1 too.
(PlatformCALayerMac::setBackingStoreAttached):
(PlatformCALayerMac::backingStoreAttached):
Source/WebKit2:
This changes makes it possible to denote a GraphicsLayerCA's backing store
as "attached" or not. When not attached, the backing store is made volatile
and can be purged. This will be used in a future patch.
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::~RemoteLayerBackingStore): Whitespace.
(WebKit::RemoteLayerBackingStore::display): If backingStoreWillBeDisplayed()
returns true, this indicates that the backing store was brought out of the
"unreachable" list, so return true even if the backing store doesn't require
painting.
- Shared/mac/RemoteLayerBackingStoreCollection.h: C++11 initializer, and comments.
- Shared/mac/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDisplayed): Return true
if the caller will need to submit the backing store in the current transaction.
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable): This
explicit dirtying is no longer necessary given the backingStoreWillBeDisplayed() change.
- Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::applyPropertiesToLayer): Only set the layer's backing if we both have backing
store, and it's attached.
- Shared/mac/RemoteLayerTreeTransaction.h: New bit, and data member.
- Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):
- WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction): Only call display()
on the backing store if it's attached.
(WebKit::PlatformCALayerRemote::setBackingStoreAttached):
(WebKit::PlatformCALayerRemote::backingStoreAttached):
- WebProcess/WebPage/mac/PlatformCALayerRemote.h:
- WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
- WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::backingStoreWillBeDisplayed):
- 9:14 PM WebInspectorDebugging edited by
- (diff)
- 9:05 PM Changeset in webkit [183241] by
-
- 3 edits in trunk/Source/WebCore
Remove "layer" from GraphicsLayerCA member function names
https://bugs.webkit.org/show_bug.cgi?id=144139
Reviewed by Myles Maxfield.
Rename "updateLayer*" to "update*" in GraphicsLayerCA.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateNames):
(WebCore::GraphicsLayerCA::updateDrawsContent):
(WebCore::GraphicsLayerCA::updateLayerNames): Deleted.
(WebCore::GraphicsLayerCA::updateLayerDrawsContent): Deleted.
- platform/graphics/ca/GraphicsLayerCA.h:
- 9:01 PM Changeset in webkit [183240] by
-
- 2 edits in trunk/Source/JavaScriptCore
Web Inspector: Speculative fix for non-main thread auto-attach failures
https://bugs.webkit.org/show_bug.cgi?id=144134
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-23
Reviewed by Timothy Hatcher.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::singleton):
- 8:49 PM Changeset in webkit [183239] by
-
- 2 edits in trunk/Source/WebKit/win
Try to fix the Windows build after r183234.
- FullscreenVideoController.cpp:
(FullscreenVideoController::FullscreenVideoController): FullscreenVideoController inherits privately from
WebCore::MediaPlayerPrivateFullscreenClient, so make_unique isn't allowed to upcast. Add an explicit upcast.
- 8:08 PM Changeset in webkit [183238] by
-
- 3 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: run a customizable bootstrap function after the UI has fully loaded
https://bugs.webkit.org/show_bug.cgi?id=144124
Reviewed by Joseph Pecoraro.
It can be really annoying to click through the Inspector UI dozens of times to debug one
interaction or iterate on a specific widget.
This patch adds a blank "bootstrap" function that can be used to hard-wire commands to
automate repetitive UI state setup. The function is run immediately after the inspector loads.
Setup commands can be shared as bug report reproduction steps.
- UserInterface/Base/Bootstrap.js: Added.
(WebInspector.runBootstrapOperations): Added.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded): Bootstrap after setting up everything and restoring view state from cookie.
- UserInterface/Main.html:
- 8:06 PM Changeset in webkit [183237] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix after r183232.
- public/include/json-header.php:
- 8:03 PM Changeset in webkit [183236] by
-
- 2 edits in trunk/Source/WebCore
<rdar://problem/20663758> Fix the build after AVPlayerViewController API change
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Don’t pass a nil completion
handler to -[AVPlayerViewController exitFullScreenAnimated:completionHandler:].
- 7:23 PM Changeset in webkit [183235] by
-
- 19 edits4 adds in trunk
Allow function allocation sinking
https://bugs.webkit.org/show_bug.cgi?id=144016
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-23
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This adds the ability to sink function allocations in the
DFGObjectAllocationSinkingPhase.
In order to enable this, we add a new PhantomNewFunction node that is
used similarily to the PhantomNewObject node, i.e. as a placeholder to replace
a sunk NewFunction and keep track of the allocations that have to be performed
in case of OSR exit after the sunk allocation but before the real one.
The FunctionExecutable and JSLexicalEnvironment (activation) of the function
are stored onto the PhantomNewFunction through PutHints in order for them
to be recovered on OSR exit.
Contrary to sunk object allocations, sunk function allocations do not
support any kind of operations (e.g. storing into a field) ; any such operation
will mark the function allocation as escaping and trigger materialization. As
such, function allocations can only be sunk to places where it would have been
correct to syntactically move them, and we don't need a special
MaterializeNewFunction node to recover possible operations on the function. A
sunk NewFunction node will simply create new NewFunction nodes, then replace
itself with a PhantomNewFunction node.
In itself, this change is not expected to have a significant impact on
performances other than in degenerate cases (see e.g.
JSRegress/sink-function), but it is a step towards being able to sink recursive
closures onces we support CreateActivation sinking as well as allocation cycles
sinking.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToPhantomNewFunction):
(JSC::DFG::Node::isPhantomAllocation):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
(JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize):
(JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGPromotedHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGPromotedHeapLocation.h:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validateCPS):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):
- tests/stress/function-sinking-no-double-allocate.js: Added.
(call):
(.f):
(sink):
- tests/stress/function-sinking-osrexit.js: Added.
(.g):
(sink):
- tests/stress/function-sinking-put.js: Added.
(.g):
(sink):
LayoutTests:
Add a new test in JSRegress to check function sinking is being
performed.
- js/regress/script-tests/sink-function.js: Added.
(foo.f1):
(foo.f2):
(foo.f3):
(foo.f4):
(foo.f5):
(foo.f6):
(foo.f7):
(foo.f8):
(foo.f9):
(foo.f10):
(foo.f11):
(foo.f12):
(foo.f13):
(foo.f14):
(foo.f15):
(foo.f16):
(foo.f17):
(foo.f18):
(foo.f19):
(foo):
- 7:13 PM Changeset in webkit [183234] by
-
- 90 edits1 delete in trunk
Another round of removing use of OwnPtr, PassOwnPtr, and deleteOwnedPtr
https://bugs.webkit.org/show_bug.cgi?id=144090
Reviewed by Anders Carlsson.
Source/WebCore:
- Modules/encryptedmedia/CDMPrivateMediaPlayer.h: Removed unneeded include.
- Modules/navigatorcontentutils/NavigatorContentUtils.h: Removed include of
RefCountedSupplement.h.
- Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
Pass data using rvalue references, and use new/delete to pass it across
threads, rather than using PassOwnPtr.
- Modules/websockets/ThreadableWebSocketChannelClientWrapper.h: Pass data
in an rvalue reference instead of PassOwnPtr.
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didReceiveBinaryData): Take an rvalue reference
instead of a PassOwnPtr.
- Modules/websockets/WebSocket.h: Ditto.
- Modules/websockets/WebSocketChannel.cpp: Ditto.
(WebCore::WebSocketChannel::processFrame): Ditto.
- Modules/websockets/WebSocketChannelClient.h:
(WebCore::WebSocketChannelClient::didReceiveBinaryData): Ditto.
- Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
Ditto.
- Modules/websockets/WorkerThreadableWebSocketChannel.h: Ditto.
- WebCore.xcodeproj/project.pbxproj: Removed RefCountedSupplement.h.
- loader/cocoa/DiskCacheMonitorCocoa.mm:
(WebCore::DiskCacheMonitor::monitorFileBackingStoreCreation): Fixed comment
to not mention adoptPtr.
- page/make_settings.pl:
(generateInternalSettingsHeaderFile): Removed include of RefCountedSupplement.h.
- platform/ColorChooserClient.h: Removed unneded include.
- platform/ContextMenuItem.h: Ditto.
- platform/RefCountedSupplement.h: Removed.
- platform/ScrollAnimator.cpp: Removed unneeded include.
- platform/ScrollAnimatorNone.h: Ditto.
- platform/ThreadGlobalData.cpp: Added now-needed include of PassOwnPtr.h.
- platform/graphics/GlyphMetricsMap.h: Ditto.
- platform/graphics/MediaPlayer.h: Ditto.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h: Ditto.
- platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp: Ditto.
- platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Ditto.
- platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h: Ditto.
- platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h: Ditto.
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h: Ditto.
- platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: Ditto.
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer): Use make_unique instead of adoptPtr.
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::getData): Return a RefPtr instead of a PassRefPtr.
- platform/graphics/cg/ImageBufferDataCG.h: Streamlined the header a bit,
use unique_ptr instead of OwnPtr and RefPtr instead of PassRefPtr.
- platform/graphics/cocoa/IOSurface.h: Use unique_ptr instead of OwnPtr.
- platform/graphics/cocoa/IOSurface.mm:
(IOSurface::ensureGraphicsContext): Use make_unique instead of adoptPtr.
- platform/graphics/egl/GLContextEGL.cpp: Removed unneeded includes.
- platform/graphics/filters/FilterOperation.h: Ditto.
- platform/graphics/harfbuzz/HarfBuzzShaper.h: Ditto.
- platform/ios/DeviceMotionClientIOS.h: Ditto.
- platform/ios/DeviceOrientationClientIOS.h: Ditto.
- platform/ios/LegacyTileCache.h: Use unique_ptr instead of OwnPtr.
- platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::LegacyTileCache): Use make_unique instead of
a create function, and also get rid of unneeded initialization to null.
(WebCore::LegacyTileCache::commitScaleChange): Ditto.
- platform/ios/LegacyTileGrid.h: Made constructor public and got rid of create
function. Made constructor take a reference to the tile cache, and make both
tileCache() and m_tileCache be references too.
- platform/ios/LegacyTileGrid.mm:
(WebCore::LegacyTileGrid::LegacyTileGrid): Updated to use reference.
(WebCore::LegacyTileGrid::visibleRect): Ditto.
(WebCore::LegacyTileGrid::tileByteSize) Ditto.:
(WebCore::LegacyTileGrid::dropDistantTiles): Ditto.
(WebCore::LegacyTileGrid::updateTileOpacity): Ditto.
(WebCore::LegacyTileGrid::updateTileBorderVisibility): Ditto.
(WebCore::LegacyTileGrid::updateHostLayerSize): Ditto.
(WebCore::LegacyTileGrid::invalidateTiles): Ditto.
(WebCore::LegacyTileGrid::shouldUseMinimalTileCoverage): Ditto.
(WebCore::LegacyTileGrid::tileDistance2): Ditto.
(WebCore::LegacyTileGrid::createTiles): Ditto.
- platform/ios/LegacyTileGridTile.mm:
(WebCore::LegacyTileGridTile::LegacyTileGridTile): Ditto.
(WebCore::LegacyTileGridTile::invalidateRect): Ditto.
(WebCore::LegacyTileGridTile::showBorder): Ditto.
- platform/ios/LegacyTileLayer.mm:
(-[LegacyTileHostLayer renderInContext:]): Ditto.
(-[LegacyTileLayer layoutSublayers]): Ditto.
(-[LegacyTileLayer drawInContext:]): Ditto.
- platform/ios/LegacyTileLayerPool.h: Removed unneeded include.
- platform/ios/ScrollAnimatorIOS.mm: Ditto.
- platform/mac/ScrollAnimatorMac.mm: Ditto.
- platform/mac/WebVideoFullscreenController.h: Ditto.
- platform/network/BlobData.cpp: Ditto.
- platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::ResourceHandle): Use make_unique instead of adoptPtr.
- platform/network/ResourceHandle.h: Use unique_ptr instead of OwnPtr.
- platform/network/ResourceHandleInternal.h: Added now-needed include.
- platform/network/ResourceResponseBase.h: Removed unneeded includes and
tweaked formatting a bit.
- platform/network/SynchronousLoaderClient.h: Removed the create function and
the private constructor. Used data member initialize to make the default
empty constructor automatically get generated (and be public now).
- platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::formFinishFinalizationOnMainThread): Use delete instead of adoptPtr
to delete the context argument.
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::defaultNetworkStorageSession): Return a unique_ptr& instead of an OwnPtr&.
(WebCore::NetworkStorageSession::switchToNewTestingSession): Use make_unique
instead of adoptPtr.
(WebCore::NetworkStorageSession::defaultStorageSession): Ditto.
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Use a
SynchronousLoaderClient on the stack instead of putting one on the heap with adoptPtr.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Ditto.
- platform/text/TextCodec.h: Removed unneeded include.
- platform/win/CursorWin.cpp: Ditto.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects): Use move instead of release since
we are using RefPtr&& instead of PassRefPtr.
- rendering/RenderLayerFilterInfo.cpp:
(WebCore::RenderLayer::FilterInfo::setRenderer): Use RefPtr&& instead of PassRefPtr.
(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients): Streamlined to use
modern for loops and auto.
(WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients): Ditto.
- rendering/RenderLayerFilterInfo.h: Streamlined code and removed some stuff that
I think is unneeded on iOS; there is no unused private field and I suspect the problem
that led to the warning is gone. Deleted friending of deleteOwnedPtr.
- rendering/RenderLayerMaskImageInfo.cpp: Removed unneeded includes. Moved private
client classes in here from the header and made them members of MaskImageInfo.
Streamlined them a bit in other ways.
(WebCore::RenderLayer::MaskImageInfo::getIfExists): Use nullptr.
(WebCore::RenderLayer::MaskImageInfo::MaskImageInfo): Use member initialization
and also pass the layer in rather than the MaskImageInfo.
(WebCore::RenderLayer::MaskImageInfo::notifyFinished): Deleted. Moved the code
into the SVGDocumentClient.
(WebCore::RenderLayer::MaskImageInfo::imageChanged): Deleted. Moved the code into
the ImageClient.
(WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients): Streamlined a bit
to use a for loop.
(WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients): Ditto.
- rendering/RenderLayerMaskImageInfo.h: Reduced unneeded includes. Got rid of
definitions of private member classes here in the header; they can be in the cpp
file instead. Also cut down from three classes to two, and gave the classes less
redundant names since they are already members of MaskImageInfo. Removed some
unneeded functions and friending of deleteOwnedPtr.
- testing/InternalSettings.cpp: Got rid of comment about RefCountedSupplement
since no code anywhere was using it, so not using it here was not remarkable.
Source/WebKit/win:
- FullscreenVideoController.cpp:
(FullscreenVideoController::FullscreenVideoController):
(FullscreenVideoController::exitFullscreen):
- FullscreenVideoController.h:
- Plugins/PluginView.h:
- Plugins/PluginViewWin.cpp:
(WebCore::PluginView::wndProc):
- WebCoreSupport/AcceleratedCompositingContext.h:
- WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::WebChromeClient):
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::WebFrameLoaderClient):
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::highlight):
- WebCoreSupport/WebInspectorClient.h:
- WebElementPropertyBag.cpp:
(WebElementPropertyBag::WebElementPropertyBag):
- WebElementPropertyBag.h:
- WebFrame.h:
- WebHistoryItem.cpp:
- WebNodeHighlight.cpp:
- WebNotificationCenter.cpp:
(WebNotificationCenter::WebNotificationCenter):
- WebNotificationCenter.h:
Use make_unique and unique_ptr instead of adoptPtr and OwnPtr.
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm: Removed unneeded include.
- 7:08 PM Changeset in webkit [183233] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Adopt Object.assign and improve its display in Console
https://bugs.webkit.org/show_bug.cgi?id=144135
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-23
Reviewed by Darin Adler.
- UserInterface/Models/NativeFunctionParameters.js:
- 6:16 PM Changeset in webkit [183232] by
-
- 11 edits1 add in trunk/Websites/perf.webkit.org
Perf dashboard should automatically detect regressions
https://bugs.webkit.org/show_bug.cgi?id=141443
Reviewed by Anders Carlsson.
Added a node.js script detect-changes.js to detect potential regressions and progressions
on the graphs tracked on v2 dashboards.
- init-database.sql: Added analysis_strategies table and task_segmentation and task_test_range
columns to analysis_tasks to keep the segmentation and test range selection strategies used
to create an analysis task.
- public/api/analysis-tasks.php:
(format_task): Include task_segmentation and analysis_tasks in the results.
- public/include/json-header.php:
(remote_user_name): Returns null when the privileged API is authenticated as a slave instead
of a CSRF prevention token.
(should_authenticate_as_slave): Added.
(ensure_privileged_api_data_and_token_or_slave): Added. Authenticate as a slave if slaveName
and slavePassword are specified. Since detect-changes.js and other slaves are not susceptible
to a CSRF attack, we don't need to check a CSRF token.
- public/privileged-api/create-analysis-task.php:
(main): Use ensure_privileged_api_data_and_token_or_slave to let detect-changes.js create new
analysis task. Also add or find segmentation and test range selection strategies if specified.
- public/privileged-api/create-test-group.php:
(main): Use ensure_privileged_api_data_and_token_or_slave.
- public/privileged-api/generate-csrf-token.php:
- public/v2/app.js:
(App.Pane._computeMovingAverageAndOutliers): _executeStrategy has been moved to Statistics.
- public/v2/data.js: Export Measurement, RunsData, TimeSeries. Used in detect-changes.js.
(Array.prototype.find): Added a polyfill to be used in node.js.
(RunsData.fetchRuns):
(RunsData.pathForFetchingRuns): Extracted from fetchRuns. Used in detect-changes.js.
(RunsData.createRunsDataInResponse): Extracted from App.Manifest._formatFetchedData to use it
in detect-changes.js.
(RunsData.unitFromMetricName): Ditto.
(RunsData.isSmallerBetter): Ditto.
(RunsData.prototype._timeSeriesByTimeInternal): Added secondaryTime to sort points when commit
times are identical.
(TimeSeries): When commit times are identical, order points based on build time. This is needed
for when we trigger two builds at two different OS versions with the same WebKit revision since
OS versions don't change the commit times.
(TimeSeries.prototype.findPointByIndex): Added.
(TimeSeries.prototype.rawValues): Added.
- public/v2/js/statistics.js:
(Statistics.TestRangeSelectionStrategies.[0]): Use the 99% two-sided probability as claimed in the
description of this strategy instead of the default probability. Also fixed a bug that debugging
code was referring to non-existent variables.
(Statistics.executeStrategy): Moved from App.Pane (app.js).
- public/v2/manifest.js:
(App.Manifest._formatFetchedData): Various code has been extracted into RunsData in data.js to be
used in detect-changes.js.
- tools/detect-changes.js: Added. The script fetches the manifest JSON, analyzes each graph in
the v2 dashboards, and creates an analysis task for the latest regression or progression detected.
It also schedules an A/B testing if possible and notifies another server; e.g. to send an email.
(main): Loads the settings JSON specified in the argument.
(fetchManifestAndAnalyzeData): The main loop that periodically wakes up to do the analysis.
(mapInOrder): Executes callback sequentially (i.e. blocking) on each item in the array.
(configurationsForTesting): Finds every (platform, metric) pair to analyze in the v2 dashbaords,
and computes various values for when statistically significant changes are detected later.
(analyzeConfiguration): Finds potential regressions and progression in the last X days where X
is the specified maximum number of days using the specified strategies. Sort the resultant ranges
in chronological order and create a new analysis task for the very last change we detected. We'll
eventually create an analysis task for all detected changes since we're repeating the analysis in
fetchManifestAndAnalyzeData after some time.
(computeRangesForTesting): Fetch measured values and compute ranges to test using the specified
segmentation and test range selection strategies. Once ranges are found, find overlapping analysis
tasks as they need to be filtered out in analyzeConfiguration to avoid creating multiple analysis
tasks for the same range (e.g. humans may create one before the script gets to do it).
(createAnalysisTaskAndNotify): Create a new analysis task for the specified range, trigger an A/B
testing if available, and notify another server with a HTML message as specified.
(findStrategyByLabel):
(changeTypeForRange): A change is a regression if values are getting larger in a smaller-is-better
test or values are getting smaller in a larger-is-better test and vice versa.
(summarizeRange): Create a human readable string that summarizes the change detected. e.g.
"Potential 3.2% regression detected between 2015-04-20 12:00 and 17:00".
(formatTimeRange):
(getJSON):
(postJSON):
(postNotification): Recursively replaces $title and $massage in the specified JSON template.
(instantiateNotificationTemplate):
(fetchJSON):
- 5:23 PM Changeset in webkit [183231] by
-
- 1 copy in tags/Safari-600.7.2
New tag.
- 5:07 PM Changeset in webkit [183230] by
-
- 1 copy in tags/Safari-600.7.1
New tag.
- 4:43 PM Changeset in webkit [183229] by
-
- 4 edits in trunk/Source/WebCore
[iOS] Add a wrapper around the hosted AVPlayerLayer to intercept -setBounds:
https://bugs.webkit.org/show_bug.cgi?id=144129
Reviewed by Simon Fraser.
When passing the hosted AVPlayerLayer to the fullscreen controller, the new superlayer will
resize the hosted layer with a call to -setBounds:. But because this is a hosted layer, the
bonuds change has no effect. Instead, wrap the CALayerHost in another CALayer whose job it is
to intercept -setBounds: in the same way that WebAVVideoLayer did. In fact, we should just use
that wrapper class inside WebAVVideoLayer as well, to avoid duplicating code.
Drive-by Fix: Null-check m_videoElement in setVideoLayerFrame().
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebCALayerHostWrapper setVideoSublayer:]):
(-[WebCALayerHostWrapper videoSublayer]):
(-[WebCALayerHostWrapper setBounds:]): Moved from WebAVVideoLayer.
(-[WebCALayerHostWrapper resolveBounds]): Ditto.
(-[WebAVVideoLayer setBounds:]): Moved to WebCALayerHostWrapper.
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Create the wrapper.
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Clear the wrapper.
(-[WebAVVideoLayer resolveBounds]): Deleted. Moved to WebCALayerHostWrapper.
- platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::setVideoLayerFrame): Null-check m_videoElement.
- 4:18 PM Changeset in webkit [183228] by
-
- 2 edits in trunk/Source/WebKit2
Quick Look preview popover is not dismissed on scroll in Mail
https://bugs.webkit.org/show_bug.cgi?id=144119
<rdar://problem/19752045>
Reviewed by Anders Carlsson.
- UIProcess/API/mac/WKView.mm:
(-[WKView renewGState]):
If we have a TextIndicator, dismiss all content relative child windows
on renewGState, not just the TextIndicator itself.
This will fix cases like Mail, where WebKit isn't driving the scrolling,
and we have no way (except renewGState) to know that scrolling is happening.
- 4:13 PM Changeset in webkit [183227] by
-
- 2 edits in trunk/Source/WebCore
Yellow highlight has gray background color when invoking Lookup on an address in a Google Maps drop down
https://bugs.webkit.org/show_bug.cgi?id=138737
<rdar://problem/18904429>
Reviewed by Simon Fraser.
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
Other RenderObjects don't paint box decorations in the selection painting phase,
so RenderReplaced probably shouldn't either. This fixes the case where, when doing
selection-only painting of a bit of text over top of a RenderReplaced, the RenderReplaced
would paint its background, filling the previously transparent bitmap with an unwanted color.
- 4:04 PM Changeset in webkit [183226] by
-
- 2 edits in trunk/LayoutTests
Test compositing/scrolling/touch-scroll-to-clip.html fails in WK1
https://bugs.webkit.org/show_bug.cgi?id=144127
- platform/mac-wk1/TestExpectations: Marked it as such.
- 4:01 PM Changeset in webkit [183225] by
-
- 2 edits in trunk/Source/WebCore
Update media timeline controls when video is paused..
https://bugs.webkit.org/show_bug.cgi?id=144122.
<rdar://problem/20422927>
Reviewed by Dean Jackson.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.drawTimelineBackground): Use timelineWidth because offsetWidth is 0 when display: none.
(Controller.prototype.setPlaying): Show controls when pausing.
(Controller.prototype.showControls): Update time and timeline when unhiding controls.
- 3:54 PM Changeset in webkit [183224] by
-
- 5 edits in trunk/Source
Changing TiledBacking velocity should schedule a tile revalidation
https://bugs.webkit.org/show_bug.cgi?id=144123
Reviewed by Tim Horton.
Source/WebCore:
Changing the velocity parameters on the TileController affect the computed
coverage rect, so whenever we make a change to velocity data that could
affect the outcome (basically any non-zero old or new velocities),
schedule a layer flush.
- platform/graphics/TiledBacking.h:
(WebCore::VelocityData::velocityOrScaleIsChanging):
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setVelocity):
Source/WebKit2:
Drive-by fix: use the FrameView& that we have already.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
- 3:52 PM Changeset in webkit [183223] by
-
- 2 edits in trunk/Tools
lldb macro btjs sometimes can't get a frame description
https://bugs.webkit.org/show_bug.cgi?id=144130
Reviewed by Filip Pizlo.
We look to execute ExecState::describeFrame(). It appears that in some contexts the
debugger can't find ExecState. In those cases, CallFrame works as it is a typedef of
ExecState. Therefore we can fallback to using CallFrame::describeFrame().
- lldb/lldb_webkit.py:
(btjs):
- 3:45 PM Changeset in webkit [183222] by
-
- 2 edits in trunk
[GTK] Add more public options
https://bugs.webkit.org/show_bug.cgi?id=144116
Reviewed by Martin Robinson.
Add ENABLE_ICONDATABASE, ENABLE_JIT, and USE_SYSTEM_MALLOC as public options.
- Source/cmake/OptionsGTK.cmake:
- 3:43 PM Changeset in webkit [183221] by
-
- 9 edits in trunk
[Mac] Disable QTKit by default on future OS X.
https://bugs.webkit.org/show_bug.cgi?id=144082
Reviewed by Darin Adler.
Source/WebCore:
Settings::gQTKitEnabled defaults to false.
- page/Settings.cpp:
Source/WebKit/mac:
Default WebKitQTKitEnabledPreferenceKey to NO.
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
Source/WebKit2:
QTKitEnabled defaults to false.
- Shared/WebPreferencesDefinitions.h:
LayoutTests:
Add a required BANDWIDTH field to the alternate playlist.
- http/tests/media/resources/hls/playlist-with-cookie.m3u8:
- 3:40 PM WebInspectorDebugging created by
- 3:40 PM Changeset in webkit [183220] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][Mac] Tweak the timing curve of the WebKit Fullscreen animation
https://bugs.webkit.org/show_bug.cgi?id=144120
Reviewed by Eric Carlson.
Tweak the curve to ease-in faster when the fullscreen animation duration is short.
- UIProcess/mac/WKFullScreenWindowController.mm:
(timingFunctionForDuration):
(zoomAnimation):
(maskAnimation):
(fadeAnimation):
- 3:34 PM Changeset in webkit [183219] by
-
- 6 edits in trunk/Source/WebCore
Clean up: Use references instead of pointers in more SVG files
https://bugs.webkit.org/show_bug.cgi?id=144045
Reviewed by Darin Adler.
- rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): Pass reference instead of pointer.
- rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::recordTextFragment): Changed parameter textBox from pointer to reference.
(WebCore::SVGTextLayoutEngine::layoutInlineTextBox): Ditto.
(WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics): Changed parameter textBox from pointer to
reference and made it const since this function does not modify textBox.
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Changed parameters from pointers to references.
Also, removed comma from comment so that it reads well.
- rendering/svg/SVGTextLayoutEngine.h: Updated declarations for the above functions.
- rendering/svg/SVGTextLayoutEngineBaseline.cpp:
(WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift): Changed parameter style from pointer to reference.
Added case BS_LENGTH to switch block and removed default case so that the compiler checks that we handle all cases.
Renamed parameter contextElement to context since the name of its data type conveys that it is an element.
(WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift): Changed parameter textRenderer from
pointer to reference and removed runtime assertion that textRenderer is non-null (since it well-formed reference
cannot point to a non-existent object).
(WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): Changed parameter style from pointer to reference
removed runtime assertion that style is non-null.
- rendering/svg/SVGTextLayoutEngineBaseline.h: Updated declarations for the above functions.
- 3:30 PM Changeset in webkit [183218] by
-
- 1 copy in tags/Safari-600.1.4.16.1
New tag.
- 3:24 PM Changeset in webkit [183217] by
-
- 2 edits in trunk/LayoutTests
Make the linter stop complaining by fixing the order of fields in TestExpectations
- platform/mac/TestExpectations:
Bug number comes first.
- 3:20 PM Changeset in webkit [183216] by
-
- 2 edits in trunk/Source/WebKit2
iOS build fix after r183208.
Unreviewed.
- UIProcess/ios/WKContentViewInteraction.mm:
- 3:20 PM HackingWebInspector edited by
- (diff)
- 3:02 PM Changeset in webkit [183215] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: DebuggerSidebarPanel's _callStackContentTreeOutline should suppress filtering
https://bugs.webkit.org/show_bug.cgi?id=144114
Reviewed by Joseph Pecoraro.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
- 3:00 PM Changeset in webkit [183214] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Fix layering issues with ApplicationCacheFrameTreeElement
https://bugs.webkit.org/show_bug.cgi?id=144113
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ApplicationCacheFrameTreeElement.js:
(WebInspector.ApplicationCacheFrameTreeElement.prototype.updateTitles):
(WebInspector.ApplicationCacheFrameTreeElement):
- 2:58 PM Changeset in webkit [183213] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, rolling out r183194.
https://bugs.webkit.org/show_bug.cgi?id=144121
Made multiple tests flaky (Requested by ap_ on #webkit).
Reverted changeset:
"Memory cache live resources repeatedly purged during
painting"
https://bugs.webkit.org/show_bug.cgi?id=144104
http://trac.webkit.org/changeset/183194
- 2:56 PM Changeset in webkit [183212] by
-
- 4 edits in trunk/Source/JavaScriptCore
Make FunctionRareData allocation thread-safe
https://bugs.webkit.org/show_bug.cgi?id=144001
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-23
Reviewed by Mark Lam.
The two things we want to prevent are:
- A thread seeing a pointer to a not-yet-fully-created rare data from a JSFunction
- A thread seeing a pointer to a not-yet-fully-created Structure from an ObjectAllocationProfile
For 1., only the JS thread can be creating the rare data (in
runtime/CommonSlowPaths.cpp or in dfg/DFGOperations.cpp), so we don't need to
worry about concurrent writes, and we don't need any fences when *reading* the
rare data from the JS thread. Thus we only need a storeStoreFence between the
rare data creation and assignment to m_rareData in
JSFunction::createAndInitializeRareData() to ensure that when the store to
m_rareData is issued, the rare data has been properly created.
For the DFG compilation threads, the only place they can access the
rare data is through JSFunction::rareData(), and so we only need a
loadLoadFence there to ensure that when we see a non-null pointer in
m_rareData, the pointed object will be seen as a fully created
FunctionRareData.
For 2., the structure is created in
ObjectAllocationProfile::initialize() (which appears to be called only by the
JS thread as well, in bytecode/CodeBlock.cpp and on rare data initialization,
which always happen in the JS thread), and read through
ObjectAllocationProfile::structure() and
ObjectAllocationProfile::inlineCapacity(), so following the same reasoning we
put a storeStoreFence in ObjectAllocationProfile::initialize() and a
loadLoadFence in ObjectAllocationProfile::structure() (and change
ObjectAllocationProfile::inlineCapacity() to go through
ObjectAllocationProfile::structure()).
We don't need a fence in ObjectAllocationProfile::clear() because
clearing the structure is already as atomic as it gets.
Finally, notice that we don't care about the ObjectAllocationProfile's
m_allocator as that is only used by ObjectAllocationProfile::initialize() and
ObjectAllocationProfile::clear() that are always run in the JS thread.
ObjectAllocationProfile::isNull() could cause some trouble, but it is
currently only used in the ObjectAllocationProfile::clear()'s ASSERT in the JS
thread. Doing isNull()-style pre-checks would be wrong in any other concurrent
thread anyway.
- bytecode/ObjectAllocationProfile.h:
(JSC::ObjectAllocationProfile::initialize):
(JSC::ObjectAllocationProfile::structure):
(JSC::ObjectAllocationProfile::inlineCapacity):
- runtime/JSFunction.cpp:
(JSC::JSFunction::allocateAndInitializeRareData):
- runtime/JSFunction.h:
(JSC::JSFunction::rareData):
(JSC::JSFunction::allocationStructure): Deleted.
This is no longer used, as all the accesses to the ObjectAllocationProfile go through the rare data.
- 2:41 PM WikiStart edited by
- (diff)
- 2:33 PM Changeset in webkit [183211] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Missed a button in r182900.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-wireless-playback-picker-button:active):
- 2:31 PM Changeset in webkit [183210] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Just shift some CSS around for code cleanup purposes.
- Modules/mediacontrols/mediaControlsApple.css:
(video::-webkit-media-controls-panel):
(video::-webkit-media-controls-panel:hover):
- 2:14 PM Changeset in webkit [183209] by
-
- 7 edits1 add in trunk/Source
[iOS] WebKit services should inherit environment variables for home
https://bugs.webkit.org/show_bug.cgi?id=144078
rdar://problem/20571678
Reviewed by Dan Bernstein.
Source/WebCore:
Added an SPI header for a drive-by fix.
- WebCore.xcodeproj/project.pbxproj:
- platform/spi/cf/CFBundleSPI.h: Added.
Source/WebKit2:
Pass current environment variables as XPC bootstrap. Also while at it, made
_CFBundleSetupXPCBootstrap not soft linked.
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(main):
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
Source/WTF:
- wtf/spi/darwin/XPCSPI.h: Added xpc_copy_bootstrap and xpc_dictionary_apply.
- 2:03 PM Changeset in webkit [183208] by
-
- 2 edits in trunk/Source/WebKit2
Support share button.
https://bugs.webkit.org/show_bug.cgi?id=144077
rdar://problem/19772892
Reviewed by Darin Adler.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _share:]):
(-[WKContentView canPerformAction:withSender:]):
(-[WKContentView _define:]):
(-[WKContentView accessibilityRetrieveSpeakSelectionContent]):
(-[WKContentView moveByOffset:]):
(-[WKContentView requestAutocorrectionRectsForString:withCompletionHandler:]):
(-[WKContentView applyAutocorrection:toString:withCompletionHandler:]):
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
(-[WKContentView accessoryTab:]):
(-[WKContentView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]):
(-[WKContentView executeEditCommandWithCallback:]):
- 1:47 PM Changeset in webkit [183207] by
-
- 17 edits3 adds in trunk/Source/JavaScriptCore
DFG should insert Phantoms late using BytecodeKills and block-local OSR availability
https://bugs.webkit.org/show_bug.cgi?id=143735
Reviewed by Geoffrey Garen.
We've always had bugs arising from the fact that we would MovHint something into a local,
and then fail to keep it alive. We would then try to keep things alive by putting Phantoms
on those Nodes that were MovHinted. But this became increasingly tricky. Given the
sophistication of the transformations we are doing today, this approach is just not sound
anymore.
This comprehensively fixes these bugs by having the DFG backend automatically insert
Phantoms just before codegen based on bytecode liveness. To make this practical, this also
makes it much faster to query bytecode liveness.
It's about as perf-neutral as it gets for a change that increases compiler work without
actually optimizing anything. Later changes will remove the old Phantom-preserving logic,
which should then speed us up. I can't really report concrete slow-down numbers because
they are low enough to basically be in the noise. For example, a 20-iteration run of
SunSpider yields "maybe 0.8% slower", whatever that means.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/BytecodeLivenessAnalysis.cpp:
(JSC::BytecodeLivenessAnalysis::computeFullLiveness):
- bytecode/FullBytecodeLiveness.h:
(JSC::FullBytecodeLiveness::getLiveness):
- bytecode/VirtualRegister.h:
(JSC::VirtualRegister::operator+):
(JSC::VirtualRegister::operator-):
- dfg/DFGForAllKills.h:
(JSC::DFG::forAllLiveNodesAtTail):
(JSC::DFG::forAllKilledOperands):
(JSC::DFG::forAllKilledNodesAtNodeIndex):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::isLiveInBytecode):
(JSC::DFG::Graph::localsLiveInBytecode):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::forAllLocalsLiveInBytecode):
(JSC::DFG::Graph::forAllLiveInBytecode):
- dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
- dfg/DFGMovHintRemovalPhase.cpp:
- dfg/DFGNodeType.h:
- dfg/DFGPhantomInsertionPhase.cpp: Added.
(JSC::DFG::performPhantomInsertion):
- dfg/DFGPhantomInsertionPhase.h: Added.
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::sortFree):
(JSC::DFG::ScoreBoard::assertClear):
- dfg/DFGVirtualRegisterAllocationPhase.cpp:
(JSC::DFG::VirtualRegisterAllocationPhase::run):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
- tests/stress/phantom-inadequacy.js: Added.
(bar):
(baz):
(foo):
- 1:30 PM Changeset in webkit [183206] by
-
- 3 edits in trunk
[CMake] Some internal variables are not marked as advanced
https://bugs.webkit.org/show_bug.cgi?id=143595
Reviewed by Martin Robinson.
- Source/cmake/FindFreetype2.cmake: Mark internal options as advanced.
- Source/cmake/FindHarfBuzz.cmake: Mark HARFBUZZ_ICU_LIBRARIES as advanced.
- 12:59 PM Changeset in webkit [183205] by
-
- 2 edits in trunk
[GTK] Mark as advanced the build options we don't want to expose
https://bugs.webkit.org/show_bug.cgi?id=143558
Reviewed by Martin Robinson.
Mark various options as private instead of public.
- Source/cmake/OptionsGTK.cmake:
- 12:56 PM Changeset in webkit [183204] by
-
- 18 edits in trunk
Use less memory when compiling content extensions.
https://bugs.webkit.org/show_bug.cgi?id=144051
Patch by Alex Christensen <achristensen@webkit.org> on 2015-04-23
Reviewed by Darin Adler and Benjamin Poulain.
Source/WebCore:
No change in functionality, correctness already covered by existing tests.
Before this patch, a DFANode contained a HashSet of transitions.
Large vectors of DFANodes made many small HashSets, which was inefficient use of memory.
We now put all the actions and transitions into one big compact Vector and each node owns ranges in that vector.
- contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::recursiveMemoryUsed):
(WebCore::ContentExtensions::CombinedURLFilters::memoryUsed):
- contentextensions/CombinedURLFilters.h:
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
- contentextensions/ContentExtensionsDebugging.h:
- contentextensions/DFA.cpp:
(WebCore::ContentExtensions::DFA::memoryUsed):
(WebCore::ContentExtensions::DFANode::actions):
(WebCore::ContentExtensions::DFANode::transitions):
(WebCore::ContentExtensions::DFANode::fallbackTransitionDestination):
(WebCore::ContentExtensions::DFANode::changeFallbackTransition):
(WebCore::ContentExtensions::DFANode::addFallbackTransition):
(WebCore::ContentExtensions::DFANode::containsTransition):
(WebCore::ContentExtensions::DFANode::kill):
(WebCore::ContentExtensions::DFA::minimize):
(WebCore::ContentExtensions::DFA::DFA): Deleted.
(WebCore::ContentExtensions::DFA::operator=): Deleted.
- contentextensions/DFA.h:
- contentextensions/DFABytecodeCompiler.cpp:
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNodeTransitions):
(WebCore::ContentExtensions::DFABytecodeCompiler::compile):
- contentextensions/DFABytecodeCompiler.h:
- contentextensions/DFAMinimizer.cpp:
(WebCore::ContentExtensions::DFAMinimizer::minimize):
- contentextensions/DFAMinimizer.h:
- contentextensions/DFANode.h:
(WebCore::ContentExtensions::DFANode::isKilled):
(WebCore::ContentExtensions::DFANode::hasFallbackTransition):
(WebCore::ContentExtensions::DFANode::hasActions):
(WebCore::ContentExtensions::DFANode::transitionsLength):
(WebCore::ContentExtensions::DFANode::actionsLength):
(WebCore::ContentExtensions::DFANode::actionsStart):
(WebCore::ContentExtensions::DFANode::setActions):
(WebCore::ContentExtensions::DFANode::setTransitions):
(WebCore::ContentExtensions::DFANode::resetTransitions):
(WebCore::ContentExtensions::DFANode::transitionsStart):
(WebCore::ContentExtensions::DFANode::setHasFallbackTransitionWithoutChangingDFA):
- contentextensions/NFA.cpp:
(WebCore::ContentExtensions::NFA::memoryUsed):
- contentextensions/NFA.h:
- contentextensions/NFAToDFA.cpp:
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetSource::NodeIdSetToUniqueNodeIdSetSource):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):
(WebCore::ContentExtensions::getOrCreateDFANode):
(WebCore::ContentExtensions::NFAToDFA::convert):
Tools:
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/DFAMinimizer.cpp:
(TestWebKitAPI::countLiveNodes):
- 12:45 PM Changeset in webkit [183203] by
-
- 1 copy in tags/Safari-600.6.3
New tag.
- 12:42 PM Changeset in webkit [183202] by
-
- 2 edits in trunk
[CMake] Should be possible for an option to depend on multiple options
https://bugs.webkit.org/show_bug.cgi?id=143839
Reviewed by Martin Robinson.
Use a list instead of a single variable to track the dependencies of each option. Iterate
over the list as many times as necessary to ensure all options are properly disabled.
- Source/cmake/WebKitFeatures.cmake:
- 12:25 PM Changeset in webkit [183201] by
-
- 22 edits in trunk/Source/JavaScriptCore
Rename HardPhantom to MustGenerate.
Rubber stamped by Geoffrey Garen.
We are steadily moving towards Phantom just being a backend hack in the DFG. HardPhantom
is more than that; it's a utility for forcing the execution of otherwise killable nodes.
NodeMustGenerate is the flag we use to indicate that something isn't killable. So this
node should just be called MustGenerate.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::run):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::tryToRelaxRepresentation):
- dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::insertMustAdd):
- dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
- dfg/DFGNode.h:
(JSC::DFG::Node::willHaveCodeGenOrOSR):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- dfg/DFGPhantomCanonicalizationPhase.cpp:
(JSC::DFG::PhantomCanonicalizationPhase::run):
- dfg/DFGPhantomRemovalPhase.cpp:
(JSC::DFG::PhantomRemovalPhase::run):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
- dfg/DFGVarargsForwardingPhase.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
- 11:58 AM Changeset in webkit [183200] by
-
- 2 edits2 adds1 delete in trunk/LayoutTests
editing/selection/extend-by-character-007.html should pass on OS X 10.10.3.
Updated the results to match what we get in 10.10.3, and marked as passing.
- editing/selection/extend-by-character-007-expected.txt: Removed.
- platform/mac/TestExpectations:
- platform/mac/editing/selection/extend-by-character-007-expected.png: Added.
- platform/mac/editing/selection/extend-by-character-007-expected.txt: Added.
- 11:44 AM Changeset in webkit [183199] by
-
- 9 edits4 adds in trunk
Implement
Object.assign
https://bugs.webkit.org/show_bug.cgi?id=143980
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-23
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign
- builtins/ObjectConstructor.js: Added.
(assign):
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/ObjectConstructor.cpp:
- runtime/ObjectConstructor.h:
LayoutTests:
- js/Object-assign-expected.txt: Added.
- js/Object-assign.html: Added.
- js/Object-getOwnPropertyNames-expected.txt:
- js/script-tests/Object-assign.js: Added.
- js/script-tests/Object-getOwnPropertyNames.js:
- 11:41 AM Changeset in webkit [183198] by
-
- 2 edits in trunk/Source/WebCore
Don't fire a bunch of mouse moveds during scrolling.
https://bugs.webkit.org/show_bug.cgi?id=99940
Reviewed by Simon Fraser.
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
Even for the short interval timer, make sure to cancel and restart it instead of allowing the original to
complete. This has the effect of preventing fake mouse moves from firing until the scroll stops.
- 11:40 AM Changeset in webkit [183197] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix the release build.
- html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners): Add an UNUSED_PARAM.
- 10:59 AM Changeset in webkit [183196] by
-
- 3 edits in trunk/Source/WebCore
Remove m_isPageTiledBackingLayer data member from GraphicsLayerCA, just use the layer type instead
https://bugs.webkit.org/show_bug.cgi?id=144108
Reviewed by Dean Jackson.
No need for the m_isPageTiledBackingLayer data member. We can just check the layer
type instead.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::initialize):
(WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
(WebCore::GraphicsLayerCA::updateContentsScale):
(WebCore::GraphicsLayerCA::getDebugBorderInfo):
(WebCore::GraphicsLayerCA::requiresTiledLayer):
- platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::isPageTiledBackingLayer):
- 10:52 AM Changeset in webkit [183195] by
-
- 10 edits2 copies in trunk/Source/WebCore
Content extension with oft-repeated rules can cause slowdown.
rdar://problem/20618511 and https://bugs.webkit.org/show_bug.cgi?id=144010
Reviewed by Alex Christensen.
No new tests (Behavior covered by existing tests).
- WebCore.xcodeproj/project.pbxproj:
- contentextensions/ContentExtension.cpp:
(WebCore::ContentExtensions::ContentExtension::globalDisplayNoneStyleSheet):
Add the String identifier for the extension and the rule action ID to Actions:
- contentextensions/ContentExtensionRule.cpp:
(WebCore::ContentExtensions::Action::deserialize):
- contentextensions/ContentExtensionRule.h:
(WebCore::ContentExtensions::Action::Action):
(WebCore::ContentExtensions::Action::operator==):
(WebCore::ContentExtensions::Action::setExtensionIdentifier):
(WebCore::ContentExtensions::Action::extensionIdentifier):
(WebCore::ContentExtensions::Action::actionID):
(WebCore::ContentExtensions::Action::type): Deleted.
Object to manage a CSSStyleSheet and selectors identified by ID:
- contentextensions/ContentExtensionStyleSheet.cpp:
(WebCore::ContentExtensions::ContentExtensionStyleSheet::ContentExtensionStyleSheet):
(WebCore::ContentExtensions::ContentExtensionStyleSheet::addDisplayNoneSelector):
- contentextensions/ContentExtensionStyleSheet.h:
(WebCore::ContentExtensions::ContentExtensionStyleSheet::create):
(WebCore::ContentExtensions::ContentExtensionStyleSheet::styleSheet):
Instead of globbing selectors together into a String and making a new stylesheet,
add new unique selectors to an already existing sheet:
- contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::displayNoneCSSRule):
- dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::addDisplayNoneSelector):
(WebCore::DocumentStyleSheetCollection::addContentExtensionUserSheet): Deleted.
- dom/DocumentStyleSheetCollection.h:
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::addPendingContentExtensionDisplayNoneSelector):
(WebCore::DocumentLoader::addPendingContentExtensionSheet): Deleted.
- loader/DocumentLoader.h:
- 10:48 AM Changeset in webkit [183194] by
-
- 4 edits in trunk/Source/WebCore
Memory cache live resources repeatedly purged during painting
https://bugs.webkit.org/show_bug.cgi?id=144104
<rdar://problem/20667695>
Reviewed by Chris Dumez.
On some PLT pages (like nytimes.com) we get into state where painting repeatedly purges live bitmaps.
This slows down page loads significantly.
This might have regressed because improvements in page caching keep more pages and so resources 'live'.
With this path we do all regular cache pruning asynchronously. If memory is really critical
the low memory handling code will still prune synchronously.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::didAccessDecodedData):
prune() -> pruneSoon()
- loader/cache/MemoryCache.cpp:
Decrease the pruning size target from 0.95 to 0.8 so we don't need to prune so often.
(WebCore::MemoryCache::needsPruning):
Factor into a function.
(WebCore::MemoryCache::prune):
(WebCore::MemoryCache::pruneSoon):
Prune asynchronously.
- loader/cache/MemoryCache.h:
- 10:31 AM Changeset in webkit [183193] by
-
- 2 edits in trunk
[CMake] ENABLE_THREADED_COMPOSITOR should not be at the bottom of the options list
https://bugs.webkit.org/show_bug.cgi?id=144103
Reviewed by Martin Robinson.
Just move ENABLE_THREADED_COMPOSITOR so it's alphabetized properly.
- Source/cmake/WebKitFeatures.cmake:
- 10:29 AM Changeset in webkit [183192] by
-
- 2 edits in trunk
[GTK] Fixups for ENABLE_CREDENTIAL_STORAGE
https://bugs.webkit.org/show_bug.cgi?id=144102
Reviewed by Martin Robinson.
Use WEBKIT_OPTION_DEFAULT_PORT_VALUE to set ENABLE_CREDENTIAL_STORAGE instead of doing so
manually. Fail the build if libsecret is not found but ENABLE_CREDENTIAL_STORAGE is set.
Also, do not set ENABLE_CREDENTIAL_STORAGE redundantly.
- Source/cmake/OptionsGTK.cmake:
- 10:16 AM Changeset in webkit [183191] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, temporarily skip http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html on Windows.
It often crashes on Windows.
- platform/win/TestExpectations:
- 9:56 AM Changeset in webkit [183190] by
-
- 2 edits in trunk/Source/WTF
Undo the WTF part of the previous build fix, we don't use private headers in WTF.
- WTF.xcodeproj/project.pbxproj:
- 9:53 AM Changeset in webkit [183189] by
-
- 11 edits in trunk/Source/WebKit2
[UNIX] Do not allow copies of IPC::Attachment
https://bugs.webkit.org/show_bug.cgi?id=144096
Reviewed by Darin Adler.
It ensures that the file descriptor ownership is always correctly
transferred. This way we can remove the dispose() method to
explicitly close the file descriptor and always close it in the
Attachment destructor (unless explicitly transferred to
IPC::Connection or SharedMemory). It simplifies the code and
ensure we don't leak file descriptors.
- Platform/IPC/ArgumentDecoder.cpp:
(IPC::ArgumentDecoder::~ArgumentDecoder): Remove the code to
explicitly dispose attachments.
(IPC::ArgumentDecoder::removeAttachment): Use WTF::move().
- Platform/IPC/ArgumentEncoder.cpp:
(IPC::ArgumentEncoder::~ArgumentEncoder): Remove the code to
explicitly dispose attachments.
(IPC::ArgumentEncoder::addAttachment): Use WTF::move().
(IPC::ArgumentEncoder::releaseAttachments): Simplify by using WTF::move().
- Platform/IPC/ArgumentEncoder.h:
- Platform/IPC/Attachment.cpp:
(IPC::Attachment::encode): Move a copy of the attachment, and
reset the file descriptor, since the ownership is passed to the encoder.
- Platform/IPC/Attachment.h: Make copy constructor and assignment
private to not allow public copies. The only copy allowed is done
by Attachment::encode(). Make m_fileDescriptor mutable so that we
can reset it in Attachment::encode() after passing the ownership
to the encoder.
- Platform/IPC/unix/AttachmentUnix.cpp:
(IPC::Attachment::~Attachment): Close the file descriptor if it
hasn't been released explicitly.
(IPC::Attachment::dispose): Deleted.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::processMessage): Do not use AttachmentResourceGuard.
(IPC::Connection::sendOutgoingMessage): Ditto.
(IPC::AttachmentResourceGuard::AttachmentResourceGuard): Deleted.
(IPC::AttachmentResourceGuard::~AttachmentResourceGuard): Deleted.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::Handle::~Handle): Do not call clear().
(WebKit::SharedMemory::Handle::clear): Reset the attachment.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage): Use WTF::move().
- WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
Call releaseFileDescriptor() instead of fileDescritpro() since the
ownership is passed to the connection.
- 9:08 AM Changeset in webkit [183188] by
-
- 4 edits in trunk/Source
Build fix.
../WebKit2:
- WebProcess/cocoa/WebProcessCocoa.mm: Correct the case of an include file name.
../WTF:
- WTF.xcodeproj/project.pbxproj: Make RAMSize.h a private header, now that it's used
from outside WTF.
- 8:58 AM Changeset in webkit [183187] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, make a suggested change I overlooked in Darin's review of
https://bugs.webkit.org/show_bug.cgi?id=144098
- dom/Document.cpp:
(WebCore::Document::removePlaybackTargetPickerClient): const auto& -> auto
(WebCore::Document::showPlaybackTargetPicker): Ditto.
(WebCore::Document::playbackTargetPickerClientStateDidChange): Ditto.
(WebCore::Document::playbackTargetAvailabilityDidChange): Ditto.
(WebCore::Document::setPlaybackTarget): Ditto.
(WebCore::Document::setShouldPlayToPlaybackTarget): Ditto.
- 8:52 AM Changeset in webkit [183186] by
-
- 5 edits in trunk/Source/WebCore
Use std::unique_ptr instead of OwnPtr in ThreadGlobalData
https://bugs.webkit.org/show_bug.cgi?id=141950
Patch by Joonghun Park <jh718.park@samsung.com> on 2015-04-23
Reviewed by Darin Adler.
No new tests, no behavior changes.
- dom/EventNames.h:
(WebCore::EventNames::create):
- loader/cache/CachedResourceRequestInitiators.h:
- platform/ThreadGlobalData.cpp:
(WebCore::ThreadGlobalData::ThreadGlobalData):
(WebCore::ThreadGlobalData::destroy):
- platform/ThreadGlobalData.h:
- 8:49 AM Changeset in webkit [183185] by
-
- 3 edits in trunk/Source/WebCore
Some media tests assert after r183096
https://bugs.webkit.org/show_bug.cgi?id=144098
Reviewed by Darin Adler.
- dom/Document.cpp:
(WebCore::Document::removePlaybackTargetPickerClient): Don't assert if the client has already
been removed from the map. This happens when a media element is removed from the document
before its destructor runs and is not an error.
(WebCore::Document::showPlaybackTargetPicker): It is an error to call this after the client
has been removed from the map so leave the assert in a debug build, but return early
so a release build doesn't crash.
(WebCore::Document::playbackTargetPickerClientStateDidChange): Ditto.
(WebCore::Document::playbackTargetAvailabilityDidChange): Use "auto" for the map iterator variable.
(WebCore::Document::setPlaybackTarget): Ditto.
(WebCore::Document::setShouldPlayToPlaybackTarget): Ditto.
- dom/Document.h: Fix map typedef names.
- 2:43 AM Changeset in webkit [183184] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix debug build after r183176.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::Handle::decode):
(WebKit::SharedMemory::createHandle):
- 2:06 AM Changeset in webkit [183183] by
-
- 2 edits in trunk/Source/WebCore
DOM nodes should be allocated with fastMalloc().
Unreviewed. This got lost in the TreeShared merge. :|
- dom/Node.h:
- 1:24 AM Changeset in webkit [183182] by
-
- 5 edits in branches/safari-600.7-branch/Source
Versioning.
- 1:22 AM Changeset in webkit [183181] by
-
- 15 edits in trunk/Source
There should only be one way to get the system memory size.
<https://webkit.org/b/144081>
Reviewed by Antti Koivisto.
Source/WebKit/mac:
- Misc/WebKitSystemBits.h:
- Misc/WebKitSystemBits.m:
(WebMemorySize): Deleted.
- WebView/WebView.mm:
(+[WebView _setCacheModel:]):
(roundUpToPowerOf2): Deleted.
Source/WebKit/win:
- WebView.cpp:
(WebView::setCacheModel):
Source/WebKit2:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformSetCacheModel):
(WebKit::memorySize): Deleted.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::memorySize): Deleted.
Source/WTF:
Merge all the logic from other RAM size fetcher helpers into WTF's.
Darwin ports now use host_info() instead of sysctl(), since that was the more common way
of doing this.
Also bumped the fallback answer from 128 MB to 512 MB to bring it closer to today's hardware.
Finally, the number is rounded up to the next multiple of 128 MB, to avoid misunderstandings
on some systems where the number returned by the kernel is slightly lower than the marketing
number. Removed the "fudging" that was used in some places, since this fixes that cleanly.
- wtf/RAMSize.cpp:
(WTF::computeRAMSize):
- 1:15 AM Changeset in webkit [183180] by
-
- 26 edits4 copies in branches/safari-600.7-branch
Merged r181656 and r182985. rdar://problem/20545362&20645491
- 1:12 AM Changeset in webkit [183179] by
-
- 7 edits in trunk/Source
[WK2] WebDiagnosticLoggingClient is leaking
https://bugs.webkit.org/show_bug.cgi?id=144089
<rdar://problem/19706214>
Reviewed by Darin Adler.
WebDiagnosticLoggingClient is leaking. It is constructed inside WebPage
constructor but there is no code destroying it.
This patch adds a new xxxDestroyed() virtual function to
DiagnosticLoggingClient and that is overriden in
WebDiagnosticLoggingClient to call "delete this". This is the same
pattern as for other WK2 clients (e.g. WebFrameLoaderClient,
WebProgressTrackerClient).
Source/WebCore:
- loader/EmptyClients.h:
- page/DiagnosticLoggingClient.h:
- page/MainFrame.cpp:
(WebCore::MainFrame::~MainFrame):
Source/WebKit2:
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
(WebKit::WebDiagnosticLoggingClient::mainFrameDestroyed):
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:
- 12:57 AM Changeset in webkit [183178] by
-
- 2 edits in trunk/Source/WebCore
CrashTracer: WebProcess at com.apple.WebCore: WebCore::toScriptElementIfPossible + 4
https://bugs.webkit.org/show_bug.cgi?id=144050
rdar://problem/15534973
Reviewed by Chris Dumez.
We are seeing null Element pointer crashes with this stack:
47 com.apple.WebCore: WebCore::toScriptElementIfPossible + 4 <==
47 com.apple.WebCore: WebCore::ScriptRunner::timerFired + 452
47 com.apple.WebCore: WebCore::ThreadTimers::sharedTimerFiredInternal + 175
The most likely cause seems to be that this code
ASSERT(m_pendingAsyncScripts.contains(scriptElement));
m_scriptsToExecuteSoon.append(m_pendingAsyncScripts.take(scriptElement));
in ScriptRunner::notifyScriptReady fails to find scriptElement and we are left with a null entry in
m_scriptsToExecuteSoon. However I haven't managed to repro this or find the exact path how this
could happen. The related code is fragile with lot of state (in ScriptElement class)
and involves many opportunities for re-entry via scripts.
No repro, no test case.
- dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::timerFired):
Paper this over by adding a null check. We could check m_pendingAsyncScripts.take() above
but this also covers possibility this is caused by something else.
- 12:47 AM Changeset in webkit [183177] by
-
- 17 edits in branches/safari-600.7-branch
Roll out r181656. rdar://problem/20545362
- 12:28 AM Changeset in webkit [183176] by
-
- 7 edits in trunk/Source/WebKit2
[UNIX] Simplify the file descriptor handling in SharedMemory
https://bugs.webkit.org/show_bug.cgi?id=144046
Reviewed by Darin Adler.
Simplify the file descriptor handling and clarify its ownership by
using IPC::Attachment in SharedMemory::Handle instead of fd and
size members. SharedMemory::Handle::adoptFromAttachment() has been
renamed as SharedMemory::Handle::adoptAttachment() and receives an
IPC::Attachment. And SharedMemory::Handle::releaseToAttachment()
has been renamed as SharedMemory::Handle::releaseAttachment().
- Platform/IPC/Attachment.h: Add move constructor and move assigned operator.
- Platform/IPC/Connection.h:
(IPC::Connection::identifierIsNull): A file descriptor is null
when it's -1 no 0.
- Platform/IPC/unix/AttachmentUnix.cpp:
(IPC::Attachment::Attachment):
(IPC::Attachment::operator=):
(IPC::Attachment::dispose): Reset the file descriptor after
closing it.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::processMessage): Use
SharedMemory::Handle::adoptAttachment() that receives an
IPC::Attachment now.
(IPC::Connection::sendOutgoingMessage): Use
SharedMemory::Handle::releaseAttachment().
- Platform/SharedMemory.h:
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::Handle::Handle): Remove initializers for
file descriptor and size members.
(WebKit::SharedMemory::Handle::clear): Dispose the attachment.
(WebKit::SharedMemory::Handle::isNull): Handle is null if the
attachment file descriptor is -1.
(WebKit::SharedMemory::Handle::encode): Use releaseAttachment().
(WebKit::SharedMemory::Handle::decode): Use adoptAttachment().
(WebKit::SharedMemory::Handle::releaseAttachment): Implement it
using move.
(WebKit::SharedMemory::Handle::adoptAttachment): Ditto.
(WebKit::SharedMemory::map): Use
IPC::Attachment::releaseFileDescriptor() instead of manually
changing the member.
(WebKit::SharedMemory::createHandle): Initialize the handle
attachment with the duplicated file descriptor and size.
- 12:24 AM Changeset in webkit [183175] by
-
- 4 edits in trunk/Source/WebCore
Use a typedef for TileGrid tile validation policy flags
https://bugs.webkit.org/show_bug.cgi?id=144085
Reviewed by Tim Horton.
Replace 'unsigned' with a typedef for the bitmask of TileValidationPolicyFlags.
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::tileRevalidationTimerFired):
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::revalidateTiles):
- platform/graphics/ca/TileGrid.h:
- 12:21 AM Changeset in webkit [183174] by
-
- 2 edits in trunk/Source/WebCore
Slap Node's reference counting functions with ALWAYS_INLINE stick.
Speculative fix for weird ~3% regression on Speedometer seen after TreeShared
was merged into Node. Since the memory layout didn't change, failure to inline
seems like a possible source of regression.
- dom/Node.h:
(WebCore::Node::ref):
(WebCore::Node::deref):
(WebCore::Node::hasOneRef):
(WebCore::Node::refCount):