Timeline
Nov 21, 2015:
- 3:06 PM Changeset in webkit [192726] by
-
- 2 edits in trunk/Source/WebCore
Tiny cleanup in ComplexTextController::collectComplexTextRuns()
https://bugs.webkit.org/show_bug.cgi?id=151534
Reviewed by Zalan Bujtas.
The isMissingGlyph boolean is completely unnecessary. Its entire
responsiblity is duplicated by the "font" pointer.
No new tests because there is no behavior change.
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::collectComplexTextRuns):
- 12:02 PM Changeset in webkit [192725] by
-
- 8 edits8 copies in trunk
Rolled over to ChangeLog-2015-11-21
- 11:57 AM WebInspectorCodingStyleGuide edited by
- (diff)
- 9:00 AM Changeset in webkit [192724] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Off-by-one error in getStyleContext()
https://bugs.webkit.org/show_bug.cgi?id=151524
Reviewed by Carlos Garcia Campos.
GtkWidgetPath* path = gtk_widget_path_new();
gtk_widget_path_append_type(path, widgetType);
...
gtk_widget_path_iter_add_class(path, 0, GTK_STYLE_CLASS_BUTTON);
gtk_widget_path_iter_add_class(path, 1, "text-button");
Only one widget type was appended to the widget path, so the maximum valid index is 0. This
code means to add both style classes to the first widget type in the widget path, so the
second call should use index 0 rather than index 1.
This caused no bug in practice, because when the index is invalid,
gtk_widget_path_iter_add_class() automatically changes the index to the last valid position
in the widget path -- in this case, 0. This is routinely done with -1 as a convention for
specifying the last position in the widget path.
- rendering/RenderThemeGtk.cpp:
(WebCore::getStyleContext):
- 8:57 AM Changeset in webkit [192723] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Warning spam from GtkStyleContext
https://bugs.webkit.org/show_bug.cgi?id=151520
Reviewed by Carlos Garcia Campos.
Audit every use of gtk_style_context_get_* to fix compatibility with GTK+ 3.19. Some of
these were already fine and are only changed for clarity.
Company: gtk_style_context_get() (and _get_padding/border/color()) should only ever be
called with the same state as gtk_style_context_get_state()
Company: usually that's a simple replacing of the old state (like in the trace you posted)
Company: sometimes it requires calling gtk_style_context_set_sate() with the right state
first
Company: and in very rare cases it needs a gtk_style_context_save() before the set_state(),
too
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::adjustRectAccordingToMargin):
- rendering/RenderThemeGtk.cpp:
(gtk_css_section_print):
(WebCore::getStyleContext):
(WebCore::RenderThemeGtk::initMediaColors):
(WebCore::renderButton):
(WebCore::getComboBoxMetrics):
(WebCore::RenderThemeGtk::paintMenuList):
(WebCore::RenderThemeGtk::paintTextField):
(WebCore::RenderThemeGtk::paintProgressBar):
(WebCore::spinButtonArrowSize):
(WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
(WebCore::styleColor):
Nov 20, 2015:
- 10:07 PM Changeset in webkit [192722] by
-
- 3 edits3 adds in trunk
REGRESSION(r192536): Null pointer dereference in JSPropertyNameEnumerator::visitChildren().
<https://webkit.org/b/151495>
Reviewed by Mark Lam.
Source/JavaScriptCore:
The copied space allocation in JSPropertyNameEnumerator::finishCreation()
may end up triggering a GC, and so JSPropertyNameEnumerator::visitChildren()
would get called while m_propertyNames was still null.
This patch fixes that by having visitChildren() check for pointer nullity
instead of the number of names, since that is non-zero even before the
allocation is made.
Added a test that induces GC during JSPropertyNameEnumerator construction
to cover this bug.
Test: property-name-enumerator-gc-151495.js
- runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::visitChildren):
LayoutTests:
- js/property-name-enumerator-gc-151495.html: Added.
- js/property-name-enumerator-gc-151495-expected.txt: Added.
- js/script-tests/property-name-enumerator-gc-151495.js: Added.
- 8:40 PM Changeset in webkit [192721] by
-
- 3 edits in trunk/Source/JavaScriptCore
GC timers should carry on gracefully when Heap claims it grew from GC.
<https://webkit.org/b/151521>
Reviewed by Mark Lam.
TL;DR the Heap "extra memory" reporting APIs are hard to use 100% correctly
and GC scheduling shouldn't break if someone makes a mistake with it.
The JSC::Heap allows you to report an extra memory cost for any GC object.
This is reported first when allocating the memory, and then each time the
object is visited during the marking phase.
When reporting an allocation, it's added to the Heap's "bytes allocated in
this cycle" counter. This contributes to the computed heap size at the start
of a collection.
When visiting a GC object that reports extra memory, it's added to the Heap's
"extra memory visited in this collection" counter. This contributes to the
computed heap size at the end of a collection.
As you can see, this means that visiting more memory than we said we allocated
can lead to the Heap thinking it's bigger after a collection than it was before.
Clients of this API do some sketchy things to compute costs, for instance
StringImpl cost is determined by dividing the number of bytes used for the
characters, and dividing it by the StringImpl's ref count. Since a JSString
could be backed by any StringImpl, any code that modifies a StringImpl's
ref count during collection will change the extra memory reported by all
JSString objects that wrap that StringImpl.
So anyways...
The object death rate, which is the basis for when to schedule the next
collection is computed like so:
deathRate = (sizeBeforeGC - sizeAfterGC) / sizeBeforeGC
This patch adds a safety mechanism that returns a zero death rate when the Heap
claims it grew from collection.
- heap/EdenGCActivityCallback.cpp:
(JSC::EdenGCActivityCallback::deathRate):
- heap/FullGCActivityCallback.cpp:
(JSC::FullGCActivityCallback::deathRate):
- 7:57 PM Changeset in webkit [192720] by
-
- 16 edits2 adds in trunk
Modern IDB: After versionchange transactions complete, fire onsuccess on the original IDBOpenDBRequest
https://bugs.webkit.org/show_bug.cgi?id=151522
Reviewed by Alex Christensen.
Source/WebCore:
Test: storage/indexeddb/modern/opendatabase-success-after-versionchange.html (And changes to other existing tests)
- Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::startVersionChangeTransaction):
- Modules/indexeddb/client/IDBDatabaseImpl.h:
- Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit):
(WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):
- Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
- Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::create):
(WebCore::IDBClient::IDBTransaction::IDBTransaction):
(WebCore::IDBClient::IDBTransaction::dispatchEvent):
- Modules/indexeddb/client/IDBTransactionImpl.h:
LayoutTests:
- storage/indexeddb/modern/deletedatabase-1-expected.txt:
- storage/indexeddb/modern/deletedatabase-1.html:
- storage/indexeddb/modern/deletedatabase-2-expected.txt:
- storage/indexeddb/modern/deletedatabase-2.html:
- storage/indexeddb/modern/opendatabase-success-after-versionchange-expected.txt: Added.
- storage/indexeddb/modern/opendatabase-success-after-versionchange.html: Added.
- storage/indexeddb/modern/opendatabase-versions-expected.txt:
- storage/indexeddb/modern/opendatabase-versions.html:
- storage/indexeddb/modern/versionchange-event-expected.txt:
- storage/indexeddb/modern/versionchange-event.html:
- 7:31 PM Changeset in webkit [192719] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Timeline does not immediately update current time after switching tabs while recording
https://bugs.webkit.org/show_bug.cgi?id=151528
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-20
Reviewed by Timothy Hatcher.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype.shown):
Provide a number so that _startUpdatingCurrentTime doesn't decide
to wait until the next event to update current time.
(WebInspector.TimelineRecordingContentView.prototype._update):
When switching tabs we stop updating and hit this code. However
we want to keep _lastUpdateTimestamp so that if we switch back
to the tab we can re-compute the current time. So don't clear it
in cases where the view was hidden, as it might need to use
it when it is shown again.
- 7:29 PM Changeset in webkit [192718] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove "Show only resources with breakpoints" filter button
https://bugs.webkit.org/show_bug.cgi?id=151517
Reviewed by Timothy Hatcher.
Removed filter button in preparation for https://bugs.webkit.org/show_bug.cgi?id=151119.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.showResourcesWithBreakpointsOnlyFilterFunction): Deleted.
(WebInspector.DebuggerSidebarPanel): Deleted.
- 7:16 PM Changeset in webkit [192717] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix for old version of PHP.
- public/api/runs.php:
- 7:12 PM Changeset in webkit [192716] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Perf dashboard's should not include results more than 366 days old in JSON
https://bugs.webkit.org/show_bug.cgi?id=151529
Reviewed by Timothy Hatcher.
Don't return results more than 366 days old in /api/runs/ JSON API.
This is a ~5% runtime improvement and reduces the JSON file size by 20-50% in the internal perf dashboard.
- public/api/runs.php:
(main): Added the support for "?noResults" to avoid echoing results. This is useful for debugging.
Also instantiate RunsGenerator before issuing the query to find all configurations so that the runtime cost
of doing so will be included in elapsedTime.
(RunsGenerator::fetch_runs): Skip a row when its build and commit times are more than 366 days old.
(RunsGenerator::format_run): Takes build_time and revisions as arguments since fetch_runs uses them now.
(RunsGenerator::parse_revisions_array): Compute the max of commit times.
- 7:05 PM Changeset in webkit [192715] by
-
- 3 edits in trunk/PerformanceTests
Animometer: graphs should not do interpolation
https://bugs.webkit.org/show_bug.cgi?id=151526
Reviewed by Simon Fraser.
Having the graphs do interpolation is misleading, because you can't see the actual data.
Also remove "shape-rendering: crispEdges;" so the lines get antialiased.
- Animometer/runner/resources/animometer.css:
(section#test-graph > data > svg): Deleted.
- Animometer/runner/resources/graph.js:
(graph): Deleted.
- 6:51 PM Changeset in webkit [192714] by
-
- 2 edits in trunk/Tools
Unreviewed, add watchlist for PerformanceTests/Animometer and add myself.
- Scripts/webkitpy/common/config/watchlist:
- 6:29 PM Changeset in webkit [192713] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark fast/replaced/replaced-breaking.html as failing on ElCapitan-wk1.
The test gives a slightly different output of this configuration only
and I don't think we can have platform-specific test expectations for
this particular configuration.
- platform/mac-wk1/TestExpectations:
- 5:51 PM Changeset in webkit [192712] by
-
- 17 edits in trunk/Source
More deviceRGB color cleanup
https://bugs.webkit.org/show_bug.cgi?id=151523
<rdar://problem/23638597>
Reviewed by Tim Horton.
Replace calls to deviceRGBColorSpaceRef() with sRGBColorSpaceRef(), and use
sRGBColorSpaceRef() in a few places that were manually creating the colorspace.
Also use cachedCGColor() in a more places that were manually constructing CGColorRefs
from Colors.
Source/WebCore:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect):
(WebCore::createImageFromPixelBuffer):
- platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(PlatformCALayerCocoa::setBackgroundColor):
(PlatformCALayerCocoa::setBorderColor):
- platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm:
(-[WebLightSystemBackdropLayer init]):
(-[WebDarkSystemBackdropLayer init]):
- platform/graphics/cg/GradientCG.cpp:
(WebCore::Gradient::platformGradient):
- platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
(WebCore::GraphicsContext3D::paintToCanvas):
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::toDataURL):
(WebCore::ImageDataToDataURL):
- platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::linearRGBColorSpaceRef):
- platform/graphics/mac/WebGLLayer.mm:
(-[WebGLLayer copyImageSnapshotWithColorSpace:]):
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::currentFrameCGImage):
- rendering/RenderThemeIOS.mm:
(WebCore::drawRadialGradient):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintSliderTrack):
Source/WebKit2:
- Shared/cg/ShareableBitmapCG.cpp:
(WebKit::ShareableBitmap::createGraphicsContext):
(WebKit::ShareableBitmap::createCGImage):
- Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::cgColorFromColor):
- UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::initializeDebugIndicator):
- 5:42 PM Changeset in webkit [192711] by
-
- 16 edits in trunk/Source/WebCore
Renaming PageCache suspension code to support more reasons for suspension.
https://bugs.webkit.org/show_bug.cgi?id=151527
Patch by Katlyn Graff <kgraff@apple.com> on 2015-11-20
Reviewed by Ryosuke Niwa.
No new tests because this is simply a refactor.
Renamed Element:: and Document:: documentWillSuspendForPageCache(),
documentDidResumeFromPageCache(),
registerForPageCacheSuspensionCallbacks(),
unregisterForPageCacheSuspensionCallbacks() to prepare to support
alternate reasons for document-level suspension.
- dom/Document.cpp:
(WebCore::Document::suspend):
(WebCore::Document::resume):
(WebCore::Document::registerForDocumentSuspensionCallbacks):
(WebCore::Document::unregisterForDocumentSuspensionCallbacks):
(WebCore::Document::documentWillSuspendForPageCache): Deleted.
(WebCore::Document::documentDidResumeFromPageCache): Deleted.
(WebCore::Document::registerForPageCacheSuspensionCallbacks): Deleted.
(WebCore::Document::unregisterForPageCacheSuspensionCallbacks): Deleted.
- dom/Document.h:
- dom/Element.h:
(WebCore::Element::prepareForDocumentSuspension):
(WebCore::Element::resumeFromDocumentSuspension):
(WebCore::Element::documentWillSuspendForPageCache): Deleted.
(WebCore::Element::documentDidResumeFromPageCache): Deleted.
- history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::CachedFrame):
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::~HTMLFormElement):
(WebCore::HTMLFormElement::parseAttribute):
(WebCore::HTMLFormElement::resumeFromDocumentSuspension):
(WebCore::HTMLFormElement::didMoveToNewDocument):
(WebCore::HTMLFormElement::documentDidResumeFromPageCache): Deleted.
- html/HTMLFormElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::registerForSuspensionCallbackIfNeeded):
(WebCore::HTMLInputElement::unregisterForSuspensionCallbackIfNeeded):
(WebCore::HTMLInputElement::resumeFromDocumentSuspension):
(WebCore::HTMLInputElement::prepareForDocumentSuspension):
(WebCore::HTMLInputElement::didMoveToNewDocument):
(WebCore::HTMLInputElement::documentDidResumeFromPageCache): Deleted.
(WebCore::HTMLInputElement::documentWillSuspendForPageCache): Deleted.
- html/HTMLInputElement.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::registerWithDocument):
(WebCore::HTMLMediaElement::unregisterWithDocument):
(WebCore::HTMLMediaElement::prepareForDocumentSuspension):
(WebCore::HTMLMediaElement::resumeFromDocumentSuspension):
(WebCore::HTMLMediaElement::documentWillSuspendForPageCache): Deleted.
(WebCore::HTMLMediaElement::documentDidResumeFromPageCache): Deleted.
- html/HTMLMediaElement.h:
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::createElementRenderer):
(WebCore::HTMLPlugInImageElement::didMoveToNewDocument):
(WebCore::HTMLPlugInImageElement::prepareForDocumentSuspension):
(WebCore::HTMLPlugInImageElement::resumeFromDocumentSuspension):
(WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache): Deleted.
(WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache): Deleted.
- html/HTMLPlugInImageElement.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::~SVGSVGElement):
(WebCore::SVGSVGElement::didMoveToNewDocument):
(WebCore::SVGSVGElement::prepareForDocumentSuspension):
(WebCore::SVGSVGElement::resumeFromDocumentSuspension):
(WebCore::SVGSVGElement::documentWillSuspendForPageCache): Deleted.
(WebCore::SVGSVGElement::documentDidResumeFromPageCache): Deleted.
- svg/SVGSVGElement.h:
- 4:20 PM Changeset in webkit [192710] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, rolling out r192139.
https://bugs.webkit.org/show_bug.cgi?id=151525
as it may cause WKTR to crash when the Flash plugin is
installed (Requested by cdumez on #webkit).
Reverted changeset:
"Unreviewed gardening, update fast/replaced/replaced-
breaking.html"
http://trac.webkit.org/changeset/192139
Patch by Commit Queue <commit-queue@webkit.org> on 2015-11-20
- 4:04 PM Changeset in webkit [192709] by
-
- 2 edits in trunk/Source/WebCore
Fix the Windows build.
- platform/graphics/cg/IOSurfacePool.h:
- 3:45 PM Changeset in webkit [192708] by
-
- 4 edits in trunk/Source/JavaScriptCore
New JSC tests introduced in r192664 fail on ARM.
https://bugs.webkit.org/show_bug.cgi?id=151485
Reviewed by Geoffrey Garen.
The newly added tests are exposing some pre-existing bugs. The bugs are tracked here:
https://bugs.webkit.org/show_bug.cgi?id=151514
https://bugs.webkit.org/show_bug.cgi?id=151515
Skipping the tests for now.
- tests/stress/op_div.js:
- tests/stress/op_rshift.js:
- tests/stress/op_urshift.js:
- 3:37 PM Changeset in webkit [192707] by
-
- 3 edits2 adds in trunk/Tools
Went a bit too far, revert part of the previous patch.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mavericks.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mavericks@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
- 3:16 PM Changeset in webkit [192706] by
-
- 11 edits2 deletes in trunk/Tools
Remove Mavericks bots.
Rubber-stamped by Lucas Forschler.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mavericks.png: Removed.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mavericks@2x.png: Removed.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
- BuildSlaveSupport/build.webkit.org-config/templates/root.html:
- BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
- BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
- Scripts/copy-webkitlibraries-to-product-directory:
- 3:16 PM Changeset in webkit [192705] by
-
- 8 edits1 move3 adds1 delete in trunk/Source/WebInspectorUI
Web Inspector: Add support for Gradients in the Visual sidebar background editor
https://bugs.webkit.org/show_bug.cgi?id=150494
Patch by Devin Rousso <Devin Rousso> on 2015-11-20
Reviewed by Timothy Hatcher.
Allows the editors in the Visual sidebar Background Style section to
work with gradients and data URIs.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Controllers/CodeMirrorGradientEditingController.css: Deleted.
Some styling was reused in VisualStyleBackgroundPicker.css.
- UserInterface/Controllers/CodeMirrorGradientEditingController.js:
(WebInspector.CodeMirrorGradientEditingController):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
(WebInspector.CodeMirrorGradientEditingController.prototype._gradientEditorGradientChanged):
(WebInspector.CodeMirrorGradientEditingController.prototype.handleEvent): Deleted.
(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopsDidChange): Deleted.
(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected): Deleted.
(WebInspector.CodeMirrorGradientEditingController.prototype.dragToAdjustControllerWasAdjustedByAmount): Deleted.
(WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent): Deleted.
(WebInspector.CodeMirrorGradientEditingController.prototype._angleInputValueDidChange): Deleted.
(WebInspector.CodeMirrorGradientEditingController.prototype._handleChangeEvent): Deleted.
(WebInspector.CodeMirrorGradientEditingController.prototype._colorPickerColorChanged): Deleted.
(WebInspector.CodeMirrorGradientEditingController.prototype._updateCSSClassForGradientType): Deleted.
Reworked gradient editor popup into WebInspector.GradientEditor.
- UserInterface/Main.html:
- UserInterface/Models/Gradient.js:
(WebInspector.Gradient.fromString):
(WebInspector.Gradient.stopsWithComponents):
(WebInspector.LinearGradient.linearGradientWithComponents):
Removed console.error statements as they didn't do anything but clog the console.
- UserInterface/Views/GradientEditor.css: Added.
(.gradient-editor):
(.gradient-editor.radial-gradient):
(.gradient-editor.editing-color):
(.gradient-editor.radial-gradient.editing-color):
(.gradient-editor > .gradient-type-select):
(.gradient-editor > .gradient-slider):
(.gradient-editor > .color-picker):
(.gradient-editor > .color-picker > .slider):
(.gradient-editor > .color-picker > .brightness):
(.gradient-editor > .color-picker > .opacity):
(.gradient-editor > .gradient-angle):
(.gradient-editor.radial-gradient > .gradient-angle):
(.gradient-editor > .gradient-angle > input):
- UserInterface/Views/GradientEditor.js: Added.
(WebInspector.GradientEditor):
(WebInspector.GradientEditor.prototype.get element):
(WebInspector.GradientEditor.prototype.set gradient):
(WebInspector.GradientEditor.prototype.get gradient):
(WebInspector.GradientEditor.prototype.gradientSliderStopsDidChange):
(WebInspector.GradientEditor.prototype.gradientSliderStopWasSelected):
(WebInspector.GradientEditor.prototype.dragToAdjustControllerWasAdjustedByAmount):
(WebInspector.GradientEditor.prototype._updateCSSClassForGradientType):
(WebInspector.GradientEditor.prototype._gradientTypeChanged):
(WebInspector.GradientEditor.prototype._colorPickerColorChanged):
(WebInspector.GradientEditor.prototype._angleChanged):
(WebInspector.GradientEditor.prototype._angleInputValueDidChange):
New standalone editor for CSS Gradients.
- UserInterface/Views/VisualStyleBackgroundPicker.css: Added.
(.visual-style-property-container.background-picker > .visual-style-property-value-container):
(.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-gradient-swatch):
(.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-gradient-swatch:hover):
(.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-gradient-swatch:active):
(.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-gradient-swatch > span):
(.visual-style-property-container.background-picker > .visual-style-property-value-container.gradient-value > .color-gradient-swatch):
(.visual-style-property-container.background-picker > .visual-style-property-value-container.gradient-value > .color-gradient-swatch + .value-input):
(.visual-style-property-container.background-picker > .visual-style-property-value-container > .value-input):
(.visual-style-property-container.background-picker > .visual-style-property-value-container > .value-input[disabled]):
(.visual-style-property-container.background-picker > .visual-style-property-value-container > .value-type-picker-select):
- UserInterface/Views/VisualStyleBackgroundPicker.js: Added.
(WebInspector.VisualStyleBackgroundPicker):
(WebInspector.VisualStyleBackgroundPicker.prototype.get value):
(WebInspector.VisualStyleBackgroundPicker.prototype.set value):
(WebInspector.VisualStyleBackgroundPicker.prototype.get synthesizedValue):
(WebInspector.VisualStyleBackgroundPicker.prototype.parseValue):
(WebInspector.VisualStyleBackgroundPicker.prototype._updateValueInput):
(WebInspector.VisualStyleBackgroundPicker.prototype._updateGradientSwatch):
(WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchClicked):
(WebInspector.VisualStyleBackgroundPicker.prototype._gradientEditorGradientChanged):
(WebInspector.VisualStyleBackgroundPicker.prototype._valueInputValueChanged):
(WebInspector.VisualStyleBackgroundPicker.prototype._keywordSelectMouseDown):
(WebInspector.VisualStyleBackgroundPicker.prototype._handleKeywordChanged):
(WebInspector.VisualStyleBackgroundPicker.prototype._createValueOptions):
(WebInspector.VisualStyleBackgroundPicker.prototype._addAdvancedValues):
(WebInspector.VisualStyleBackgroundPicker.prototype._removeAdvancedValues):
(WebInspector.VisualStyleBackgroundPicker.prototype._toggleTabbingOfSelectableElements):
Visual property editor for the CSS background-image property. Supports
limited keywords, as well as url() and gradients.
- UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
Fixed regular expression parsing to not match commas inside parenthesis.
- UserInterface/Views/VisualStyleDetailsPanel.js:
(WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
- UserInterface/Views/VisualStylePropertyEditorLink.css:
(.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-border):
Fixed spacing of link line.
- UserInterface/Views/VisualStyleURLInput.js: Removed.
Reworked into VisualStyleBackgroundPicker.js.
- 3:14 PM Changeset in webkit [192704] by
-
- 3 edits in trunk/Tools
Update the patch and the plan files of the graphics benchmark with the latest revision
https://bugs.webkit.org/show_bug.cgi?id=151503
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-20
Reviewed by Ryosuke Niwa.
The time for each graphics test has been shortened from 30 seconds to 10
seconds. We need to update the graphics benchmark patch and plan files so
we can get the results faster. Also this will allow running the benchmark
also on the iOS performance bots.
- Scripts/webkitpy/benchmark_runner/data/patches/Animometer.patch:
- Scripts/webkitpy/benchmark_runner/data/plans/animometer.plan:
- 3:10 PM Changeset in webkit [192703] by
-
- 3 edits in trunk/Source/WebKit2
A window with a hung tab waits 5s before becoming active
https://bugs.webkit.org/show_bug.cgi?id=151426
Reviewed by Sam Weinig.
This patch adds an optimization to skip the synchronous web process
message to check for a legacy scrollbar when we know that legacy
scrollbars are not enabled.
(Note that legacy scrollbars don't work quite right, due to
<rdar://problem/23585420> and <rdar://problem/23605296>. Still, I verified
with logging that we do the synchronous message when legacy scrollbars
are enabled.)
A consequence of this change is that we will no longer support
click-to-scroll-while-inactive behavior for scrollbars with custom looks
on systems with modern scrollbars. I spoke with Beth and Dan, and they
agreed that this is a reasonable change to make, since we don't support
click-to-scroll-while-inactive behavior for fully custom scrollbars either,
and since systems with modern scrollbars typically use swipe to scroll.
- UIProcess/Cocoa/WebViewImpl.h: Added some helper functions to explain
the behaviors we're checking for.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::mightBeginDragWhileInactive): Factored out from
shouldDelayWindowOrderingForEvent.
(WebKit::WebViewImpl::mightBeginScrollWhileInactive): New function.
(WebKit::WebViewImpl::acceptsFirstMouse): Moved this function next to
shouldDelayWindowOrderingForEvent because their responsibilities are
very similar. Added a fast path check for when we know that we will
not accept first mouse because we can't start a drag or scroll by
clicking while inactive.
(WebKit::WebViewImpl::shouldDelayWindowOrderingForEvent): Refactored
to use the helper function. Behavior unchanged.
- 3:10 PM Changeset in webkit [192702] by
-
- 8 edits in trunk/Source/WebKit2
A hung webpage pretends to be responsive if you scroll
https://bugs.webkit.org/show_bug.cgi?id=151518
Reviewed by Sam Weinig.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sendWheelEvent):
(WebKit::WebPageProxy::didReceiveEvent): Don't treat wheel events as
starting or stopping the responsiveness timer. Wheel events usually
process on the event dispatch thread, which responds even if the main
thread is hung.
Instead, send an out-of-band ping to the main thread to verify that
it is still responsive and we'll be able to paint and respond to clicks
after scrolling.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::sendMainThreadPing):
(WebKit::WebProcessProxy::didReceiveMainThreadPing):
- UIProcess/WebProcessProxy.h:
- UIProcess/WebProcessProxy.messages.in: UI process support for pinging
the main thread in the web process.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::mainThreadPing):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in: Web process support for responding
to pings.
- 2:55 PM Changeset in webkit [192701] by
-
- 7 edits in trunk/Source
Allow more buffer formats in the IOSurface pool
https://bugs.webkit.org/show_bug.cgi?id=151516
Reviewed by Tim Horton.
Source/WebCore:
Previously IOSurface::create was only looking in the pool for RGBA-format surfaces. Change that to
always look in the pool, and to cache all format types. We include format in the criteria used
to pick a surface from the pool.
- platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::surfaceMatchesParameters):
(WebCore::IOSurfacePool::takeSurface):
(WebCore::IOSurfacePool::shouldCacheFormat):
(WebCore::IOSurfacePool::shouldCacheSurface):
(WebCore::IOSurfacePool::addSurface):
- platform/graphics/cg/IOSurfacePool.h:
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm:
(IOSurface::surfaceFromPool):
(IOSurface::create):
(IOSurface::IOSurface):
Source/WebKit2:
Have RemoteLayerBackingStore go through a static function on IOSurface to return
a surface to the pool, rather than knowing about IOSurfacePool directly.
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::Buffer::discard):
- 2:35 PM Changeset in webkit [192700] by
-
- 2 edits in trunk/Source/WebCore
[Win] Support High DPI drawing with CACFLayers
https://bugs.webkit.org/show_bug.cgi?id=147242
<rdar://problem/19861992>
Reviewed by Simon Fraser.
- platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
(WebCore::WKCACFViewLayerTreeHost::initializeContext): Set correct content scale factor
for current screen, and apply an appropriate base transform to the CACFLayer so drawing
operations are done properly.
- 2:31 PM Changeset in webkit [192699] by
-
- 21 edits in trunk/Source/JavaScriptCore
B3 should have a Select opcode
https://bugs.webkit.org/show_bug.cgi?id=150762
Reviewed by Benjamin Poulain.
This cleans up our conditional move implementation - specifically so that it distinguishes between
comparing the low 32 bits of a GPR and all bits of a GPR - and fixes bugs with operand ordering. It
then adds a Select opcode to B3 and adds all of the strength reduction and lowering magic that it
needs. Finally this change implements FTL::Output::select() in terms of B3::Select.
This patch lets us run Kraken/imaging-gaussian-blur. Running that benchmark using FTL+B3 is a 17%
speed-up. The compile times go down dramatically (by about 7x) and code quality stays about the same.
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::moveDoubleConditionally32):
(JSC::MacroAssembler::moveDoubleConditionally64):
(JSC::MacroAssembler::moveDoubleConditionallyTest32):
(JSC::MacroAssembler::moveDoubleConditionallyTest64):
(JSC::MacroAssembler::moveDoubleConditionallyDouble):
(JSC::MacroAssembler::lea):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::move):
(JSC::MacroAssemblerX86Common::moveConditionallyDouble):
(JSC::MacroAssemblerX86Common::zeroExtend32ToPtr):
(JSC::MacroAssemblerX86Common::moveConditionally32):
(JSC::MacroAssemblerX86Common::moveConditionallyTest32):
(JSC::MacroAssemblerX86Common::set32):
(JSC::MacroAssemblerX86Common::cmov):
(JSC::MacroAssemblerX86Common::moveConditionally): Deleted.
(JSC::MacroAssemblerX86Common::moveConditionallyTest): Deleted.
- assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::branchNeg64):
(JSC::MacroAssemblerX86_64::moveConditionally64):
(JSC::MacroAssemblerX86_64::moveConditionallyTest64):
(JSC::MacroAssemblerX86_64::abortWithReason):
- assembler/X86Assembler.h:
(JSC::X86Assembler::cmovl_rr):
(JSC::X86Assembler::cmovl_mr):
(JSC::X86Assembler::cmovel_rr):
(JSC::X86Assembler::cmovnel_rr):
(JSC::X86Assembler::cmovpl_rr):
(JSC::X86Assembler::cmovnpl_rr):
(JSC::X86Assembler::cmovq_rr):
(JSC::X86Assembler::cmovq_mr):
(JSC::X86Assembler::cmoveq_rr):
(JSC::X86Assembler::cmovneq_rr):
(JSC::X86Assembler::cmovpq_rr):
(JSC::X86Assembler::cmovnpq_rr):
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::createCompare):
(JSC::B3::Air::LowerToAir::createSelect):
(JSC::B3::Air::LowerToAir::marshallCCallArgument):
(JSC::B3::Air::LowerToAir::lower):
- b3/B3MoveConstants.cpp:
- b3/B3Opcode.cpp:
(WTF::printInternal):
- b3/B3Opcode.h:
- b3/B3ReduceStrength.cpp:
- b3/B3Validate.cpp:
- b3/B3Value.cpp:
(JSC::B3::Value::effects):
(JSC::B3::Value::key):
(JSC::B3::Value::checkOpcode):
(JSC::B3::Value::typeFor):
- b3/B3Value.h:
- b3/B3ValueKey.cpp:
(JSC::B3::ValueKey::dump):
(JSC::B3::ValueKey::materialize):
- b3/B3ValueKey.h:
(JSC::B3::ValueKey::ValueKey):
(JSC::B3::ValueKey::hash):
(JSC::B3::ValueKey::operator bool):
- b3/B3ValueKeyInlines.h:
(JSC::B3::ValueKey::ValueKey):
(JSC::B3::ValueKey::child):
- b3/air/AirOpcode.opcodes:
- b3/testb3.cpp:
(JSC::B3::testTruncSExt32):
(JSC::B3::testBasicSelect):
(JSC::B3::testSelectTest):
(JSC::B3::testSelectCompareDouble):
(JSC::B3::testSelectDouble):
(JSC::B3::testSelectDoubleTest):
(JSC::B3::testSelectDoubleCompareDouble):
(JSC::B3::zero):
(JSC::B3::run):
- ftl/FTLB3Output.h:
(JSC::FTL::Output::testIsZeroPtr):
(JSC::FTL::Output::testNonZeroPtr):
(JSC::FTL::Output::select):
(JSC::FTL::Output::extractValue):
(JSC::FTL::Output::fence):
- 2:14 PM Changeset in webkit [192698] by
-
- 10 edits in trunk
Modern IDB: In the VersionChangeEvent for delete database calls, oldVersion should be null instead of 0.
https://bugs.webkit.org/show_bug.cgi?id=151481
Reviewed by Sam Weinig.
Source/WebCore:
No new tests, covered by changes to:
storage/indexeddb/modern/deletedatabase-1.html
storage/indexeddb/modern/deletedatabase-2.html
- Modules/indexeddb/IDBVersionChangeEvent.h:
- Modules/indexeddb/IDBVersionChangeEvent.idl:
- Modules/indexeddb/client/IDBVersionChangeEventImpl.cpp:
(WebCore::IDBClient::IDBVersionChangeEvent::newVersion):
- Modules/indexeddb/client/IDBVersionChangeEventImpl.h:
- Modules/indexeddb/legacy/LegacyVersionChangeEvent.cpp:
(WebCore::LegacyVersionChangeEvent::newVersion):
- Modules/indexeddb/legacy/LegacyVersionChangeEvent.h:
LayoutTests:
- storage/indexeddb/modern/deletedatabase-1-expected.txt:
- storage/indexeddb/modern/deletedatabase-2-expected.txt:
- 2:10 PM Changeset in webkit [192697] by
-
- 96 edits in trunk
Remove NETWORK_PROCESS compile flag
https://bugs.webkit.org/show_bug.cgi?id=151512
Reviewed by Tim Horton.
.:
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/WebKit2:
- CMakeLists.txt:
- NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
(NetworkProcessMain):
- NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(NetworkServiceInitializer):
- NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::filesInBlob):
- NetworkProcess/FileAPI/NetworkBlobRegistry.h:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::blobSize):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkLoad.cpp:
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkLoadClient.h:
- NetworkProcess/NetworkLoadParameters.cpp:
(WebKit::NetworkLoadParameters::NetworkLoadParameters):
- NetworkProcess/NetworkLoadParameters.h:
- NetworkProcess/NetworkProcess.cpp:
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkResourceLoader.cpp:
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/NetworkResourceLoader.messages.in:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::clearDiskCache):
- NetworkProcess/efl/NetworkProcessMainEfl.cpp:
(WebKit::NetworkProcessMainUnix):
- NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
(WebKit::NetworkProcessMainUnix):
- NetworkProcess/ios/NetworkProcessIOS.mm:
- NetworkProcess/mac/NetworkLoadMac.mm:
- NetworkProcess/mac/NetworkProcessMac.mm:
- NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync):
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformTerminate):
- NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
(WebKit::RemoteNetworkingContext::storageSession):
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
- Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
(WebKit::CustomProtocolManager::initialize):
(WebKit::CustomProtocolManager::addCustomProtocol):
- Shared/Network/CustomProtocols/CustomProtocolManager.h:
- Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
(WebKit::CustomProtocolManager::supplementName):
(WebKit::CustomProtocolManager::initialize):
(WebKit::CustomProtocolManager::registerScheme):
- Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::decode):
- Shared/Network/NetworkProcessCreationParameters.h:
- Shared/Network/NetworkProcessSupplement.h:
(WebKit::NetworkProcessSupplement::initialize):
- Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::decode):
- Shared/Network/NetworkResourceLoadParameters.h:
- Shared/ProcessExecutablePath.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- Shared/efl/ProcessExecutablePathEfl.cpp:
(WebKit::executablePathOfPluginProcess):
(WebKit::executablePathOfNetworkProcess):
(WebKit::executablePathOfDatabaseProcess):
- Shared/gtk/ProcessExecutablePathGtk.cpp:
(WebKit::executablePathOfPluginProcess):
(WebKit::executablePathOfNetworkProcess):
(WebKit::executablePathOfDatabaseProcess):
- Shared/mac/CookieStorageShim.h:
- Shared/mac/CookieStorageShim.mm:
(-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
- Shared/mac/CookieStorageShimLibrary.cpp:
- Shared/mac/CookieStorageShimLibrary.h:
- UIProcess/API/APISession.cpp:
(API::Session::~Session):
- UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextGetNetworkProcessIdentifier):
- UIProcess/API/efl/ewk_context.cpp:
(ewk_context_process_model_set):
(ewk_context_process_model_get):
(ewk_context_tls_error_policy_get):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::updateProcessSuppressionState):
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::platformInvalidateContext):
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::cancel):
- UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::processTypeAsString):
(WebKit::ProcessLauncher::getProcessTypeFromString):
- UIProcess/Launcher/ProcessLauncher.h:
- UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::computeProcessShimPath):
(WebKit::serviceName):
(WebKit::shouldLeakBoost):
(WebKit::createProcess):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::NetworkProcessProxy::platformGetLaunchOptions):
- UIProcess/Network/soup/NetworkProcessProxySoup.cpp:
(WebKit::NetworkProcessProxy::platformGetLaunchOptions):
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setSessionID):
(WebKit::WebPageProxy::initializeWebPage):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::~WebProcessPool):
(WebKit::WebProcessPool::initializeClient):
(WebKit::WebProcessPool::networkingProcessConnection):
(WebKit::WebProcessPool::languageChanged):
(WebKit::WebProcessPool::setUsesNetworkProcess):
(WebKit::WebProcessPool::usesNetworkProcess):
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::getNetworkProcessConnection):
(WebKit::WebProcessPool::ensureDatabaseProcess):
(WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::download):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::setAdditionalPluginsDirectory):
(WebKit::WebProcessPool::networkProcessIdentifier):
(WebKit::WebProcessPool::setAlwaysUsesComplexTextCodePath):
(WebKit::WebProcessPool::setCanHandleHTTPSServerTrustEvaluation):
(WebKit::WebProcessPool::registerURLSchemeAsLocal):
(WebKit::WebProcessPool::setCacheModel):
(WebKit::WebProcessPool::setDefaultRequestTimeoutInterval):
(WebKit::WebProcessPool::createDownloadProxy):
(WebKit::WebProcessPool::useTestingNetworkSession):
(WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost):
(WebKit::WebProcessPool::requestNetworkingStatistics):
(WebKit::WebProcessPool::handleMessage):
- UIProcess/WebProcessPool.h:
(WebKit::WebProcessPool::sendToNetworkingProcess):
(WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPluginProcessConnection):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::getDatabaseProcessConnection):
(WebKit::WebProcessProxy::createDownloadProxy):
(WebKit::WebProcessProxy::didCancelProcessSuspension):
(WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState):
(WebKit::WebProcessProxy::didSetAssertionState):
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::throttler):
- UIProcess/WebProcessProxy.messages.in:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::cloneSessionData):
- UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::initInspectorServer):
(WebKit::WebProcessPool::setIgnoreTLSErrors):
- UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- WebKit2Prefix.h:
- WebProcess/FileAPI/BlobRegistryProxy.cpp:
(WebKit::BlobRegistryProxy::blobSize):
- WebProcess/FileAPI/BlobRegistryProxy.h:
- WebProcess/Network/NetworkProcessConnection.cpp:
- WebProcess/Network/NetworkProcessConnection.h:
- WebProcess/Network/NetworkProcessConnection.messages.in:
- WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::networkProcessCrashed):
- WebProcess/Network/WebResourceLoadScheduler.h:
- WebProcess/Network/WebResourceLoader.cpp:
- WebProcess/Network/WebResourceLoader.h:
- WebProcess/Network/WebResourceLoader.messages.in:
- WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::initializeBrowserFuncs):
(WebKit::netscapeBrowserFuncs):
- WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::registerRedirect):
(WebKit::NetscapePlugin::urlRedirectResponse):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):
(WebKit::WebPlatformStrategies::resourceLoadScheduler):
(WebKit::WebPlatformStrategies::createBlobRegistry):
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensureNetworkProcessConnection):
(WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
(WebKit::WebProcess::usesNetworkProcess):
(WebKit::WebProcess::networkConnection):
(WebKit::WebProcess::webResourceLoadScheduler):
(WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
(WebKit::WebProcess::prefetchDNS):
- WebProcess/WebProcess.h:
- config.h:
- 2:07 PM Changeset in webkit [192696] by
-
- 9 edits in trunk/Source/JavaScriptCore
[JSC] Add Air lowering to BitNot() for Xor(value, -1)
https://bugs.webkit.org/show_bug.cgi?id=151474
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-20
Reviewed by Filip Pizlo.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::not32):
- assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::not64):
- assembler/X86Assembler.h:
(JSC::X86Assembler::notq_r):
(JSC::X86Assembler::notq_m):
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::createGenericCompare):
(JSC::B3::Air::LowerToAir::lower):
- b3/B3ReduceStrength.cpp:
- b3/air/AirOpcode.opcodes:
- b3/testb3.cpp:
(JSC::B3::testNegValueSubOne):
(JSC::B3::testNegValueSubOne32):
(JSC::B3::testBitNotArg):
(JSC::B3::testBitNotImm):
(JSC::B3::testBitNotMem):
(JSC::B3::testBitNotArg32):
(JSC::B3::testBitNotImm32):
(JSC::B3::testBitNotMem32):
(JSC::B3::testBitNotOnBooleanAndBranch32):
(JSC::B3::int64Operands):
(JSC::B3::int32Operands):
(JSC::B3::run):
- ftl/FTLB3Output.h:
(JSC::FTL::Output::bitNot):
- 1:19 PM Changeset in webkit [192695] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
Super use should be recorded in per-function scope
https://bugs.webkit.org/show_bug.cgi?id=151500
Reviewed by Geoffrey Garen.
"super" use is prohibited under the non-constructor / non-class-method-related functions.
This "super" use should be recorded in per-function scope to check its incorrect use after
parsing a function.
Currently, we accidentally record it to a lexical current scope. So when using "super" inside
a block scope, our "super" use guard miss it.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseMemberExpression):
- parser/Parser.h:
(JSC::Parser::currentVariableScope):
(JSC::Parser::currentFunctionScope):
(JSC::Parser::declareVariable):
- tests/stress/super-in-lexical-scope.js: Added.
(testSyntax):
(testSyntaxError):
(testSyntaxError.test):
- 1:14 PM Changeset in webkit [192694] by
-
- 4 edits in trunk/Source/WebCore
Addressing missed review feedback for:
Modern IDB: Make in-memory ObjectStore cursors work.
https://bugs.webkit.org/show_bug.cgi?id=151196
Reviewed by Darin Adler.
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::maybeOpenCursor):
- Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:
(WebCore::IDBServer::MemoryObjectStoreCursor::create): Deleted.
- Modules/indexeddb/server/MemoryObjectStoreCursor.h:
- 12:45 PM Changeset in webkit [192693] by
-
- 13 edits2 adds in trunk
Caching of properties on objects that have named property getters is sometimes incorrect
https://bugs.webkit.org/show_bug.cgi?id=151453
<rdar://problem/23049343>
Reviewed by Gavin Barraclough.
Source/JavaScriptCore:
Add new GetOwnPropertySlotIsImpureForPropertyAbsence TypeInfo flag to be
used by objects that have a non-'OverrideBuiltins' named property getter.
This flag prevents caching of properties that are missing as a named
property with this name may later become available.
Objects with an 'OverrideBuiltins' named property getter will keep using
the GetOwnPropertySlotIsImpure TypeInfo flag, which prevents all property
caching since named properties can override own properties or properties
on the prototype.
- bytecode/ComplexGetStatus.cpp:
(JSC::ComplexGetStatus::computeFor):
- bytecode/PropertyCondition.cpp:
(JSC::PropertyCondition::isStillValid):
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
(JSC::tryRepatchIn):
- jsc.cpp:
- runtime/JSTypeInfo.h:
(JSC::TypeInfo::getOwnPropertySlotIsImpure):
(JSC::TypeInfo::getOwnPropertySlotIsImpureForPropertyAbsence):
(JSC::TypeInfo::prohibitsPropertyCaching): Deleted.
- runtime/Structure.h:
Source/WebCore:
In r188590, we dropped the JSC::GetOwnPropertySlotIsImpure TypeInfo flag for
interfaces that have a non-'OverrideBuiltins' named property getter in order
to allow caching of properties returns by GetOwnPropertySlot(). We assumed
this was safe as it was no longer possible for named properties to override
own properties (or properties on the prototype).
However, there is an issue when we cache the non-existence of a property.
Even though at one point the property did not exist, a named property with
this name may later become available. In such case, caching would cause us
to wrongly report a property as missing.
To address the problem, this patch introduces a new
GetOwnPropertySlotIsImpureForPropertyAbsence TypeInfo flag and uses it for
interfaces that have a non-'OverrideBuiltins' named property getter. This
will cause us to not cache the fact that a property is missing on such
objects, while maintaining the performance win from r188590 in the common
case.
Test: fast/dom/NamedNodeMap-named-getter-caching.html
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
- bindings/scripts/test/JS/JSTestEventTarget.h:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
LayoutTests:
Add layout test to make sure caching does not cause NamedNodeMap's
named property getter to sometimes wrongly report a property as
missing.
- fast/dom/NamedNodeMap-named-getter-caching-expected.txt: Added.
- fast/dom/NamedNodeMap-named-getter-caching.html: Added.
- 12:40 PM Changeset in webkit [192692] by
-
- 4 edits in trunk/Websites/perf.webkit.org
Remove chartPointRadius from interactive chart component
https://bugs.webkit.org/show_bug.cgi?id=151480
Reviewed by Darin Adler.
Replaced the parameter by CSS rules.
- public/v2/chart-pane.css:
(.chart .dot):
(.chart .dot.foreground):
(.chart .highlight):
(.chart .extent):
- public/v2/index.html:
- public/v2/interactive-chart.js:
(App.InteractiveChartComponent.Ember.Component.extend._constructGraphIfPossible):
(App.InteractiveChartComponent.Ember.Component.extend._highlightedItemsChanged):
- 12:39 PM Changeset in webkit [192691] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Perf dashboard's runs API uses more than 128MB of memory
https://bugs.webkit.org/show_bug.cgi?id=151478
Reviewed by Andreas Kling.
Don't fetch all query results at once to avoid using twice as much memory as needed.
Use iterative API to format each result at a time.
This change is also a 5% runtime performance gain.
- public/api/runs.php:
(RunsGenerator::construct): Takes a Database instance instead of a list of configurations. The latter is
no longer needed as we pass in each configuration type explicitly to fetch_runs.
(RunsGenerator::fetch_runs): Renamed from add_runs since it now executes the database query via execute_query.
Also moved the logic to compute the last modified time here.
(RunsGenerator::execute_query): Moved from fetch_runs_for_config. Use Database::query instead of query_and_fetch_all.
(RunsGeneratorForTestGroup):
(RunsGeneratorForTestGroup::construct):
(RunsGeneratorForTestGroup::execute_query): Moved from fetch_runs_for_config_and_test_group.
- public/include/db.php:
(generate_data_file): Lock the file to avoid corruption.
- 12:35 PM Changeset in webkit [192690] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Perf dashboard always fetches charts JSON twice
https://bugs.webkit.org/show_bug.cgi?id=151483
Reviewed by Andreas Kling.
Only re-generate "runs" JSON via /api/runs/ when the cache doesn't exist in /data/ or the cached JSON is
obsolete (shouldRefetch is set true) or corrupt (the second closure).
- public/v2/app.js:
(App.Pane._fetch):
- 12:05 PM Changeset in webkit [192689] by
-
- 5 edits in trunk/Source
Back-buffer to front-buffer copy fails for some buffer formats
https://bugs.webkit.org/show_bug.cgi?id=151475
rdar://problem/23617899
Reviewed by Tim Horton.
Source/WebCore:
Fix some fo the bitsPerComponent/bitsPerPixel options in IOSurface::ensurePlatformContext()
for RGB10 buffers. Fix IOSurface::format() to return the new formats.
Implement IOSurface::copyToSurface(), which does a synchronous copy between
surfaces.
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm:
(IOSurface::create):
(IOSurface::ensurePlatformContext):
(IOSurface::format):
(IOSurface::copyToSurface):
Source/WebKit2:
When displaying RemoteLayerBackingStore, we copy the back buffer to the front
buffer before painting the updated regions. For buffers using Format::RGB10A8,
the CGImage-based copy fails, so in this case, use IOSurface::copyToSurface().
Reorganized RemoteLayerBackingStore::drawInContext() to make this a bit easier
to understand. First, we either copy the entire surface over, or paint the backImage.
Then we clip to the dirty rects, and clear them, then paint the layer contents.
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):
- 11:20 AM Changeset in webkit [192688] by
-
- 3 edits2 adds in trunk
Simple line layout: Add text-indent support.
https://bugs.webkit.org/show_bug.cgi?id=151472
Reviewed by Simon Fraser.
This enables us to use simple line layout on text-indent content.
Source/WebCore:
Test: fast/text/simple-line-text-indent.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::updateLineConstrains):
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::canUseForStyle): Deleted.
LayoutTests:
- fast/text/simple-line-text-indent-expected.html: Added.
- fast/text/simple-line-text-indent.html: Added.
- 10:55 AM Changeset in webkit [192687] by
-
- 15 edits4 adds in trunk
Modern IDB: IDBFactory.deleteDatabase() support.
https://bugs.webkit.org/show_bug.cgi?id=151456
Reviewed by Alex Christensen.
Source/WebCore:
Tests: storage/indexeddb/modern/deletedatabase-1.html
storage/indexeddb/modern/deletedatabase-2.html
- Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::hasPendingActivity):
(WebCore::IDBClient::IDBDatabase::didCommitOrAbortTransaction):
- Modules/indexeddb/client/IDBDatabaseImpl.h:
- Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::onDeleteDatabaseSuccess):
(WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):
- Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
- Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::hasPendingActivity): Deleted.
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::deleteDatabase):
(WebCore::IDBServer::IDBServer::deleteUniqueIDBDatabase):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::hasAnyPendingCallbacks):
(WebCore::IDBServer::UniqueIDBDatabase::maybeDeleteDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::handleDelete):
(WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChangeForUpgrade):
(WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChange):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::enqueueTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::invokeDeleteOrRunTransactionTimer):
(WebCore::IDBServer::UniqueIDBDatabase::deleteOrRunTransactionsTimerFired):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformActivateTransactionInBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::inProgressTransactionCompleted):
(WebCore::IDBServer::UniqueIDBDatabase::invokeTransactionScheduler): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::transactionSchedulingTimerFired): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
(WebCore::IDBServer::UniqueIDBDatabase::identifier):
(WebCore::IDBServer::UniqueIDBDatabase::deletePending):
- Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::deleteDatabaseSuccess):
- Modules/indexeddb/shared/IDBResultData.h:
LayoutTests:
- storage/indexeddb/modern/deletedatabase-1-expected.txt: Added.
- storage/indexeddb/modern/deletedatabase-1.html: Added.
- storage/indexeddb/modern/deletedatabase-2-expected.txt: Added.
- storage/indexeddb/modern/deletedatabase-2.html: Added.
- storage/indexeddb/modern/deletedatabase-request-event-expected.txt:
- storage/indexeddb/modern/deletedatabase-request-event.html:
- 10:55 AM Changeset in webkit [192686] by
-
- 3 edits2 adds in trunk
Modern IDB: Get IDBRequest.readyState right.
https://bugs.webkit.org/show_bug.cgi?id=151484
Reviewed by Alex Christensen.
Source/WebCore:
Test: storage/indexeddb/modern/request-readystate.html
- Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::readyState):
LayoutTests:
- storage/indexeddb/modern/request-readystate-expected.txt: Added.
- storage/indexeddb/modern/request-readystate.html: Added.
- 7:17 AM Changeset in webkit [192685] by
-
- 2 edits in trunk/Tools
Unreviewed, fix installation of ninja-build after the previous commit
- gtk/install-dependencies:
- 7:01 AM Changeset in webkit [192684] by
-
- 3 edits in trunk/LayoutTests
Changing some imported/w3c/web-platform-tests/html/semantics expectations from Timeout/Failure to Pass
https://bugs.webkit.org/show_bug.cgi?id=151492
Unreviewed.
- TestExpectations: Removing timeout/failure expectations.
- platform/efl/TestExpectations: Removing no longer needed pass expectation.
- 6:41 AM Changeset in webkit [192683] by
-
- 2 edits in trunk/Tools
[GTK] install-dependencies should run installer exactly once
https://bugs.webkit.org/show_bug.cgi?id=151477
Reviewed by Carlos Garcia Campos.
- gtk/install-dependencies:
- 3:38 AM Changeset in webkit [192682] by
-
- 9 edits in trunk
[EFL] Enable FTL JIT by default on X86_64
https://bugs.webkit.org/show_bug.cgi?id=143822
Reviewed by Carlos Garcia Campos.
.:
- Source/cmake/OptionsEfl.cmake:
Tools:
- Scripts/build-jsc:
- Scripts/run-javascriptcore-tests:
- Scripts/webkitperl/FeatureList.pm:
- efl/jhbuild.modules:
- gtk/jhbuildrc:
- jhbuild/jhbuildrc_common.py:
(init):
- 1:33 AM Changeset in webkit [192681] by
-
- 2 edits in trunk/LayoutTests
Unskip mediastream tests after crash was fixed
<https://bugs.webkit.org/show_bug.cgi?id=151353>
- platform/mac/TestExpectations: Bug 151462 fixed the crash, so
unskip the tests again.
- 1:25 AM Changeset in webkit [192680] by
-
- 3 edits in trunk/Source/WebCore
Use HTTPHeaderName as much as possible in XMLHttpRequest
https://bugs.webkit.org/show_bug.cgi?id=151438
Reviewed by Darin Adler.
Removing XMLHttpRequest::setRequestHeaderInternal and XMLHttpRequest::getRequestHeader.
Using directly HTTPHeaderMap.add, HTTPHeaderMap.set and HTTPHeaderMap.get.
No change in behavior.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::setRequestHeader):
(WebCore::XMLHttpRequest::getAllResponseHeaders):
- xml/XMLHttpRequest.h:
- 1:06 AM Changeset in webkit [192679] by
-
- 2 edits in trunk/Source/WebCore
MediaStream: Fix mock video source crash
https://bugs.webkit.org/show_bug.cgi?id=151462
Reviewed by Alexey Proskuryakov.
No new tests, this fixes existing tests.
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::drawText): Declare the String used to intialize a
StringView explicitly so it outlives the StringView.
- 12:09 AM Changeset in webkit [192678] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r192460,r192677): Fix all the builds
- platform/spi/cocoa/QuartzCoreSPI.h: Check different.