⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Feb 6, 2016:

10:34 PM Changeset in webkit [196237] by Chris Dumez
  • 9 edits in trunk/LayoutTests

Unreviewed, update several layout tests for WK1 after r196227.

  • http/tests/security/cross-frame-access-enumeration-expected.txt:
  • http/tests/security/cross-frame-access-enumeration.html:
  • http/tests/security/cross-frame-access-get-expected.txt:
  • http/tests/security/cross-frame-access-get.html:
  • http/tests/security/cross-frame-access-history-get-expected.txt:
  • http/tests/security/cross-frame-access-history-get-override-expected.txt:
  • http/tests/security/cross-frame-access-history-get-override.html:
  • http/tests/security/cross-frame-access-history-get.html:
9:55 PM Changeset in webkit [196236] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION (r195432): Web Inspector: bottom right section of the styles sidebar is 1px taller than the console prompt
https://bugs.webkit.org/show_bug.cgi?id=153959
<rdar://problem/24541053>

Reviewed by Timothy Hatcher.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.css:

(.sidebar > .panel.details.css-style > .content ~ .options-container):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container)::
Revert the height to what it used to be prior r195432.

6:21 PM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
6:17 PM Changeset in webkit [196235] by Michael Catanzaro
  • 5 edits in trunk/LayoutTests

[GTK] Rebaseline some tests and update expectations after r196222

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/clip/outline-overflowClip-expected.txt:
  • platform/gtk/fast/repaint/layer-outline-expected.txt:
  • platform/gtk/fast/repaint/layer-outline-horizontal-expected.txt:
6:03 PM Changeset in webkit [196234] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit2

Call CFRelease() on SecRequirementRef when no longer needed
https://bugs.webkit.org/show_bug.cgi?id=153954
<rdar://problem/24540259>

Reviewed by Dan Bernstein.

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::initializeSandbox):

5:52 PM Changeset in webkit [196233] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

[GTK] imported/blink/compositing/squashing/abspos-under-abspos-overflow-scroll.html is flaky

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
5:51 PM Changeset in webkit [196232] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

FTL must store the call site index before runtime calls, even if it's the tail call slow path
https://bugs.webkit.org/show_bug.cgi?id=153955
rdar://problem/24290970

Reviewed by Saam Barati.

This is necessary because you could throw an exception in a host call on the tail call's slow
path. That'll route us to lookupExceptionHandler(), which unwinds starting with the call site
index of our frame. Bad things happen if it's not set. Prior to this patch it was possible
for the call site index field to be uninitialized, which meant that the throwing machinery
was making a wild guess about where we are.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileTailCall):

  • tests/stress/tail-call-host-call-throw.js: Added.
4:45 PM Changeset in webkit [196231] by jonlee@apple.com
  • 2 edits in trunk/PerformanceTests

Code clean up: Move Rotater function closer to Stage static methods.
The Rotater is used together with those methods; keep them close.

  • Animometer/tests/resources/main.js:
4:39 PM Changeset in webkit [196230] by jonlee@apple.com
  • 3 edits in trunk/PerformanceTests

Update the JS includes due to ResultsTable move.

  • Animometer/developer.html:
  • Animometer/index.html:
4:34 PM Changeset in webkit [196229] by jonlee@apple.com
  • 7 edits in trunk/PerformanceTests

Move createElement and createSVGElement to Utilities.

  • Animometer/resources/extensions.js:

(Utilities.createElement): Added.
(Utilities.createSVGElement): Added.
(DocumentExtension.createElement): Deleted.
(DocumentExtension.createSvgElement): Deleted.

  • Animometer/resources/debug-runner/animometer.js:
  • Animometer/resources/runner/animometer.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js:
4:27 PM Changeset in webkit [196228] by jonlee@apple.com
  • 10 edits in trunk/PerformanceTests

Add a convenience function for creating a class.

The pattern for creating a class is common enough to add as a Utilities
helper function. It also makes it easy to collapse class definitions when
editing.

  • Animometer/resources/debug-runner/animometer.js: Move ProgressBar definition,

since it is only used here.

  • Animometer/resources/runner/animometer.js: Move ResultsDashboard and

ResultsTable definition, since it is only used here.

  • Animometer/resources/extensions.js: Move Utilities definition to the top. Convert

Point, Insets, SimplePromise.
(ProgressBar): Moved to animometer.js.
(ResultsDashboard): Moved to animometer.js.
(ResultsTable): Moved to animometer.js.

  • Animometer/resources/runner/benchmark-runner.js: Convert BenchmarkRunnerState,

BenchmarkRunner.

  • Animometer/tests/resources/main.js: Convert Rotater, Stage, Animator, Benchmark.
  • Animometer/tests/resources/sampler.js: Convert Experiment, Sampler.

Convert test primitives.

  • Animometer/tests/master/resources/canvas-tests.js: Convert CanvasLineSegment,

CanvasArc, CanvasLinePoint.

  • Animometer/tests/simple/resources/simple-canvas-paths.js: Convert CanvasLineSegment,

CanvasLinePoint, CanvasQuadraticSegment, CanvasQuadraticPoint, CanvasBezierSegment,
CanvasBezierPoint, CanvasArcToSegment, CanvasArcToSegmentFill, CanvasArcSegment,
CanvasArcSegmentFill, CanvasRect, CanvasRectFill.

  • Animometer/tests/simple/resources/tiled-canvas-image.js: Convert CanvasImageTile.
4:18 PM Changeset in webkit [196227] by Chris Dumez
  • 18 edits
    2 deletes in trunk

Prevent cross-origin access to window.history
https://bugs.webkit.org/show_bug.cgi?id=153931

Reviewed by Darin Adler.

Source/WebCore:

Prevent cross-origin access to window.history to match the specification [1]
and the behavior of other browsers (tested Firefox and Chrome).

[1] https://html.spec.whatwg.org/multipage/browsers.html#security-window

No new tests, already covered by existing tests that
were updated in this patch.

  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):
(WebCore::JSHistory::state): Deleted.

  • page/DOMWindow.idl:
  • page/History.idl:

LayoutTests:

Update / rebaseline several layout tests now that cross-origin access to
window.history is prevented.

  • fast/frames/sandboxed-iframe-history-denied-expected.txt:
  • http/tests/history/cross-origin-replace-history-object-child-expected.txt:
  • http/tests/security/cross-frame-access-call-expected.txt:
  • http/tests/security/cross-frame-access-call.html:
  • http/tests/security/cross-frame-access-delete-expected.txt:
  • http/tests/security/cross-frame-access-delete.html:
  • http/tests/security/cross-frame-access-history-prototype-expected.txt:
  • http/tests/security/cross-frame-access-history-put.html: Removed.
  • http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
  • http/tests/security/cross-frame-access-object-getPrototypeOf.html:
  • http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
  • http/tests/security/cross-frame-access-object-setPrototypeOf.html:
  • http/tests/security/resources/cross-frame-iframe-for-history-put-test.html: Removed.
3:41 PM Changeset in webkit [196226] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

ScrollbarPainters needs to be deallocated on the main thread
https://bugs.webkit.org/show_bug.cgi?id=153932
-and corresponding-
rdar://problem/24015483

Reviewed by Dan Bernstein.

Darin pointed out that this was still race-y. There was still a race
condition between the destruction of the two local variables and the
destruction of the lambda on the main thread. This should fix that.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac):
(WebCore::ScrollingTreeFrameScrollingNodeMac::releaseReferencesToScrollbarPaintersOnTheMainThread):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):

3:36 PM Changeset in webkit [196225] by jonlee@apple.com
  • 5 edits in trunk/PerformanceTests

Minor improvements to debug harness.

  • Animometer/developer.html:
  • Animometer/resources/debug-runner/animometer.css:

(#suites): Put the complexity text boxes closer to the test names.
(#options):
(#rawFPS circle): Make the interval FPS appear as a separate data series, with a line.
(#intervalFPS path):
(#intervalFPS circle):

  • Animometer/resources/debug-runner/animometer.js:

(window.optionsManager.updateLocalStorageFromUI): Convert number inputs from text.
(window.suitesManager._onChangeTestCheckbox): Refactor to take a checkbox.
(window.suitesManager._createTestElement): Enhance such that typing into the complexity
input will automatically select that test for running.
(window.suitesManager.updateLocalStorageFromJSON): Make the harness work for private
browsing.

  • Animometer/resources/debug-runner/graph.js: Separate the intervalFPS data, and show

more accuracy in timestamps.

3:31 PM Changeset in webkit [196224] by jonlee@apple.com
  • 12 edits in trunk/PerformanceTests

Refactor helper methods for getting random values for a stage.

Instead of requiring a Stage instance, just attach it to the Stage object.

  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-particles.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js:
  • Animometer/tests/master/resources/canvas-tests.js:
  • Animometer/tests/master/resources/particles.js:
  • Animometer/tests/misc/resources/canvas-electrons.js:
  • Animometer/tests/misc/resources/canvas-stars.js:
  • Animometer/tests/misc/resources/compositing-transforms.js:
  • Animometer/tests/resources/main.js:
  • Animometer/tests/simple/resources/simple-canvas-paths.js:
3:18 PM Changeset in webkit [196223] by Darin Adler
  • 57 edits in trunk/Source

Finish auditing call sites of upper() and lower(), eliminate many, and rename the functions
https://bugs.webkit.org/show_bug.cgi?id=153905

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • runtime/IntlObject.cpp:

(JSC::canonicalLangTag): Use converToASCIIUppercase on the language tag.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncToLowerCase): Tweak style and update for name change.
(JSC::stringProtoFuncToUpperCase): Ditto.

Source/WebCore:

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::isTypeSupported): Use convertToASCIILowercase on MIME type.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::selectText): Use new names for lower and upper. Also
tweaked style a tiny bit and used u_toupper rather than converting an entire
string to uppercase.

  • dom/Document.cpp:

(WebCore::Document::addImageElementByCaseFoldedUsemap): Renamed to reflect the use
of case folding rather than lowercasing.
(WebCore::Document::removeImageElementByCaseFoldedUsemap): Ditto.
(WebCore::Document::imageElementByCaseFoldedUsemap): Ditto.

  • dom/Document.h: Ditto.
  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::getElementByCaseFoldedMapName): Ditto.
(WebCore::DocumentOrderedMap::getElementByCaseFoldedUsemap): Ditto.

  • dom/DocumentOrderedMap.h: Ditto.
  • dom/TreeScope.cpp:

(WebCore::TreeScope::getImageMap): Removed unneeded special case for null string.
Simplified logic for cases where the URL does not have a "#" character in it.
Use case folding instead of lowercase.

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_processText): Removed unneded special case for the empty string.
Use makCapitalized instead of Cocoa function for "capitalize". Use upper and lower
functions by their new names.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute): Use case folding instead of
lowerasing for the usemap attribute.
(WebCore::HTMLImageElement::insertedInto): Ditto.
(WebCore::HTMLImageElement::removedFrom): Ditto.
(WebCore::HTMLImageElement::matchesCaseFoldedUsemap): Ditto.

  • html/HTMLImageElement.h: Rename since usemap is case folded now, not lowercased.
  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::imageElement): Use case folding instead of lowercasing
for usemap.
(WebCore::HTMLMapElement::parseAttribute): Ditto.

  • platform/Language.cpp:

(WebCore::canonicalLanguageIdentifier): Use convertToASCIILowercase for language code.
(WebCore::indexOfBestMatchingLanguageInList): Ditto.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use new name for the upper function.

  • platform/network/HTTPParsers.cpp:

(WebCore::parseContentTypeOptionsHeader): Use equalLettersIgnoringASCIICase instead
of lowercasing to check for a specific header value.

  • platform/network/MIMEHeader.cpp:

(WebCore::retrieveKeyValuePairs): Use convertToASCIILowercase for MIME header name.
(WebCore::MIMEHeader::parseContentTransferEncoding): Use equalLettersIgnoringASCIICase
instead of lowercasing.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::allowsAnyHTTPSCertificateHosts): Make this hash ASCII case-insensitive.
(WebCore::clientCertificates): Ditto.
(WebCore::ResourceHandle::createCFURLConnection): Remove call to lower since the
set is now ASCII case-insensitive.
(WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate): Ditto.
(WebCore::ResourceHandle::setClientCertificate): Ditto.

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::getNetscapeCookieFormat): Use equalLettersIgnoringASCIICase instead of
lowercasing.

  • platform/network/curl/MultipartHandle.cpp:

(WebCore::MultipartHandle::didReceiveResponse): Use convertToASCIILowercase to
make a MIME type lowercase.

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate): Removed unneeded
conversion to lowercase now that the set is ASCII case-insensitive.
(WebCore::ResourceHandle::setClientCertificate): Removed code that populates a map
that is then never used for anything.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::headerCallback): Use convertToASCIILowercase for MIME type.

  • platform/network/curl/SSLHandle.cpp: Made hash maps keyed by host names

ASCII case-insensitive.
(WebCore::addAllowedClientCertificate): Removed lowercasing since the map itself
is now ASCII case insensitve.
(WebCore::setSSLClientCertificate): Ditto. Also use auto for iterator type so we
don't have to write out the map type.
(WebCore::sslIgnoreHTTPSCertificate): Ditto.
(WebCore::certVerifyCallback): Ditto.

  • platform/network/soup/ResourceHandleSoup.cpp: Made hash maps keyed by host names

ASCII case-insensitive.
(WebCore::allowsAnyHTTPSCertificateHosts): Ditto.
(WebCore::handleUnignoredTLSErrors): Ditto.
(WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate): Ditto.
(WebCore::ResourceHandle::setClientCertificate): Ditto.

  • platform/text/LocaleToScriptMappingDefault.cpp: Made hash maps keyed by script

names ASCII case-insensitive. USE WTF_ARRAY_LENGTH as appropriate.
(WebCore::scriptNameToCode): Use modern style to initialize the map. Removed
unnecessary lowercasing of the script name before looking at the map.
(WebCore::localeToScriptCodeForFontSelection): Ditto.

  • platform/text/win/LocaleWin.cpp:

(WebCore::convertLocaleNameToLCID): Made map ASCII case-insensitive and removed
unneeded lowercasing.

  • platform/win/PasteboardWin.cpp:

(WebCore::clipboardTypeFromMIMEType): Use equalLettersIgnoringASCIICase instead
of lowercasing.

  • rendering/RenderText.cpp:

(WebCore::applyTextTransform): Use new names for the upper and lower functions.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::responseIsXML): Remove unneeded lowercasing, since
DOMImplementation now has ASCII case-insensitive handling of MIME types.

Source/WebKit/mac:

  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage getPluginInfoFromPLists]): Use modern for loops.
(-[WebBasePluginPackage supportsExtension:]): Use convertToASCIILowercase for extension assert.
Also use modern for loop.
(-[WebBasePluginPackage supportsMIMEType:]): Ditto.
(-[WebBasePluginPackage MIMETypeForExtension:]): Ditto.

Source/WebKit/win:

  • Plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::pluginForMIMEType): Use ASCII case-insensitive map rather
than lowercasing the MIME type.
(WebCore::PluginDatabase::setPreferredPluginForMIMEType): Ditto.

  • Plugins/PluginDatabase.h: Make m_preferredPlugins use an ASCII case-insensitive hash.
  • Plugins/PluginPackage.h: Use ASCII case-insensitive hash for maps keyed by MIME type.
  • Plugins/PluginPackageWin.cpp:

(WebCore::PluginPackage::fetchInfo): Use convertToASCIILowercase to lowercase a MIME type.

Source/WebKit2:

  • NetworkProcess/CustomProtocols/CustomProtocolManager.h: Use ASCII case-insensitive hash

for set of registered schemes.

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::getPluginInfoFromPropertyLists): Use convertToASCIILowercase for MIME type and
for file extensions.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::parseMIMEDescription): Use convertToASCIILowercase for
MIME description.

  • UIProcess/API/efl/ewk_context.cpp:

(ewk_context_preferred_languages_set): Use convertToASCIILowercase for language.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_set_preferred_languages): Use convertToASCIILowercase for language.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::findPluginForExtension): Use Vector::contains instead of
writing it out using std::find.
(WebKit::pathExtension): Lowercase the result with convertToASCIILowercase instead of
leaving that to the caller.
(WebKit::PluginInfoStore::findPlugin): Removed call to lower since pathExtension
handles that now.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::findPlugin): Use convertToASCIILowercase for MIME type.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::globalURLSchemesWithCustomProtocolHandlers): Use
an ASCII case-insensitive hash.
(WebKit::WebProcessPool::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
Remove lowercasing, since the hash is now ASCII case-insensitive.
(WebKit::WebProcessPool::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
Ditto.

  • UIProcess/WebProcessPool.h: Use an ASCII case-insensitive hash.
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::initialize): Use convertToASCIILowercase on parameter names
and values.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::pluginSupportsExtension): Use convertToASCIILowercase for extension assertion.
Also use a modern for loop.
(WebKit::WebFrameLoaderClient::objectContentType): Make the checks for empty MIME types
a little less redundant. Reordered logic to avoid checking the list of supported MIME
types extra times, and to eliminate the need for a boolean. Use convertToASCIILowercase
on the extension.

Source/WTF:

  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::lower): Deleted.

  • wtf/text/AtomicString.h: Deleted the lower function.
  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::convertToLowercaseWithoutLocale): Renamed from lower.
(WTF::StringImpl::convertToUppercaseWithoutLocale): Renamed from upper.
(WTF::StringImpl::convertToLowercaseWithLocale): Renamed from lower.
(WTF::StringImpl::convertToUppercaseWithLocale): Renamed from upper.
(WTF::StringImpl::foldCase): Added fast cases for ASCII since this is
now used in some more-performance-critical code.

  • wtf/text/StringImpl.h: Renamed lower and upper.
  • wtf/text/WTFString.cpp:

(WTF::String::convertToLowercaseWithoutLocale): Renamed from lower.
(WTF::String::convertToUppercaseWithoutLocale): Renamed from upper.
(WTF::String::convertToLowercaseWithLocale): Renamed from lower.
(WTF::String::convertToUppercaseWithLocale): Renamed from upper.

  • wtf/text/WTFString.h: Renamed lower and upper. Removed unneeded comment.
3:07 PM Changeset in webkit [196222] by Alan Bujtas
  • 46 edits
    4 adds in trunk

Outline should contribute to visual overflow.
https://bugs.webkit.org/show_bug.cgi?id=153299

This patch eliminates the special outline handling (RenderView::setMaximalOutlineSize).
Now that outline is part of visual overflow, we don't have to inflate the layers to accomodate
outline borders.
This patch fixes several focusring related repaint issues. However when both the outline: auto
and the descendant renderer are composited, we still don't paint properly in certain cases. -not a regression.
(Also when parent renderer has overflow: hidden repaint does not take outline into account. -regression.)
It changes column behavior (see TestExpectations) since outline behaves now like any other visual overflow properties.

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/repaint/focus-ring-repaint.html

fast/repaint/focus-ring-repaint-with-negative-offset.html

  • css/html.css: resetting to old behavior.

(:focus):
(input:focus, textarea:focus, isindex:focus, keygen:focus, select:focus):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::addOutlineVisualOverflow):
(WebCore::InlineFlowBox::computeOverflow):
(WebCore::InlineFlowBox::paint): Deleted.

  • rendering/InlineFlowBox.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeOverflow):
(WebCore::RenderBlock::outlineStyleForRepaint):
(WebCore::RenderBlock::paint): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlock): Deleted.
(WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren): Deleted.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::addVisualEffectOverflow):
(WebCore::RenderBox::applyVisualEffectOverflow):
(WebCore::RenderBox::clippedOverflowRectForRepaint): Deleted.

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderDetailsMarker.cpp:

(WebCore::RenderDetailsMarker::paint): Deleted.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::insertChildInternal):
(WebCore::RenderElement::styleDidChange):
(WebCore::RenderElement::repaintAfterLayoutIfNeeded):
(WebCore::RenderElement::issueRepaintForOutlineAuto):
(WebCore::RenderElement::updateOutlineAutoAncestor):
(WebCore::RenderElement::computeMaxOutlineSize): Deleted.
(WebCore::RenderElement::styleWillChange): Deleted.

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasContinuation):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutlineForLine): Deleted.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::anyLineIntersectsRect):
(WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
(WebCore::RenderLineBoxList::paint):
(WebCore::isOutlinePhase): Deleted.

  • rendering/RenderLineBoxList.h:
  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::computePreferredLogicalWidths):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint): Deleted.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded): The renderer with outline: auto is responsible for
painting focusring around the descendants. If we issued repaint only on the descendant when it changes,
the focusring would not refresh properly. We have to find the ancestor with outline: auto, inflate the repaint rect and
issue the repaint on the ancestor if we crossed repaint container.

(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::adjustRectForOutlineAndShadow):
(WebCore::RenderObject::setHasOutlineAutoAncestor):
(WebCore::RenderObject::adjustRectWithMaximumOutline): Deleted.

  • rendering/RenderObject.h: We mark the descendants of outline: auto so that

when a child renderer changes we can propagate the repaint to the ancestor with outline.

(WebCore::RenderObject::hasOutlineAutoAncestor):
(WebCore::RenderObject::RenderObjectRareData::RenderObjectRareData):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::overflowRectForFlowThreadPortion):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint): Deleted.
(WebCore::RenderReplaced::clippedOverflowRectForRepaint): Deleted.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::paint): Deleted.

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::clippedOverflowRectForRepaint): Deleted.
(WebCore::RenderTableCell::paintCollapsedBorders): Deleted.

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):
(WebCore::RenderTableRow::clippedOverflowRectForRepaint): Deleted.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::computeOverflowFromCells): Deleted.
(WebCore::RenderTableSection::paintObject): Deleted.

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::platformFocusRingWidth):

  • rendering/RenderView.cpp:

(WebCore::RenderView::setMaximalOutlineSize): Deleted.

  • rendering/RenderView.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeAffectsVisualOverflow):
(WebCore::RenderStyle::outlineWidth):

  • rendering/style/RenderStyle.h:

LayoutTests:

  • fast/repaint/focus-ring-repaint-expected.txt: Added.
  • fast/repaint/focus-ring-repaint.html: Added.
  • fast/repaint/focus-ring-repaint-expected-with-negative-offset.txt: Added.
  • fast/repaint/focus-ring-repaint-with-negative-offset.html: Added.
  • TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/compositing/geometry/ancestor-overflow-change-expected.txt:
  • platform/mac/compositing/geometry/composited-in-columns-expected.txt:
  • platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:
  • platform/mac/compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
  • platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
  • platform/mac/fast/clip/outline-overflowClip-expected.txt:
  • platform/mac/fast/inline/continuation-outlines-with-layers-expected.txt:
  • platform/mac/fast/repaint/4776765-expected.txt: Added.
  • platform/mac/fast/repaint/focus-ring-expected.txt: Added.
  • platform/mac/fast/repaint/layer-outline-expected.txt:
  • platform/mac/fast/repaint/layer-outline-horizontal-expected.txt:
  • platform/mac/svg/custom/focus-ring-expected.txt:
10:14 AM Changeset in webkit [196221] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

[GTK] Various tests are flaky

More unreviewed test gardening.

  • platform/gtk/TestExpectations:
10:13 AM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
10:12 AM Changeset in webkit [196220] by Chris Dumez
  • 7 edits
    2 adds in trunk

Object.getOwnPropertyDescriptor() does not work on sub-frame's window
https://bugs.webkit.org/show_bug.cgi?id=153925

Reviewed by Darin Adler.

Source/JavaScriptCore:

Calling Object.getOwnPropertyDescriptor() on a sub-frame's window was
returning undefined for that window's own properties. The reason was
that the check getOwnPropertySlot() is using to make sure the
PropertySlot is not for a property coming from the prototype was wrong.

The check was checking that 'this != slotBase' which works fine unless
this is a JSProxy (e.g. JSDOMWindowShell). To handle proxies, the code
was also checking that 'slotBase.toThis() != this', attempting to
get the slotBase/Window's proxy. However, due to the implementation of
toThis(), we were getting the lexical global object's proxy instead of
slotBase's proxy. To avoid this issue, the new code explicitly checks
if 'this' is a JSProxy and makes sure 'JSProxy::target() != slotBase',
instead of using toThis().

  • runtime/JSObject.cpp:

(JSC::JSObject::getOwnPropertyDescriptor):

LayoutTests:

  • fast/dom/Window/getOwnPropertyDescriptor-other-window-expected.txt: Added.
  • fast/dom/Window/getOwnPropertyDescriptor-other-window.html: Added.

Add test case to test calling Object.getOwnPropertyDescriptor() on a
sub-frame's window.

  • http/tests/security/cross-origin-window-property-access-expected.txt:
  • http/tests/security/cross-origin-window-property-access.html:
  • Update test use use an iframe instead of opening a Window for convenience.
  • Use an actual cross-origin URL. The previous URL was same-origin and therefore the test would have failed if window.location was a proper getter/setter instead of a 'value' descriptor.
  • Add more tests to cover other Window properties (such as 'name') which are actual getter / setters to make sure using the current window's getter on a cross origin window does not bypass the security origin checks.
  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
  • Drop checks for properties for which cross-origin access via

getOwnPropertyDescriptor() now works. They used to not work because of the bug
this patch fixes, and not due to security checks.

  • Most of these properties are part of the properties that the specification

states can be accessed cross-origin:

https://html.spec.whatwg.org/multipage/browsers.html#security-window

  • ALL of these properties could already be accessed cross origin via regular

property getters (e.g. crossOriginWindow.blur) in Safari 9 so there should not
be any reason for getOwnPropertyDescriptor() not to work.

  • I have also verified that Firefox allows cross-origin access for all these properties (via regular getters or getOwnPropertyDescriptor), except for the 'history' property. We may want to align our behavior here and prevent cross-origin access to 'window.history' but this is not a regression in this patch. You could already access crossOriginWindow.history in Safari 9.
9:33 AM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
9:26 AM Changeset in webkit [196219] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

[GTK] Various tests are flaky

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
9:26 AM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
9:01 AM Changeset in webkit [196218] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

[GTK] Gardening for unexpected passes

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
9:00 AM Changeset in webkit [196217] by akling@apple.com
  • 7 edits in trunk/Source

[iOS] Throw away linked code when navigating to a new page.
<https://webkit.org/b/153851>

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Add a VM API for throwing away linked code only.

  • runtime/VM.cpp:

(JSC::VM::deleteAllLinkedCode):

  • runtime/VM.h:

Source/WebCore:

When navigating to a new page, tell JSC to throw out any linked code it has lying around.
Linked code is tied to a specific global object, and as we're creating a new one for the
new page, none of it is useful to us here.

In the event that the user navigates back, the cost of relinking some code will be far
lower than the memory cost of keeping all of it around.

This landed previously but was rolled out due to a Speedometer regression. I've made one
minor but important change here: only throw away code if we're navigating away from an
existing history item. Or in other words, don't throw away code for "force peeks" or any
other navigations that are not traditional top-level main frame navigations.

  • bindings/js/GCController.cpp:

(WebCore::GCController::deleteAllLinkedCode):

  • bindings/js/GCController.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):

7:55 AM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
Move myself to Saturday because Friday gardening sucks (diff)
5:44 AM Changeset in webkit [196216] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Added implementations of AXObjectCache methods for !HAVE(ACCESSIBILITY).
https://bugs.webkit.org/show_bug.cgi?id=153924

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-02-06
Reviewed by Andreas Kling.

No new tests needed.

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::ariaModalNode): Added stub implementation.
(WebCore::AXObjectCache::postLiveRegionChangeNotification): Ditto.
(WebCore::AXObjectCache::rangeForNodeContents): Ditto.
(WebCore::AXObjectCache::setIsSynchronizingSelection): Ditto.
(WebCore::AXObjectCache::setTextSelectionIntent): Ditto.
(WebCore::AXAttributeCacheEnabler::AXAttributeCacheEnabler): Ditto.
(WebCore::AXAttributeCacheEnabler::~AXAttributeCacheEnabler): Ditto.

4:51 AM Changeset in webkit [196215] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Use scope stack instead of nested TreeResolvers for shadow trees
https://bugs.webkit.org/show_bug.cgi?id=153893

Reviewed by Andreas Kling.

Make TreeResolver per-document. This is a step towards iterative style resolve.

This is done replacing use of nested TreeResolvers with a scope stack that maintains
the style resolver and the selector filter for the current tree scope.

  • style/StyleTreeResolver.cpp:

(WebCore::Style::ensurePlaceholderStyle):
(WebCore::Style::TreeResolver::Scope::Scope):
(WebCore::Style::TreeResolver::TreeResolver):
(WebCore::Style::shouldCreateRenderer):
(WebCore::Style::TreeResolver::styleForElement):
(WebCore::Style::TreeResolver::createRenderTreeForShadowRoot):
(WebCore::Style::TreeResolver::createRenderTreeForSlotAssignees):
(WebCore::Style::TreeResolver::createRenderTreeRecursively):
(WebCore::Style::TreeResolver::resolveLocally):
(WebCore::Style::TreeResolver::resolveShadowTree):
(WebCore::Style::TreeResolver::resolveBeforeOrAfterPseudoElement):
(WebCore::Style::TreeResolver::resolveChildren):
(WebCore::Style::TreeResolver::resolveSlotAssignees):
(WebCore::Style::TreeResolver::resolveRecursively):
(WebCore::Style::TreeResolver::resolve):
(WebCore::Style::detachRenderTree):

  • style/StyleTreeResolver.h:

(WebCore::Style::TreeResolver::scope):
(WebCore::Style::TreeResolver::pushScope):
(WebCore::Style::TreeResolver::pushEnclosingScope):
(WebCore::Style::TreeResolver::popScope):

3:29 AM Changeset in webkit [196214] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix more incorrect ASSERT introduced in r196053.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePluginX11::handleMouseEvent):
(WebKit::NetscapePluginX11::handleWheelEvent):
(WebKit::NetscapePluginX11::setFocus):
(WebKit::NetscapePluginX11::handleMouseEnterEvent):
(WebKit::NetscapePluginX11::handleMouseLeaveEvent):
(WebKit::NetscapePluginX11::handleKeyboardEvent):

2:12 AM Changeset in webkit [196213] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Unreviewed, rolling out r196104.
https://bugs.webkit.org/show_bug.cgi?id=153940

Regressed Speedometer on iOS (Requested by kling on #webkit).

Reverted changeset:

"[iOS] Throw away linked code when navigating to a new page."
https://bugs.webkit.org/show_bug.cgi?id=153851
http://trac.webkit.org/changeset/196104

Feb 5, 2016:

11:00 PM Changeset in webkit [196212] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

tests fail if display sleeps while run-webkit-tests is running
https://bugs.webkit.org/show_bug.cgi?id=153919

Reviewed by Alexey Proskuryakov.

  • DumpRenderTree/mac/LayoutTestHelper.m:

(addDisplaySleepAssertion): Add the assertion so that the display doesn't turn off.
(releaseDisplaySleepAssertion): Release the DisplaySleep Assertion.
(simpleSignalHandler): Release the DisplaySleepAssertion in case of any iterrupt.

10:21 PM Changeset in webkit [196211] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk/PerformanceTests

Add a new graphics test for CanvasRenderingContext2D functions: getImageData and putImageData
https://bugs.webkit.org/show_bug.cgi?id=151716

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-02-05
Reviewed by Darin Adler.

The purpose of this test is to measure the performance of getImageData
and putImageData functions. This test draws a background on the canvas
and then gets some random tiles from this background and draw them in
destinations different from their original sources.

  • Animometer/resources/debug-runner/tests.js: Adding the new test to the canvas simple tests suite.
  • Animometer/resources/extensions.js:

(Array.prototype.shuffle): Shuffles the elements of an array.

(Point.zero): Returns a new Point object whose x and y are equal zero.
(Point.prototype.str): Used for debugging the Point object.

  • Animometer/tests/simple/resources/tiled-canvas-image.js: Added.

(CanvasImageTile):
(CanvasImageTile.prototype.getImageData):
(CanvasImageTile.prototype.putImageData):
(Stage.call.initialize):
(Stage.call._createTiles):
(Stage.call._nextTilePosition):
(Stage.call.tune):
(Stage.call._drawBackground):
(Stage.call.animate):
(Stage.call.complexity):
(Stage.call):

  • Animometer/tests/simple/tiled-canvas-image.html: Added.
8:53 PM Changeset in webkit [196210] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed test expectations gardening.

  • platform/gtk/TestExpectations:
8:51 PM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
5:56 PM Changeset in webkit [196209] by matthew_hanson@apple.com
  • 1 edit in branches/safari-601-branch/LayoutTests/platform/mac/TestExpectations

Skip ES6-related Layout Tests. rdar://problem/24190123

5:24 PM Changeset in webkit [196208] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

ScrollbarPainters needs to be deallocated on the main thread
https://bugs.webkit.org/show_bug.cgi?id=153932
-and corresponding-
rdar://problem/24015483

Reviewed by Geoff Garen.

Follow-up fix since the first one was still race-y.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):

5:15 PM Changeset in webkit [196207] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Visual Styles sidebar should be more forgiving to long labels
https://bugs.webkit.org/show_bug.cgi?id=153927
<rdar://problem/24343897>

Patch by Devin Rousso <Devin Rousso> on 2016-02-05
Reviewed by Timothy Hatcher.

If a label is too long for it's container, it overflows and is visible
above the rest of the elements nearby.

  • UserInterface/Views/VisualStylePropertyEditor.css:

(.visual-style-property-container > .visual-style-property-title):
Adds text overflow to properties that extend beyond the container's width.

  • UserInterface/Views/VisualStylePropertyEditor.js:

(WebInspector.VisualStylePropertyEditor):
Now also adds the label value as a title attribute to the element, just in
case the content overflows.

5:08 PM Changeset in webkit [196206] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

ScrollbarPainters needs to be deallocated on the main thread
https://bugs.webkit.org/show_bug.cgi?id=153932
-and corresponding-
rdar://problem/24015483

Reviewed by Tim Horton.

Ensure the the destructor of ScrollingTreeFrameScrollingNodeMac and the
assignments done in this class are not responsible for deallocating the
ScrollbarPainter.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):

5:08 PM Changeset in webkit [196205] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark css3/filters/multiple-filters-invalidation.html as flaky on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153933

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
4:49 PM Changeset in webkit [196204] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking pageoverlay/overlay-small-frame-paints.html as flaky on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153898

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
4:20 PM Changeset in webkit [196203] by bshafiei@apple.com
  • 2 edits in tags/Safari-602.1.18.5/Source/JavaScriptCore

Merged r196197. rdar://problem/24534864

4:20 PM Changeset in webkit [196202] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking css3-text-decoration/text-underline-position/underline-visual-overflow-with-subpixel-position.html as failing on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153315

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
4:19 PM Changeset in webkit [196201] by bshafiei@apple.com
  • 5 edits in tags/Safari-602.1.18.5/Source

Versioning.

4:18 PM Changeset in webkit [196200] by Chris Dumez
  • 17 edits
    3 adds in trunk

Instance property getters / setters cannot be called on another instance of the same type
https://bugs.webkit.org/show_bug.cgi?id=153895

Reviewed by Gavin Barraclough.

Source/WebCore:

It should be possible to call instance property getters / setters on
other instances of the same type, as per the WEB IDL specification:

This matches the behavior of Firefox.

The issue without our bindings was that the getters / setters were
using |slotBase| instead of |thisValue| and therefore ended up using
the instance the getter was taken from instead of the actual target
object.

Test:
js/instance-property-getter-other-instance.html
js/instance-property-setter-other-instance.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • Have instance getters / setters use thisValue instead of slotBase.
  • In the case of interfaces that have attributes on the instance for compatibility reasons, try the prototype object if |thisValue| does does have the right type, instead of using slotBase like previously. I believe this maintains the original compatibility intention while also behaving correctly when called on another instance.
  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSattribute.cpp:

Rebaseline bindings tests.

LayoutTests:

  • js/dom/script-tests/shadow-navigator-geolocation-in-strict-mode-does-not-throw.js:
  • js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw-expected.txt:

Extend this layout test coverage to cover the getter case in addition to the
setter case. This test covers the compatibility mode where we don't throw.
I made sure to maintain this behavior when refactoring the bindings to avoid
breakage.

  • js/instance-property-getter-other-instance-expected.txt:

Rebaseline now that this test passes.

  • js/instance-property-setter-other-instance-expected.txt: Added.
  • js/instance-property-setter-other-instance.html: Added.

Add test to cover the setter case.

4:13 PM Changeset in webkit [196199] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.18.5

New tag.

4:13 PM Changeset in webkit [196198] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/security/cross-frame-access-custom.html as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=153050

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
4:07 PM Changeset in webkit [196197] by achristensen@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix internal Windows build
https://bugs.webkit.org/show_bug.cgi?id=153930
<rdar://problem/24534864>

Reviewed by Mark Lam.

I made a typo in r196144.

4:06 PM Changeset in webkit [196196] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skipping js/basic-set.html on Mac since it is already runs as a part of run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=153879

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:55 PM Changeset in webkit [196195] by rniwa@webkit.org
  • 4 edits
    1 move in trunk/Websites/perf.webkit.org

Testing with remote server cache is unusably slow
https://bugs.webkit.org/show_bug.cgi?id=153928

Reviewed by Chris Dumez.

Don't use the single process mode of httpd as it's way too slow even for testing.
Also we'll hit a null pointer crash (http://svn.apache.org/viewvc?view=revision&revision=1711479)

Since httpd exits immediately when launched in multi-process mode, remote-cache-server.py (renamed from
run-with-remote-server.py) now has "start" and "stop" commands to start/stop the Apache. Also added
"reset" command to reset the cache for convenience.

  • Install.md: Updated the instruction.
  • config.json: Fixed a typo: httpdErro*r*Log.
  • tools/remote-cache-server.py: Copied from Websites/perf.webkit.org/tools/run-with-remote-server.py.

Now takes one of the following commands: "start", "stop", and "reset".
(main):
(start_httpd): Extracted from main.
(stop_httpd): Added.

  • tools/remote-server-relay.conf: Removed redundant (duplicate) LoadModule's.
  • tools/run-with-remote-server.py: Removed.
3:32 PM Changeset in webkit [196194] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle.html as flaky on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153929

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
3:25 PM Changeset in webkit [196193] by sbarati@apple.com
  • 7 edits
    2 adds in trunk

Web Inspector: Include SamplingProfiler's expression-level data for stack frames in the protocol
https://bugs.webkit.org/show_bug.cgi?id=153455
<rdar://problem/24335884>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

We now send the sampling profiler's expression-level
line/column info in the inspector protocol.

  • inspector/agents/InspectorScriptProfilerAgent.cpp:

(Inspector::buildSamples):

  • inspector/protocol/ScriptProfiler.json:
  • runtime/SamplingProfiler.h:

(JSC::SamplingProfiler::StackFrame::hasExpressionInfo):

Source/WebInspectorUI:

JSC has been collecting expression-level data in the sampling
profiler, and with this patch, we now get that information
in the inspector. With this information, we probably have
all the data we need to make real heat maps.

  • UserInterface/Models/CallingContextTree.js:

(WebInspector.CallingContextTree.prototype.updateTreeWithStackTrace):
(WebInspector.CCTNode):
(WebInspector.CCTNode.prototype.findOrMakeChild):
(WebInspector.CCTNode.prototype.addTimestampAndExpressionLocation):
(WebInspector.CCTNode.prototype.addTimestamp): Deleted.

LayoutTests:

  • inspector/sampling-profiler/expression-location-info-expected.txt: Added.
  • inspector/sampling-profiler/expression-location-info.html: Added.
3:16 PM Changeset in webkit [196192] by bshafiei@apple.com
  • 4 edits in tags/Safari-602.1.18.0.2/Source/bmalloc

Merged r196186. rdar://problem/18620635

2:30 PM Changeset in webkit [196191] by beidson@apple.com
  • 7 edits in trunk/Source/WebCore

Modern IDB: UniqueIDBDatabase's m_databaseInfo is unsafely used from multiple threads.
https://bugs.webkit.org/show_bug.cgi?id=153912

Reviewed by Alex Christensen.

No new tests (Anything testable about this patch is already covered by existing tests).

  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::infoForObjectStore):

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:

Teach the SQLiteIDBBackingStore to actually keep its m_databaseInfo up to date as it changes,
and to revert it when version change transactions abort:

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::infoForObjectStore):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd): Use the IDBBackingStore's copy of the

IDBObjectStoreInfo, meant only for the database thread, instead of the UniqueIDBDatabase's copy,
which is meant only for the main thread.

2:28 PM Changeset in webkit [196190] by rniwa@webkit.org
  • 2 edits
    1 add in trunk/Websites/perf.webkit.org

Perf dashboard should have a script to setup database
https://bugs.webkit.org/show_bug.cgi?id=153906

Reviewed by Chris Dumez.

Added tools/setup-database.py to setup the database. It retrieves the database name, username, password
and initializes a database at the specified location.

  • Install.md: Updated instruction to setup postgres to use setup-database.py.
  • tools/setup-database.py: Added.

(main):
(load_database_config):
(determine_psql_dir):
(start_or_stop_database):
(execute_psql_command):

1:53 PM Changeset in webkit [196189] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix iOS API tests after r196082
https://bugs.webkit.org/show_bug.cgi?id=153900

Patch by Alex Christensen <achristensen@webkit.org> on 2016-02-05
Reviewed by Jer Noble.

  • TestWebKitAPI/Tests/WebCore/WebCoreNSURLSession.mm:

(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
[WebView initialize] doesn't call JSC::initializeThreading on iOS.

1:41 PM Changeset in webkit [196188] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

follow-up to: JSC Sampling Profiler: (host) is confusing in cases where I would expect to see JS name
https://bugs.webkit.org/show_bug.cgi?id=153663
<rdar://problem/24415092>

Rubber stamped by Joseph Pecoraro.

We were performing operations that required us to
hold the VM lock even when we might not have been holding it.
We now ensure we're holding it.

  • inspector/agents/InspectorScriptProfilerAgent.cpp:

(Inspector::InspectorScriptProfilerAgent::trackingComplete):

1:38 PM Changeset in webkit [196187] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Navigation bar in sidebars should always fit on a single line
https://bugs.webkit.org/show_bug.cgi?id=153412
<rdar://problem/24318706>

Patch by Devin Rousso <Devin Rousso> on 2016-02-05
Reviewed by Timothy Hatcher.

This happened because the allowed maximum width of the sidebar was greater
than the minimum width derived from the currently visible sidebar.

  • UserInterface/Base/Utilities.js:

(Number.constrain):
Added logic to reverse the values of min and max if max is less than min.

1:34 PM Changeset in webkit [196186] by sbarati@apple.com
  • 4 edits in trunk/Source/bmalloc

bmalloc: largeMax calculation is wrong on iOS
https://bugs.webkit.org/show_bug.cgi?id=153923

Reviewed by Mark Lam.

Our number for largeMax was larger than what we had
space to actually allocate inside the LargeChunk. This made
it so that we would allocate a large object for something
that really should be extra large. Previously:
largeMax + sizeof(LargeChunk) > 1MB
which meant that when we would grow() to accommodate an allocation
of a particular size inside a LargeObject despite the fact that
the allocation size would be too large to actually fit in the LargeObject.
This would manifest when we had an allocation size in the range:
1MB - sizeof(LargeChunk) < allocation size < largeMax

We fix this bug by being precise in our calculation of largeMax
instead of just assuming largeChunkSize * 99/100 is enough
space for the metadata.

  • bmalloc/LargeChunk.h:

(bmalloc::LargeChunk::get):

  • bmalloc/Sizes.h:
1:22 PM Changeset in webkit [196185] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Don't wrap labels in Breakpoint Editor popover
https://bugs.webkit.org/show_bug.cgi?id=153926
rdar://problem/24149542

Reviewed by Brian Burg.

  • UserInterface/Views/BreakpointPopoverController.css:

(.popover .edit-breakpoint-popover-content > table > tr > th): Added white-space: nowrap.

1:20 PM Changeset in webkit [196184] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Replace all instances of '%s' with “%s“
https://bugs.webkit.org/show_bug.cgi?id=153891
<rdar://problem/24510236>

Patch by Devin Rousso <Devin Rousso> on 2016-02-05
Reviewed by Timothy Hatcher.

Switched all WebInspector.UIString() from using to ““.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):

  • UserInterface/Views/VisualStylePropertyEditor.js:

(WebInspector.VisualStylePropertyEditor.prototype.update):

  • UserInterface/Views/VisualStyleSelectorTreeItem.js:

(WebInspector.VisualStyleSelectorTreeItem.prototype._updateSelectorIcon):

1:19 PM Changeset in webkit [196183] by timothy@apple.com
  • 2 edits in trunk/Source/WebKit2

Web Inspector: Error when closing page with WebInspector open
https://bugs.webkit.org/show_bug.cgi?id=152867
rdar://problem/24099423

Reviewed by Brian Burg.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::didClose): Null out m_inspectorPage after platformDetach(),
so the views can be cleaned up correctly.

12:52 PM Changeset in webkit [196182] by bshafiei@apple.com
  • 2 edits in tags/Safari-602.1.18.4/Source/JavaScriptCore

Merged r196144. rdar://problem/24499887

12:51 PM Changeset in webkit [196181] by bshafiei@apple.com
  • 5 edits in tags/Safari-602.1.18.4/Source

Versioning.

12:49 PM Changeset in webkit [196180] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.18.4

New tag.

11:52 AM Changeset in webkit [196179] by fpizlo@apple.com
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

Arrayify for a typed array shouldn't create a monster
https://bugs.webkit.org/show_bug.cgi?id=153908
rdar://problem/24290639

Reviewed by Mark Lam.

Previously if you convinced the DFG to emit an Arrayify to ArrayStorage and then gave it a
typed array, you'd corrupt the object.

  • runtime/JSArrayBufferView.cpp:

(WTF::printInternal):

  • runtime/JSArrayBufferView.h:
  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):

  • runtime/JSObject.cpp:

(JSC::JSObject::copyButterfly):
(JSC::JSObject::enterDictionaryIndexingMode):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC::JSObject::growOutOfLineStorage):
(JSC::getBoundSlotBaseFunctionForGetterSetter):

  • runtime/Structure.h:
  • tests/stress/arrayify-array-storage-typed-array.js: Added. This test failed.
  • tests/stress/arrayify-int32-typed-array.js: Added. This test case already had other protections, but we beefed them up.
11:51 AM Changeset in webkit [196178] by achristensen@apple.com
  • 5 edits
    2 adds in trunk/Source/WebKit2

Move NetworkDataTask to its own header and source files
https://bugs.webkit.org/show_bug.cgi?id=153922

Reviewed by Tim Horton.

Also renamed NetworkSessionTaskClient to NetworkDataTaskClient.

  • NetworkProcess/NetworkDataTask.h: Added.

(WebKit::NetworkDataTaskClient::~NetworkDataTaskClient):
(WebKit::NetworkDataTask::create):
(WebKit::NetworkDataTask::client):
(WebKit::NetworkDataTask::pendingDownloadID):
(WebKit::NetworkDataTask::pendingDownload):
(WebKit::NetworkDataTask::setPendingDownloadID):
(WebKit::NetworkDataTask::setPendingDownload):

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient): Deleted.
(WebKit::NetworkDataTask::create): Deleted.
(WebKit::NetworkDataTask::client): Deleted.
(WebKit::NetworkDataTask::pendingDownloadID): Deleted.
(WebKit::NetworkDataTask::pendingDownload): Deleted.
(WebKit::NetworkDataTask::setPendingDownloadID): Deleted.
(WebKit::NetworkDataTask::setPendingDownload): Deleted.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: Added.

(WebKit::NetworkDataTask::NetworkDataTask):
(WebKit::NetworkDataTask::~NetworkDataTask):
(WebKit::NetworkDataTask::scheduleFailure):
(WebKit::NetworkDataTask::failureTimerFired):
(WebKit::NetworkDataTask::tryPasswordBasedAuthentication):
(WebKit::NetworkDataTask::cancel):
(WebKit::NetworkDataTask::resume):
(WebKit::NetworkDataTask::suspend):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSession::takeDownloadID):
(WebKit::NetworkDataTask::NetworkDataTask): Deleted.
(WebKit::NetworkDataTask::~NetworkDataTask): Deleted.
(WebKit::NetworkDataTask::scheduleFailure): Deleted.
(WebKit::NetworkDataTask::failureTimerFired): Deleted.
(WebKit::NetworkDataTask::tryPasswordBasedAuthentication): Deleted.
(WebKit::NetworkDataTask::cancel): Deleted.
(WebKit::NetworkDataTask::resume): Deleted.
(WebKit::NetworkDataTask::suspend): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
10:52 AM Changeset in webkit [196177] by bshafiei@apple.com
  • 3 edits in tags/Safari-602.1.18.0.2/Source/WebKit2

Merged r196037. rdar://problem/24399218

10:51 AM Changeset in webkit [196176] by bshafiei@apple.com
  • 5 edits in tags/Safari-602.1.18.0.2/Source

Versioning.

10:49 AM Changeset in webkit [196175] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.18.0.2

New tag.

8:57 AM Changeset in webkit [196174] by achristensen@apple.com
  • 20 edits in trunk/Source

Clean up Blob code
https://bugs.webkit.org/show_bug.cgi?id=153910

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests, no change in behavior.

  • css/StyleSheet.h:
  • fileapi/Blob.cpp:

(WebCore::Blob::Blob):
(WebCore::Blob::normalizedContentType):
(WebCore::Blob::isNormalizedContentType):
(WebCore::Blob::registry):

  • fileapi/Blob.h:
  • fileapi/BlobURL.cpp:

(WebCore::BlobURL::createPublicURL):

  • fileapi/BlobURL.h:

(WebCore::BlobURL::BlobURL):
(WebCore::BlobURL::blobProtocol): Deleted.

  • platform/PlatformStrategies.cpp:

(WebCore::setPlatformStrategies):
(WebCore::hasPlatformStrategies): Deleted.

  • platform/PlatformStrategies.h:
  • platform/network/BlobRegistry.cpp:

(WebCore::blobRegistry):

  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::~BlobRegistryImpl):
(WebCore::createResourceHandle):
(WebCore::registerBlobResourceHandleConstructor):
(WebCore::BlobRegistryImpl::createResourceHandle):
(WebCore::BlobRegistryImpl::appendStorageItems):
(WebCore::BlobRegistryImpl::registerFileBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURL):

  • platform/network/BlobRegistryImpl.h:
  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::loadResourceSynchronously):
(WebCore::BlobResourceHandle::BlobResourceHandle):

  • platform/network/ResourceHandle.h:

Source/WebKit2:

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::NetworkBlobRegistry):
(WebKit::NetworkBlobRegistry::registerFileBlobURL):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::registerFileBlobURL):
(WebKit::NetworkConnectionToWebProcess::registerBlobURL):

  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerFileBlobURL):

  • WebProcess/FileAPI/BlobRegistryProxy.h:
7:38 AM Changeset in webkit [196173] by mitz@apple.com
  • 5 edits
    1 delete in trunk/Source/WebKit2

[Cocoa] Get rid of unused SPI declarations
https://bugs.webkit.org/show_bug.cgi?id=153915

Reviewed by Tim Horton.

  • Platform/spi/Cocoa/NSInvocationSPI.h: Removed NSInvocation SPI method declaration.
  • Platform/spi/ios/SafariServicesSPI.h: Removed.
  • UIProcess/API/Cocoa/WKSecurityOrigin.mm:

(-[WKSecurityOrigin methodSignatureForSelector:]): Deleted.
(-[WKSecurityOrigin forwardInvocation:]): Deleted.

  • UIProcess/ios/WKContentViewInteraction.mm: Removed unused #import.
  • WebKit2.xcodeproj/project.pbxproj: Removed reference to deleted header.
6:04 AM Changeset in webkit [196172] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Scrollbars incorrectly rendered with older versions of GTK+
https://bugs.webkit.org/show_bug.cgi?id=153861

Reviewed by Michael Catanzaro.

The theme doesn't really know it's a scrollbar. Older versions of
GTK+ require to explicitly add the scrollbar style class to the
child GtkStyleContext.

  • platform/gtk/ScrollbarThemeGtk.cpp:

(WebCore::createChildStyleContext):

6:02 AM WebKitGTK/2.10.x edited by Andres Gomez
(diff)
6:01 AM WebKitGTK/2.10.x edited by Andres Gomez
(diff)
5:58 AM Changeset in webkit [196171] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GTK] Scrollbars not correctly rendered in non GNOME environments
https://bugs.webkit.org/show_bug.cgi?id=153860

Reviewed by Michael Catanzaro.

I noticed this in a matchbox environment, where there's no
gnome-setting-daemon running. The problem is only with the
scrollbars, because we initialize the GtkSettings in
RenderThemeGtk and notify the ScrollbarTheme when it changes, but
ScrollbarTheme is created before RenderThemeGtk so we initialize
the theme properties before the GtkSettings have been
initialized. We can just let the ScrollbarTheme monitor the
theme itself instead of relying on being notified by the WebCore
layer.

  • platform/gtk/ScrollbarThemeGtk.cpp:

(WebCore::themeChangedCallback):
(WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):

  • rendering/RenderThemeGtk.cpp:

(WebCore::gtkStyleChangedCallback): Deleted.

1:59 AM Changeset in webkit [196170] by youenn.fablet@crf.canon.fr
  • 3 edits in trunk/Source/WebCore

Remove DOMWrapped parameter from JSKeyValueIterator
https://bugs.webkit.org/show_bug.cgi?id=153859

Reviewed by Sam Weinig.

No change in behavior.

Using std::declval to infer DOMWrapped from JSWrapper::wrapped.

  • bindings/js/JSFetchHeadersCustom.cpp:

(WebCore::JSFetchHeaders::entries):
(WebCore::JSFetchHeaders::keys):
(WebCore::JSFetchHeaders::values):

  • bindings/js/JSKeyValueIterator.h:

(WebCore::createIterator):
(WebCore::JSKeyValueIterator<JSWrapper>::destroy):
(WebCore::JSKeyValueIterator<JSWrapper>::next):
(WebCore::JSKeyValueIteratorPrototypeFunctionNext):
(WebCore::JSKeyValueIteratorPrototype<JSWrapper>::finishCreation):

1:03 AM Changeset in webkit [196169] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION (r193913): Web Inspector: Wrong z-index of inner sections
https://bugs.webkit.org/show_bug.cgi?id=153914

Reviewed by Timothy Hatcher.

  • UserInterface/Views/DetailsSection.css:

(.details-section .details-section > .header):

1:01 AM Changeset in webkit [196168] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Decrease font-weight of inner sections
https://bugs.webkit.org/show_bug.cgi?id=153913
<rdar://problem/24520326>

Reviewed by Timothy Hatcher.

  • UserInterface/Views/DetailsSection.css:

(.details-section .details-section > .header):

12:53 AM Changeset in webkit [196167] by n_wang@apple.com
  • 3 edits
    2 adds in trunk

AX: WebKit hanging when VoiceOver attempts to focus in on page
https://bugs.webkit.org/show_bug.cgi?id=153899
<rdar://problem/24506603>

Reviewed by Chris Fleizach.

Source/WebCore:

The VisiblePosition to CharacterOffset conversion will lead to an infinite loop if the
nextVisiblePostion call is returning the original VisiblePosition. Fixed it by breaking out
of the loop early in that situation.

Test: accessibility/text-marker/character-offset-visible-position-conversion-hang.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::characterOffsetFromVisiblePosition):

LayoutTests:

  • accessibility/text-marker/character-offset-visible-position-conversion-hang-expected.txt: Added.
  • accessibility/text-marker/character-offset-visible-position-conversion-hang.html: Added.
Note: See TracTimeline for information about the timeline view.