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

Timeline



Jan 4, 2016:

11:46 PM Changeset in webkit [194578] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[PerformanceTiming] Don't expose the restrictedKeyMap() HashMap
https://bugs.webkit.org/show_bug.cgi?id=147366

Reviewed by Sam Weinig.

Instead of the callers looking up in the HashMap that's returned by restrictedKeyMap(),
keep the HashMap local in the static restrictedMarkFunction(). This function accepts
a String reference and performs the lookup, returning the pointer to a PerformanceTiming
method that corresponds to the passed-in mark or returns nullptr otherwise.

The HashMap is now wrapped in a NeverDestroyed object and is populated when the first
mark function is looked for.

  • page/PerformanceUserTiming.cpp:

(WebCore::UserTiming::mark):
(WebCore::UserTiming::findExistingMarkStartTime):

11:41 PM Changeset in webkit [194577] by zandobersek@gmail.com
  • 6 edits
    2 adds in trunk/Source/WebCore

[TextureMapper] Move ClipStack into its own file
https://bugs.webkit.org/show_bug.cgi?id=152661

Reviewed by Michael Catanzaro.

Move TextureMapperGL::ClipStack into its own file and clean it up a bit.
Move ClipState under the ClipStack class, and simply name it State.

Move the ClipState methods into a more sensible order. Remove the inline
specifiers, these aren't really needed for the methods defined in the header.
apply() and applyIfNeeded() now accept a reference to the GraphicsContext3D
object, not a pointer.

Turn YAxisMode enum into an enum class, update the uses to properly specify
the scope of the enum value.

Reorder the ClipStack member variables into a more efficient order.

No new tests -- no change in behavior.

  • CMakeLists.txt:
  • platform/graphics/texmap/BitmapTextureGL.cpp:

(WebCore::BitmapTextureGL::clearIfNeeded):
(WebCore::BitmapTextureGL::bindAsSurface):

  • platform/graphics/texmap/BitmapTextureGL.h:

(WebCore::BitmapTextureGL::clipStack):

  • platform/graphics/texmap/ClipStack.cpp: Added.

(WebCore::ClipStack::push):
(WebCore::ClipStack::pop):
(WebCore::ClipStack::reset):
(WebCore::ClipStack::intersect):
(WebCore::ClipStack::setStencilIndex):
(WebCore::ClipStack::apply):
(WebCore::ClipStack::applyIfNeeded):

  • platform/graphics/texmap/ClipStack.h: Added.

(WebCore::ClipStack::State::State):
(WebCore::ClipStack::current):
(WebCore::ClipStack::getStencilIndex):
(WebCore::ClipStack::isCurrentScissorBoxEmpty):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::clipStack):
(WebCore::TextureMapperGL::beginPainting):
(WebCore::TextureMapperGL::bindDefaultSurface):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::beginClip):
(WebCore::TextureMapperGL::endClip):
(WebCore::TextureMapperGL::ClipStack::reset): Deleted.
(WebCore::TextureMapperGL::ClipStack::intersect): Deleted.
(WebCore::TextureMapperGL::ClipStack::setStencilIndex): Deleted.
(WebCore::TextureMapperGL::ClipStack::push): Deleted.
(WebCore::TextureMapperGL::ClipStack::pop): Deleted.
(WebCore::TextureMapperGL::ClipStack::apply): Deleted.
(WebCore::TextureMapperGL::ClipStack::applyIfNeeded): Deleted.

  • platform/graphics/texmap/TextureMapperGL.h:

(WebCore::TextureMapperGL::ClipState::ClipState): Deleted.
(WebCore::TextureMapperGL::ClipStack::ClipStack): Deleted.
(WebCore::TextureMapperGL::ClipStack::current): Deleted.
(WebCore::TextureMapperGL::ClipStack::getStencilIndex): Deleted.
(WebCore::TextureMapperGL::ClipStack::isCurrentScissorBoxEmpty): Deleted.

11:37 PM Changeset in webkit [194576] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Shave off a TransformationMatrix copy if RenderLayer's transparencyClipBox()
https://bugs.webkit.org/show_bug.cgi?id=152119

Reviewed by Simon Fraser.

  • rendering/RenderLayer.cpp:

(WebCore::transparencyClipBox): Multiply the transformation matrix returned by
layer.transform() directly into the transform object, instead of first
multiplying them and then copying the result back into the transform object.

10:41 PM Changeset in webkit [194575] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merge patch for rdar://problem/23893894.

10:35 PM Changeset in webkit [194574] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: Timelines view doesn't remember how I like to sort things
https://bugs.webkit.org/show_bug.cgi?id=152626

Patch by Devin Rousso <Devin Rousso> on 2016-01-04
Reviewed by Joseph Pecoraro.

Currently, all instances of DataGrid have their sort column reset with each
open/close of Web Inspector. This doesn't really make sense seeing as we save
the user's settings in many other cases, so the sort method (which column)
should be saved between inspector sessions.

  • UserInterface/Views/ApplicationCacheFrameContentView.js:

(WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):

  • UserInterface/Views/CookieStorageContentView.js:

(WebInspector.CookieStorageContentView.prototype._rebuildTable):

  • UserInterface/Views/DOMStorageContentView.js:

(WebInspector.DOMStorageContentView):

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.set sortColumnIdentifier):
Moved the logic for classLists and events to _updateSortedColumn.

(WebInspector.DataGrid.prototype.set sortColumnIdentifierSetting):
Instead of just setting the original sort method when instantiating the DataGrid,
a WebInspector.Setting object is now able to be passed in via this setter
to give the DataGrid access to the stored sort method value.

(WebInspector.DataGrid.prototype._updateSortedColumn):
Updates the classLists and fires events. If a sort column setting object
exists, update its value.

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.js:

(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView):

  • UserInterface/Views/NetworkGridContentView.js:

(WebInspector.NetworkGridContentView):

  • UserInterface/Views/NetworkTimelineView.js:

(WebInspector.NetworkTimelineView):

  • UserInterface/Views/RenderingFrameTimelineView.js:

(WebInspector.RenderingFrameTimelineView):

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView):

10:32 PM Changeset in webkit [194573] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Add debounce to URL inputs in the Visual sidebar
https://bugs.webkit.org/show_bug.cgi?id=152655

Patch by Devin Rousso <Devin Rousso> on 2016-01-04
Reviewed by Joseph Pecoraro.

Adding a debounce to url() based Visual sidebar editors will prevent needless
errors from being thrown as the user types, since incomplete URL's will not
be able to be located.

  • UserInterface/Base/Utilities.js:

(Function.prototype.debounce):
Prevents the given function from executing more than once in the specified amount of time.

  • UserInterface/Views/VisualStyleBackgroundPicker.js:

(WebInspector.VisualStyleBackgroundPicker):

  • UserInterface/Views/VisualStyleURLInput.js:

(WebInspector.VisualStyleURLInput):

9:37 PM WebKitGTK/Gardening/Calendar edited by ChangSeok Oh
(diff)
9:10 PM Changeset in webkit [194572] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix debug context menu string and reload without cache tooltip string
https://bugs.webkit.org/show_bug.cgi?id=152725

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-04
Reviewed by Brian Burg.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):

6:33 PM Changeset in webkit [194571] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Bump EFL version to 1.16.1
https://bugs.webkit.org/show_bug.cgi?id=152688

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
6:25 PM Changeset in webkit [194570] by achristensen@apple.com
  • 7 edits in trunk/Source/WebKit2

Use unique_ptr for NetworkDataTasks and references for NetworkSessionTaskClients
https://bugs.webkit.org/show_bug.cgi?id=152724

Reviewed by Andy Estes.

There is no reason to have a NetworkSessionTaskClient* instead of a
NetworkSessionTaskClient& just so we can clear it in the NetworkLoad destructor,
which immediately calls ~NetworkDataTask.
Also, NetworkDataTasks are owned only by the NetworkLoad, so there's no reason to refcount them.

  • NetworkProcess/Downloads/Download.h:
  • NetworkProcess/Downloads/DownloadManager.h:
  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::~NetworkLoad):

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

(WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
(WebKit::NetworkDataTask::client):
(WebKit::NetworkDataTask::downloadID):
(WebKit::NetworkDataTask::setDownloadID):
(WebKit::NetworkDataTask::clearClient): Deleted.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
(WebKit::NetworkSession::~NetworkSession):
(WebKit::NetworkSession::createDataTaskWithRequest):
(WebKit::NetworkSession::dataTaskForIdentifier):
(WebKit::NetworkDataTask::NetworkDataTask):

6:16 PM Changeset in webkit [194569] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

error running layout tests on iOS simulator on latest build
https://bugs.webkit.org/show_bug.cgi?id=152719
<rdar://problem/24009549>

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/xcode/simulator.py:

(Simulator.wait_until_device_is_booted): Ensure that simulator device is in booted state

before running simctl spawn command.

5:48 PM Changeset in webkit [194568] by commit-queue@webkit.org
  • 11 edits
    1 copy
    1 add in trunk

Web Inspector: add context menu items to switch CSS color property value syntax between RGB, HSL, etc
https://bugs.webkit.org/show_bug.cgi?id=151918

Patch by Devin Rousso <Devin Rousso> on 2016-01-04
Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Created a ColorSwatch class to hold all functionality for color swatches,
allowing all context menu and popover events to be centralized.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:
  • UserInterface/Models/Color.js:

Changed all 'var' to 'let' and 'nickname' to 'keyword' as per the spec.
Mostly mechanical changes.

(WebInspector.Color.prototype.isKeyword):
Looks at the RGB values of each keyword to see if the current color
matches any of them.

(WebInspector.Color.prototype.canBeSerializedAsShortHEX):
Fixed to account for alpha values, since HEXAlpha is now supported.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch): Deleted.
(@media (-webkit-max-device-pixel-ratio: 1)): Deleted.
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span): Deleted.
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span): Deleted.
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span): Deleted.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update): Deleted.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror): Deleted.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked): Deleted.

  • UserInterface/Views/ColorSwatch.css: Copied from Source/WebInspectorUI/UserInterface/Views/VisualStyleColorPicker.css.

(.color-swatch):
(@media (-webkit-max-device-pixel-ratio: 1)):
(.color-swatch > span):
(.color-swatch:hover > span):
(.color-swatch:active > span):

  • UserInterface/Views/ColorSwatch.js: Added.

(WebInspector.ColorSwatch):
(WebInspector.ColorSwatch.prototype.get element):
(WebInspector.ColorSwatch.prototype.set color):
(WebInspector.ColorSwatch.prototype.get color):
(WebInspector.ColorSwatch.prototype._colorSwatchClicked):
(WebInspector.ColorSwatch.prototype._colorPickerColorDidChange):
(WebInspector.ColorSwatch.prototype._handleContextMenuEvent):
(WebInspector.ColorSwatch.prototype._getNextValidHEXFormat.hexMatchesCurrentColor):
(WebInspector.ColorSwatch.prototype._getNextValidHEXFormat):
Loops through the list of HEX formats to find the first format that is valid
for the current color in the list after the current format.

(WebInspector.ColorSwatch.prototype._updateSwatch):

  • UserInterface/Views/VisualStyleColorPicker.css:

(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch > span):

  • UserInterface/Views/VisualStyleColorPicker.js:

(WebInspector.VisualStyleColorPicker):
(WebInspector.VisualStyleColorPicker.prototype._colorSwatchColorChanged):
(WebInspector.VisualStyleColorPicker.prototype._updateColorSwatch):
(WebInspector.VisualStyleColorPicker.prototype._colorSwatchClicked): Deleted.
(WebInspector.VisualStyleColorPicker.prototype._colorPickerColorDidChange): Deleted.

LayoutTests:

  • inspector/model/color-expected.html:
  • inspector/model/color.html:

Changed "nickname" to "keyword".

4:50 PM Changeset in webkit [194567] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Mark last parameter of webkitGetUserMedia as non-optional to match updated IDL
https://bugs.webkit.org/show_bug.cgi?id=152702

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-04
Reviewed by Brian Burg.

  • UserInterface/Models/NativeFunctionParameters.js:

New IDL, and tests, show that the error callback is non-optional.

4:42 PM Changeset in webkit [194566] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

TextBreakIterator uses an internal implementation detail of NSLocale
https://bugs.webkit.org/show_bug.cgi?id=152715
<rdar://problem/23775121>

Reviewed by Tim Horton.

Instead of directly querying AppleLanguages, we should use [NSLocale preferredLanguages].

No new tests because there is no behavior change.

  • platform/text/mac/TextBreakIteratorInternalICUMac.mm:

(WebCore::topLanguagePreference):

4:35 PM Changeset in webkit [194565] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Turn off Internal Function inlining in the DFG for super calls.
https://bugs.webkit.org/show_bug.cgi?id=152695

Reviewed by Geoffrey Garen.

Currently, we inline several InternalFunctions into an alloctation with a
fixed structure in the DFG. This optimization is not valid when the
InternalFunction is called via a super call.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):

4:22 PM Changeset in webkit [194564] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

JSCustomXPathNSResolver::lookupNamespaceURI Console Message should render with a column number
https://bugs.webkit.org/show_bug.cgi?id=114312

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-04
Reviewed by Brent Fulgham.

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): Deleted.
This now behaves as expected.

4:06 PM Changeset in webkit [194563] by beidson@apple.com
  • 5 edits
    3 adds in trunk

Modern IDB: Memory indexes aren't deleted when their owning memory object stores are deleted.
https://bugs.webkit.org/show_bug.cgi?id=152717

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/indexeddb/modern/memory-index-not-deleted-with-objectstore.html

  • Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:

(WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreDeleted):

  • Modules/indexeddb/server/MemoryObjectStore.cpp:

(WebCore::IDBServer::MemoryObjectStore::deleteAllIndexes):

  • Modules/indexeddb/server/MemoryObjectStore.h:

LayoutTests:

  • storage/indexeddb/modern/memory-index-not-deleted-with-objectstore-expected.txt: Added.
  • storage/indexeddb/modern/memory-index-not-deleted-with-objectstore.html: Added.
  • storage/indexeddb/modern/resources/memory-index-not-deleted-with-objectstore.js: Added.
4:06 PM Changeset in webkit [194562] by achristensen@apple.com
  • 8 edits in trunk/Source/WebKit2

Progress towards implementing downloads with NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=152716

Reviewed by Brady Eidson.

  • NetworkProcess/Downloads/Download.h:
  • NetworkProcess/Downloads/DownloadID.h:

(WebKit::DownloadID::DownloadID):
(WebKit::DownloadID::operator==):
(WebKit::DownloadID::operator!=):
(WebKit::DownloadID::downloadID):

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::startDownload):

  • NetworkProcess/Downloads/DownloadManager.h:

(WebKit::DownloadManager::download):
(WebKit::DownloadManager::isDownloading):

  • NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:

(WebKit::Download::resume):
(WebKit::Download::platformInvalidate):
(WebKit::Download::platformDidFinish):
(WebKit::Download::start): Deleted.

  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):

When using NSURLSession, a data task is converted to a download task after the connection has already
been established, the headers have been received, and WebCore looks at the response and decides that
this connection should become a download. We call the didReceiveResponse to match the behavior of
NSURLDownload, but this could be cleaned up later to match what is actually happening. We also do not
need to tell the download to start because it has already started.

(WebKit::NetworkSession::dataTaskForIdentifier):
(WebKit::NetworkSession::addDownloadID):
(WebKit::NetworkSession::downloadID):
(WebKit::NetworkSession::takeDownloadID):
(WebKit::NetworkDataTask::NetworkDataTask):

NSURLSessionDownloadTask taskIdentifiers are unique to that NSURLSession, but we have one global DownloadManager
in the NetworkProcess. We need to have each NetworkSession keep a map of taskIdentifiers to global DownloadID.

3:08 PM Changeset in webkit [194561] by fpizlo@apple.com
  • 2 edits
    10 adds in trunk/Source/JavaScriptCore

FTL B3 should do binary snippets
https://bugs.webkit.org/show_bug.cgi?id=152668

Reviewed by Mark Lam.

This finishes all of the rest of the snippets.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileBitOr):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitXor):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitRShift):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitLShift):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitURShift):
(JSC::FTL::DFG::LowerDFGToLLVM::emitBinaryBitOpSnippet):
(JSC::FTL::DFG::LowerDFGToLLVM::emitRightShiftSnippet):
(JSC::FTL::DFG::LowerDFGToLLVM::allocateCell):

  • tests/stress/object-bit-or.js: Added.

(foo):
(things.valueOf):

  • tests/stress/object-bit-xor.js: Added.

(foo):
(things.valueOf):

  • tests/stress/object-lshift.js: Added.

(foo):
(things.valueOf):

  • tests/stress/object-rshift.js: Added.

(foo):
(things.valueOf):

  • tests/stress/object-urshift.js: Added.

(foo):
(things.valueOf):

  • tests/stress/untyped-bit-or.js: Added.

(foo):
(valueOf):

  • tests/stress/untyped-bit-xor.js: Added.

(foo):
(valueOf):

  • tests/stress/untyped-lshift.js: Added.

(foo):
(valueOf):

  • tests/stress/untyped-rshift.js: Added.

(foo):
(valueOf):

  • tests/stress/untyped-urshift.js: Added.

(foo):
(valueOf):

2:53 PM Changeset in webkit [194560] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

isUntypedSpeculationForArithmetic is wrong.
https://bugs.webkit.org/show_bug.cgi?id=152708

Reviewed by Filip Pizlo.

The isUntypedSpeculation...() checks should return true is we ever see
non-numeric types, regardless of whether numeric types are seen or not.
Previously, they only return true if we only see non-numeric types, and false if
we ever see numeric types.

This patch is perf neutral on both x86_64 and x86.

  • bytecode/SpeculatedType.h:

(JSC::isUntypedSpeculationForArithmetic):
(JSC::isUntypedSpeculationForBitOps):

2:45 PM Changeset in webkit [194559] by timothy_horton@apple.com
  • 10 edits in trunk/Source

Turn on gesture events when building for Yosemite
https://bugs.webkit.org/show_bug.cgi?id=152704
rdar://problem/24042472

Reviewed by Anders Carlsson.

  • Configurations/FeatureDefines.xcconfig:
  • wtf/FeatureDefines.h:
2:43 PM Changeset in webkit [194558] by svillar@igalia.com
  • 3 edits
    2 adds in trunk

REGRESSION(r194143): Float width incorrectly calculated on Wikipedia
https://bugs.webkit.org/show_bug.cgi?id=152644

Reviewed by Myles C. Maxfield.

Source/WebCore:

The min/max-content contribution computation for non replaced
blocks changed in r194143. The implementation was actually
more complex than it should be and actually incomplete as it
was not considering the case of out of flow elements (because
it was directly calling computeLogicalWidthInRegion()).

This new implementation simplifies a lot the code and makes it
more complete as it relies on min|maxPreferredLogicalWidth()
calls which already consider all the different types of boxes.

Test: fast/css-intrinsic-dimensions/inlinesize-contribution-floats.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):

LayoutTests:

  • fast/css-intrinsic-dimensions/inlinesize-contribution-floats-expected.html: Added.
  • fast/css-intrinsic-dimensions/inlinesize-contribution-floats.html: Added.
2:42 PM Changeset in webkit [194557] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Hardware keyboard key-commands stop responding when viewing PDFs
https://bugs.webkit.org/show_bug.cgi?id=152712
<rdar://problem/23014457>

Reviewed by Dan Bernstein.

Maintain first responder status through any content view swapping, by
making WKWebView become first responder if needed, and pushing first
responder status down to the swapped-in content view if possible.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView becomeFirstResponder]):
Make the current content view first responder instead of the WKContentView,
in case we have a custom content view installed.

(-[WKWebView canBecomeFirstResponder]):
WKWebView can always become first responder, even if none of its children can.
This makes it so that if a custom content view can't become first responder,
WKWebView will take the responsibility.

(-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
Return the responsibility of being first responder to the newly-installed
content view if WKWebView is currently the first responder (either because
of tab switching or because the previous content view did not support
being first responder), if it supports being first responder.

2:31 PM Changeset in webkit [194556] by fpizlo@apple.com
  • 2 edits
    2 adds in trunk/Source/JavaScriptCore

FTL B3 should do BitAnd binary snippets
https://bugs.webkit.org/show_bug.cgi?id=152713

Reviewed by Mark Lam.

Getting ready to finish up the binary bitop snippets.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileBitAnd):
(JSC::FTL::DFG::LowerDFGToLLVM::emitBinarySnippet):
(JSC::FTL::DFG::LowerDFGToLLVM::emitBinaryBitOpSnippet):
(JSC::FTL::DFG::LowerDFGToLLVM::allocateCell):

  • tests/stress/object-bit-and.js: Added.

(foo):
(things.valueOf):

  • tests/stress/untyped-bit-and.js: Added.

(foo):
(valueOf):

2:04 PM Changeset in webkit [194555] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.

word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

  • fast/text/word-break-on-flexbox-child-expected.html: Added.
  • fast/text/word-break-on-flexbox-child.html: Added.
1:38 PM Changeset in webkit [194554] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

webkitGetUserMedia built-in should use @then and not then
https://bugs.webkit.org/show_bug.cgi?id=152296

Patch by John Wilander <wilander@apple.com> on 2016-01-04
Reviewed by Brent Fulgham.

Source/WebCore:

Test: streams/webkitGetUserMedia-shadowing-then.html

  • Modules/mediastream/NavigatorUserMedia.js:

(webkitGetUserMedia): Modified to use @then syntax.

LayoutTests:

  • streams/webkitGetUserMedia-shadowing-then-expected.txt: Added.
  • streams/webkitGetUserMedia-shadowing-then.html: Added.
1:33 PM Changeset in webkit [194553] by fpizlo@apple.com
  • 2 edits
    6 adds in trunk/Source/JavaScriptCore

FTL B3 should do all of the non-bitop binary snippets
https://bugs.webkit.org/show_bug.cgi?id=152709

Reviewed by Mark Lam.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileValueAdd):
(JSC::FTL::DFG::LowerDFGToLLVM::compileStrCat):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithDiv):

  • tests/stress/object-add.js: Added.

(foo):
(things.valueOf):

  • tests/stress/object-div.js: Added.

(foo):
(things.valueOf):

  • tests/stress/object-mul.js: Added.

(foo):
(things.valueOf):

  • tests/stress/untyped-add.js: Added.

(foo):
(valueOf):

  • tests/stress/untyped-div.js: Added.

(foo):
(valueOf):

  • tests/stress/untyped-mul.js: Added.

(foo):
(valueOf):

1:28 PM Changeset in webkit [194552] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

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

This change caused assertions in existing inspector tests
(Requested by ryanhaddad on #webkit).

Reverted changeset:

"Web Inspector: reproducible debug ASSERT when inspecting the
inspector (WK2)"
https://bugs.webkit.org/show_bug.cgi?id=152080
http://trac.webkit.org/changeset/194544

1:27 PM Changeset in webkit [194551] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Post-commit update for r193484.
https://bugs.webkit.org/show_bug.cgi?id=151884

Unreviwed.

The same null check needs to be applied in fontHasVerticalGlyphs() as well.

  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::fontHasVerticalGlyphs):

1:18 PM Changeset in webkit [194550] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r194533.

The test that was re-enabled with this change is still flaky

Reverted changeset:

"Modern IDB TestExpectations gardening."
http://trac.webkit.org/changeset/194533

1:18 PM Changeset in webkit [194549] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.

12:49 PM Changeset in webkit [194548] by fpizlo@apple.com
  • 2 edits
    2 adds in trunk/Source/JavaScriptCore

FTL B3 should do the ArithSub binary snippet
https://bugs.webkit.org/show_bug.cgi?id=152705

Reviewed by Saam Barati.

This implements the ArithSub binary snippet generator in FTL B3.

While doing this, I discovered that the DFG type inference logic for ArithSub contains a
classic mistake: it causes the snippets to kick in when the type set does not contain numbers
rather than kicking in when the type set contains non-numbers. So, the original test that I
wrote for this doesn't work right (it runs to completion but OSR exits ad infinitum). I wrote
a second test that is simpler, and that one shows that the binary snippets "work". That's
sort of a joke though, since the only way to trigger binary snippets is to never pass numbers
and the only way to actually cause a binary snippet to do meaninful work is to pass numbers.
I filed a bug about this mess: https://bugs.webkit.org/show_bug.cgi?id=152708.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileUntypedBinaryOp):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::nonSpeculativeCompare):
(JSC::FTL::DFG::LowerDFGToLLVM::emitBinarySnippet):
(JSC::FTL::DFG::LowerDFGToLLVM::allocateCell):
(JSC::FTL::DFG::LowerDFGToLLVM::lowBlock):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitDescriptor):

  • tests/stress/object-sub.js: Added.

(foo):
(things.valueOf):

  • tests/stress/untyped-sub.js: Added.

(foo):
(valueOf):

12:39 PM Changeset in webkit [194547] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Add context menu items to CSS selectors to auto-generate pseudo selectors
https://bugs.webkit.org/show_bug.cgi?id=152657

Patch by Devin Rousso <Devin Rousso> on 2016-01-04
Reviewed by Timothy Hatcher.

Instead of having to copy a selector, create a new one, paste it, and then add
a pseudo class or element, a context menu item has been added to automate this
process for the user for each CSS pseudo-selector.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/CSSStyleManager.js:

Added a static object containing the list of CSS pseudo-element names.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype.addRule.completed):
(WebInspector.DOMNodeStyles.prototype.addRule.styleChanged):
(WebInspector.DOMNodeStyles.prototype.addRule.addedRule):
(WebInspector.DOMNodeStyles.prototype.addRule):
Now accepts a second argument for setting the starting text value of the new rule.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):

  • UserInterface/Views/VisualStyleSelectorTreeItem.js:

(WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):

12:37 PM Changeset in webkit [194546] by BJ Burg
  • 6 edits
    1 copy
    1 add in trunk/Source/WebInspectorUI

Web Inspector: add a DebugUI context menu item for saving inspector protocol traffic to file
https://bugs.webkit.org/show_bug.cgi?id=152671

Reviewed by Timothy Hatcher.

Add a new tracer that captures all messages, and debug context menu
items to control whether to capture protocol traffic and export it.
In later patches, a reciprocal "Import..." context menu item will
allow opening saved protocol traces and viewing them in a debug UI
content view for debugging/visualizing protocol traffic.

  • UserInterface/Base/Main.js:
  • UserInterface/Debug/CapturingProtocolTracer.js: Copied from Source/WebInspectorUI/UserInterface/Protocol/ProtocolTracer.js.

This tracer saves everything into a flat array. JSON protocol
messages are saved as escaped strings, in case they are not
valid JSON. We want to be able to debug such scenarios.

(WebInspector.CapturingProtocolTracer):
(WebInspector.CapturingProtocolTracer.prototype.get trace):
(WebInspector.CapturingProtocolTracer.prototype.logFrontendException):
(WebInspector.CapturingProtocolTracer.prototype.logProtocolError):
(WebInspector.CapturingProtocolTracer.prototype.logFrontendRequest):
(WebInspector.CapturingProtocolTracer.prototype.logDidHandleResponse):
(WebInspector.CapturingProtocolTracer.prototype.logDidHandleEvent):
(WebInspector.CapturingProtocolTracer.prototype._stringifyMessage):
(WebInspector.CapturingProtocolTracer.prototype._processEntry):

  • UserInterface/Debug/ProtocolTrace.js: Added.

This is a dumb container that holds protocol trace data. It will
be responsible for deserializing saved trace files in later work.

(WebInspector.ProtocolTrace):
(WebInspector.ProtocolTrace.prototype.addEntry):
(WebInspector.ProtocolTrace.prototype.get saveData):

  • UserInterface/Main.html:
  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass):

Simplify the implementation. Now there are one or two tracers
at any given time. The default tracer handles legacy logging
behavior and always exists. The custom tracer is installed when
the "Capture Protocol Traffic" context menu item is toggled.

Dispatch to the array of active tracers at each trace point.
Tracers now get the actual JSON message instead of a stringified
version passed as an argument.

(InspectorBackendClass.prototype.set dumpInspectorProtocolMessages):
(InspectorBackendClass.prototype.get dumpInspectorProtocolMessages):
(InspectorBackendClass.prototype.set dumpInspectorTimeStats):
(InspectorBackendClass.prototype.set customTracer):
(InspectorBackendClass.prototype.get activeTracers):
(InspectorBackendClass.prototype._startOrStopAutomaticTracing):
(InspectorBackendClass.prototype._sendMessageToBackend):
(InspectorBackendClass.prototype._dispatchResponse):
(InspectorBackendClass.prototype._dispatchEvent):
(InspectorBackendClass.prototype.set activeTracer): Deleted.
(InspectorBackendClass.prototype.get activeTracer): Deleted.

  • UserInterface/Protocol/LoggingProtocolTracer.js:

(WebInspector.LoggingProtocolTracer.prototype._processEntry):
(WebInspector.LoggingProtocolTracer):
(WebInspector.LoggingProtocolTracer.prototype.logFrontendRequest):
(WebInspector.LoggingProtocolTracer.prototype.logWillHandleResponse):
(WebInspector.LoggingProtocolTracer.prototype.logDidHandleResponse):
(WebInspector.LoggingProtocolTracer.prototype.logWillHandleEvent):
(WebInspector.LoggingProtocolTracer.prototype.logDidHandleEvent):

  • UserInterface/Protocol/ProtocolTracer.js:

(WebInspector.ProtocolTracer.prototype.logFrontendException):
(WebInspector.ProtocolTracer.prototype.logProtocolError):
(WebInspector.ProtocolTracer.prototype.logFrontendRequest):
(WebInspector.ProtocolTracer.prototype.logWillHandleResponse):
(WebInspector.ProtocolTracer.prototype.logDidHandleResponse):
(WebInspector.ProtocolTracer.prototype.logWillHandleEvent):
(WebInspector.ProtocolTracer.prototype.logDidHandleEvent):

11:51 AM Changeset in webkit [194545] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix Mac CMake build after r194378.

  • CMakeLists.txt:
11:39 AM Changeset in webkit [194544] by BJ Burg
  • 2 edits in trunk/Source/WebKit2

Web Inspector: reproducible debug ASSERT when inspecting the inspector (WK2)
https://bugs.webkit.org/show_bug.cgi?id=152080

Reviewed by Timothy Hatcher.

We hit an assert underneath ChildProcessProxy::addMessageReceiver when opening Inspector[2]
because we try to add WebInpectorProxy as a message receiver twice for the same process.

On investigating, I found several interrelated issues that caused this state of affairs:

  • WebInspectorProxy adds message receivers for inspector page's WebProcess and the

inspected page's WebProcess. When inspecting the inspector, we mistakenly add a receiver
again because the inspector is now the inspected page.

  • We mixed up process ids when adding message receivers.
  • invalidate() is re-entrant, causing us to try and double-remove the message receiver.

Fix this by removing add/remove of message recievers for the inspector page when then
inspected page is itself an inspector page. In that case, the receivers are managed by
the inspector page's WebInspectorProxy instance.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::invalidate): Re-arrange to guard against useless reentrancy.
(WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
(WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
(WebKit::WebInspectorProxy::didClose):

11:34 AM Changeset in webkit [194543] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, disable FTL B3 for now. I didn't intend to enable it yet.

  • dfg/DFGCommon.h:
11:33 AM Changeset in webkit [194542] by fpizlo@apple.com
  • 26 edits in trunk/Source/JavaScriptCore

B3 patchpoints should allow requesting scratch registers
https://bugs.webkit.org/show_bug.cgi?id=152669

Reviewed by Benjamin Poulain.

Scratch registers are something that we often need in many patchpoint use cases. In LLVM's
patchpoints, we didn't have a good way to request scratch registers. So, our current FTL code
often does crazy scratch register allocation madness even when it would be better to just ask
the backend for some registers. This patch adds a mechanism for requesting scratch registers
in B3, and wires it all the way to all of our register allocation and liveness
infrastructure.

From the standpoint of a patchpoint, a "scratch register" is an instruction argument that
only admits Tmp and is defined early (like an early clobber register) and is used late (like
what we previously called LateUse, except that this time it's also a warm use). We already
had the beginning of support for early def's because of early clobbers, and we already
supported late uses albeit cold ones. I really only needed to add one new role: "Scratch",
which means both early def and late use in much the same way as "UseDef" means both early
use and late def. But, it feels better to complete the set of roles, so I added LateColdUse
to differentiate from LateUse (which is now a warm use) and EarlyDef to differentiate from
Def (which is, and always has been, a late def). Forcing the code to deal with the full
matrix of possibilities resulted in what is probably a progression in how we handle defs in
the register and stack allocators. The new Inst::forEachDef(Inst*, Inst*, callback) fully
recognizes that a "def" is something that can come from either the preceding instruction or
the succeeding one.

This doesn't add any new functionality to FTL B3 yet, but the new scratch register mechanism
is covered by new testb3 tests.

  • b3/B3CheckSpecial.cpp:

(JSC::B3::CheckSpecial::isValid):
(JSC::B3::CheckSpecial::admitsStack):
(JSC::B3::CheckSpecial::generate):

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::lower):

  • b3/B3PatchpointSpecial.cpp:

(JSC::B3::PatchpointSpecial::forEachArg):
(JSC::B3::PatchpointSpecial::isValid):
(JSC::B3::PatchpointSpecial::admitsStack):
(JSC::B3::PatchpointSpecial::generate):

  • b3/B3PatchpointValue.cpp:

(JSC::B3::PatchpointValue::dumpMeta):
(JSC::B3::PatchpointValue::PatchpointValue):

  • b3/B3PatchpointValue.h:
  • b3/B3StackmapGenerationParams.cpp:

(JSC::B3::StackmapGenerationParams::unavailableRegisters):

  • b3/B3StackmapGenerationParams.h:

(JSC::B3::StackmapGenerationParams::gpScratch):
(JSC::B3::StackmapGenerationParams::fpScratch):

  • b3/B3StackmapSpecial.cpp:

(JSC::B3::StackmapSpecial::forEachArgImpl):
(JSC::B3::StackmapSpecial::isValidImpl):
(JSC::B3::StackmapSpecial::admitsStackImpl):
(JSC::B3::StackmapSpecial::repsImpl):
(JSC::B3::StackmapSpecial::isArgValidForValue):
(JSC::B3::StackmapSpecial::appendRepsImpl): Deleted.

  • b3/B3StackmapSpecial.h:
  • b3/air/AirAllocateStack.cpp:

(JSC::B3::Air::allocateStack):

  • b3/air/AirArg.cpp:

(WTF::printInternal):

  • b3/air/AirArg.h:

(JSC::B3::Air::Arg::isAnyUse):
(JSC::B3::Air::Arg::isColdUse):
(JSC::B3::Air::Arg::isEarlyUse):
(JSC::B3::Air::Arg::isLateUse):
(JSC::B3::Air::Arg::isAnyDef):
(JSC::B3::Air::Arg::isEarlyDef):
(JSC::B3::Air::Arg::isLateDef):
(JSC::B3::Air::Arg::isZDef):
(JSC::B3::Air::Arg::Arg):
(JSC::B3::Air::Arg::imm):
(JSC::B3::Air::Arg::isDef): Deleted.

  • b3/air/AirBasicBlock.h:

(JSC::B3::Air::BasicBlock::at):
(JSC::B3::Air::BasicBlock::get):
(JSC::B3::Air::BasicBlock::last):

  • b3/air/AirEliminateDeadCode.cpp:

(JSC::B3::Air::eliminateDeadCode):

  • b3/air/AirFixPartialRegisterStalls.cpp:

(JSC::B3::Air::fixPartialRegisterStalls):

  • b3/air/AirInst.cpp:

(JSC::B3::Air::Inst::hasArgEffects):

  • b3/air/AirInst.h:
  • b3/air/AirInstInlines.h:

(JSC::B3::Air::Inst::extraEarlyClobberedRegs):
(JSC::B3::Air::Inst::forEachDef):
(JSC::B3::Air::Inst::forEachDefWithExtraClobberedRegs):
(JSC::B3::Air::Inst::reportUsedRegisters):
(JSC::B3::Air::Inst::forEachTmpWithExtraClobberedRegs): Deleted.

  • b3/air/AirIteratedRegisterCoalescing.cpp:
  • b3/air/AirLiveness.h:

(JSC::B3::Air::AbstractLiveness::AbstractLiveness):
(JSC::B3::Air::AbstractLiveness::LocalCalc::execute):

  • b3/air/AirSpillEverything.cpp:

(JSC::B3::Air::spillEverything):

  • b3/air/AirTmpWidth.cpp:

(JSC::B3::Air::TmpWidth::recompute):

  • b3/air/AirUseCounts.h:

(JSC::B3::Air::UseCounts::UseCounts):

  • b3/testb3.cpp:

(JSC::B3::testPatchpointAny):
(JSC::B3::testPatchpointGPScratch):
(JSC::B3::testPatchpointFPScratch):
(JSC::B3::testPatchpointLotsOfLateAnys):
(JSC::B3::run):

11:27 AM Changeset in webkit [194541] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip failing test fast/animation/request-animation-frame-disabled.html on ios-simulator
fast/animation/request-animation-frame-disabled.html

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
11:24 AM Changeset in webkit [194540] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Re-enable fast/animation tests on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=137588

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
11:20 AM Changeset in webkit [194539] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Comma separated values in the Visual sidebar are appended with )
https://bugs.webkit.org/show_bug.cgi?id=152653

Patch by Devin Rousso <Devin Rousso> on 2016-01-04
Reviewed by Timothy Hatcher.

  • UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:

(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
Modified the RexExp used to split the comma separated value to account for strings
with commas inside parenthesis (such as rgba() or hsla()) as well as ones without
commas (such as "arial" and "red").

11:09 AM Changeset in webkit [194538] by achristensen@apple.com
  • 3 edits in trunk/Source/WebKit2

Build fix after r194536 when using NetworkSession.

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::dataTaskBecameDownloadTask):
(WebKit::DownloadManager::convertHandleToDownload):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
WTFMove changed underneath me.

10:55 AM Changeset in webkit [194537] by achristensen@apple.com
  • 2 edits in trunk

Fix Mac CMake build after r194454.

  • Source/cmake/OptionsMac.cmake:

_macosx, _iphoneos, and _iphonesimulator are used in FeatureDefines.xcconfig but won't be used in CMake.
If we actually switch to CMake, we will need to verify that all the feature enabling is equivalent, and it isn't right now.

10:16 AM Changeset in webkit [194536] by achristensen@apple.com
  • 10 edits in trunk/Source/WebKit2

Progress towards implementing downloads with NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=152576

Reviewed by Brady Eidson.

  • NetworkProcess/Downloads/Download.cpp:

(WebKit::Download::Download):
(WebKit::Download::~Download):
(WebKit::Download::didStart):
(WebKit::Download::didReceiveAuthenticationChallenge):

  • NetworkProcess/Downloads/Download.h:

(WebKit::Download::downloadID):

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::dataTaskBecameDownloadTask):
(WebKit::DownloadManager::convertHandleToDownload):

  • NetworkProcess/Downloads/DownloadManager.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::convertTaskToDownload):

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

(WebKit::NetworkDataTask::client):
(WebKit::NetworkDataTask::clearClient):
(WebKit::NetworkDataTask::downloadID):
(WebKit::NetworkDataTask::setDownloadID):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):

10:10 AM Changeset in webkit [194535] by Brent Fulgham
  • 8 edits in trunk/Source/WebCore

[Win] Clean up some Windows WebCore files
https://bugs.webkit.org/show_bug.cgi?id=148275

Reviewed by Dean Jackson.

No new tests because there is no behavior change.

Update a handful of Windows-specific WebCore files to use
the proper method signatures for our updated interfaces,
get rid of cruft in the COM bindings, and use proper C++14
initializers.

  • accessibility/win/AccessibilityObjectWrapperWin.h:
  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
  • platform/win/PopupMenuWin.cpp:
  • platform/win/PopupMenuWin.h:
  • platform/win/WCDataObject.cpp:
  • platform/win/WCDataObject.h:
9:43 AM Changeset in webkit [194534] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Fix the !ENABLE(INTL) build after r193493
https://bugs.webkit.org/show_bug.cgi?id=152689

Reviewed by Alex Christensen.

  • runtime/NumberPrototype.cpp:

(JSC::NumberPrototype::finishCreation):

9:41 AM Changeset in webkit [194533] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

Modern IDB TestExpectations gardening.

Rubberstamped by Andy Estes.

  • platform/mac-wk1/TestExpectations: Remove the failure entry for a test that passes.
8:13 AM Changeset in webkit [194532] by Michael Catanzaro
  • 6 edits in trunk/Source/WebKit2

[GTK] Rename _WebKitWebContextPrivate.context to _WebKitWebContextPrivate.processPool
https://bugs.webkit.org/show_bug.cgi?id=152672

Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitDownloadClient.cpp:

(attachDownloadClientToContext):

  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(attachInjectedBundleClientToContext):

  • UIProcess/API/gtk/WebKitSecurityManager.cpp:

(registerSecurityPolicyForURIScheme):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed):
(webkitWebContextDispose):
(webkit_web_context_set_cache_model):
(webkit_web_context_get_cache_model):
(webkit_web_context_clear_cache):
(webkit_web_context_get_cookie_manager):
(ensureFaviconDatabase):
(webkit_web_context_set_favicon_database_directory):
(webkit_web_context_set_additional_plugins_directory):
(webkitWebContextGetPluginThread):
(webkit_web_context_set_tls_errors_policy):
(webkit_web_context_set_disk_cache_directory):
(webkit_web_context_prefetch_dns):
(webkit_web_context_allow_tls_certificate_for_host):
(webkit_web_context_set_process_model):
(webkit_web_context_set_web_process_count_limit):
(webkitWebContextStartDownload):
(webkitWebContextGetProcessPool):
(webkitWebContextCreatePageForWebView):
(webkitWebContextGetContext): Deleted.

  • UIProcess/API/gtk/WebKitWebContextPrivate.h:
8:09 AM Changeset in webkit [194531] by Csaba Osztrogonác
  • 6 edits in trunk/Source/JavaScriptCore

JSC generator scripts shouldn't have verbose output
https://bugs.webkit.org/show_bug.cgi?id=152382

Reviewed by Michael Catanzaro.

  • b3/air/opcode_generator.rb:
  • generate-bytecode-files:
  • offlineasm/asm.rb:
  • offlineasm/generate_offset_extractor.rb:
  • offlineasm/parser.rb:
5:35 AM Changeset in webkit [194530] by commit-queue@webkit.org
  • 8 edits in trunk/Source

[JSC] Build B3 by default on iOS ARM64
https://bugs.webkit.org/show_bug.cgi?id=152525

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-04
Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Minor changes required to get testb3 to compile.

  • Configurations/ToolExecutable.xcconfig:

We need an entitlement to allocate executable memory.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::scratchRegister):
(JSC::MacroAssemblerARM64::getCachedDataTempRegisterIDAndInvalidate):
(JSC::MacroAssemblerARM64::getCachedMemoryTempRegisterIDAndInvalidate):
Expose one of the scratch registers for ValueRep::emitRestore().
Guard the use of scratch registers when not allowed.

  • b3/air/AirOpcode.opcodes:

ARM addressing is a bit different. Skip Addr to make things build.

  • b3/testb3.cpp:

(JSC::B3::testPatchpointWithStackArgumentResult):
Add on memory only exists on x86.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::macroScratchRegisters):
Add the two scratch registers, useful for patchpoints.

Source/WTF:

  • wtf/Platform.h:
4:58 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
3:30 AM Changeset in webkit [194529] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Simplify the CachedScript ASCII optimization.
<https://webkit.org/b/152596>

Reviewed by Antti Koivisto.

There's actually no need to keep a non-copying StringImpl around for the
CachedScript's internal SharedBuffer. Get rid of that so we don't need
to fidget with that string when the SharedBuffer changes underneath.

Renamed CachedScript::ASCIIOptimizationState to DecodingState to better
reflect what it's used for. Also added explicit caching of the string
hash since we can't rely on a StringImpl to keep that around now.

Bonus: Implement Darin's suggestion to let TextEncoding answer whether
an encoding is byte-based and thus eligible for the ASCII optimization.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::tryReplaceEncodedData): Deleted.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::didReplaceSharedBufferContents): Deleted.

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::script):
(WebCore::CachedScript::scriptHash):
(WebCore::encodingMayBeAllASCII): Deleted.
(WebCore::CachedScript::didReplaceSharedBufferContents): Deleted.

  • loader/cache/CachedScript.h:
  • platform/text/TextEncoding.h:

(WebCore::TextEncoding::isByteBasedEncoding):

3:15 AM Changeset in webkit [194528] by Philippe Normand
  • 8 edits in trunk/Source/WebCore

[GStreamer] A video element isn't drawn onto the canvas.
https://bugs.webkit.org/show_bug.cgi?id=132671

Reviewed by Michael Catanzaro.

When both cairo-gl and gst-gl are available the texture coming
from glimagesink can be used to create a cairo-gl surface that can
be used for video rendering within a canvas element.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage): Use NativeImage
drawing if both cairo-gl and gst-gl are available.

  • platform/graphics/GraphicsContext.h: Implement drawNativeImage

for Cairo GraphicsContext.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawNativeImage): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

Implement nativeImageForCurrentTime(), this method is used by the
canvas rendering context.
(WebCore::MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
12:56 AM WebKitGTK/Gardening/Calendar edited by sergio@webkit.org
(diff)

Jan 3, 2016:

9:20 PM Changeset in webkit [194527] by Michael Catanzaro
  • 4 edits in trunk/Source/WebCore

[GTK] Fix -Wpessimizing-move warnings after switch to WTFMove
https://bugs.webkit.org/show_bug.cgi?id=152677

Reviewed by Andy Estes.

  • platform/glib/KeyedDecoderGlib.cpp:

(WebCore::KeyedDecoderGlib::dictionaryFromGVariant):

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::createContext):

  • platform/graphics/glx/GLContextGLX.cpp:

(WebCore::GLContextGLX::createContext):

8:57 PM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
7:48 PM Changeset in webkit [194526] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:] is missing an m_handle->client() NULL check
<https://webkit.org/b/152673>
<rdar://problem/23560530>

Reviewed by Daniel Bates.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Add NULL check for m_handle->client() so we don't crash due to a
NULL dereference inside the dispatch_async() block.

7:35 PM Changeset in webkit [194525] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Unreviewed, turn off temporary scrolling logging on GTK
https://bugs.webkit.org/show_bug.cgi?id=152649

  • platform/Logging.cpp:

(WebCore::initializeLoggingChannelsIfNecessary): Deleted.

6:58 PM Changeset in webkit [194524] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Visual sidebar selector section displays inherited section for non-editable rules
https://bugs.webkit.org/show_bug.cgi?id=152659

Patch by Devin Rousso <Devin Rousso> on 2016-01-03
Reviewed by Brian Burg.

  • UserInterface/Views/VisualStyleSelectorSection.js:

(WebInspector.VisualStyleSelectorSection.prototype.update):
Only add a new inherited section header if it will contain at least one inherited rule.

6:36 PM Changeset in webkit [194523] by jonlee@apple.com
  • 15 edits in trunk/PerformanceTests

Update data reporting and analysis
https://bugs.webkit.org/show_bug.cgi?id=152670

Reviewed by Simon Fraser.

Show new graph data. Provide controls to show different series data. Provide an
interactive cursor that shows the data at a given sample.

  • Animometer/developer.html: Add a nav section in #results. Each part of the graph

has a checkbox for visual toggling, as well as companion spans to contain the data.

The numbers will always be shown even if the SVG isn't.

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

(#suites): Adjust spacing when doing fixed complexity.
(#test-graph nav): Place the nav in the upper right corner.
(#test-graph-data > svg): Fix the FPS scale from 0-60. It makes the raw FPS goes past
that scale. Allow it to show.
(.target-fps): Add a dotted line for where the benchmark is supposed to settle for FPS.
(#cursor line): The cursor contains a line and highlight circles for the data being shown.
(#cursor circle):
(#complexity path): This and rules afterward are named by series type.
(#complexity circle):
(#filteredFPS path):
(#filteredFPS circle):
(#rawFPS path):
(#intervalFPS circle):
(.left-samples): Deleted.
(.right-samples): Deleted.

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

(initialize): Add a "changed" listener when the checkboxes change in the nav.
(onBenchmarkOptionsChanged): Renamed.
(showTestGraph): All graph data is passed in as graphData instead of as arguments.

  • Animometer/resources/debug-runner/graph.js: Extend BenchmarkController. When showing

a new graph, call updateGraphData(). It creates all of the d3 graphs. onGraphOptionsChanged()
toggles the data on and off.
(updateGraphData): Add the axes. Add the average lines and markers for sample time and
target FPS. Add the cursor group. Use helper function addData() to add the data. On top of
everything add a transparent area which will catch all of the mouse events. When the mouse
moves in the graph, find the closest data point, show the data in the nav area, and highlight
the data points.
(addData): Adds a line and circle for each data point. Also adds a highlight cursor with a
size a little larger than the circle radius for the data points.
(onGraphOptionsChanged): Called when data is visually toggled.
(showOrHideNodes): Helper function to toggle the .hidden class.

  • Animometer/resources/extensions.js:

(ResultsDashboard.prototype.get data): Get rid of the arguments for _processData.
(ResultsTable.prototype._addGraphButton): Shove all of the graph data into a singular object.

Producing the JSON can take a while with all of the data. Make it on-demand with a
button.

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

(showResults): When showing the results, don't serialize the JSON data. Move that to...
(showJSONResults): ...here. Remove the button.

  • Animometer/developer.html: Add a button. The button will remove itself and populate

the textarea with the JSON data.

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

(.hidden): Add a universal hidden class.
(#results button.small-button): Promote the small-button styles to the whole results
section for use in the JSON button.
(#results button.small-button:active):
(#results-data button.small-button): Deleted.
(#results-data button.small-button:active): Deleted.

Refactor how Animator does its recording.

  • Animometer/tests/resources/math.js: Create a new, simple estimator that just returns

the same interval frame rate for adjustment.

  • Animometer/tests/resources/main.js:

(Animator): Remove _dropFrameCount, and make variables more accurate described.
(Animator.prototype.initialize): Use the identity estimator instead of using a bool.
(Animator.prototype._intervalTimeDelta): Rename, only used internally.
(Animator.prototype._shouldRequestAnotherFrame): Assume we drop one frame for adjustment
of the scene. If we are within the number of frames to measure for the interval, just
record the timestamp. Otherwise we are ready to evaluate and adjust the scene. Record
the interval frame rate and the estimator's frame rate.

Avoid processing the data through the Experiment while the test is running. Reconfigure
the sampler to just record the raw samples. After the test is done, run the samples through
the Experiment to get the score.

  • Animometer/resources/sampler.js:

(Experiment): Fold _init() into the constructor since nobody else will call it. This is not
needed until the test concludes, so remove startSampling(). Clients should just call sample().
(Sampler): Pre-allocate arrays given the number of data points being recorded, and a capacity
of how many samples will be used. The processor is a called when it's time to process the data
since that is the client also telling the Sampler what to record.

Introduce the notion of marks as well, which allows the client to mark when an

event occurs. When we mark sample start, we can attach the timestamp there, instead of storing
it separately.
(Sampler.prototype.startSampling): Deleted. Clients should just call record().
(Sampler.prototype.record): The data to record is passed in as variable arguments.
(Sampler.prototype.mark): When adding a mark, a client needs to provide a unique string, and
can provide extra data object for later retrieval.
(Sampler.prototype.process): Renamed from toJSON. Trim the sampling arrays to what was used.
Call the processor to process the samples.

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

(BenchmarkRunner.prototype._runBenchmarkAndRecordResults): Call process().

  • Animometer/resources/strings.js: Add some new strings, remove the graph ones since they are

not used.

  • Animometer/tests/resources/main.js:

(Benchmark): Create a sampler with 4 series. The maximum number of points expected is the
number of seconds multiplied by 60 fps. Benchmark, as a client of the Sampler, knows about all
of the data being added to the Sampler. It is added through record(), and processed through
processSamples().
(Benchmark.prototype.update): Mark when we've passed warmup and are starting to sample. Include
the timestamp in the custom data for the mark. This avoids the need to store is separately in
the Sampler. Fold what was in record() here, since nothing else needs this functionality.
record() now just relays the information to the sampler.
(Benchmark.prototype.record): Called by Animator, which provides the data to the sampler.
Animator's calls to this is part of a later patch. Requires each stage to return its complexity.
(Benchmark.prototype.processSamples): If the sampling mark exists, add it to the results.

Go through all of the samples. All samples contain a timestamp and complexity. We

calculate "raw FPS" which is the time differential from the previous sample. At regular intervals
the Kalman-filtered FPS and the interval average FPS are also recorded. We also create two
experiments, to get the scores for the complexity and smoothed FPS, and add those samples to
the experiments. Grab those scores and add them into results also.

Add complexity() to the tests for Benchmark.record().

  • Animometer/tests/bouncing-particles/resources/bouncing-particles.js:
  • Animometer/tests/misc/resources/canvas-electrons.js:
  • Animometer/tests/misc/resources/canvas-stars.js:
  • Animometer/tests/text/resources/layering-text.js:
5:19 PM Changeset in webkit [194522] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Fix Windows build after r194515.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::scrollOffset):
(WebCore::PopupMenuWin::scrollPosition): Renamed.

  • platform/win/PopupMenuWin.h:
3:05 PM Changeset in webkit [194521] by jonlee@apple.com
  • 3 edits in trunk/PerformanceTests

Simplify the test harness
https://bugs.webkit.org/show_bug.cgi?id=152562

Reviewed by Simon Fraser.

Update the simple canvas tests. For the paths, start from the center instead of the
top-left corner. Instead of using a coordinate limit, use a canonized factor, and
use that along both the x and y axes, so that more capable tests use more of the
canvas.

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

(CanvasLinePoint): Rewrite to use the coordinate maximum factor.
(CanvasQuadraticPoint): Ditto.
(CanvasBezierPoint): Ditto.

  • Animometer/tests/simple/resources/simple-canvas.js:

(tune): Calculate a factor instead of a maximum coordinate.

3:02 PM Changeset in webkit [194520] by jonlee@apple.com
  • 42 edits
    2 copies
    2 adds
    2 deletes in trunk/PerformanceTests

Simplify the test harness
https://bugs.webkit.org/show_bug.cgi?id=152562

Reviewed by Simon Fraser.

All of the benchmarks use the default Animator(). Don't require new tests
to pass a new instance, and instead just make one in the Benchmark constructor.

  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-css-images.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js:
  • Animometer/tests/master/resources/canvas-tests.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:
  • Animometer/tests/template/resources/template-canvas.js:
  • Animometer/tests/template/resources/template-css.js:
  • Animometer/tests/template/resources/template-svg.js:
  • Animometer/tests/text/resources/layering-text.js:
  • Animometer/tests/text/resources/text-boxes.js:

Refactor the template.

  • Animometer/tests/template/resources/template-canvas.js:
  • Animometer/tests/template/resources/template-css.js:
  • Animometer/tests/template/resources/template-svg.js:
  • Animometer/tests/template/template-canvas.html:
  • Animometer/tests/template/template-css.html:
  • Animometer/tests/template/template-svg.html:

Refactor the SVG suite.

  • Animometer/tests/bouncing-particles/bouncing-svg-images.html: Move scripts to the end.
  • Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: Ditto.
  • Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Remove extraneous includes

to stage.js.

  • Animometer/tests/text/text-boxes.html: Ditto.

BouncingCanvasParticlesBenchmark is not necessary. Use Benchmark directly when subclassing.

  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Remove

BouncingCanvasParticlesBenchmark.

  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: Use Benchmark.
  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Ditto.
  • Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: Require the shape

in the constructor instead of having subclasses set the private variable.

  • Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: Refactor.
  • Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js:

Refactor the HTML suite.

Move scripts to the end.

  • Animometer/tests/bouncing-particles/bouncing-css-images.html:
  • Animometer/tests/bouncing-particles/bouncing-css-shapes.html:
  • Animometer/tests/text/layering-text.html:
  • Animometer/tests/text/text-boxes.html:

Refactor to use the new variables.

  • Animometer/tests/bouncing-particles/resources/bouncing-css-images.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js:
  • Animometer/tests/text/resources/layering-text.js:
  • Animometer/tests/text/resources/text-boxes.js:

Refactor the bouncing canvas tests.

  • Animometer/tests/bouncing-particles/bouncing-canvas-images.html: Move scripts to the end.
  • Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Move scripts to the end.
  • Animometer/tests/bouncing-particles/resources/bouncing-particles.js: Promote a few

properties to "public" since they are used by subclasses.
(BouncingParticlesStage): Fix the constructor, which was missing "this". Make particles
"public" for subclasses.
(BouncingParticlesStage.initialize): Fix the max velocity, which was accidentally changed.

  • Animometer/tests/misc/resources/compositing-transforms.js: Refactor.
  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js:

BouncingCanvasParticlesAnimator is no longer needed.
(BouncingCanvasParticle): Change constructor to take a shape as a parameter instead of
having subclasses set the variable.

  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: Refactor.
  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Refactor.

Move example/ files into misc/.

  • Animometer/tests/misc/canvas-electrons.html: Renamed from PerformanceTests/Animometer/tests/examples/canvas-electrons.html.
  • Animometer/tests/misc/canvas-stars.html: Renamed from PerformanceTests/Animometer/tests/examples/canvas-stars.html.
  • Animometer/tests/misc/resources/canvas-electrons.js: Renamed from PerformanceTests/Animometer/tests/examples/resources/canvas-electrons.js.
  • Animometer/tests/misc/resources/canvas-stars.js: Renamed from PerformanceTests/Animometer/tests/examples/resources/canvas-stars.js.
  • Animometer/resources/debug-runner/tests.js: Update test URLs.

Refactor miscellaneous suite.

  • Animometer/tests/bouncing-particles/resources/bouncing-particles.js:

Remove BouncingParticlesAnimator and BouncingParticleBenchmark, which are
not needed.
(tune): Remove console assert.

  • Animometer/tests/resources/main.js: Add Rotater back in from stage.js.
  • Animometer/tests/examples/resources/canvas-electrons.js: Remove CanvasElectronsAnimator.
  • Animometer/tests/examples/resources/canvas-stars.js: Remove CanvasStarsAnimator.
  • Animometer/tests/misc/resources/compositing-transforms.js:
  • Animometer/tests/examples/canvas-electrons.html: Move scripts to the end.
  • Animometer/tests/examples/canvas-stars.html: Ditto.
  • Animometer/tests/misc/compositing-transforms.html: Ditto.

Refactor the simple suite.

  • Animometer/tests/master/resources/canvas-stage.js:

(tune): Remove coordinateMaximum since it is not needed in any
of the master tests.

  • Animometer/tests/simple/resources/simple-canvas.js:

SimpleCanvasAnimator and SimpleCanvasBenchmark are no longer
needed.
(tune): Manage the objects differently, but instead of duplicating
all of SimpleCanvasStage here, just replace tune(). Include
coordinateMaximum, and remove items from the end of the list
instead of the beginning.
(StageBenchmark.call.createAnimator): Deleted.
(StageBenchmark.call): Deleted.

  • Animometer/tests/simple/resources/simple-canvas-paths.js:
  • Animometer/tests/simple/simple-canvas-paths.html: Move

scripts to the end.

Get rid of stage.js, StageAnimator, and StageBenchmark. Don't have the progress bar update during the test.

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

(initialize): Move the setting of testsCount to the debug runner.
(didRunTest): Nicer name.

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

(BenchmarkRunner.prototype._runBenchmarkAndRecordResults): Don't pass in the progress bar to benchmarks.

  • Animometer/resources/extensions.js:

(ProgressBar): Refactor. Make variables "private". Resetting the progress when instantiating.
(ProgressBar.prototype.incrementRange): This is called every time a benchmark completes.

  • Animometer/resources/runner/animometer.js:

(window.benchmarkRunnerClient.initialize): Remove unneeded setting of testsCount.

  • Animometer/resources/strings.js: These are no longer needed.
  • Animometer/tests/master/canvas-stage.html: Remove script inclusion. Other tests will follow.
  • Animometer/tests/master/resources/canvas-tests.js: Use Benchmark instead of StageBenchmark.
  • Animometer/tests/resources/main.js: Messages are no longer needed

(Animator.prototype._shouldRequestAnotherFrame): Rename from animate(), since this method returns a boolean
indicating whether another frame should be requested. Collapse the logic from StageAnimator into animateLoop.
(BenchmarkState.prototype.currentStage): Deleted.
(BenchmarkState.prototype.currentMessage): Deleted.
(BenchmarkState.prototype.currentProgress): Deleted.
(Animator.prototype.animate): Deleted.
(Animator.prototype.animateLoop): The stage is animated only when we have another frame to draw.
(Benchmark.prototype.record): No need to update the progress bar.

  • Animometer/tests/resources/stage.js: Removed. Rotater will appear in a later patch, in main.js.
  • Animometer/resources/debug-runner/benchmark-runner.js:

(BenchmarkRunner.prototype._runBenchmarkAndRecordResults): Each test is run as a benchmark.
Remove the call to runBenchmark by merging the options here, and calling benchmark.run()
directly.

Make the class relationships more easily understandable. The benchmark owns the stage,
animator, and options. Make the stage and animator no longer have their own references to
the options. Make Stage a first-class citizen by promoting it to main.js. Later patches
will try to get rid of stage.js altogether.

  • Animometer/tests/resources/main.js:

(Stage): Moved from stage.js.
(Animator): Don't pass in benchmark and options in its constructor. It will get initialized
by benchmark-related parameters in initialize().
(Animator.prototype.initialize): Add a back-reference to benchmark and cache an option.
(Animator.prototype.get benchmark):
(Animator.prototype.animate): Refactor to use the cached option, to remove its dependency on
the options dictionary.
(Benchmark): Require all benchmarks to have a stage and animator. The instance will initialize
them.
(Benchmark.prototype.get options):
(Benchmark.prototype.get stage): BenchmarkStates.stages will need to be renamed to avoid confusion.
(Benchmark.prototype.get animator):
(Benchmark.prototype.start):
(Benchmark.prototype.update): Ask the stage directly to tune or clear instead of adding another
level of indirection.
(window.runBenchmark): Deleted. Remove the need for a benchmarkClient. Also remove the standalone
path, since tests can be individually selected, and remove the need for runBenchmark since that is
handled in BenchmarkRunner._runBenchmarkAndRecordResults.

  • Animometer/tests/resources/stage.js:

(Stage): Deleted. Moved to main.js.
(StageBenchmark): What's left is updating the progress bar; to be removed.
(StageAnimator): What's left can be folded in Animator.

Refactor master suite.

  • Animometer/tests/master/resources/canvas-stage.js: This now only has SimpleCanvasStage.

(animate): Push the clearRect() into each stage.
(complexity):
(StageBenchmark.call.createAnimator): Deleted.
(StageBenchmark.call): Deleted.

  • Animometer/tests/master/resources/canvas-tests.js: SimpleCanvasPathStrokeStage is no longer needed.

(CanvasLineSegment.prototype.draw):
(CanvasArc):
(CanvasLinePoint): Remove the draw call because depending on its index it either needs to be moveTo
or lineTo, and it is otherwise a very small draw operation that doesn't need the overhead of the
function call. Do all of the drawing through the stage.

Refactor the subclass pattern. Introduce Utilities.createSubclass().

  • Animometer/resources/debug-runner/benchmark-runner.js:
  • Animometer/resources/extensions.js:

(window.Utilities.createSubclass): Takes the super class, a function representing
the class's constructor, and additional methods to attach to the new class's
prototype object.

  • Animometer/tests/text/text-boxes.html: Remove unneeded reference to utilities.js.

Refactor tests.

  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-css-images.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-images.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js:
  • Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js:
  • Animometer/tests/examples/resources/canvas-electrons.js:
  • Animometer/tests/examples/resources/canvas-stars.js:
  • Animometer/tests/master/resources/canvas-stage.js:
  • Animometer/tests/master/resources/canvas-tests.js:
  • Animometer/tests/misc/resources/compositing-transforms.js:
  • Animometer/tests/resources/stage.js:
  • Animometer/tests/simple/resources/simple-canvas-paths.js:
  • Animometer/tests/simple/resources/simple-canvas.js:
  • Animometer/tests/template/resources/template-canvas.js:
  • Animometer/tests/template/resources/template-css.js:
  • Animometer/tests/template/resources/template-svg.js:
  • Animometer/tests/text/resources/layering-text.js: Reorder some of the methods

and properties since they rely on each other.

  • Animometer/tests/text/resources/text-boxes.js:
  • Animometer/resources/debug-runner/animometer.js: Arrange calls

in the order they are evoked.

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

(BenchmarkRunnerState.prototype.next): Get rid of return value since
no caller to next() uses it.
(BenchmarkRunnerState.prototype.prepareCurrentTest): Refactor the
promise to resolve simply when onload() is called instead of
looking for #stage.
(BenchmarkRunner.prototype._runTestAndRecordResults): Suite.run
simply calls runBenchmark(). Call it directly rather than through
the Suite.
(BenchmarkRunner.prototype.step): Remove unused parameter in
resolve callback.
(BenchmarkRunner.prototype.runMultipleIterations): Use this instead
of self since it is outside of the closure which needed the self
variable.
(resolveIfReady): Deleted.
(BenchmarkRunner.prototype.waitForElement): Deleted.

  • Animometer/resources/runner/tests.js: prepare() and run() are

no longer needed.
(Suite.prototype.prepare): Deleted.
(Suite.prototype.run): Deleted.

  • Animometer/tests/master/canvas-stage.html: Move all scripts to

the end of the page.

12:37 PM Changeset in webkit [194519] by akling@apple.com
  • 3 edits in trunk/Source/WTF

Unreviewed, rolling out r194510.

Broke 2 API tests, no time to investigate right now

Reverted changeset:

"StringBuilder often creates two StringImpls."
https://bugs.webkit.org/show_bug.cgi?id=152662
http://trac.webkit.org/changeset/194510

12:26 PM Changeset in webkit [194518] by commit-queue@webkit.org
  • 7 edits in trunk/Source

WebKit fails to build with musl libc library
https://bugs.webkit.org/show_bug.cgi?id=152625

Patch by Khem Raj <raj.khem@gmail.com> on 2016-01-03
Source/JavaScriptCore:

Reviewed by Daniel Bates.

Qualify isnan() calls with std namespace.

  • runtime/Options.cpp:

(Option::operator==): Add std namespace qualifier.

Source/WebCore:

Reviewed by Daniel Bates and Alexey Proskuryakov.

malloc_trim is glibc specific API so guard it with GLIBC.

  • platform/linux/MemoryPressureHandlerLinux.cpp:

(MemoryPressureHandler::platformReleaseMemory): Guard malloc_trim()
call with GLIBC_.

Source/WTF:

Reviewed by Daniel Bates.

Disable ctype.h check for musl C library on Linux.
Enable backtrace on Linux when using glibc.
We don't have backtrace() implemented on non-glibc system
C libraries on Linux e.g. musl.

  • wtf/DisallowCType.h: Check for GLIBC.
  • wtf/Assertions.cpp:

(WTFGetBacktrace): Check if libc is glibc.

12:07 PM Changeset in webkit [194517] by fpizlo@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Fix ChangeLog entry for http://trac.webkit.org/changeset/194505

12:06 PM Changeset in webkit [194516] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Minor cleanup in ScrollAnimator
https://bugs.webkit.org/show_bug.cgi?id=152656

Reviewed by Dan Bernstein.

Hide the fact that ScrollAnimator's m_currentPosX/m_currentPosY is not a FloatPoint
as much as possible.

Do offset -> position conversion in ScrollAnimator::scrollToOffsetWithoutAnimation().
This is a behavior change, but I could never hit this code on Mac.

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
(WebCore::ScrollAnimator::setCurrentPosition):
(WebCore::ScrollAnimator::updateActiveScrollSnapIndexForOffset):
(WebCore::ScrollAnimator::notifyPositionChanged):
(WebCore::ScrollAnimator::immediateScrollOnAxis):
(WebCore::ScrollAnimator::ScrollAnimator): Deleted.
(WebCore::ScrollAnimator::currentPosition): Deleted.

  • platform/ScrollAnimator.h:

(WebCore::ScrollAnimator::ScrollAnimator::currentPosition):
(WebCore::ScrollAnimator::ScrollAnimator::setCurrentPositionInternal):

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::scroll):
(WebCore::ScrollAnimatorMac::immediateScrollToPosition):
(WebCore::ScrollAnimatorMac::immediateScrollBy):

11:50 AM Changeset in webkit [194515] by Simon Fraser
  • 12 edits in trunk/Source

Rename scrollPosition(Scrollbar*) to scrollOffset(ScrollbarOrientation)
https://bugs.webkit.org/show_bug.cgi?id=152666

Reviewed by Dan Bernstein.

Scrollbar values take offsets (zero-based), so rename the accessor used
by scrollbars to set their value, and pass in an orientation, rather than
a pointer to the scrollbar.

Source/WebCore:

  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollOffset): Use scrollOffsetFromPosition rather than
manually adding scrollOrigin.
(WebCore::ScrollView::scrollPosition): Renamed.

  • platform/ScrollView.h:

(WebCore::ScrollView::cachedScrollPosition):

  • platform/ScrollableArea.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::Scrollbar):
(WebCore::Scrollbar::offsetDidChange):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollOffset):
(WebCore::RenderLayer::scrollPosition): Renamed.

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

(WebCore::RenderListBox::scrollOffset):
(WebCore::RenderListBox::scrollPosition): Renamed.

  • rendering/RenderListBox.h:

Source/WebKit2:

  • WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
  • WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:

(WebKit::PDFPlugin::scrollOffset):
(WebKit::PDFPlugin::scrollPosition): Renamed.

10:06 AM Changeset in webkit [194514] by Simon Fraser
  • 14 edits
    2 adds in trunk

scrollLeft returns different values for viewport and non-viewport scrolling with rtl
https://bugs.webkit.org/show_bug.cgi?id=94405
rdar://problem/21829754

Reviewed by Zalan Bujtas.

Source/WebCore:

Use scrollPosition for DOM-exposed scroll* values on overflow scroll elements,
matching the CSS OM View spec, and Gecko behavior.

Test: fast/scrolling/programmatic-overflow-rtl-scrollIntoView.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::scrollLeft):
(WebCore::RenderBox::scrollTop):
(WebCore::RenderBox::setScrollLeft):
(WebCore::RenderBox::setScrollTop):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollToXPosition):
(WebCore::RenderLayer::scrollToYPosition):

  • rendering/RenderLayer.h:

LayoutTests:

programmatic-overflow-rtl-scrollIntoView.html is a basic test for negative scrollLeft
in an RTL scroller.

Other tests are fixed to programmatically scroll to negative scroll positions.

  • compositing/rtl/rtl-overflow-scrolling.html:
  • fast/overflow/scroll-div-hide-show-expected.txt:
  • fast/overflow/scroll-div-hide-show.html:
  • fast/repaint/horizontal-bt-overflow-parent.html:
  • fast/repaint/horizontal-bt-overflow-same.html:
  • fast/repaint/vertical-overflow-parent.html:
  • fast/repaint/vertical-overflow-same.html:
  • fast/scrolling/programmatic-overflow-rtl-scrollIntoView-expected.txt: Added.
  • fast/scrolling/programmatic-overflow-rtl-scrollIntoView.html: Added.
  • fast/writing-mode/flipped-blocks-hit-test-overflow-scroll.html:
  • imported/blink/compositing/overflow/rtl-overflow.html:
8:56 AM Changeset in webkit [194513] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Some cleanup in ScrollAnimator
https://bugs.webkit.org/show_bug.cgi?id=152649

Try to fix GTK scroll position errors in RTL.

ScrollAnimatorNone::scrollToOffsetWithoutAnimation() was failing to map from
offset to position.

Also add logging in ScrollableArea::scrollToOffsetWithoutAnimation().

  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):

8:39 AM Changeset in webkit [194512] by Michael Catanzaro
  • 2 edits in trunk/Tools

Unreviewed, move Frédéric Wang to committers list

He seems to be on the contributors list by accident. He has been landing his own commits for
about two years now.

  • Scripts/webkitpy/common/config/contributors.json:
8:16 AM Changeset in webkit [194511] by Michael Catanzaro
  • 2 edits in trunk/Tools

Unreviewed, move Sebastian Dröge to committers list harder

He accidentally added himself to the reviewers list because the file is confusing. Then I
accidentially moved him to the contributors list because the file is confusing, even though
I knew the contributors list existed in this file and was attempting to add him to the
committers list. Really move him to the committers list now.

  • Scripts/webkitpy/common/config/contributors.json:
8:12 AM Changeset in webkit [194510] by akling@apple.com
  • 3 edits in trunk/Source/WTF

StringBuilder often creates two StringImpls.
<https://webkit.org/b/152662>

Reviewed by Anders Carlsson.

If StringBuilder didn't manage to guess the exact final length of the
string being built, it would still keep the buffer around, and the final
build process would then return a substring into that buffer.

This effectively yielded two StringImpls instead of one, with the substring
retaining the longer buffer StringImpl.

This patch improves the situation by having StringImpl crop the buffer's
m_length field to the final built string length. That way we never have to
return a substring.

  • wtf/text/StringBuilder.cpp:

(WTF::StringBuilder::reifyString):

  • wtf/text/StringImpl.h:
1:48 AM Changeset in webkit [194509] by akling@apple.com
  • 5 edits in trunk/Source

Remove redundant StringImpl substring creation function.
<https://webkit.org/b/152652>

Reviewed by Daniel Bates.

Source/JavaScriptCore:

Remove jsSubstring8() and make the only call site use jsSubstring().

  • runtime/JSString.h:

(JSC::jsSubstring8): Deleted.

  • runtime/StringPrototype.cpp:

(JSC::replaceUsingRegExpSearch):

Source/WTF:

Remove StringImpl::createSubstringSharingImpl8() and make the only
caller use createSubstringSharingImpl() instead.

They do the same thing anyway, the only difference is that the branch
on is8Bit() now happens in the callee instead of at the call site.

  • wtf/text/StringImpl.h:

(WTF::StringImpl::createSubstringSharingImpl8): Deleted.

Note: See TracTimeline for information about the timeline view.