Timeline
Jul 22, 2015:
- 10:44 PM Changeset in webkit [187217] by
-
- 14 edits in trunk
Add ENABLE_WEBASSEMBLY feature flag for WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=147212
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-22
Reviewed by Filip Pizlo.
.:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
No new tests.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- Scripts/webkitperl/FeatureList.pm:
- 10:31 PM Changeset in webkit [187216] by
-
- 2 edits in trunk/Source/WebCore
Try to fix the build
- platform/spi/cocoa/QuartzCoreSPI.h:
- 10:09 PM Changeset in webkit [187215] by
-
- 5 edits in trunk/Source
Use updated CoreAnimation snapshot SPI.
https://bugs.webkit.org/show_bug.cgi?id=147197
<rdar://problem/21032083>
Reviewed by Tim Horton.
Patch by James Savage.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
- platform/spi/cocoa/QuartzCoreSPI.h:
- 9:58 PM Changeset in webkit [187214] by
-
- 4 edits in trunk/Source/JavaScriptCore
Simplify DFG::DesiredIdentifiers and make it possible to turn a UniquedStringImpl* into an identifierNumber at any time
https://bugs.webkit.org/show_bug.cgi?id=147218
Reviewed by Sam Weinig.
I want to be able to take a UniquedStringImpl* and turn it into an identifierNumber at
various points in my work on https://bugs.webkit.org/show_bug.cgi?id=146929. Currently,
most Nodes that deal with identifiers use identifierNumbers and you can only create an
identifierNumber in BytecodeGenerator. DFG::ByteCodeParser does sort of have the
ability to create new identifierNumbers when inlining - it takes the inlined code's
identifiers and either gives them new numbers or reuses numbers from the enclosing
code.
This patch takes that basic functionality and puts it in
DFG::DesiredIdentifiers::ensure(). Anyone can call this at any time to turn a
UniquedStringImpl* into an identifierNumber. This data structure is already used by
Plan to properly install any newly created identifier table entries into the CodeBlock.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::ByteCodeParser):
(JSC::DFG::ByteCodeParser::noticeArgumentsUse):
(JSC::DFG::ByteCodeParser::linkBlocks):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::buildOperandMapsIfNecessary): Deleted.
- dfg/DFGDesiredIdentifiers.cpp:
(JSC::DFG::DesiredIdentifiers::DesiredIdentifiers):
(JSC::DFG::DesiredIdentifiers::numberOfIdentifiers):
(JSC::DFG::DesiredIdentifiers::ensure):
(JSC::DFG::DesiredIdentifiers::at):
(JSC::DFG::DesiredIdentifiers::addLazily): Deleted.
- dfg/DFGDesiredIdentifiers.h:
- 9:51 PM Changeset in webkit [187213] by
-
- 2 edits2 adds in trunk/Source/JavaScriptCore
Simplify things like CompareEq(@x,@x)
https://bugs.webkit.org/show_bug.cgi?id=145850
Reviewed by Sam Weinig.
This simplifies x==x to true, except in cases where x might be a double (in which case this
might still be false if x is NaN).
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- tests/stress/nan-equal-untyped.js: Added.
(foo):
(test):
- tests/stress/nan-equal.js: Added.
(foo):
- 9:47 PM Changeset in webkit [187212] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
- 9:45 PM Changeset in webkit [187211] by
-
- 9 edits2 adds in trunk
Web Inspector: Timeline should immediately start moving play head when starting a new recording
https://bugs.webkit.org/show_bug.cgi?id=147210
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-22
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/protocol/Timeline.json:
Add timestamps to recordingStarted and recordingStopped events.
Source/WebCore:
Test: inspector/timeline/recording-start-stop-timestamps.html
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
Include the current timestamp when starting / stopping a recording.
Source/WebInspectorUI:
- UserInterface/Protocol/TimelineObserver.js:
(WebInspector.TimelineObserver.prototype.recordingStarted):
(WebInspector.TimelineObserver.prototype.recordingStopped):
Pass on the new timestamps.
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.capturingStarted):
(WebInspector.TimelineManager.prototype.capturingStopped):
Pass on the new timestamps in the events.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
Pass on the new timestamp from the event as it can be used to update the currentTime.
(WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
If provided a startTime we can use that as the new currentTime. Otherwise fallback
to determining a good currentTime from the next incoming record for legacy backends.
(WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
Update the comment, as there is now a solution but this is required for legacy backends.
LayoutTests:
- inspector/timeline/recording-start-stop-timestamps-expected.txt: Added.
- inspector/timeline/recording-start-stop-timestamps.html: Added.
Add a test for Timeline.recordingStarted and Timeline.recordingStopped events.
- 9:24 PM Changeset in webkit [187210] by
-
- 3 edits2 adds in trunk
Coordinates-based snap offsets don't update correctly when container is scrolled
https://bugs.webkit.org/show_bug.cgi?id=147215
Reviewed by Brent Fulgham.
Source/WebCore:
Fixes the way we append the snap offsets of child elements with coordinates. We
now consider the scroll offset of the parent scroll snapping container, so snap
offset recomputations don't fail on scroll snapping containers.
Test: css3/scroll-snap/scroll-snap-coordinate-overflow-resize.html
- page/scrolling/AxisScrollSnapOffsets.cpp:
(WebCore::appendChildSnapOffsets): Fixed to consider the scroll offset of the
parent container.
LayoutTests:
Tests that snap offsets update properly on scrolled containers.
- css3/scroll-snap/scroll-snap-coordinate-overflow-resize-expected.txt: Added.
- css3/scroll-snap/scroll-snap-coordinate-overflow-resize.html: Added.
- 9:18 PM Changeset in webkit [187209] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Timeline's Current Time does not jump forward to new start time when starting a new recording, causes timeline to appear delayed and broken
https://bugs.webkit.org/show_bug.cgi?id=147204
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-22
Reviewed by Timothy Hatcher.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
We were skipping a timeline, but it might have a new event record with
a new start time. This ensures we get an updated current time which makes
sense, and we jump forward to that time in the main timeline.
- 9:15 PM Changeset in webkit [187208] by
-
- 3 edits in trunk/Source/WebCore
Needed to add methods to get PreviewCaptureLayers from Video
https://bugs.webkit.org/show_bug.cgi?id=147011
<rdar://problem/21861999>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-22
Reviewed by Jer Noble.
- platform/mediastream/mac/AVVideoCaptureSource.h: Added in preview
layer to class
(WebCore::AVVideoCaptureSource::previewLayer):
- platform/mediastream/mac/AVVideoCaptureSource.mm: Instantiate
previewLayer on load
(WebCore::AVVideoCaptureSource::setupCaptureSession):
- 8:54 PM Changeset in webkit [187207] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: TimelineRuler shouldn't dispatch selection changed event unless it actually changes
https://bugs.webkit.org/show_bug.cgi?id=147219
Reviewed by Timothy Hatcher.
Moved to a "suppress next" model for suppressing dispatch of TimelineRuler's selection changed event. The
ruler's _timeRangeSelectionChanged flag is now reset only when an event is finally dispatched.
- UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype._updateSelection):
(WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent):
Check for this._timeRangeSelectionChanged moved into dispatch function.
(WebInspector.TimelineRuler.prototype._handleMouseDown):
(WebInspector.TimelineRuler.prototype._handleMouseMove):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
We now suppress the next dispatch only, rather than a toggle.
- 8:36 PM Changeset in webkit [187206] by
-
- 2 edits in trunk/Source/WebCore
[EFL] The "Missing Plug-in" buttons are not showing up on some flash contents
https://bugs.webkit.org/show_bug.cgi?id=147191
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-22
Reviewed by Gyuyoung Kim.
Currently, WebKitEFL doesn't show the "Missing Plug-in" buttons if the plugin-related tags
don't have a "type" attribute. In such a case, WebCore tries to guess the MIME type from
the extensions by using MIMETypeRegistry::getMIMETypeForExtension(). For WebKitEFL,
MIMETypeRegistry::getMIMETypeForExtension() goes through |extensionMap|, which is a simple
array of <extension, mime type>, looking for the mime type for the given extension.
But |extensionMap| in MIMETypeRegistryEfl.cpp doesn't have the information for ".swf",
so WebCore fails to guess the MIME type and regard the content type as ObjectContentFrame,
not ObjectContentNetscapePlugin.
- platform/efl/MIMETypeRegistryEfl.cpp:
- 7:36 PM Changeset in webkit [187205] by
-
- 19 edits1 copy1 add in trunk/Source/JavaScriptCore
Introducing construct ability into JS executables
https://bugs.webkit.org/show_bug.cgi?id=147183
Reviewed by Geoffrey Garen.
Decouple the construct ability from the builtin functions.
Currently, all builtin functions are not constructors after r182995.
In that patch, when the given function is builtin JS function, we recognize it as the non-constructor function.
But, we need to relax it to implement some constructors in builtins JS.
By decoupling the construct ability from whether the function is builtin or not, we can provide
- constructors written in builtin JS
- non-constructors in normal JS functions
(1) is needed for Promise constructor.
And (2) is needed for method functions and arrow functions.
This patch introduces ConstructAbility into the unlinked function executables.
It holds whether the given JS function has the construct ability or not.
By leveraging this, this patch disables the construct ability of the method definitions, setters, getters and arrow functions.
And at the same time, this patch introduces the annotation for constructor in builtin JS.
We can define the function as follows,
constructor Promise(executor)
{
...
}
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createDefaultConstructor):
(JSC::BuiltinExecutables::createExecutableInternal):
- builtins/BuiltinExecutables.h:
- builtins/Iterator.prototype.js:
(symbolIterator):
(SymbolIterator): Deleted.
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
- bytecode/UnlinkedCodeBlock.h:
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::makeFunction):
- generate-js-builtins:
(getCopyright):
(Function):
(Function.init):
(Function.mangleName):
(getFunctions):
(mangleName): Deleted.
- jit/JITOperations.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
- runtime/CodeCache.cpp:
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
- runtime/CommonIdentifiers.h:
- runtime/ConstructAbility.h: Copied from Source/JavaScriptCore/builtins/Iterator.prototype.js.
- runtime/Executable.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::getConstructData):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- tests/stress/non-constructors.js: Added.
(shouldThrow):
(.prototype.method):
(.prototype.get getter):
(.prototype.set setter):
(.method):
(.get shouldThrow):
(.set shouldThrow):
(set var.test.get getter):
(set var.test.set setter):
(set var.test.normal):
(.set var):
(.set new):
- 6:54 PM Changeset in webkit [187204] by
-
- 4 edits in trunk/Source/WebCore
Rank sources for fitness for UIDs in bestSourcesForTypeAndConstraints
https://bugs.webkit.org/show_bug.cgi?id=147206
<rdar://problem/21950653>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-22
Reviewed by Jer Noble.
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::RealtimeMediaSource):
- platform/mediastream/RealtimeMediaSource.h:
(WebCore::RealtimeMediaSource::fitnessScore):
(WebCore::RealtimeMediaSource::setFitnessScore):
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints):
- 6:47 PM Changeset in webkit [187203] by
-
- 3 edits in trunk/Source/WebCore
Video controls, though hidden, are still interactive when in PiP
https://bugs.webkit.org/show_bug.cgi?id=147216
<rdar://problem/21012688>
Reviewed by Simon Fraser.
Explicitly add the PiP class to the controls container so that
we can hang a pointer-events: none off it.
- Modules/mediacontrols/mediaControlsiOS.css:
(video::-webkit-media-controls-panel.picture-in-picture): Add a pointer-events: none.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.handlePresentationModeChange): Add/remove a PiP class
to the controls panel when necessary.
- 6:21 PM Changeset in webkit [187202] by
-
- 5 edits in trunk/Source
Unreviewed, rolling out r187196.
https://bugs.webkit.org/show_bug.cgi?id=147213
broke all the iOS builds (Requested by thorton on #webkit).
Reverted changeset:
"Use updated CoreAnimation snapshot SPI."
https://bugs.webkit.org/show_bug.cgi?id=147197
http://trac.webkit.org/changeset/187196
- 6:20 PM Changeset in webkit [187201] by
-
- 5 edits in branches/safari-600.8-branch/Source
Versioning.
- 6:19 PM Changeset in webkit [187200] by
-
- 1 copy in tags/Safari-600.8.5
New Tag.
- 6:19 PM Changeset in webkit [187199] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build
- UIProcess/ios/WKContentViewInteraction.h:
- 6:08 PM Changeset in webkit [187198] by
-
- 2 edits in trunk/Source/WebKit2
[iOS] Adjust the preview architecture
https://bugs.webkit.org/show_bug.cgi?id=147203
<rdar://problem/21945775>
Reviewed by Simon Fraser.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
Link previews should win over image previews if both are possible.
- 5:57 PM Changeset in webkit [187197] by
-
- 1 copy in tags/Safari-601.1.42
New tag.
- 5:53 PM Changeset in webkit [187196] by
-
- 5 edits in trunk/Source
Use updated CoreAnimation snapshot SPI.
https://bugs.webkit.org/show_bug.cgi?id=147197
Patch by James Savage <James Savage> on 2015-07-22
Reviewed by Tim Horton.
Source/WebCore:
- platform/spi/cocoa/QuartzCoreSPI.h:
Source/WebKit2:
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
- 5:44 PM Changeset in webkit [187195] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION (Safari 7): Pseudo element rules are not labelled with media queries in Styles panel
https://bugs.webkit.org/show_bug.cgi?id=147207
Reviewed by Timothy Hatcher.
- UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertAllMatchingPseudoStyles):
Now inserts pseudo-styles based on whether their selector specificity is greater than
the previous style's selector specificity.
(WebInspector.RulesStyleDetailsPanel.prototype.refresh):
- 5:04 PM Changeset in webkit [187194] by
-
- 2 edits in trunk/LayoutTests
[El Capitan] Test Gardening
Unreviewed.
- platform/mac/fast/text/ligature-subdivision-expected.txt:
- 4:23 PM Changeset in webkit [187193] by
-
- 6 edits in trunk/Source/WebKit2
[iOS] Adjust the preview architecture
https://bugs.webkit.org/show_bug.cgi?id=147203
<rdar://problem/21945775>
Reviewed by Beth Dakin.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setAllowsLinkPreview:]): Deleted.
- UIProcess/ios/WKContentView.mm:
(-[WKContentView willMoveToWindow:]): Deleted.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _registerPreview]):
(-[WKContentView _unregisterPreview]):
(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
(-[WKContentView _presentationRectForPreviewItemController:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
(-[WKContentView _previewItemController:commitPreview:]):
(-[WKContentView _previewItemController:willPresentPreview:forPosition:inSourceView:]):
(-[WKContentView _previewItemController:didDismissPreview:committing:]):
(-[WKContentView _presentationSnapshotForPreviewItemController:]):
(-[WKContentView _presentationRectsForPreviewItemController:]):
(-[WKContentView gestureRecognizerShouldBegin:]): Deleted.
(-[WKContentView _registerPreviewInWindow:]): Deleted.
(-[WKContentView _unregisterPreviewInWindow:]): Deleted.
(-[WKContentView previewViewControllerForPosition:inSourceView:]): Deleted.
(-[WKContentView commitPreviewViewController:]): Deleted.
(-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]): Deleted.
(-[WKContentView didDismissPreviewViewController:committing:]): Deleted.
Register and unregister in setup/cleanupInteraction instead of when moving between windows.
Implement 'shouldBegin' instead of interacting directly with the recognizer.
Make use of system enums instead of our own.
Let UIPreviewItemController handle shrink-wrapping and the indicator view.
- 3:51 PM Changeset in webkit [187192] by
-
- 1 edit1 add in branches/safari-600.8-branch/Tools
Add ModalAlertsSPI.cpp, which was missed in the merge of r185915.
Reviewed by Jeff Miller.
- TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp: Added.
- 3:51 PM Changeset in webkit [187191] by
-
- 4 edits2 copies4 moves3 adds in trunk/Source/WebKit2
[EFL] Support indexeddb for WK2
https://bugs.webkit.org/show_bug.cgi?id=145867
Reviewed by Csaba Osztrogonác.
Add stub implementation for indexeddb. Move KeyedDecoder and KeyedEncoder from gtk to glib
in order to share it between GTK and EFL ports.
- DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp:
- DatabaseProcess/efl/DatabaseProcessMainEfl.cpp: Copied from Source/WebKit2/DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp.
(WebKit::DatabaseProcessMainUnix):
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- Shared/glib/KeyedDecoder.cpp: Renamed from Source/WebKit2/Shared/gtk/KeyedDecoder.cpp.
(WebKit::KeyedDecoder::KeyedDecoder):
(WebKit::KeyedDecoder::~KeyedDecoder):
(WebKit::KeyedDecoder::dictionaryFromGVariant):
(WebKit::KeyedDecoder::decodeBytes):
(WebKit::KeyedDecoder::decodeSimpleValue):
(WebKit::KeyedDecoder::decodeBool):
(WebKit::KeyedDecoder::decodeUInt32):
(WebKit::KeyedDecoder::decodeInt32):
(WebKit::KeyedDecoder::decodeInt64):
(WebKit::KeyedDecoder::decodeFloat):
(WebKit::KeyedDecoder::decodeDouble):
(WebKit::KeyedDecoder::decodeString):
(WebKit::KeyedDecoder::beginObject):
(WebKit::KeyedDecoder::endObject):
(WebKit::KeyedDecoder::beginArray):
(WebKit::KeyedDecoder::beginArrayElement):
(WebKit::KeyedDecoder::endArrayElement):
(WebKit::KeyedDecoder::endArray):
- Shared/glib/KeyedDecoder.h: Renamed from Source/WebKit2/Shared/gtk/KeyedDecoder.h.
- Shared/glib/KeyedEncoder.cpp: Renamed from Source/WebKit2/Shared/gtk/KeyedEncoder.cpp.
(WebKit::KeyedEncoder::KeyedEncoder):
(WebKit::KeyedEncoder::~KeyedEncoder):
(WebKit::KeyedEncoder::encodeBytes):
(WebKit::KeyedEncoder::encodeBool):
(WebKit::KeyedEncoder::encodeUInt32):
(WebKit::KeyedEncoder::encodeInt32):
(WebKit::KeyedEncoder::encodeInt64):
(WebKit::KeyedEncoder::encodeFloat):
(WebKit::KeyedEncoder::encodeDouble):
(WebKit::KeyedEncoder::encodeString):
(WebKit::KeyedEncoder::beginObject):
(WebKit::KeyedEncoder::endObject):
(WebKit::KeyedEncoder::beginArray):
(WebKit::KeyedEncoder::beginArrayElement):
(WebKit::KeyedEncoder::endArrayElement):
(WebKit::KeyedEncoder::endArray):
(WebKit::KeyedEncoder::finishEncoding):
- Shared/glib/KeyedEncoder.h: Renamed from Source/WebKit2/Shared/gtk/KeyedEncoder.h.
- UIProcess/Databases/efl/DatabaseProcessProxyEfl.cpp: Copied from Source/WebKit2/DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp.
(WebKit::DatabaseProcessProxy::platformGetLaunchOptions):
- 3:09 PM Changeset in webkit [187190] by
-
- 2 edits in trunk/Source/WebKit2
[Seccomp] Canonicalize filesystem path when whitelisting it
https://bugs.webkit.org/show_bug.cgi?id=142986
Reviewed by Žan Doberšek.
- Shared/linux/SeccompFilters/SyscallPolicy.cpp:
(WebKit::canonicalizeFileName):
(WebKit::SyscallPolicy::addFilePermission):
(WebKit::SyscallPolicy::addDirectoryPermission):
- 2:55 PM Changeset in webkit [187189] by
-
- 4 edits2 adds in trunk
Out of bounds in WebGLRenderingContext::simulateVertexAttrib0
https://bugs.webkit.org/show_bug.cgi?id=147176
<rdar://problem/21567767>
Reviewed by Oliver Hunt.
Source/WebCore:
Test: fast/canvas/webgl/out-of-bounds-simulated-vertexAttrib0-drawArrays.html
Add overflow checking for the drawing calls, specifically the way
they may simulate vertexAttrib0.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::validateDrawArrays): Call new validation method.
(WebCore::WebGLRenderingContextBase::validateDrawElements): Ditto.
(WebCore::WebGLRenderingContextBase::validateSimulatedVertexAttrib0): New method that
validates the parameters used to create the simulated attribute.
(WebCore::WebGLRenderingContextBase::simulateVertexAttrib0): No need to do overflow
checking here now that the validation method does it for us.
(WebCore::WebGLRenderingContextBase::validateVertexAttributes): Deleted.
- html/canvas/WebGLRenderingContextBase.h: Add new validation method.
LayoutTests:
- fast/canvas/webgl/out-of-bounds-simulated-vertexAttrib0-drawArrays-expected.txt: Added.
- fast/canvas/webgl/out-of-bounds-simulated-vertexAttrib0-drawArrays.html: Added.
- 2:42 PM Changeset in webkit [187188] by
-
- 1 edit11 adds in trunk/Websites/webkit.org
Add some images needed for an upcoming blog post.
- blog-files/backdrop-filters: Added.
- blog-files/backdrop-filters/Screen_OSX_Yosemite_Finder-iCloud-WaterBg_1x.jpg: Added.
- blog-files/backdrop-filters/Screen_OSX_Yosemite_Finder-iCloud-WaterBg_2x.jpg: Added.
- blog-files/backdrop-filters/Screen_V_iOS8_ControlCenter_BlueGradient_1x.jpg: Added.
- blog-files/backdrop-filters/Screen_V_iOS8_ControlCenter_BlueGradient_2x.jpg: Added.
- blog-files/backdrop-filters/backdrop_correct_1x.jpg: Added.
- blog-files/backdrop-filters/backdrop_correct_2x.jpg: Added.
- blog-files/backdrop-filters/backdrop_invert_1x.jpg: Added.
- blog-files/backdrop-filters/backdrop_invert_2x.jpg: Added.
- blog-files/backdrop-filters/backdrop_mixed_1x.jpg: Added.
- blog-files/backdrop-filters/backdrop_mixed_2x.jpg: Added.
- 2:41 PM Changeset in webkit [187187] by
-
- 3 edits in branches/safari-601.1-branch/Source/WebCore
Merged r187183. rdar://problem/21930899
- 2:40 PM Changeset in webkit [187186] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebCore
Merged r187181. rdar://problem/21928170
- 2:36 PM Changeset in webkit [187185] by
-
- 11 edits in trunk
Web Inspector: AppCache manifest 404 doesn't produce errors in console, manifest resource request always loading indicator
https://bugs.webkit.org/show_bug.cgi?id=147135
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-22
Reviewed by Alexey Proskuryakov.
Source/WebCore:
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didReceiveResponse):
Always pass a document loader instead of passing null for the manifest request.
(WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
Since we will be cancelling the resource handle ourselves in didReceiveResponse
before receiving the didFail resource handle delegates, we should update the
inspector about this resource load failing due to a cancel.
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
Update the MessageSource from "Other" to "AppCache".
LayoutTests:
- http/tests/appcache/404-manifest-expected.txt:
- http/tests/appcache/abort-cache-ondownloading-manifest-404-expected.txt:
- http/tests/appcache/deferred-events-delete-while-raising-expected.txt:
- http/tests/appcache/deferred-events-delete-while-raising-timer-expected.txt:
- http/tests/appcache/deferred-events-expected.txt:
- http/tests/appcache/fail-on-update-2-expected.txt:
- http/tests/appcache/fail-on-update-expected.txt:
- http/tests/appcache/remove-cache-expected.txt:
Update with new Console errors about manifest 404s.
- 2:31 PM Changeset in webkit [187184] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Enable exception fuzzing for GCC too
https://bugs.webkit.org/show_bug.cgi?id=146831
Reviewed by Darin Adler.
- jit/JITOperations.cpp:
- 2:31 PM Changeset in webkit [187183] by
-
- 3 edits in trunk/Source/WebCore
Fix fullscreen and PiP video animation and sizing regressions.
https://bugs.webkit.org/show_bug.cgi?id=147189
<rdar://problem/21930899>
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-07-22
Reviewed by Jer Noble.
Fixes WK1 specific regressions introduced by r187044. Flicker when entering fullscreen,
wrong animation and missing initial animation rects.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(elementRectInWindow): Added.
(WebVideoFullscreenControllerContext::didSetupFullscreen): Clear background decreases flash.
(WebVideoFullscreenControllerContext::fullscreenMayReturnToInline): Use consistent inline rect.
(WebVideoFullscreenControllerContext::setVideoLayerFrame):
Clear the transform on the web thread instead of on the UI thread.
(WebVideoFullscreenControllerContext::setUpFullscreen): Use consistent inline rect.
(WebVideoFullscreenControllerContext::exitFullscreen): Use consistent inline rect.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerLayer resolveBounds]): Clear transform after setting frame.
- 2:29 PM Changeset in webkit [187182] by
-
- 2 edits in trunk/Tools
Add --ios-simulator to run-api-tests --help.
Rubber-stamped by Dan Bates.
- Scripts/run-api-tests:
- 2:27 PM Changeset in webkit [187181] by
-
- 2 edits in trunk/Source/WebCore
Adopt AVKit's AVSimplePlayerLayerView change for PiP.
https://bugs.webkit.org/show_bug.cgi?id=147186
<rdar://problem/21928170>
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-07-22
Reviewed by Jer Noble.
Adopt AVKit changes by inheriting from UIView instead of from AVPictureInPicturePlayerLayerView.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebAVPlayerLayerView_layerClass): Style.
(WebAVPlayerLayerView_playerController): Style.
(WebAVPlayerLayerView_videoView): Style.
(getWebAVPictureInPicturePlayerLayerViewClass): Inherit from UIView.
- 2:06 PM Changeset in webkit [187180] by
-
- 2 edits in branches/safari-600.1.4.17-branch/Source/WebKit2
Merged r187174. rdar://problem/21877914
- 2:03 PM Changeset in webkit [187179] by
-
- 5 edits in branches/safari-600.1.4.17-branch/Source
Versioning.
- 1:59 PM Changeset in webkit [187178] by
-
- 3 edits in trunk/Source/WebKit2
Add logging for TiledCoreAnimationDrawingArea resizing
https://bugs.webkit.org/show_bug.cgi?id=147180
Reviewed by Tim Horton.
Add a "Resize" log channel for WebKit2, and use it to log data in scaleViewToFitDocumentIfNeeded().
- Platform/Logging.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
- 1:49 PM Changeset in webkit [187177] by
-
- 2 edits in trunk/Source/WTF
Introduce release assert for using threads before threading is initialized
https://bugs.webkit.org/show_bug.cgi?id=147200
Reviewed by Michael Saboff.
This will help bugs where you use createThread() before calling initializeThreading().
- wtf/ThreadIdentifierDataPthreads.cpp:
(WTF::ThreadIdentifierData::initialize):
- 1:36 PM Changeset in webkit [187176] by
-
- 11 edits in branches/safari-600.8-branch
Merge r185915. rdar://problem/21716368
- 1:31 PM Changeset in webkit [187175] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fixed pool allocation should always be aligned
https://bugs.webkit.org/show_bug.cgi?id=147201
Reviewed by Simon Fraser.
Passing an unaligned size to the allocator can cause asserts or even worse things. The
Options reservation value isn't going to be aligned.
- jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):
- 12:56 PM Changeset in webkit [187174] by
-
- 2 edits in trunk/Source/WebKit2
Encode/Decode underlying errors when serializing NSErrors
<rdar://problem/21818117>
https://bugs.webkit.org/show_bug.cgi?id=147199
Reviewed by Anders Carlsson.
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<CertificateInfo>::decode):
(IPC::encodeNSError):
(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::decodeNSError):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):
Break out encoding/decoding of the NSErrors into a helpers so they can be called
for the underlying error.
- 12:15 PM Changeset in webkit [187173] by
-
- 9 edits in trunk/Source
Animated images should animate in previews
https://bugs.webkit.org/show_bug.cgi?id=147173
-and corresponding-
rdar://problem/21637698
Reviewed by Dan Bernstein.
Source/WebCore:
New virtual function to indicate whether or not the image is animated.
- platform/graphics/BitmapImage.h:
- platform/graphics/Image.h:
(WebCore::Image::isAnimated):
Source/WebKit2:
InteractionInformationAtPosition needs to know if it’s an animated image.
- Shared/InteractionInformationAtPosition.cpp:
(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):
- Shared/InteractionInformationAtPosition.h:
New delegate method to create a link preview view controller for animated
images.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
Treat animated images more like link previews.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView previewViewControllerForPosition:inSourceView:]):
Set info.isAnimatedImage
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
- 12:00 PM Changeset in webkit [187172] by
-
- 4 edits in trunk/Tools
Remove hardcoded "internal" from Buildbot.prototype._normalizeQueueInfo.
https://bugs.webkit.org/show_bug.cgi?id=147043
Patch by Jason Marcell <jmarcell@apple.com> on 2015-07-22
Reviewed by Daniel Bates and Alexey Proskuryakov.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot.prototype._normalizeQueueInfo):
The _normalizeQueueInfo method now calls the defaultBranches getter instead of using hardcoded values
in cases where the queue.branch property is not set and the queue is not a combined queue.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotCombinedQueueView.js:
(BuildbotCombinedQueueView):
Ensuring uniformity of repository branches within a combined queue.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot.prototype.get defaultBranches):
Added; provides a WebKit-specific implementation that sets the queue.branches dictionary to have a
single entry for "openSource" as the default set of branches. Note that we intentionally omitted a
base class implementation of the defaultBranches getter so as to cause a JavaScript TypeError when a
sub-queue of a combined queue does not specify property branch and the derived Buildbot class does not
implement defaultBranches so that a person can either update the definition of the sub-queue or
implement defaultBranches in the derived Buildbot class they are using.
- 11:52 AM Changeset in webkit [187171] by
-
- 5 edits2 adds in trunk
[WinCairo] SVG path not rendered with all-zero dasharray
https://bugs.webkit.org/show_bug.cgi?id=146997
Patch by Jinyoung Hur <hur.ims@navercorp.com> on 2015-07-22
Reviewed by Martin Robinson.
Source/WebCore:
All-zero dash array should not be passed to cairo_set_dash() as an argument, because it will cause an internal Cairo error.
Rather call cairo_set_dash() with num_dashes=0 to disable dash line.
Tests: fast/canvas/canvas-lineDash.html
svg/custom/zero-dasharray.html
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setLineDash):
LayoutTests:
Canvas 2D context and SVG stroke tests with all-zero dash array are added.
- fast/canvas/canvas-lineDash-expected.txt:
- fast/canvas/script-tests/canvas-lineDash.js:
- svg/custom/zero-dasharray.html: Added
- svg/custom/zero-dasharray-expected.html: Added
- 11:47 AM Changeset in webkit [187170] by
-
- 2 edits in trunk/Source/WebCore
Search fields render placeholder text improperly.
https://bugs.webkit.org/show_bug.cgi?id=147192
<rdar://problem/21901076>
Reviewed by Alexey Proskuryakov.
Due to changes in the way AppKit renders search inputs, we must now explicitly
set the placeholder text of a search input rendered using the Mac theme to be
an empty string when rendering the search input box (not including the actual
placeholder text).
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::setSearchCellState): Force the placeholder text of
the NSSearchFieldCell for the Mac theme to be an empty string.
- 11:14 AM Changeset in webkit [187169] by
-
- 3 edits in trunk/Tools
Switch WinCairo build to use CMake.
https://bugs.webkit.org/show_bug.cgi?id=147169
Reviewed by Brent Fulgham.
- Scripts/build-webkit:
- Scripts/webkitdirs.pm:
(determineConfiguration):
(determineArchitecture):
(determinePassedConfiguration):
(passedConfiguration):
(jhbuildWrapperPrefixIfNeeded):
(generateBuildSystemFromCMakeProject):
It's CMake time! We now use the CMake files to generate a solution in WebKitBuild/Release/WebKit.sln and build that.
- 11:09 AM Changeset in webkit [187168] by
-
- 9 edits in trunk/Source/WebCore
Need the ability to give only best source UIDs to UserMedia request
https://bugs.webkit.org/show_bug.cgi?id=147171
<rdar://problem/21931121>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-22
Reviewed by Eric Carlson.
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::constraintsValidated):
- Modules/mediastream/UserMediaRequest.h:
(WebCore::UserMediaRequest::videoDeviceUIDs):
(WebCore::UserMediaRequest::audioDeviceUIDs):
- platform/mediastream/MediaStreamCreationClient.h:
- platform/mediastream/mac/AVCaptureDeviceManager.h:
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints):
(WebCore::AVCaptureDeviceManager::bestSourceForTypeAndConstraints): Deleted.
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::validateRequestConstraints):
(WebCore::RealtimeMediaSourceCenterMac::createMediaStream):
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::validateRequestConstraints):
- 11:04 AM Changeset in webkit [187167] by
-
- 2 edits in trunk/Source/JavaScriptCore
Enable STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE for GCC
https://bugs.webkit.org/show_bug.cgi?id=146829
Reviewed by Brent Fulgham.
- heap/GCAssertions.h:
- 10:56 AM Changeset in webkit [187166] by
-
- 39 edits5 adds in branches/jsc-tailcall
jsc-tailcall: Add new opcodes for tail calls
https://bugs.webkit.org/show_bug.cgi?id=146484
Reviewed by Michael Saboff.
Source/JavaScriptCore:
This patch introduces two new opcodes, op_tail_call and
op_tail_call_varargs, to perform tail calls, and implements them in the
LLInt and baseline JIT. Their use prevents DFG and FTL compilation for
now. They are currently implemented by sliding the call frame and
masquerading as our own caller right before performing an actual call.
This required to change the operationLink family of operation to return
a SlowPathReturnType instead of a char* in order to distinguish between
exception cases (must not trash the caller frame) and actual call case
(must trash the caller frame).
This is also a semantics change, since the Function.caller property is
now leaking tail calls. Since tail calls are only used in strict mode,
which poisons this property, the only way of seeing this semantics
change is when a sloppy function calls a strict function that then
tail-calls a sloppy function. Previously, the second sloppy function's
caller would have been the strict function (i.e. raises a TypeError
when the .caller attribute is accessed), while it is now the first
sloppy function.
Finally, this patch adds a couple of tests to check that tail calls run
in constant stack space, as well as tests checking that tail calls are
recognized correctly. Those tests use the handy aforementioned leaking
of tail calls through Function.caller. Moreover, this patch also adds
(as per the spec) statements following a label as tail positions, and
removes the body of a with statement (in disagreement with the spec) as
a tail position since with statements are not allowed in strict mode.
- assembler/AbstractMacroAssembler.h:
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::nearTailCall):
(JSC::MacroAssemblerARM::linkCall):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::nearTailCall):
(JSC::MacroAssemblerARM64::linkCall):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::nearTailCall):
(JSC::MacroAssemblerARMv7::linkCall):
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::nearTailCall):
(JSC::MacroAssemblerMIPS::linkCall):
- assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::nearTailCall):
(JSC::MacroAssemblerSH4::linkCall):
- assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::linkCall):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::nearTailCall):
- assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::linkCall):
- assembler/RepatchBuffer.h:
(JSC::RepatchBuffer::relink):
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::callTypeFor):
(JSC::CallLinkInfo::isVarargsCallType):
(JSC::CallLinkInfo::isTailCallType):
(JSC::CallLinkInfo::setSlowStub):
(JSC::CallLinkInfo::clearSlowStub):
(JSC::CallLinkInfo::slowStub):
- bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromLLInt):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitTailCall):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitTailCallVarargs):
- bytecompiler/NodesCodegen.cpp:
(JSC::LabelNode::emitBytecode):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
- ftl/FTLJSCallBase.cpp:
(JSC::FTL::JSCallBase::link):
- interpreter/Interpreter.h:
(JSC::Interpreter::isCallBytecode):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::emit_op_tail_call):
(JSC::JIT::emit_op_tail_call_varargs):
(JSC::JIT::emitSlow_op_tail_call):
(JSC::JIT::emitSlow_op_tail_call_varargs):
- jit/JITCall32_64.cpp:
(JSC::JIT::emitSlow_op_tail_call):
(JSC::JIT::emitSlow_op_tail_call_varargs):
(JSC::JIT::emit_op_tail_call):
(JSC::JIT::emit_op_tail_call_varargs):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
- jit/JITInlines.h:
(JSC::JIT::emitNakedTailCall):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
(JSC::operationLinkFor):
(JSC::operationVirtualFor):
(JSC::operationLinkPolymorphicCallFor):
- jit/Repatch.cpp:
(JSC::generateByIdStub):
(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):
- jit/ThunkGenerators.cpp:
(JSC::slowPathFor):
(JSC::linkThunkFor):
(JSC::linkCallThunk):
(JSC::linkCallThunkGenerator):
(JSC::linkConstructThunkGenerator):
(JSC::linkCallThatPreservesRegsThunkGenerator):
(JSC::linkConstructThatPreservesRegsThunkGenerator):
(JSC::linkPolymorphicCallThunkFor):
(JSC::linkPolymorphicCallThunk):
(JSC::linkPolymorphicCallThunkGenerator):
(JSC::linkPolymorphicCallThatPreservesRegsThunkGenerator):
(JSC::virtualThunkFor):
(JSC::virtualThunk):
(JSC::virtualCallThunkGenerator):
(JSC::virtualConstructThunkGenerator):
(JSC::virtualCallThatPreservesRegsThunkGenerator):
(JSC::virtualConstructThatPreservesRegsThunkGenerator):
(JSC::unreachableGenerator):
(JSC::prepareForTailCall):
- jit/ThunkGenerators.h:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- tests/stress/mutual-tail-call-no-stack-overflow.js: Added.
(shouldThrow):
(sloppyCountdown.even):
(sloppyCountdown.odd):
(strictCountdown.even):
(strictCountdown.odd):
(strictCountdown):
- tests/stress/tail-call-no-stack-overflow.js: Added.
(shouldThrow):
(strictLoop):
- tests/stress/tail-call-recognize.js: Added.
(callerMustBeRun):
(callerMustBeStrict):
(runTests):
- tests/stress/tail-call-varargs-no-stack-overflow.js: Added.
(shouldThrow):
(strictLoop):
LayoutTests:
- js/caller-property-expected.txt:
- js/script-tests/caller-property.js: Function.caller has had semantics change: it nows leaks tail calls
(strictCaller):
(strictTailCaller):
- js/script-tests/class-syntax-super.js:
- js/script-tests/dfg-strict-mode-to-this.js: Temporarily disabled since it has a tail call and requires DFG
- 10:21 AM Changeset in webkit [187165] by
-
- 3 edits2 adds in trunk
Source/WebCore:
Fix toJSDOMWindow() in the case of an object that has the actual JS DOM window in its prototype chain.
https://bugs.webkit.org/show_bug.cgi?id=146785
Patch by Mark Dittmer <mark.s.dittmer@gmail.com> on 2015-07-22
Reviewed by Mark Lam.
- bindings/js/JSDOMWindowBase.cpp: toJSDOMWindow(): Walk the prototype chain of the given JSValue until a JSDOMWindow or JSDOMWindowShell is found.
LayoutTests:
New test: Object.create(window).location will trigger a crash when toJSDOMWindow() returns NULL on an object that have the JS DOM Window in its prototype chain.
https://bugs.webkit.org/show_bug.cgi?id=146785
Patch by Mark Dittmer <mark.s.dittmer@gmail.com> on 2015-07-22
Reviewed by Mark Lam.
- js/property-of-window-as-prototype-expected.txt:
- js/property-of-window-as-prototype.html:
- 10:17 AM Changeset in webkit [187164] by
-
- 5 edits in trunk/Source/WebCore
Remove revealing getVideoTracks() and getAudioTracks()
https://bugs.webkit.org/show_bug.cgi?id=147126
<rdar://problem/21908723>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-22
Reviewed by Eric Carlson.
- Modules/mediastream/MediaStream.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Modded to use
tracks() instead of getVideo/AudioTracks()
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformLayer): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pauseInternal): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::naturalSize): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasVideo): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasAudio): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime):
Changed to a FIXME
- platform/mediastream/MediaStreamPrivate.h:
- 10:12 AM Changeset in webkit [187163] by
-
- 2 edits in trunk/Source/WebCore
Ensure MediaPlayerPrivateAVFoundation doesn't load MediaStreams
https://bugs.webkit.org/show_bug.cgi?id=147119
<rdar://problem/21904955>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-22
Reviewed by Eric Carlson.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Set
networkstate to error when loading MediaStreams
- 10:09 AM Changeset in webkit [187162] by
-
- 5 edits in branches/safari-601.1-branch
Merge r186980.
2015-07-17 Simon Fraser <Simon Fraser>
Attempt to fix the build.
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless):
- html/HTMLMediaElement.h:
- 10:04 AM Changeset in webkit [187161] by
-
- 16 edits in trunk
Fix quirks in CMake build on Mac and Windows
https://bugs.webkit.org/show_bug.cgi?id=147174
Reviewed by Gyuyoung Kim.
.:
- CMakeLists.txt:
- Source/cmake/OptionsWindows.cmake:
Added options I removed in r187022. They are indeed needed.
- Source/cmake/WebKitFS.cmake:
Make the DerivedSources/WebKit directory.
Source/JavaScriptCore:
- PlatformMac.cmake:
Add JSRemoteInspector.cpp and remove semicolon from command to make it actually run.
Source/WebCore:
- PlatformMac.cmake:
Removed files that don't exist any more.
- platform/win/WindowsTouch.h:
Only use definitions of touch structures when compiling with VS2012.
Source/WebKit:
- PlatformMac.cmake:
Fixed syntax, removed files that don't exist any more.
Source/WebKit/win:
- WebView.cpp:
Include winuser.h to get definitions of touch-related structures like tagGESTUREINFO.
Tools:
- CMakeLists.txt:
Don't build DumpRenderTree with CMake for now (until we get that working).
- WinLauncher/CMakeLists.txt:
Renamed WinLauncherLauncher to WinLauncher and WinLauncher to WinLauncherLib to match the Visual Studio build.
- 9:08 AM Changeset in webkit [187160] by
-
- 2 edits in trunk/Source/WebCore
Fix cast-align warning in NetworkStateNotifierEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=145915
Reviewed by Gyuyoung Kim.
- platform/network/efl/NetworkStateNotifierEfl.cpp:
(WebCore::NetworkStateNotifier::readSocketCallback):
- 8:56 AM Changeset in webkit [187159] by
-
- 3 edits2 adds in trunk/Source/WebKit2
[Seccomp Filters] Add helpers to get XDG base directory locations
https://bugs.webkit.org/show_bug.cgi?id=142982
Reviewed by Zan Dobersek.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- Shared/linux/SeccompFilters/XDGBaseDirectory.h: Added.
- Shared/linux/SeccompFilters/XDGBaseDirectoryGLib.cpp: Added.
(WebKit::userHomeDirectory):
(WebKit::userCacheDirectory):
(WebKit::userConfigDirectory):
(WebKit::userDataDirectory):
(WebKit::userRuntimeDirectory):
- 8:44 AM Changeset in webkit [187158] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Change syntax highlighting color for regular expressions to make them more readable
https://bugs.webkit.org/show_bug.cgi?id=146956
Reviewed by Timothy Hatcher.
- UserInterface/Views/FormattedValue.css:
(.formatted-regexp):
- UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
(.syntax-highlighted :matches(.css-string, .javascript-string, .html-attribute-value)):
(.syntax-highlighted .javascript-regexp):
(.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)): Deleted.
- 7:57 AM Changeset in webkit [187157] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[l10n] Updated Swedish translation
https://bugs.webkit.org/show_bug.cgi?id=147190
Patch by Josef Andersson <josef.andersson@fripost.org> on 2015-07-22
- sv.po:
- 7:53 AM Changeset in webkit [187156] by
-
- 2 edits in trunk/Source/WebKit2
[EFL][WK2] EWK2ContextTestMultipleProcesses.ewk_context_network_process_model fails to pass
https://bugs.webkit.org/show_bug.cgi?id=142967
Reviewed by Csaba Osztrogonác.
Though processIdentifier() can return 0 when a page is not closed, ewk_context_network_process_model has
not been considered process id can be 0. This patch adds a protection logic which doesn't test when process
id is 0 at the moment.
- UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
- 6:20 AM Changeset in webkit [187155] by
-
- 3 edits in trunk/Source/WebCore
[GTK][EFL] Remove dead functions in LocalizedStrings
https://bugs.webkit.org/show_bug.cgi?id=147188
Reviewed by Csaba Osztrogonác.
- platform/efl/LocalizedStringsEfl.cpp:
(WebCore::contextMenuItemTagHideMediaControls):
(WebCore::contextMenuitemTagHideMediaControls): Fixed typo since r152117.
(WebCore::inactivePluginText): Deleted since r151530.
(WebCore::textTrackClosedCaptionsText): Deleted since r141864.
- platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::inactivePluginText): Deleted since r151530.
(WebCore::textTrackClosedCaptionsText): Deleted since r141864.
- 1:15 AM Changeset in webkit [187154] by
-
- 3 edits in trunk/Tools
[check-webkit-style] .lut.h files shouldn't raise a sorting issue
https://bugs.webkit.org/show_bug.cgi?id=147146
Reviewed by Darin Adler.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_include_line): Avoid checking previous lines if it it is a lut.h include.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.test_check_alphabetical_include_order): Added test.
- 1:13 AM Changeset in webkit [187153] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix some warnings when generating GTK+ HTML API docs.
- UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
WebKitWebsiteDataManager and WebKitWebEditor.
- 12:21 AM WebKitGTK/Releasing edited by
- (diff)
- 12:16 AM Changeset in webkit [187152] by
-
- 1 copy in releases/WebKitGTK/webkit-2.9.4
WebKitGTK+ 2.9.4
- 12:13 AM WebKitGTK/Releasing edited by
- (diff)
- 12:10 AM Changeset in webkit [187151] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.4 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.9.4.
Jul 21, 2015:
- 11:53 PM Changeset in webkit [187150] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebCore
Merged r187128. rdar://problem/21928558
- 10:23 PM Changeset in webkit [187149] by
-
- 6 edits in trunk/Source/WebCore
[CSS Selectors Level 4] Add #ifdefs to the new '>>' descendant combinator
https://bugs.webkit.org/show_bug.cgi?id=147184
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-07-21
Reviewed by Anders Carlsson.
Now that '>>>' is dead, the combinator '>>' is at risk.
This patch #ifdef all that code with the other experimental
features from Level 4.
- css/CSSGrammar.y.in:
- css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::appendTagHistory):
- css/CSSParserValues.h:
- css/CSSSelector.cpp:
(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::selectorText):
- css/CSSSelector.h:
(WebCore::CSSSelector::CSSSelector):
- 8:51 PM Changeset in webkit [187148] by
-
- 11 edits14 copies7 adds in trunk/LayoutTests
Update Mac test results for libxml2 v2.9.2.
These results will probably become cross-platform eventually, but for now it's just Mac.
- platform/mac-yosemite/fast/dom/adopt-attribute-crash-expected.txt: Copied from LayoutTests/fast/dom/adopt-attribute-crash-expected.txt.
- platform/mac-yosemite/fast/parser: Added.
- platform/mac-yosemite/fast/parser/xml-colon-entity-expected.txt: Copied from LayoutTests/fast/parser/xml-colon-entity-expected.txt.
- platform/mac-yosemite/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Copied from LayoutTests/fast/parser/xml-declaration-missing-ending-mark-expected.txt.
- platform/mac-yosemite/fast/xsl: Added.
- platform/mac-yosemite/fast/xsl/xslt-extra-content-at-end-expected.png: Copied from LayoutTests/platform/mac/fast/xsl/xslt-extra-content-at-end-expected.png.
- platform/mac-yosemite/fast/xsl/xslt-extra-content-at-end-expected.txt: Copied from LayoutTests/platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt.
- platform/mac-yosemite/fast/xsl/xslt-missing-namespace-in-xslt-expected.png: Copied from LayoutTests/platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.png.
- platform/mac-yosemite/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt: Copied from LayoutTests/platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt.
- platform/mac-yosemite/svg/custom: Added.
- platform/mac-yosemite/svg/custom/bug78807-expected.txt: Copied from LayoutTests/svg/custom/bug78807-expected.txt.
- platform/mac-yosemite/svg/custom/missing-xlink-expected.png: Copied from LayoutTests/platform/mac/svg/custom/missing-xlink-expected.png.
- platform/mac-yosemite/svg/custom/missing-xlink-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/missing-xlink-expected.txt.
- platform/mac-yosemite/svg/custom/path-bad-data-expected.png: Copied from LayoutTests/platform/mac/svg/custom/path-bad-data-expected.png.
- platform/mac-yosemite/svg/custom/path-bad-data-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/path-bad-data-expected.txt.
- platform/mac-yosemite/svg/custom/use-font-face-crash-expected.png: Copied from LayoutTests/platform/mac/svg/custom/use-font-face-crash-expected.png.
- platform/mac-yosemite/svg/custom/use-font-face-crash-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/use-font-face-crash-expected.txt.
- platform/mac/fast/dom/adopt-attribute-crash-expected.txt: Added.
- platform/mac/fast/parser/xml-colon-entity-expected.txt: Added.
- platform/mac/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
- platform/mac/fast/xsl/xslt-extra-content-at-end-expected.png:
- platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt:
- platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.png:
- platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
- platform/mac/svg/custom/bug78807-expected.txt: Added.
- platform/mac/svg/custom/missing-xlink-expected.png:
- platform/mac/svg/custom/missing-xlink-expected.txt:
- platform/mac/svg/custom/path-bad-data-expected.png:
- platform/mac/svg/custom/path-bad-data-expected.txt:
- platform/mac/svg/custom/use-font-face-crash-expected.png:
- platform/mac/svg/custom/use-font-face-crash-expected.txt:
- 7:35 PM Changeset in webkit [187147] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: console.log("%d", 0) or console.log("%d", "str") show nothing, expected Number or NaN
https://bugs.webkit.org/show_bug.cgi?id=147163
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-21
Reviewed by Timothy Hatcher.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
When appending the result for a substitution formatter, don't check against a
falsey value, check against undefined. This will allow falsely values like
0 and NaN to be output as expected.
- 6:49 PM Changeset in webkit [187146] by
-
- 4 edits in trunk/Source
Web Inspector: [Mac] "Open Image In New Window" context menu item does nothing on an image
https://bugs.webkit.org/show_bug.cgi?id=147175
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-21
Reviewed by Timothy Hatcher.
Source/WebKit/mac:
- WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController webView:contextMenuItemsForElement:defaultMenuItems:]):
Remove default context menus that won't work in the inspector page.
Source/WebKit2:
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::getContextMenuFromProposedMenu):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Remove default context menus that won't work in the inspector page.
- 6:46 PM Changeset in webkit [187145] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Node highlights are wrong when the page is zoomed
https://bugs.webkit.org/show_bug.cgi?id=147177
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-21
Reviewed by Simon Fraser.
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::update):
Remove scaling that appears to no longer be needed, it was double
scaling the overlay content and misplacing it in the process.
- 6:39 PM Changeset in webkit [187144] by
-
- 2 edits in trunk/Source/WebCore
Default media controls use a serif font, which seems wrong
https://bugs.webkit.org/show_bug.cgi?id=147179
<rdar://problem/21931728>
Reviewed by Simon Fraser.
The captions menu (and other text) should use a system style,
-webkit-small-control.
- Modules/mediacontrols/mediaControlsApple.css:
(::-webkit-media-controls):
- 5:37 PM Changeset in webkit [187143] by
-
- 1 copy in tags/Safari-600.1.4.17.3
New tag.
- 5:29 PM Changeset in webkit [187142] by
-
- 6 edits in trunk/Source/JavaScriptCore
Add newTarget accessor to JS constructor written in C++
https://bugs.webkit.org/show_bug.cgi?id=147160
Reviewed by Geoffrey Garen.
This patch adds
ExecState#newTarget()
which returnsnew.target
defined in ECMA262 6th.
It enables some C++ constructors (like Intl.XXX constructors) to leverage this to complete
its implementation.
When the constructor is called, |this| in the arguments is used for storing new.target instead.
So by adding the accessor for |this|, JS constructor written in C++ can access new.target.
And at the same time, this patch extends the existing
construct
to accept new.target value.
It is corresponding to the spec's Construct abstract operation.
- interpreter/CallFrame.h:
(JSC::ExecState::newTarget):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeConstruct):
- interpreter/Interpreter.h:
- runtime/ConstructData.cpp:
(JSC::construct):
- runtime/ConstructData.h:
(JSC::construct):
- 5:24 PM Changeset in webkit [187141] by
-
- 2 edits in branches/safari-600.8-branch/Source/WebKit/mac
Merge r187103. rdar://problem/21707873
- 5:06 PM Changeset in webkit [187140] by
-
- 3 edits in trunk/Source/WebCore
Exposed method to query device by UID
https://bugs.webkit.org/show_bug.cgi?id=147117
<rdar://problem/21904678>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-21
Reviewed by Eric Carlson.
- platform/mediastream/mac/AVCaptureDeviceManager.h: Added method to
query device by UID
- platform/mediastream/mac/AVCaptureDeviceManager.mm: Ditto
(WebCore::AVCaptureDeviceManager::sourceWithUID): Ditto
- 5:01 PM Changeset in webkit [187139] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix a lot of tests. Need to initialize WTF threading sooner.
- jsc.cpp:
(main):
- 4:52 PM Changeset in webkit [187138] by
-
- 2 edits in branches/safari-601.1-branch/LayoutTests
Start disabling tests for features that are disabled on this branch.
- platform/mac/TestExpectations:
- 4:45 PM Changeset in webkit [187137] by
-
- 9 edits3 adds in trunk
[Content Extensions] Use a jump table when consecutive transitions have different targets
https://bugs.webkit.org/show_bug.cgi?id=147099
Reviewed by Alex Christensen.
Source/WebCore:
When handling consecutive single transitions, merge them into
a jump table instead of creating many individual CheckValue.
From local testing on x86_64, it reduces the bytecode size by about 5%
and improve the runtime by about 10%.
- contentextensions/DFABytecode.h:
(WebCore::ContentExtensions::instructionSizeWithArguments):
- contentextensions/DFABytecodeCompiler.cpp:
(WebCore::ContentExtensions::DFABytecodeCompiler::extractJumpTable):
(WebCore::ContentExtensions::DFABytecodeCompiler::transitions):
(WebCore::ContentExtensions::DFABytecodeCompiler::checkForJumpTableMaxBytecodeSize):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileJumpTable):
(WebCore::ContentExtensions::DFABytecodeCompiler::nodeTransitionsMaxBytecodeSize):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNodeTransitions):
(WebCore::ContentExtensions::DFABytecodeCompiler::ranges): Deleted.
- contentextensions/DFABytecodeCompiler.h:
- contentextensions/DFABytecodeInterpreter.cpp:
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpetJumpTable):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
- contentextensions/DFABytecodeInterpreter.h:
Source/WebKit2:
- UIProcess/API/APIUserContentExtensionStore.h:
LayoutTests:
Add some primitive testing to make sure the code is covered.
- http/tests/contentextensions/test-jump-table-bytecode-generation-expected.txt: Added.
- http/tests/contentextensions/test-jump-table-bytecode-generation.html: Added.
- http/tests/contentextensions/test-jump-table-bytecode-generation.html.json: Added.
- 4:33 PM Changeset in webkit [187136] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build following <https://trac.webkit.org/changeset/187129>
(https://bugs.webkit.org/show_bug.cgi?id=147112)
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState): Guard implementation with PLATFORM(IOS)
since this logic is specific to the iOS port.
- 4:31 PM Changeset in webkit [187135] by
-
- 4 edits in trunk/Source/WebKit2
Rename the 'View' log channel to 'Printing'
https://bugs.webkit.org/show_bug.cgi?id=147172
Reviewed by Zalan Bujtas.
"View" was a terrible name for a log channel that was all about printing.
Sort the log channels.
- Platform/Logging.h:
- UIProcess/API/mac/WKView.mm:
(-[WKView drawRect:]):
(-[WKView printOperationWithPrintInfo:forFrame:]):
- UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
(pageDidComputePageRects):
(-[WKPrintingView knowsPageRange:]):
(-[WKPrintingView drawRect:]):
(-[WKPrintingView rectForPage:]):
(-[WKPrintingView beginDocument]):
(-[WKPrintingView endDocument]):
- 4:31 PM Changeset in webkit [187134] by
-
- 6 edits in trunk/Source
Add a logging channel for Layout, remove the LiveConnect channel
https://bugs.webkit.org/show_bug.cgi?id=147170
Reviewed by Zalan Bujtas.
Add a layout logging channel to WebCore, and remove the LiveConnect channel.
Source/WebCore:
- page/FrameView.cpp:
(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::forceLayoutParentViewIfNeeded):
(WebCore::FrameView::layout):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::autoSizeIfEnabled):
- platform/Logging.h:
Source/WebKit/mac:
- Misc/WebKitLogging.h:
- Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _tryLoad]): Deleted.
- 4:17 PM Changeset in webkit [187133] by
-
- 4 edits20 adds in trunk
StyleSheetContents::wrapperInsertRule() can create rules that overflow RuleData's selector index
https://bugs.webkit.org/show_bug.cgi?id=147144
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-07-21
Reviewed by Alex Christensen.
Source/WebCore:
RuleData identifies selectors by the index in a large array. The index only has 13 bits
so rules with more than 8192 selectors should be split.
One of the paths was not splitting the rule: StyleSheetContents::wrapperInsertRule().
When rules with too many selectors were added, the index would overflow and
some RuleData would point to selectors in the middle of selector chains. The resulting
behavior is random based on the selectors and the DOM.
We cannot easily fix that because the CSS OM API do not expect to create
several rules in response to calls to the API.
In this patch, I don't do anything fancy and just let the calls fail
if we cannot use the rules safely.
Content Extensions were also running into this problem. Large Selector lists are
pretty common, and ContentExtensionStyleSheet::addDisplayNoneSelector() was
overflowing the RuleData, creating broken page.
Unlike CSSOM, there is no problem with splitting rules coming from Content Extensions.
Instead of creating new APIs for that case, I rely on the parser to extend the StyleSheetContents.
That code already knows how to break rules correctly.
Tests: fast/css/insert-rule-overflow-rule-data.html
http/tests/contentextensions/css-display-none-overflows-rule-data-1.html
http/tests/contentextensions/css-display-none-overflows-rule-data-2.html
- contentextensions/ContentExtensionStyleSheet.cpp:
(WebCore::ContentExtensions::ContentExtensionStyleSheet::addDisplayNoneSelector):
- css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::wrapperInsertRule):
LayoutTests:
This bug was affecting two parts of WebKit:
-In CSSOM, StyleSheet.insertRule() could create bogus rules.
The new test verifies that the call fails instead of creating undefined
behaviors.
-In ContentExtensions, large selectors are now working correctly. The tests
cover the case of a default stylesheet and an dynamic stylesheet.
- fast/css/insert-rule-overflow-rule-data-expected.txt: Added.
- fast/css/insert-rule-overflow-rule-data.html: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-1-expected.txt: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-1.html: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-1.html.json: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-2-expected.txt: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-2.html: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-2.html.json: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-3-expected.txt: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-3.html: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-3.html.json: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-4-expected.txt: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-4.html: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-4.html.json: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-5-expected.txt: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-5.html: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-5.html.json: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-6-expected.txt: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-6.html: Added.
- http/tests/contentextensions/css-display-none-overflows-rule-data-6.html.json: Added.
- 4:14 PM Changeset in webkit [187132] by
-
- 2 edits in trunk/Source/WebKit/win
[Win] Add needTouchEvents() stub to WebChromeClient.h for a successful build with ENABLE_TOUCH_EVENTS=ON
https://bugs.webkit.org/show_bug.cgi?id=147141
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-21
Reviewed by Darin Adler.
- WebCoreSupport/WebChromeClient.h:
- 3:35 PM Changeset in webkit [187131] by
-
- 2 edits in trunk/Source/WebKit2
[iOS] Menu drop down such as on nike.com does not stay
https://bugs.webkit.org/show_bug.cgi?id=147047
rdar://problem/21046961
Reviewed by Benjamin Poulain.
This is a workaround for unintended scrolling while scaling.
(Based on Benjamin Poulain's WIP patch for webkit.org/b/136904)
In certain cases when scaling would result in moving the scrollview (which would trigger
a scroll event on WebCore side), zoomRect is called instead of setZoomScale to ensure
that the scroll position stays intact.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:]):
- 3:34 PM Changeset in webkit [187130] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Keyboard bold/italic/underline keys don't highlight after being
tapped to style a selection
https://bugs.webkit.org/show_bug.cgi?id=147164
<rdar://problem/21630806>
Reviewed by Ryosuke Niwa.
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::styleForSelectionStart):
Use adjustedSelectionStartForStyleComputation(), which will ensure that
we're at the start of the selected node, not at the end of the node
before the selection.
- 3:33 PM Changeset in webkit [187129] by
-
- 7 edits in trunk/Source
WTFCrash() in WebKit::WebProcess::networkConnection()
https://bugs.webkit.org/show_bug.cgi?id=147112
<rdar://problem/18477459>
Reviewed by Gavin Barraclough.
Source/WebKit2:
Fixes an issue where a newly launched network process may be jetsam'd because it has not
taken a process assertion between the time it was launched and the time when a web process
makes use of it.
Initially a network process does not have a process assertion. A process assertion is taken
(if one has not been taken) for the network process when a process assertion is taken for at
least one web process. When the network process crashes a WebProcess may ultimately launch a
new network process in WebProcess::networkConnection(). The new network process may be jetsam'd
immediately when the system is under some measure pressure because it has a low jetsam priority,
0 (since it does not have a process assertion and higher priority implies that a process is less
likely to be jetsam'd). And the logic in WebProcess::networkConnection() explicitly calls
CRASH() if the newly launched network process crashes immediately. Towards preventing the newly
launched network process from being jetsam'd we should obtain a process assertion for it.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::WebProcessPool): Initialize m_didNetworkProcessCrash to false.
(WebKit::WebProcessPool::ensureNetworkProcess): If the network process crashed (m_didNetworkProcessCrash == true)
then tell each process in the pool to reinstate their network activity token for the new network process.
(WebKit::WebProcessPool::networkProcessCrashed): Set m_didNetworkProcessCrash to true when the
network process crashed.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState): Added.
(WebKit::WebProcessProxy::didSetAssertionState): Add assert to ensure we never have both
a background- and foreground- activity token for the network process.
- UIProcess/WebProcessProxy.h:
Source/WTF:
Add explicit boolean conversion function and remove overload of operator! to support
checking whether an activity token is valid more directly than using the overloaded operator!.
- wtf/RefCounter.h:
(WTF::RefCounter::Token::operator bool): Added.
(WTF::RefCounter::Token::operator!): Deleted.
- 3:16 PM Changeset in webkit [187128] by
-
- 2 edits in trunk/Source/WebCore
Placing video in fullscreen caused WebKit crash at WebCore::Range::textQuads
https://bugs.webkit.org/show_bug.cgi?id=147166
<rdar://problem/21928558>
Reviewed by Simon Fraser.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::getClippedVisibleTextRectangles):
Check the Range, as always.
- 3:00 PM Changeset in webkit [187127] by
-
- 2 edits in branches/safari-600.8-branch/Source/WebKit2
Merged r186812. rdar://problem/21877954
- 2:43 PM Changeset in webkit [187126] by
-
- 27 edits13 copies in trunk/LayoutTests
[El Capitan] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=147059
- platform/mac-yosemite/fast/dom/52776-expected.png: Copied from LayoutTests/platform/mac/fast/dom/52776-expected.png.
- platform/mac-yosemite/fast/text/complex-text-opacity-expected.png: Copied from LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.png.
- platform/mac-yosemite/fast/text/font-weights-expected.png: Copied from LayoutTests/platform/mac/fast/text/font-weights-expected.png.
- platform/mac-yosemite/fast/text/indic-expected.png: Copied from LayoutTests/platform/mac/fast/text/indic-expected.png.
- platform/mac-yosemite/fast/text/indic-expected.txt: Copied from LayoutTests/platform/mac/fast/text/indic-expected.txt.
- platform/mac-yosemite/fast/text/international/bidi-AN-after-L-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.png.
- platform/mac-yosemite/fast/text/international/bidi-mirror-he-ar-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-mirror-he-ar-expected.png.
- platform/mac-yosemite/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png.
- platform/mac-yosemite/fast/text/international/bidi-neutral-run-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-run-expected.png.
- platform/mac-yosemite/fast/text/international/danda-space-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/danda-space-expected.png.
- platform/mac-yosemite/fast/text/international/danda-space-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/danda-space-expected.txt.
- platform/mac-yosemite/svg/W3C-SVG-1.1/text-intro-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.png.
- platform/mac-yosemite/svg/text/text-intro-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.png.
- platform/mac/fast/dom/52776-expected.png:
- platform/mac/fast/dom/52776-expected.txt:
- platform/mac/fast/text/arabic-times-new-roman-expected.png:
- platform/mac/fast/text/arabic-times-new-roman-expected.txt:
- platform/mac/fast/text/complex-text-opacity-expected.png:
- platform/mac/fast/text/complex-text-opacity-expected.txt:
- platform/mac/fast/text/font-weights-expected.png:
- platform/mac/fast/text/font-weights-expected.txt:
- platform/mac/fast/text/indic-expected.png:
- platform/mac/fast/text/indic-expected.txt:
- platform/mac/fast/text/international/bidi-AN-after-L-expected.png:
- platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
- platform/mac/fast/text/international/bidi-mirror-he-ar-expected.png:
- platform/mac/fast/text/international/bidi-mirror-he-ar-expected.txt:
- platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png:
- platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt:
- platform/mac/fast/text/international/bidi-neutral-run-expected.png:
- platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
- platform/mac/fast/text/international/danda-space-expected.png:
- platform/mac/fast/text/international/danda-space-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png:
- platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.png:
- platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
- platform/mac/svg/text/text-intro-05-t-expected.png:
- platform/mac/svg/text/text-intro-05-t-expected.txt:
- 2:41 PM Changeset in webkit [187125] by
-
- 10 edits in trunk
Fixed VM pool allocation should have a reserve for allocations that cannot fail
https://bugs.webkit.org/show_bug.cgi?id=147154
rdar://problem/21847618
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
This adds the notion of a JIT pool reserve fraction. Some fraction, currently 1/4, of
the JIT pool is reserved for allocations that cannot fail. It makes sense to make this
a fraction rather than a constant because each allocation that can fail may cause some
number of allocations that cannot fail (for example, the OSR exit thunks that we
compile when we exit from some CodeBlock cannot fail).
I've tested this by adding a test mode where we artificially limit the JIT pool size.
Prior to the fix, we had >20 failures. Now we have none.
- heap/GCLogging.cpp:
(WTF::printInternal): I needed a dump method on Options members when debugging this.
- heap/GCLogging.h:
- jit/ExecutableAllocator.h: Raise the ARM64 limit to 32MB because 16MB is cutting it too close.
- jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator): Add the ability to artificially limit JIT pool size for testing.
(JSC::ExecutableAllocator::memoryPressureMultiplier): Implement the reserve when computing memory pressure for JIT tier-up heuristics.
(JSC::ExecutableAllocator::allocate): Implement the reserve when allocating can-fail things.
- jsc.cpp: Rewire some options parsing so that CommandLine happens before we create the JIT pool.
(main):
(CommandLine::parseArguments):
(jscmain):
- runtime/Options.cpp:
(JSC::OptionRange::dump): I needed a dump method on Options members when debugging this.
(JSC::Options::initialize): This can now be called more than once.
- runtime/Options.h:
Tools:
Add a new test mode where we artificially limit JIT memory to 50KB. If our JIT OOM
mitigations work, these should all pass. Prior to this patch there were >20 failures.
- Scripts/run-jsc-stress-tests:
- 2:39 PM Changeset in webkit [187124] by
-
- 5 edits in trunk/Source/WebKit2
ASSERT(m_suspendMessageCount >= 0) fails in ProcessThrottler::didCancelProcessSuspension()
when WebContent process crashes; Network process may never voluntarily suspend
https://bugs.webkit.org/show_bug.cgi?id=147122
<rdar://problem/21906759>
Reviewed by Chris Dumez.
Fixes an issue where the network process may never voluntarily release its process assertion.
Currently the network process always sends both a ProcessReadyToSuspend and CancelPrepareToSuspend
message in response to receiving a PrepareToSuspend message and CancelPrepareToSuspend message,
respectively. The process throttler expects to receive either a ProcessReadyToSuspend message
or a CancelPrepareToSuspend message (and not both) in response to sending the message sequence
PrepareToSuspend, CancelPrepareToSuspend. When a process throttler receives both messages in
response to this sequence then its internal message count becomes imbalanced and it will
never release the process assertion it manages. One user interaction that can cause such an
imbalance, in the process throttler held by NetworkProcessProxy, is switching tabs.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::cancelPrepareToSuspend): Do not send message NetworkProcessProxy::DidCancelProcessSuspension.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didCancelProcessSuspension): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in: Remove message NetworkProcessProxy::DidCancelProcessSuspension.
- 2:23 PM Changeset in webkit [187123] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Total download size doesn't update soon after loading
https://bugs.webkit.org/show_bug.cgi?id=147161
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-21
Reviewed by Timothy Hatcher.
- UserInterface/Models/DefaultDashboard.js:
(WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
Previously autorecording would always have made us start capturing,
however we only autorecord if users are on the Timeline tab. Just
reset the time always, a navigation happened and start the timer.
(WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
Move to a better location within the file.
- 2:23 PM Changeset in webkit [187122] by
-
- 2 edits in trunk/Source/WebKit2
Make sure to invalidate requests for user media after webpage reset
https://bugs.webkit.org/show_bug.cgi?id=147155
<rdar://problem/21924174>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-21
Reviewed by Brent Fulgham.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState): Added user media reset
- 2:19 PM Changeset in webkit [187121] by
-
- 10 edits in trunk
Safari mis-applies "animation-fill-mode: forwards" when using fractional iteration count
https://bugs.webkit.org/show_bug.cgi?id=146996
Reviewed by Dean Jackson.
Source/WebCore:
animation-fill-mode: forwards with fractional iteration counts always snapped to
1 or 0, depending on direction. Fix to compute the fill-forward state from the
correct keyframes.
If filling forwards, AnimationBase::progress() sets the elapsed time to the duration,
then uses fractionalTime() to handle animation direction mapping. If the fractionalTime
is integral, we can return early, avoiding the cost of mapping through timing functions.
Tested by existing tests.
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::progress):
(WebCore::AnimationBase::getElapsedTime):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): It was possible
to end up with prevIndex == nextIndex with reverse animations, which resulted
in divide-by-zero when computing scale. Fix by picking a nextIndex that is different
from prevIndex.
LayoutTests:
Progressions, improved tests.
- animations/animation-direction-reverse-fill-mode-expected.txt: New results; this is a progression.
- animations/animation-direction-reverse-fill-mode.html: Use a shorter animation. Fixed results.
- animations/fill-mode-iteration-count-non-integer-expected.txt:
- animations/fill-mode-iteration-count-non-integer.html: Use iteration counts that are not multiplies
of 0.5, so the test can differentiation between forward and backwards states. Add a non-linear timing
function to check that fill-forwards consults the timing functions. Don't print exact succeeding
results because they may have floating point values.
- animations/fill-mode-reverse-expected.txt: New results; this is a progression.
- animations/fill-mode-reverse.html: Fixed results, use gray.
- 1:57 PM Changeset in webkit [187120] by
-
- 2 edits in trunk/Source/WebCore
Fix failing WK1 layout tests. Make sure to reset the text zoom scale
in Internals::resetToConsistentState.
Reviewed by Anders Carlsson
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
- 1:22 PM Changeset in webkit [187119] by
-
- 2 edits in trunk/Source/JavaScriptCore
ObjectPatternNode's entry should use "const Identifier&" instead of "Identifier"
https://bugs.webkit.org/show_bug.cgi?id=147156
Reviewed by Andreas Kling.
- parser/Nodes.h:
- 1:15 PM Changeset in webkit [187118] by
-
- 6 edits2 deletes in trunk/Source/JavaScriptCore
Object allocation sinking phase is performing needless HashMap copies
https://bugs.webkit.org/show_bug.cgi?id=147159
Reviewed by Geoffrey Garen.
The points-to analyzer in the object allocation sinking phase is
currently performing copies of its allocation and pointers tables in
several places. While this is not a huge problem since those tables are
usually small and we are in the FTL path anyway, we still shouldn't be
doing such useless copying.
This patch also removes the DFGInsertOSRHintsForUpdate files that are
no longer needed with the new object sinking phase and should have been
removed in r186795.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGInsertOSRHintsForUpdate.cpp: Removed.
(JSC::DFG::insertOSRHintsForUpdate): Deleted.
- dfg/DFGInsertOSRHintsForUpdate.h: Removed.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- 12:58 PM Changeset in webkit [187117] by
-
- 3 edits in trunk/Source/WebKit2
[iOS] Avoid using a TextIndicator if there are non-text things to indicate
https://bugs.webkit.org/show_bug.cgi?id=147152
<rdar://problem/21921061>
Reviewed by Beth Dakin.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::shouldUseTextIndicatorForLink):
(WebKit::WebPage::getPositionInformation):
Fall back to a rectangular area instead of a TextIndicator if there are any
non-inline elements inside the link.
- 12:56 PM Changeset in webkit [187116] by
-
- 4 edits4 adds in trunk
REGRESSION (r172417, r184065): Multiple rendering issues with fixed attached background-image
https://bugs.webkit.org/show_bug.cgi?id=147049
<rdar://problem/21110936>
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-07-21
Reviewed by Simon Fraser.
Source/WebCore:
The fixed-attached background-image rendering is special. In general, to
display it, the destinationSize should be set to visibleContentSize. The
destinationLocation should be set such that the background-image does
not move with scrolling. The topContentInset should be subtracted from
the destinationLocation such that background-image can be rendered blurred
in the topContentArea. However there are cases in which these rules have to
be changed.
-- destinationSize: In the case of fixed layout size, the fixedLayoutSize
is bigger than the visibleContentSize. In this case, if the background-image
belongs to the root element, the destinationSize has to be set to fixedLayoutSize.
Otherwise it has to be set to the borderBoxSize unless the overflow is
hidden.
-- destinationLocation: If the background-image belongs to the root element, no
scroll offset to added to destinationLocation. For non-root element case,
FrameView::documentScrollOffsetRelativeToViewOrigin() should be used if no page
scaling is applied. Otherwise FrameView::scrollOffsetForFixedPosition() should be
used instead.
Tests: platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-cover.html
platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-local.html
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Ensure
the geometry for the fixed-attached background-image is calculated correctly.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry): Ensure the background layer
gets the correct size for the fixedLayoutSize mode.
LayoutTests:
fixedLayoutSize background-image rendering for root and non-root elements.
- platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-cover-expected.html: Added.
- platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-cover.html: Added.
- platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-local-expected.html: Added.
- platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-local.html: Added.
- 12:54 PM Changeset in webkit [187115] by
-
- 2 edits in trunk/Source/WebKit2
API::Session should clean up its storage in the network process when destroyed.
<https://webkit.org/b/147139>
<rdar://problem/21838764>
Reviewed by Anders Carlsson.
Have ~Session() send a DestroyPrivateBrowsingSession message to all networking processes
for ephemeral sessions. This plugs a NetworkStorageSession leak that could retain a large
CFNetwork object graph.
- UIProcess/API/APISession.cpp:
(API::Session::~Session):
- 12:52 PM Changeset in webkit [187114] by
-
- 6 edits1 delete in trunk
Make PluginProxy::handleMouseEvent() asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=146142
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-21
Reviewed by Anders Carlsson.
PluginProxy::handleMouseEvent() forwards the generated mouse event to PluginControllerProxy
using a synchronous message, but the recipient always reply immediately with the same value("true")
even before handling the received message. So I think PluginProxy::handleMouseEvent() is perfectly
OK to process its messages asynchronously.
Source/WebKit2:
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::handleMouseEvent):
- PluginProcess/PluginControllerProxy.h:
- PluginProcess/PluginControllerProxy.messages.in:
- WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::handleMouseEvent):
LayoutTests:
platform/mac-wk2/plugins/mouse-events-expected.txt was introduced by webkit.org/b/116665 to avoid
flakey tests, but from now on we can share the common expectations.
- platform/mac-wk2/plugins/mouse-events-expected.txt: Removed.
- 12:33 PM Changeset in webkit [187113] by
-
- 2 edits in trunk/Source/WebKit/ios
Expose shrink-wrapping as UIKit support SPI
https://bugs.webkit.org/show_bug.cgi?id=147148
<rdar://problem/21920008>
- WebKit.iOS.exp:
Also export.
- 12:21 PM Changeset in webkit [187112] by
-
- 2 edits in trunk/Source/WebCore
Fix the !ENABLE(DETAILS_ELEMENT) build after r186598
https://bugs.webkit.org/show_bug.cgi?id=147115
Reviewed by Chris Fleizach.
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::setIsExpanded):
- 12:18 PM Changeset in webkit [187111] by
-
- 3 edits in trunk/Source/JavaScriptCore
DestructuringPatternNode and DestructuringAssignmentNode should be ParserArenaFreeable
https://bugs.webkit.org/show_bug.cgi?id=147140
Reviewed by Geoffrey Garen.
The descendants of DestructuringPatternNode that need destruction also
inherit from ParserArenaDeletable.
- parser/Nodes.h:
(JSC::DestructuringPatternNode::~DestructuringPatternNode):
(JSC::ObjectPatternNode::appendEntry):
(JSC::DestructuringAssignmentNode::bindings):
- 11:43 AM Changeset in webkit [187110] by
-
- 19 edits2 adds in trunk
Need a way to ignore text-zoom in a Web page.
https://bugs.webkit.org/show_bug.cgi?id=27092
rdar://problem/7037987
Reviewed by Simon Fraser.
Source/WebCore:
This patch adds a new property, -webkit-text-zoom, with values of normal and reset. The reset
keyword, just as with the zoom property, can be used to ignore any inherited zoom from the
document.
Added new test in fast/text.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel):
(video::-webkit-media-controls-panel):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator ContentDistributionType):
(WebCore::CSSPrimitiveValue::operator TextZoom):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- css/CSSPropertyNames.in:
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::csstoLengthConversionDataWithTextZoomFactor):
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueWebkitTextSizeAdjust):
(WebCore::StyleBuilderCustom::applyValueWebkitTextZoom):
(WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::checkForZoomChange):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
- rendering/style/RenderStyle.h:
- rendering/style/RenderStyleConstants.h:
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
- rendering/style/StyleRareInheritedData.h:
- style/StyleFontSizeFunctions.cpp:
(WebCore::Style::computedFontSizeFromSpecifiedSize):
- testing/Internals.cpp:
(WebCore::Internals::setPageZoomFactor):
(WebCore::Internals::setTextZoomFactor):
(WebCore::Internals::setUseFixedLayout):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- fast/text/text-zoom-reset-expected.html: Added.
- fast/text/text-zoom-reset.html: Added.
- 11:40 AM Changeset in webkit [187109] by
-
- 4 edits in trunk/Source
WinLauncher does not start on WinXP.
https://bugs.webkit.org/show_bug.cgi?id=147147
Reviewed by Alex Christensen.
Source/WebCore:
Calling GetProcessMemoryInfo() on WinXP requires that PSAPI_VERSION is set to 1,
see https://msdn.microsoft.com/en-us/library/windows/desktop/ms683219(v=vs.85).aspx.
- WebCore.vcxproj/WebCoreCommon.props:
Source/WebKit/win:
ANGLE requires Win7, accelerated compositing must be disabled on earlier Windows versions.
- WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::acceleratedCompositingAvailable):
- 11:18 AM Changeset in webkit [187108] by
-
- 9 edits1 add in trunk/Source/JavaScriptCore
Add support for the new.target syntax.
https://bugs.webkit.org/show_bug.cgi?id=147051
Patch by Keith Miller <keith_miller@apple.com> on 2015-07-21
Reviewed by Yusuke Suzuki.
Add support for new.target. Essentially the implementation is, before constructor calls,
the target of a "new" is placed where "this" noramlly goes in the calling convention.
Then in the constructor before object is initialized we move the target of the "new"
into a local variable.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
- bytecompiler/NodesCodegen.cpp:
(JSC::NewTargetNode::emitBytecode):
- parser/ASTBuilder.h:
(JSC::ASTBuilder::newTargetExpr):
- parser/NodeConstructors.h:
(JSC::NewTargetNode::NewTargetNode):
- parser/Nodes.h:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseMemberExpression):
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::newTargetExpr):
- runtime/CommonIdentifiers.h:
- tests/stress/new-target.js: Added.
(test):
(call):
(Constructor.subCall):
(Constructor.SubConstructor):
(Constructor):
(noAssign):
(doWeirdThings):
(SuperClass):
(SubClass):
- 10:14 AM Changeset in webkit [187107] by
-
- 3 edits in trunk/Source/WebKit/ios
Expose shrink-wrapping as UIKit support SPI
https://bugs.webkit.org/show_bug.cgi?id=147148
<rdar://problem/21920008>
Reviewed by Simon Fraser.
- Misc/WebUIKitSupport.h:
- Misc/WebUIKitSupport.mm:
(WebKitCreatePathWithShrinkWrappedRects):
- 10:06 AM Changeset in webkit [187106] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebKit/mac
Merged r187103. rdar://problem/9091261
- 9:53 AM Changeset in webkit [187105] by
-
- 73 edits in trunk/Source/WebInspectorUI
Web Inspector: Convert all colors from RGB to HSL color scheme
https://bugs.webkit.org/show_bug.cgi?id=147143
HSL color scheme is more human friendly than RGB.
RGB -> HSL
RGB hex (e.g. #bada55 and #456) -> HSL
RGBA -> HSLA
Named colors (white, black, lightgoldenrodyellow) are unchanged
Reviewed by Timothy Hatcher.
- UserInterface/Controllers/CodeMirrorGradientEditingController.css:
(.gradient-editing-controller > label > input):
- UserInterface/Views/BoxModelDetailsSectionRow.css:
(.details-section .row.box-model .position):
(.details-section .row.box-model .margin):
(.details-section .row.box-model .margin.active):
(.details-section .row.box-model .border):
(.details-section .row.box-model .border.active):
(.details-section .row.box-model .padding):
(.details-section .row.box-model .padding.active):
(.details-section .row.box-model .content):
(.details-section .row.box-model .content.active):
- UserInterface/Views/Breakpoint.css:
(.popover .edit-breakpoint-popover-content > table > tr > th):
- UserInterface/Views/BreakpointActionView.css:
(.breakpoint-action-remove-button):
(.breakpoint-action-append-button):
(.breakpoint-action-block-body):
(.breakpoint-action-eval-editor):
- UserInterface/Views/BreakpointTreeElement.css:
(.breakpoint-generic-line-icon .icon > span):
(.data-updated.breakpoint-generic-line-icon .icon > span):
- UserInterface/Views/ButtonNavigationItem.css:
(.navigation-bar .item.button.text-only):
(.navigation-bar .item.button.suppress-emboss > .glyph):
- UserInterface/Views/ButtonToolbarItem.css:
(.toolbar .item.button > .label):
(.toolbar.label-only .item.activate.button.activated > .label):
- UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section > .header > .selector):
(.style-declaration-section > .header > .origin):
- UserInterface/Views/CSSStyleDeclarationTextEditor.css:
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.disabled, .invalid, .other-vendor, .not-inherited, .overridden)):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.invalid):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property:matches(.disabled, .other-vendor, .not-inherited, .overridden)):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span):
(.css-style-text-editor > .CodeMirror .cm-link):
- UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content > .pseudo-classes):
(.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
(.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
(.sidebar > .panel.details.css-style > .content.filter-in-progress .filter-matching):
(.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-has-label)):
- UserInterface/Views/ChartDetailsSectionRow.css:
(.details-section > .content > .group > .row.chart > .title):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label):
- UserInterface/Views/CodeMirrorOverrides.css:
(.CodeMirror .CodeMirror-selected):
(.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
(.CodeMirror .CodeMirror-lines .CodeMirror-nonmatchingbracket):
(.CodeMirror .CodeMirror-gutters):
(.CodeMirror .CodeMirror-linenumber):
- UserInterface/Views/CompletionSuggestionsView.css:
(.completion-suggestions):
(.completion-suggestions-container > .item:active):
- UserInterface/Views/ConsoleMessageView.css:
(.console-user-command.special-user-log > .console-message-text):
(.console-message .repeat-count):
(.console-message-preview-divider):
(.console-message-enclosed):
(.console-user-command > .console-message-text):
(.console-saved-variable):
- UserInterface/Views/DOMStorageContentView.css:
(.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
(.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):
- UserInterface/Views/DOMTreeOutline.css:
(.dom-tree-outline li.hovered:not(.selected) .selection):
(.dom-tree-outline li.selected .selection):
(.dom-tree-outline li.elements-drag-over .selection):
(.dom-tree-outline:focus li.selected .selection):
(.showing-find-banner .dom-tree-outline .search-highlight):
- UserInterface/Views/DataGrid.css:
(.data-grid .highlight):
(.data-grid.inline):
(.data-grid th):
(body.window-inactive .data-grid th):
(.data-grid :matches(th, td):not(:last-child)):
(body.window-inactive .data-grid :matches(th, td):not(:last-child)):
(.data-grid th.sortable:active):
(.data-grid th:matches(.sort-ascending, .sort-descending)):
(.data-grid table.data):
(.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
(.data-grid tr.selected):
(.data-grid:matches(:focus, .force-focus) tr.selected):
(.data-grid td .subtitle):
(.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
(.data-grid td.error):
- UserInterface/Views/DatabaseContentView.css:
(.storage-view .storage-table-error):
(.database-user-query):
(.database-query-text):
- UserInterface/Views/DebuggerDashboardView.css:
(.toolbar .dashboard.debugger):
(.dashboard.debugger .navigation-bar .item.button > .glyph):
(.dashboard.debugger > .divider):
(.dashboard.debugger > .location .function-name):
(.dashboard.debugger > .location .go-to-link):
- UserInterface/Views/DebuggerSidebarPanel.css:
(.sidebar > .panel.navigation.debugger.paused .details-section.scripts):
- UserInterface/Views/DefaultDashboardView.css:
(.toolbar .dashboard.default > .item.enabled:hover):
(.toolbar .dashboard.default > .item.enabled:active):
(.toolbar .dashboard.default > .item > div):
(.toolbar .dashboard.default > .item.enabled > div):
(.toolbar .dashboard.default > .item.enabled:hover > div):
(.toolbar .dashboard.default > .errors.enabled > div):
(.toolbar .dashboard.default > .errors.enabled:hover > div):
(.toolbar .dashboard.default > .issues.enabled > div):
(.toolbar .dashboard.default > .issues.enabled:hover > div):
- UserInterface/Views/DetailsSection.css:
(.details-section):
(.details-section .details-section):
(.details-section .details-section:first-child):
(.details-section > .header):
(.details-section .details-section > .header):
(.details-section .details-section:not(.collapsed) > .header):
(.details-section.computed-style-properties:not(.collapsed) > .header):
(.details-section > .header > label):
(.details-section > .content > .group):
(.details-section > .content > .group:nth-child(even) > .row:matches(.simple:first-child > *, :not(.simple):first-child)):
(.details-section > .content > .group > .row.simple > .label):
(.details-section > .content .data-grid tr:nth-child(odd)):
- UserInterface/Views/DividerNavigationItem.css:
(.navigation-bar .item.divider):
- UserInterface/Views/Editing.css:
(.editing):
- UserInterface/Views/FilterBar.css:
(.filter-bar):
(.filter-bar > input[type="search"]):
(.filter-bar > input[type="search"]::-webkit-input-placeholder):
- UserInterface/Views/FindBanner.css:
(.find-banner):
(body.window-inactive .find-banner):
(.find-banner > input[type="search"]):
(.find-banner > button):
(.find-banner > button:active:not(:disabled)):
(.find-banner > button:disabled):
- UserInterface/Views/FormattedValue.css:
(:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
(.formatted-number):
(.formatted-boolean):
(.formatted-string):
(.formatted-regexp):
(.formatted-symbol):
(.formatted-null, .formatted-undefined):
- UserInterface/Views/GoToLineDialog.css:
(.go-to-line-dialog):
(.go-to-line-dialog > div):
(.go-to-line-dialog > div > input):
(.go-to-line-dialog > div > input::-webkit-input-placeholder):
(.go-to-line-dialog > div > img):
(.go-to-line-dialog > div > img:active):
- UserInterface/Views/GradientSlider.css:
(.gradient-slider):
(.gradient-slider-knob > div):
- UserInterface/Views/HierarchicalPathComponent.css:
(.hierarchical-path-component > .title):
- UserInterface/Views/HoverMenu.css:
(.hover-menu > svg > :matches(path, rect)):
- UserInterface/Views/ImageResourceContentView.css:
(.content-view.resource.image):
- UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
(.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
- UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
(.panel.details.layer-tree .name-column :matches(.pseudo-element, .reflection)):
(.panel.details.layer-tree tr.selected .name-column :matches(.pseudo-element, .reflection)):
(.panel.details.layer-tree .bottom-bar):
- UserInterface/Views/LogContentView.css:
(.console-item):
(.console-session + .console-session):
(.console-messages a):
(.console-messages a:hover):
(.search-bar.log-search-bar > input[type="search"]):
(.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
(.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
- UserInterface/Views/Main.css:
(body.docked.bottom):
(body.docked.right):
(body.window-inactive.docked.bottom):
(body.window-inactive.docked.right):
(#split-content-browser):
(body.window-inactive #split-content-browser):
(#split-content-browser > .navigation-bar):
(#split-content-browser .hierarchical-path-component.log-icon .title):
(.message-text-view):
(.message-text-view.error):
(.go-to-link):
(.value-with-clarification .clarification):
(.bouncy-highlight):
- UserInterface/Views/NavigationBar.css:
(.navigation-bar):
(body.window-inactive .navigation-bar):
- UserInterface/Views/NavigationSidebarPanel.css:
(.sidebar > .panel.navigation > .overflow-shadow):
(body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
(.sidebar > .panel.navigation > .empty-content-placeholder > .message):
(.navigation-sidebar-panel-content-tree-outline .item.selected):
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
(body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
(.navigation-sidebar-panel-content-tree-outline .item .highlighted):
(.navigation-sidebar-panel-content-tree-outline .item .subtitle):
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
- UserInterface/Views/NetworkGridContentView.css:
(.content-view.network-grid > .data-grid table.data):
- UserInterface/Views/NetworkSidebarPanel.css:
(.sidebar > .panel.navigation.network > .title-bar):
(body.window-inactive .sidebar > .panel.navigation.network > .title-bar):
(.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
- UserInterface/Views/NetworkTimelineOverviewGraph.css:
(.timeline-overview-graph.network:nth-child(even) > .graph-row > .timeline-record-bar > .segment:not(.inactive)):
- UserInterface/Views/NewTabContentView.css:
(.new-tab.tab.content-view):
(.new-tab.tab.content-view > .tab-item > .box):
- UserInterface/Views/ObjectPreviewView.css:
(.object-preview .name):
(.object-preview > .size):
- UserInterface/Views/ObjectTreeView.css:
(.object-tree-outline li .empty-message):
- UserInterface/Views/OverviewTimelineView.css:
(.timeline-view.overview > .timeline-ruler > .header):
(body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
(.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
(.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
(.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
- UserInterface/Views/ProbeSetDataGrid.css:
(.details-section.probe-set .data-grid tr.past-value td):
(.details-section.probe-set .data-grid > td.unknown-value):
(@-webkit-keyframes blink-frame-highlight):
(100%):
(.details-section.probe-set .data-grid tr.separator):
(@-webkit-keyframes blink-probe-frame):
- UserInterface/Views/QuickConsole.css:
(.quick-console):
(body.window-inactive .quick-console):
(.quick-console.showing-log):
- UserInterface/Views/RadioButtonNavigationItem.css:
(.navigation-bar .item.radio.button.text-only:hover):
(.navigation-bar .item.radio.button.text-only.selected):
(.navigation-bar .item.radio.button.text-only:active):
(.navigation-bar .item.radio.button.text-only.selected:active):
- UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
(.timeline-overview-graph.rendering-frame > .divider):
(.timeline-overview-graph.rendering-frame > .divider > .label):
- UserInterface/Views/ReplayDashboardView.css:
(.toolbar .dashboard.replay):
- UserInterface/Views/ResourceTreeElement.css:
(.item.resource.failed):
(.item.resource.failed .subtitle):
- UserInterface/Views/RulesStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style .rules .label):
(.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
- UserInterface/Views/ScopeBar.css:
(.scope-bar > li):
(.scope-bar > li:hover):
(.scope-bar > li.selected):
(.scope-bar > li:active):
(.scope-bar > li.selected:active):
- UserInterface/Views/SearchBar.css:
(.search-bar > input[type="search"]):
(.search-bar > input[type="search"]::-webkit-input-placeholder):
- UserInterface/Views/SearchSidebarPanel.css:
(.sidebar > .panel.navigation.search > .search-bar):
- UserInterface/Views/Sidebar.css:
(.sidebar):
(.sidebar.left):
(.sidebar.right):
(body.window-inactive .sidebar.left):
(body.window-inactive .sidebar.right):
- UserInterface/Views/SourceCodeTextEditor.css:
(.source-code.text-editor > .CodeMirror .warning):
(.source-code.text-editor > .CodeMirror .error):
(.source-code.text-editor > .CodeMirror .issue-widget.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
(.source-code.text-editor > .CodeMirror .issue-widget.error):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
(.popover .debugger-popover-content > .body):
- UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
(.syntax-highlighted :matches(.css-comment, .javascript-comment, .html-comment)):
(.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
(.syntax-highlighted :matches(.css-number, .javascript-number)):
(.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)):
(.syntax-highlighted :matches(.html-doctype, .html-processing-instruction)):
(.syntax-highlighted .html-attribute-name):
(.syntax-highlighted a):
(.supports-find-banner.showing-find-banner .syntax-highlighted .search-result):
(.cm-s-default .basic-block-has-not-executed):
(.cm-s-default .basic-block-has-not-executed.cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-3, .cm-property)):
(.cm-s-default .basic-block-has-not-executed:matches(.cm-number, .cm-atom.cm-hex-color)):
(.cm-s-default .basic-block-has-not-executed.cm-string):
(.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-meta):
- UserInterface/Views/TabBar.css:
(.tab-bar):
(body.window-inactive .tab-bar):
(.tab-bar > .top-border):
(body.window-inactive .tab-bar > .top-border):
(.tab-bar > .item):
(.tab-bar.dragging-tab > .item.selected):
(.tab-bar > .item:not(.disabled).selected):
(.tab-bar > .item.new-tab-button:not(.disabled):hover):
(.tab-bar:not(.animating) > .item:not(.selected, .disabled):hover + .item):
(body.window-inactive .tab-bar > .item):
(body.window-inactive .tab-bar > .item.selected):
(.tab-bar > .item > .close:hover):
(.tab-bar > .item > .title):
(.tab-bar:not(.animating) > .item:not(.selected):hover > .title):
(.tab-bar > .item.selected > .title):
(.tab-bar.animating.closing-tab > .item.selected):
(body.window-inactive .tab-bar.animating.closing-tab > .item.selected):
- UserInterface/Views/TextEditor.css:
(.text-editor > .CodeMirror .execution-line):
(.text-editor > .CodeMirror .hovered-expression-highlight):
(to):
- UserInterface/Views/TimelineDataGrid.css:
(.data-grid.timeline th):
(body.window-inactive .data-grid.timeline th):
(.timeline-data-grid-tree-outline .item:hover):
(.timeline-data-grid-tree-outline .item .subtitle):
- UserInterface/Views/TimelineOverview.css:
(.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)):
(.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)):
- UserInterface/Views/TimelineRecordBar.css:
(.timeline-record-bar > .segment):
(:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
(:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(.timeline-record-bar.timeline-record-type-network > .segment):
(.timeline-record-bar.timeline-record-type-network > .segment.inactive):
(.timeline-record-bar.timeline-record-type-layout > .segment):
(.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
(.timeline-record-bar.timeline-record-type-script > .segment):
- UserInterface/Views/TimelineRecordFrame.css:
(.timeline-record-frame):
(.timeline-record-frame > .frame > .duration):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
- UserInterface/Views/TimelineRecordingContentView.css:
(.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid table.data):
- UserInterface/Views/TimelineRuler.css:
(.timeline-ruler > .header):
(body.window-inactive .timeline-ruler > .header):
(.timeline-ruler > .header > .divider):
(body.window-inactive .timeline-ruler > .header > .divider):
(.timeline-ruler > .header > .divider > .label):
(.timeline-ruler > .markers > .divider):
(.timeline-ruler > .markers > .marker):
(.timeline-ruler > .markers > .marker.load-event):
(.timeline-ruler > .markers > .marker.dom-content-event):
(.timeline-ruler > .markers > .marker.timestamp):
(.timeline-ruler > .selection-handle):
(.timeline-ruler > .shaded-area):
- UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .status-bar):
(body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
(.sidebar > .panel.navigation.timeline > .title-bar):
(body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
(body.window-inactive .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
(.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
- UserInterface/Views/TimelineView.css:
(.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
- UserInterface/Views/Toolbar.css:
(.toolbar):
(body.window-inactive .toolbar):
- UserInterface/Views/TreeElementStatusButton.css:
(.item > .status > .status-button > svg .filled):
(.item > .status > .status-button > svg .stroked):
- UserInterface/Views/TypeTokenView.css:
(.type-token-function, .type-token-boolean):
(.type-token-number):
(.type-token-string):
(.type-token-symbol):
(.type-token-default):
(.type-token-empty):
(.type-token-many):
- UserInterface/Views/TypeTreeView.css:
(.type-tree-outline li .empty-message):
- 9:49 AM Changeset in webkit [187104] by
-
- 2 edits in branches/safari-600.1.4.17-branch/Source/WebKit/mac
Merged r187103. <rdar://problem/9091261>
- 9:19 AM Changeset in webkit [187103] by
-
- 2 edits in trunk/Source/WebKit/mac
Fix WebPreferences infinite recursion introduced in r186232.
<rdar://problem/9091261> and https://bugs.webkit.org/show_bug.cgi?id=147149
Reviewed by Tim Horton.
- WebView/WebPreferences.mm:
(-[WebPreferences metaRefreshEnabled]):
- 8:50 AM Changeset in webkit [187102] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebKit2
Merged r186897. rdar://problem/21692212
Jul 20, 2015:
- 11:18 PM Changeset in webkit [187101] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r184376): [SOUP] Multiple assertions when downloading files
https://bugs.webkit.org/show_bug.cgi?id=147039
Reviewed by Darin Adler.
No new tests; this will be covered once we enable the network process for API tests.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::releaseForDownload): Call RefPtrBase::relaxAdoptionRequirement so
that we don't assert when storing the non-adopted ResourceHandle in a RefPtr. The ref will
be dropped in ResourceHandle::cleanupSoupOperation, which as the comment says should always
run. HOPEFULLY.
(WebCore::ResourceHandle::continueWillSendRequest): Don't assert that client() is nonnull,
because the code clearly expects and handles the case where it is null.
(WebCore::ResourceHandle::continueDidReceiveResponse): Ditto; note that here client() will
always be null for a download.
- 11:06 PM Changeset in webkit [187100] by
-
- 20 edits3 adds in trunk
[GTK] Add API to be notified about editor state changes
https://bugs.webkit.org/show_bug.cgi?id=145875
Reviewed by Gustavo Noronha Silva.
Source/WebKit2:
Add WebKitEditorState object, that is created on demand by the
WebKitWebView and can be used to get the typing attributes of the
editor at the current position or selection.
- PlatformGTK.cmake:
- Shared/EditorState.cpp: Use part of the PostLayoutData struct
for the GTK port too.
(WebKit::EditorState::encode): Encode PostLayoutData for GTK and
remove our custom cursorRect.
(WebKit::EditorState::decode): Decode PostLayoutData for GTK and
remove our custom cursorRect.
(WebKit::EditorState::PostLayoutData::encode): Reorder it to
reduce the amonut of ifdefs.
(WebKit::EditorState::PostLayoutData::decode): Ditto.
- Shared/EditorState.h: Add AttributeStrikeThrough to
TypingAttributes enum.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::selectionDidChange): Rename
updateTextInputState() to selectionDidChange() and also notify the
WebKitWebView.
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/API/gtk/WebKitEditorState.cpp: Added.
(webkitEditorStateGetProperty):
(webkit_editor_state_class_init):
(webkitEditorStateSetTypingAttributes):
(webkitEditorStateCreate):
(webkitEditorStateChanged):
(webkit_editor_state_get_typing_attributes):
- UIProcess/API/gtk/WebKitEditorState.h: Added.
- UIProcess/API/gtk/WebKitEditorStatePrivate.h: Added.
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewSelectionDidChange): Notify the WebKitEditorState if
it has already been created.
(webkit_web_view_get_editor_state): Ensure a WebKitEditorState and
return it.
- UIProcess/API/gtk/WebKitWebView.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseUpdateTextInputState): Get the caret cursor rect
from PostLayoutData.
- UIProcess/API/gtk/WebKitWebViewPrivate.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
- UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_editor_state_get_type.
- UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for WebKitEditorState.
- UIProcess/API/gtk/webkit2.h: Include WebKitEditorState.h.
- UIProcess/PageClient.h:
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::editorStateChanged): Call PageClientImpl::selectionDidChange().
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformEditorState): Add typing attributes to EditorState.
Tools:
Update the typing attributes toggle buttons state according to the
editor state in MiniBrowser, and add a test case to the
WebViewEditor unit tests.
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowEditingCommandToggleButtonSetActive):
(typingAttributesChanged):
(browserWindowSetupEditorToolbar):
(browserWindowConstructed):
(browser_window_init):
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:
(testWebViewEditorEditorStateTypingAttributes):
(beforeAll):
- 10:56 PM Changeset in webkit [187099] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebCore
Merge r187098. rdar://problem/21878275
- 10:39 PM Changeset in webkit [187098] by
-
- 2 edits in trunk/Source/WebCore
Follow-up to my earlier fix for r147085
https://bugs.webkit.org/show_bug.cgi?id=147085
Reviewed by Eric Carlson.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::isPlayingAudioDidChange):
Null-check document() before dereferencing it in case the audio context's document is destroyed
by the time the code block is called on the main thread.
- 10:35 PM Changeset in webkit [187097] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebKit2
Merge r187072. rdar://problem/21582858
- 10:35 PM Changeset in webkit [187096] by
-
- 5 edits in branches/safari-601.1-branch/Source/WebKit2
Merge r187050. rdar://problem/21582858
- 10:33 PM Changeset in webkit [187095] by
-
- 10 edits in trunk/Source/WebCore
Remove RenderTheme::shouldShowPlaceholderWhenFocused()
https://bugs.webkit.org/show_bug.cgi?id=147104
Reviewed by Martin Robinson.
GTK+ is the only port that returns false in
shouldShowPlaceholderWhenFocused(). That's inconsistent with all
other browsers that show the placeholder text even for focused
entries in all platforms. We should change the GTK+ port
behaviour, but that would leave all implementations of
shouldShowPlaceholderWhenFocused returning true, so let's just
remove it.
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
Do not consider whether the entry is focused or not.
- platform/efl/RenderThemeEfl.h:
- rendering/RenderTheme.h:
(WebCore::RenderTheme::shouldShowPlaceholderWhenFocused): Deleted.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::shouldShowPlaceholderWhenFocused): Deleted.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused): Deleted.
- rendering/RenderThemeSafari.h:
(WebCore::RenderThemeSafari::shouldShowPlaceholderWhenFocused): Deleted.
- rendering/RenderThemeWin.h:
- 10:27 PM Changeset in webkit [187094] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebKit2
Merge r187054. rdar://problem/21823349
- 10:27 PM Changeset in webkit [187093] by
-
- 3 edits2 adds in branches/safari-601.1-branch
Merge r187053. rdar://problem/21778212
- 10:27 PM Changeset in webkit [187092] by
-
- 14 edits in branches/safari-601.1-branch/Source
Merge r187044. rdar://problem/21661808
- 10:27 PM Changeset in webkit [187091] by
-
- 4 edits in branches/safari-601.1-branch/Source
Merge r187039. rdar://problem/21474317
- 10:27 PM Changeset in webkit [187090] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebKit
Merge r187027. rdar://problem/21882777
- 10:27 PM Changeset in webkit [187089] by
-
- 4 edits in branches/safari-601.1-branch/Source/JavaScriptCore
Merge r186819. rdar://problem/21729083
- 10:16 PM Changeset in webkit [187088] by
-
- 2 edits in trunk/Source/WebCore
[CoordinatedGraphics] CoordinatedGraphicsLayer::setContentsToImage() should avoid scheduling unnecessary flushes
https://bugs.webkit.org/show_bug.cgi?id=147118
Reviewed by Martin Robinson.
Have CoordinatedGraphicsLayer::setContentsToImage() return early if the new
passed-in Image and the corresponding native image pointer are equal to the
currently set values.
This specifically avoids scheduling unnecessary flushes when setContentsToImage()
is repeatedly called with a null Image pointer, which in previous code would
unconditionally result in a scheduled flush even if there was no Image assigned
as the content of this layer before. Until now the layer flush scheduling was only
avoided if the two non-null native image pointers were equal.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
- 10:08 PM Changeset in webkit [187087] by
-
- 12 edits1 add in branches/safari-601.1-branch
Merge r186910. rdar://problem/21863296
- 10:08 PM Changeset in webkit [187086] by
-
- 4 edits in branches/safari-601.1-branch/Source/WebCore
Merge r186715. rdar://problem/21863296
- 9:38 PM Changeset in webkit [187085] by
-
- 20 edits1 copy4 adds in branches/safari-601.1-branch
Merge r186955. rdar://problem/14489674
- 9:38 PM Changeset in webkit [187084] by
-
- 7 edits in branches/safari-601.1-branch/Source/WebKit2
Merge r187047. rdar://problem/20860410
- 9:38 PM Changeset in webkit [187083] by
-
- 4 edits in branches/safari-601.1-branch/WebKitLibraries
Merge r187038. rdar://problem/20860410
- 9:38 PM Changeset in webkit [187082] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebCore
Merge r187035. rdar://problem/21712311
- 9:38 PM Changeset in webkit [187081] by
-
- 9 edits in branches/safari-601.1-branch
Merge r187031. rdar://problem/21712311
- 9:37 PM Changeset in webkit [187080] by
-
- 2 edits in branches/safari-601.1-branch/Source/JavaScriptCore
Merge r187028. rdar://problem/21869970
- 9:37 PM Changeset in webkit [187079] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebCore
Merge r187025. rdar://problem/21878275
- 9:37 PM Changeset in webkit [187078] by
-
- 3 edits in branches/safari-601.1-branch/Source/WebKit2
Merge r187023. rdar://problem/21799011
- 9:37 PM Changeset in webkit [187077] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebKit2
Merge r187001. rdar://problem/21769577
- 9:37 PM Changeset in webkit [187076] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebCore
Merge r186991. rdar://problem/21643094
- 9:37 PM Changeset in webkit [187075] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebCore
Merge r186990. rdar://problem/21643094
- 9:37 PM Changeset in webkit [187074] by
-
- 3 edits in branches/safari-601.1-branch/LayoutTests
Merge r186988. rdar://problem/21567820
- 9:37 PM Changeset in webkit [187073] by
-
- 12 edits17 adds in branches/safari-601.1-branch
Merge r186982. rdar://problem/21567820
- 9:37 PM Changeset in webkit [187072] by
-
- 2 edits in trunk/Source/WebKit2
Fix the iOS build.
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
- 9:37 PM Changeset in webkit [187071] by
-
- 3 edits in branches/safari-601.1-branch/Source/WebCore
Merge r186979. rdar://problem/19192076
- 9:37 PM Changeset in webkit [187070] by
-
- 6 edits in branches/safari-601.1-branch/Source
Merge r186978. rdar://problem/21643094
- 9:37 PM Changeset in webkit [187069] by
-
- 9 edits in branches/safari-601.1-branch
Merge r186976. rdar://problem/21643094
- 9:37 PM Changeset in webkit [187068] by
-
- 3 edits2 adds in branches/safari-601.1-branch
Merge r186974. rdar://problem/21106945
- 9:37 PM Changeset in webkit [187067] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebKit2
Merge r186969. rdar://problem/21803781
- 9:37 PM Changeset in webkit [187066] by
-
- 3 edits2 adds in branches/safari-601.1-branch
Merge r186968. rdar://problem/21359811
- 9:37 PM Changeset in webkit [187065] by
-
- 10 edits1 add in branches/safari-601.1-branch
Merge r186964. rdar://problem/21803781
- 9:37 PM Changeset in webkit [187064] by
-
- 7 edits9 adds in branches/safari-601.1-branch
Merge r186957. rdar://problem/21867831
- 9:37 PM Changeset in webkit [187063] by
-
- 9 edits in branches/safari-601.1-branch/Source
Merge r186956. rdar://problem/21643094
- 9:36 PM Changeset in webkit [187062] by
-
- 10 edits in branches/safari-601.1-branch/Source
Merge r186916. rdar://problem/21643094
- 9:36 PM Changeset in webkit [187061] by
-
- 8 edits in branches/safari-601.1-branch
Merge r186912. rdar://problem/21866271
- 9:36 PM Changeset in webkit [187060] by
-
- 3 edits in branches/safari-601.1-branch/Source/WebCore
Merge r186890. rdar://problem/21643094
- 9:36 PM Changeset in webkit [187059] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebCore
Merge r186875. rdar://problem/21643094
- 9:36 PM Changeset in webkit [187058] by
-
- 3 edits in branches/safari-601.1-branch/Source/WebCore
Merge r186867. rdar://problem/21643094
- 9:36 PM Changeset in webkit [187057] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebCore
Merge r186863. rdar://problem/21715050
- 9:36 PM Changeset in webkit [187056] by
-
- 12 edits1 copy6 adds in branches/safari-601.1-branch
Merge r186858. rdar://problem/21643094
- 9:36 PM Changeset in webkit [187055] by
-
- 6 edits in branches/safari-601.1-branch/Source/WebCore
Merge r186854. rdar://problem/21840147
- 7:00 PM Changeset in webkit [187054] by
-
- 2 edits in trunk/Source/WebKit2
Facebook in tiled fullscreen is slow
https://bugs.webkit.org/show_bug.cgi?id=147134
rdar://problem/21823349
Reviewed by Tim Horton.
TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded() could cause a page to toggle
between two fixed layout sizes differing by a pixel, because of rounding. This would cause
lots of extra layouts and painting.
This happened because the the fixed layout size was computed using ceil(m_webPage.size().width() / viewScale)
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
- 6:08 PM Changeset in webkit [187053] by
-
- 3 edits2 adds in trunk
AX: Selection change as a result of focusing an element may cause Safari to crash
https://bugs.webkit.org/show_bug.cgi?id=147052
<rdar://problem/21778212>
Patch by Nan Wang <n_wang@apple.com> on 2015-07-20
Reviewed by Chris Fleizach.
Source/WebCore:
When focusing an element, it may trigger a deferred layout that invalidates the render
element, which will cause axObjectCache() to be a nullptr, and lead to a crash. Fix that
by using a RefPtr to hold the object and also caching the axObjectCache().
Test: platform/mac/accessibility/focus-crash.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setFocused):
(WebCore::AccessibilityRenderObject::setSelectedRows):
LayoutTests:
- platform/mac/accessibility/focus-crash-expected.txt: Added.
- platform/mac/accessibility/focus-crash.html: Added.
- 5:58 PM Changeset in webkit [187052] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: console.assert(false, "Message") message is not visible in console
https://bugs.webkit.org/show_bug.cgi?id=147130
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-20
Reviewed by Timothy Hatcher.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
We were forgetting to assign the result of args.concat back into args.
In re-addressing this, improve the formatting of output if there is
a string message or not as the second argument to console.assert(), as
that is the common usage.
- 5:27 PM Changeset in webkit [187051] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r187049.
- contentextensions/ContentExtension.cpp:
(WebCore::ContentExtensions::ContentExtension::populateDomainCacheIfNeeded):
Can't shrinkToFit HashSets.
- 5:23 PM Changeset in webkit [187050] by
-
- 5 edits in trunk/Source/WebKit2
Fix crash due to RemoteLayerTreeDisplayRefreshMonitor outliving RemoteLayerTreeDrawingArea
https://bugs.webkit.org/show_bug.cgi?id=147124
<rdar://problem/21582858>
Reviewed by Simon Fraser.
Refactors RemoteLayerTreeDisplayRefreshMonitor to use a weak pointer rather than a reference
to its RemoteLayerTreeDrawingArea, since the drawing area may be deallocated before the monitor
in some rare cases. This rarely caused pages using requestAnimationFrame to crash on iOS. However,
this should not be the case: logically, a RemoteLayerTreeDrawingArea should always outlive its
refresh monitors. Refer to https://bugs.webkit.org/show_bug.cgi?id=147128 for more details.
- WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.h:
- WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.mm:
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::RemoteLayerTreeDisplayRefreshMonitor):
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::~RemoteLayerTreeDisplayRefreshMonitor): On destruction, checks
first to see whether or not the drawing area has been deallocated before telling it to update its monitors.
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::requestRefreshCallback):
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
(WebKit::RemoteLayerTreeDrawingArea::createWeakPtr): Creates and returns a new weak pointer to itself.
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
- 5:12 PM Changeset in webkit [187049] by
-
- 16 edits in trunk/Source
[Content Extensions] Cache actions with domains that match everything
https://bugs.webkit.org/show_bug.cgi?id=147050
Reviewed by Benjamin Poulain.
Source/WebCore:
If you have lots of rules with triggers like {"url-filter":".*","if-domain":*webkit.org}
we will spend a lot of time adding unnecessary actions to HashSets when you are not on webkit.org.
Caching all the rules and only adding them to a collection once when the domain changes saves a lot of URL interpreting time.
We already had an optimization for the css-display-none actions with triggers that matched everything using a special bytecode operation.
This removes the need for a special bytecode operation by caching the triggers that match everything with and without domains,
then from those cached actions we compile a stylesheet, and create cached actions for every new domain we visit.
All functionality is covered by existing API tests.
- contentextensions/CompiledContentExtension.cpp:
(WebCore::ContentExtensions::CompiledContentExtension::~CompiledContentExtension):
(WebCore::ContentExtensions::CompiledContentExtension::globalDisplayNoneSelectors): Deleted.
- contentextensions/CompiledContentExtension.h:
- contentextensions/ContentExtension.cpp:
(WebCore::ContentExtensions::ContentExtension::ContentExtension):
(WebCore::ContentExtensions::ContentExtension::findFirstIgnorePreviousRules):
(WebCore::ContentExtensions::ContentExtension::globalDisplayNoneStyleSheet):
(WebCore::ContentExtensions::ContentExtension::compileGlobalDisplayNoneStyleSheet):
(WebCore::ContentExtensions::ContentExtension::populateDomainCacheIfNeeded):
(WebCore::ContentExtensions::ContentExtension::cachedDomainActions):
(WebCore::ContentExtensions::ContentExtension::universalActionsWithDomains):
- contentextensions/ContentExtension.h:
(WebCore::ContentExtensions::ContentExtension::compiledExtension):
(WebCore::ContentExtensions::ContentExtension::universalActionsWithoutDomains):
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
- contentextensions/ContentExtensionRule.cpp:
(WebCore::ContentExtensions::ContentExtensionRule::ContentExtensionRule):
(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):
- contentextensions/ContentExtensionRule.h:
(WebCore::ContentExtensions::Action::operator==):
(WebCore::ContentExtensions::Action::setExtensionIdentifier):
(WebCore::ContentExtensions::Action::extensionIdentifier):
- contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
- contentextensions/DFABytecode.h:
(WebCore::ContentExtensions::instructionSizeWithArguments):
- contentextensions/DFABytecodeCompiler.cpp:
(WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
- contentextensions/DFABytecodeInterpreter.cpp:
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretTestFlagsAndAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsMatchingEverything):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsForDefaultStylesheetFromDFARoot): Deleted.
- contentextensions/DFABytecodeInterpreter.h:
- loader/ResourceLoadInfo.h:
Source/WebKit2:
- UIProcess/API/APIUserContentExtensionStore.h:
- 4:48 PM Changeset in webkit [187048] by
-
- 1 edit in branches/safari-600.1.4.17-branch/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp
Follow-up fix after r187042.
- 4:45 PM Changeset in webkit [187047] by
-
- 7 edits in trunk/Source/WebKit2
Support blocking a plug-in for non-security reasons
https://bugs.webkit.org/show_bug.cgi?id=145009
Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2015-07-20
Reviewed by Anders Carlsson.
- Shared/Plugins/PluginModuleInfo.h:
Replace PluginModuleBlocked with separate enum values for blocking for security and compatibility.
- UIProcess/API/C/WKAPICast.h:
(WebKit::toWKPluginLoadPolicy):
Modify to handle change to PluginModuleBlocked enum.
(WebKit::toPluginModuleLoadPolicy):
Ditto.
- UIProcess/API/C/WKPluginLoadPolicy.h:
Added enum value for blocking a plugin for compatibility reasons.
- UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::shouldBlockPlugin):
Check load policy for both reasons a plugin may be blocked.
(WebKit::WKPlugInModuleLoadPolicyToPluginModuleLoadPolicy):
Added function to convert between load policy enum types.
(WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
Modified to call WKLoadPolicyForPluginVersion() which can distinguish between blocked for security or compatibility.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::findPlugin):
Updated to recognize both PluginModuleBlocked enum values that indicate a plugin is blocked.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
Ditto.
(WebKit::WebPage::canPluginHandleResponse):
Ditto.
- 4:35 PM Changeset in webkit [187046] by
-
- 4 edits4 adds in trunk/LayoutTests
Web Inspector: start using Promises to handle asynchronous steps in protocol tests
https://bugs.webkit.org/show_bug.cgi?id=147096
Reviewed by Joseph Pecoraro.
Existing protocol tests use lots of reinvented wheels to run
multiple asynchronous tests. This patch begins consolidation of
these redundant wheels, using a tiny test framework based on
promises.
The first change is to introduce InspectorTest.awaitCommand,
which returns a promise that is fulfilled or rejected if the command
succeeds or fails. This is the building block for writing protocol
tests with promises.
The second change is the introduction of InspectorTest.AsyncTestSuite.
This properly chains together multiple asynchronous test methods
using the promise interface. A synchronous version is also added.
To demonstrate how async tests can be written using this new approach,
this patch converts existing protocol test. Test coverage for the
new frameworks also demonstrates their use.
- http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.sendCommand):
(InspectorTest.awaitCommand):
(InspectorTest.sendMessage):
(InspectorFrontendAPI.dispatchMessageAsync):
(InspectorTest.AsyncTestSuite): Add tests for this micro framework.
(InspectorTest.AsyncTestSuite.prototype.get passCount):
(InspectorTest.AsyncTestSuite.prototype.get skipCount):
(InspectorTest.AsyncTestSuite.prototype.addTestCase):
(InspectorTest.AsyncTestSuite.prototype.runTestCasesAndFinish.finish):
(InspectorTest.AsyncTestSuite.prototype.runTestCasesAndFinish):
(InspectorTest.AsyncTestSuite.prototype.runTestCases):
(InspectorTest.SyncTestSuite): Add tests for this micro framework.
(InspectorTest.SyncTestSuite.prototype.get passCount):
(InspectorTest.SyncTestSuite.prototype.get skipCount):
(InspectorTest.SyncTestSuite.prototype.addTestCase):
(InspectorTest.SyncTestSuite.prototype.runTestCasesAndFinish):
(InspectorTest.SyncTestSuite.prototype.runTestCases):
(InspectorTest.log):
(InspectorTest.assert):
- inspector-protocol/runtime/getProperties-expected.txt:
- inspector-protocol/runtime/getProperties.html: Rewrite.
- 4:31 PM Changeset in webkit [187045] by
-
- 2 edits in trunk/Source/WebKit2
NSURLCache fallback does not work on iOS due to sandboxing
https://bugs.webkit.org/show_bug.cgi?id=146314
<rdar://problem/21433691>
Reviewed by Anders Carlsson.
This broke with earlier cache path computation changes.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
NSURLCache path is relative to the container cache path so "." is sufficient.
This puts the cache files under
<container>/Library/Caches/com.apple.WebKit.Networking/
- 4:27 PM Changeset in webkit [187044] by
-
- 14 edits in trunk/Source
Adopt AVPlayerLayerView
https://bugs.webkit.org/show_bug.cgi?id=146862
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-07-20
Source/WebCore:
Reviewed by Jer Noble.
The CALayerHost is replaced with WebLayerHostView to be compatible with UIView animations.
Some animation is improved in the conversion.
WebAVPlayerLayerView and WebAVPictureInPicturePlayerLayerView derive from AVKit and UIKit respectively.
Because these frameworks are loaded at runtime, these classes must be generate using objc/runtime.h to
register them from c functions at runtime. The most important part of these UIViews is that their
backing layer is a WebAVPlayerLayer.
WebCALayerHostWrapper and WebAVVideoLayer are combined into WebAVPlayerLayer to simplify the hierarchy.
WebAVPlayerLayer is a stand-in for an AVPlayerLayer.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer): -removeFromSuperlayer is redundant.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenGravity): syncTextTrackBounds on change.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenFrame):
We never want animation here, since all animation will happen in UIViews.
This is just for going into the final size after a transform based animation.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::didSetupFullscreen): layer -> view
(WebVideoFullscreenControllerContext::didCleanupFullscreen): layer -> view
(WebVideoFullscreenControllerContext::setUpFullscreen): layer -> view
(WebVideoFullscreenControllerContext::setVideoLayerFrame): layer -> view
Use fence port to synchronize between the UIThread and the WebThread,
the same way WebKit2 uses a fence port to synchronize between processes.
(WebVideoFullscreenControllerContext::setVideoLayerGravity):
No longer necessary to cache videoGravity at this level.
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerLayer init]):
(-[WebAVPlayerLayer dealloc]):
(-[WebAVPlayerLayer playerController]):
(-[WebAVPlayerLayer setBounds:]):
(-[WebAVPlayerLayer resolveBounds]):
(-[WebAVPlayerLayer setVideoGravity:]):
(-[WebAVPlayerLayer videoGravity]):
(-[WebAVPlayerLayer videoRect]):
(+[WebAVPlayerLayer keyPathsForValuesAffectingVideoRect]):
Added class WebAVPlayerLayer, replacing WebAVVideoLayer and WebCALayerHostWrapper.
(WebAVPictureInPicturePlayerLayerView_layerClass):
(getWebAVPictureInPicturePlayerLayerViewClass):
Added runtime class WebAVPictureInPicturePlayerLayerView
(WebAVPlayerLayerView_layerClass):
(WebAVPlayerLayerView_playerController):
(WebAVPlayerLayerView_setPlayerController):
(WebAVPlayerLayerView_videoView):
(WebAVPlayerLayerView_setVideoView):
(WebAVPlayerLayerView_startRoutingVideoToPictureInPicturePlayerLayerView):
(WebAVPlayerLayerView_stopRoutingVideoToPictureInPicturePlayerLayerView):
(WebAVPlayerLayerView_pictureInPicturePlayerLayerView):
(getWebAVPlayerLayerViewClass):
Added runtime class WebAVPlayerLayerView
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
Dimensions are also stored in WebAVPlayerLayer so it can make decisions about
animating the video layer.
(WebVideoFullscreenInterfaceAVKit::setExternalPlayback):
(WebVideoFullscreenInterfaceAVKit::enterFullscreen):
(WebVideoFullscreenInterfaceAVKit::didStopPictureInPicture):
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen):
Straightforward layer to view conversion.
(WebVideoFullscreenInterfaceAVKit::preparedToReturnToInline):
Set view frame using the view hierarchy instead of assuming it is directly in a window.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen):
Set view frame using the view hierarchy instead of assuming it is directly in a window.
dispatch_async before calling didExitFullscreen() to allows CATransactions to complete.
(WebVideoFullscreenInterfaceAVKit::setupFullscreen):
Set view frame using the view hierarchy instead of assuming it is directly in a window.
dispatch_async before calling didSetupFullscreen() to allows CATransactions to complete.
(-[WebCALayerHostWrapper dealloc]): Deleted.
(-[WebCALayerHostWrapper setVideoSublayer:]): Deleted.
(-[WebCALayerHostWrapper videoSublayer]): Deleted.
(-[WebCALayerHostWrapper setBounds:]): Deleted.
(-[WebCALayerHostWrapper resolveBounds]): Deleted.
Class WebCALayerHostWrapper deleted. Functionality rolled into WebAVPlayerLayer.
(+[WebAVVideoLayer videoLayer]): Deleted.
(-[WebAVVideoLayer init]): Deleted.
(-[WebAVVideoLayer setPlayerViewController:]): Deleted.
(-[WebAVVideoLayer setVideoSublayer:]): Deleted.
(-[WebAVVideoLayer setBounds:]): Deleted.
(-[WebAVVideoLayer setVideoLayerGravity:]): Deleted.
(-[WebAVVideoLayer videoLayerGravity]): Deleted.
(-[WebAVVideoLayer enterPIPModeRedirectingVideoToLayer:]): Deleted.
(-[WebAVVideoLayer leavePIPMode]): Deleted.
Class WebAVVideoLayer deleted. Functionality rolled into WebAVPlayerLayer.
- platform/ios/WebVideoFullscreenModel.h:
- platform/ios/WebVideoFullscreenModelVideoElement.h:
- platform/ios/WebVideoFullscreenModelVideoElement.mm:
No need to store frame and gravity in the model. It is stored in the UI where it is used.
(WebVideoFullscreenModelVideoElement::videoLayerFrame): Deleted.
(WebVideoFullscreenModelVideoElement::videoLayerGravity): Deleted.
- platform/spi/cocoa/AVKitSPI.h: Add AVPlayerLayerView.
Source/WebKit2:
Reviewed by Simon Fraser.
The CALayerHost is replaced with WebLayerHostView to be compatible with UIView animations.
videoLayerFrame and videoLayerGravity no longer need to be stored because they are stored
where they are used in the interface. Some animation is improved in the conversion.
- UIProcess/ios/WebVideoFullscreenManagerProxy.h:
- UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(+[WebLayerHostView layerClass]): Add class WebLayerHostView.
(-[WebLayerHostView contextID]):
(-[WebLayerHostView setContextID:]):
(-[WebLayerHostView layerHost]):
(WebKit::WebVideoFullscreenManagerProxy::invalidate): layer -> view
(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
Apply the hostingDeviceScaleFactor transform to -sublayerTransform instead of to
-transform. This more directly inverts the tranform WebProcess and allows -transform
to be used for animation in the UIProcess. This is important because UIView's actions
animate -transform, but not -sublayerTrasform.
(WebKit::WebVideoFullscreenManagerProxy::didCleanupFullscreen): layer -> view
(WebKit::WebVideoFullscreenModelContext::setVideoLayerFrame): Deleted.
(WebKit::WebVideoFullscreenModelContext::videoLayerFrame): Deleted.
(WebKit::WebVideoFullscreenModelContext::setVideoLayerGravity): Deleted.
(WebKit::WebVideoFullscreenModelContext::videoLayerGravity): Deleted.
- WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement):
Set initial video layer frame to fix start point of animation.
(WebKit::WebVideoFullscreenManager::didSetupFullscreen):
dispatch_async allows the CATransaction to complete before continuing with the animation.
This prevents a flash during animation.
- 4:26 PM Changeset in webkit [187043] by
-
- 7 edits in trunk/Source/WebCore
Add PLATFORM #ifdefs for Mac SPI headers
https://bugs.webkit.org/show_bug.cgi?id=147129
Reviewed by Tim Horton.
- Configurations/WebCore.xcconfig:
Skip NPAPI headers on iOS.
- platform/mac/WebVideoFullscreenController.h:
- platform/spi/mac/DataDetectorsSPI.h:
- platform/spi/mac/NSEventSPI.h:
- platform/spi/mac/NSFontSPI.h:
- platform/spi/mac/NSMenuSPI.h:
- 4:24 PM WebInspectorCodingStyleGuide edited by
- tweaks to style guide (diff)
- 4:23 PM Changeset in webkit [187042] by
-
- 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore
Merged r186895. rdar://problem/21714851
- 3:52 PM Changeset in webkit [187041] by
-
- 2 edits in branches/safari-600.1.4.17-branch/Source/WebKit2
Merged r186812. rdar://problem/21877914
- 3:36 PM Changeset in webkit [187040] by
-
- 1 edit in branches/safari-600.1.4.17-branch/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
Build fix after r186983.
- 3:33 PM Changeset in webkit [187039] by
-
- 4 edits in trunk/Source
REGRESSION (r174287): Flash of black when opening a new web view or navigating to a new page
https://bugs.webkit.org/show_bug.cgi?id=147127
<rdar://problem/21474317>
Reviewed by Simon Fraser.
- rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::snapshotAtSize):
Avoid using an invalid documentBackgroundColor, fall back to baseBackgroundColor
like we did before r174287.
- 2:48 PM Changeset in webkit [187038] by
-
- 4 edits in trunk/WebKitLibraries
WKSI support for blocking a plug-in for non-security reasons.
https://bugs.webkit.org/show_bug.cgi?id=145009
Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2015-07-20
Reviewed by Anders Carlsson.
- WebKitSystemInterface.h:
- libWebKitSystemInterfaceMavericks.a:
- libWebKitSystemInterfaceYosemite.a:
- 2:43 PM Changeset in webkit [187037] by
-
- 2 edits in trunk/Source/WebCore
[Win] Unreviewed build fix after r187022.
- platform/win/WindowsTouch.h:
Undid changes from r187022
- 2:37 PM Changeset in webkit [187036] by
-
- 2 edits in trunk/Source/WebCore
Allow video to rotate when app doesnt allow rotation.
https://bugs.webkit.org/show_bug.cgi?id=147121
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-07-20
Reviewed by Jer Noble.
Set an SPI bool on the fullscreen video root view controller to allow it to override app rotation restrictions.
This allows video to be played in landscape in portrait only apps.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setupFullscreen):
- 2:28 PM Changeset in webkit [187035] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed assertion fix following r187031.
Just have GenericEventQueue::resume() return early if the queue isn't suspended.
Suspend/Resume calls are not always symmetrical in HTMLMediaElement.
- dom/GenericEventQueue.cpp:
(WebCore::GenericEventQueue::resume):
- 2:20 PM Changeset in webkit [187034] by
-
- 2 edits in trunk/Source/WebCore
Unexpected ABI diffference between armv7 and armv7s in WebCore::GraphicsLayerCA::~GraphicsLayerCA()
<http://webkit.org/b/147101>
Reviewed by Michael Saboff.
- platform/graphics/transforms/TransformationMatrix.h: Align
Matrix4 on both armv7 and armv7s.
- 2:16 PM Changeset in webkit [187033] by
-
- 12 edits in trunk/Source/JavaScriptCore
"let" scoping introduced incoherent story about symbol table cloning
https://bugs.webkit.org/show_bug.cgi?id=147046
Reviewed by Filip Pizlo.
This patch now establishes a clear set of rules for how SymbolTables
are owned by CodeBlock. Every SymbolTable that is used by a bytecode
instruction must live in CodeBlock's constant register pool. When CodeBlock
is being linked, it ensures that every SymbolTable in the constant pool is cloned.
This leaves no room for an un-cloned symbol table to be used by a bytecode instruction.
Some instructions may refer to SymbolTable's indirectly through a JSLexicalEnvironment.
This is fine, all JSLexicalEnvironment's are allocated with references to cloned symbol tables.
Another goal of this patch is to remove the notion that a SymbolTable is 1 to 1
with a CodeBlock. With lexical scoping, this view of the world is no longer
correct. This patch begins to remove this assumption by making CodeBlock's
symbolTable() getter method private. There is still one place where we need
to purge our codebase of this assumption and that is the type profiler. It
has not been updated for lexical scoping. After it is updated in
https://bugs.webkit.org/show_bug.cgi?id=145438
we will be able to remove CodeBlock's symbolTable() getter entirely.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::nameForRegister):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::addStringSwitchJumpTable):
(JSC::CodeBlock::stringSwitchJumpTable):
(JSC::CodeBlock::evalCodeCache):
(JSC::CodeBlock::symbolTable):
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedFunctionExecutable::visitChildren):
(JSC::UnlinkedFunctionExecutable::link):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::addExceptionHandler):
(JSC::UnlinkedCodeBlock::exceptionHandler):
(JSC::UnlinkedCodeBlock::setSymbolTableConstantIndex):
(JSC::UnlinkedCodeBlock::symbolTableConstantIndex):
(JSC::UnlinkedCodeBlock::symbolTable): Deleted.
(JSC::UnlinkedCodeBlock::setSymbolTable): Deleted.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::variableForLocalEntry):
(JSC::BytecodeGenerator::createVariable):
(JSC::BytecodeGenerator::resolveType):
(JSC::BytecodeGenerator::emitResolveScope):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::thisRegister):
(JSC::BytecodeGenerator::instructions):
(JSC::BytecodeGenerator::symbolTable): Deleted.
- dfg/DFGGraph.h:
(JSC::DFG::Graph::baselineCodeBlockFor):
(JSC::DFG::Graph::isStrictModeFor):
(JSC::DFG::Graph::symbolTableFor): Deleted.
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::baselineCodeBlock):
(JSC::AssemblyHelpers::argumentsStart):
(JSC::AssemblyHelpers::symbolTableFor): Deleted.
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/Executable.cpp:
(JSC::FunctionExecutable::visitChildren):
(JSC::FunctionExecutable::clearUnlinkedCodeForRecompilation):
(JSC::FunctionExecutable::symbolTable): Deleted.
- runtime/Executable.h:
- 1:45 PM Changeset in webkit [187032] by
-
- 4 edits in trunk/Source/WebCore
Add the necessary platform checks to iOS SPI headers
https://bugs.webkit.org/show_bug.cgi?id=147120
Reviewed by Tim Horton.
- platform/spi/ios/GraphicsServicesSPI.h:
- platform/spi/ios/MediaPlayerSPI.h:
- platform/spi/ios/MobileGestaltSPI.h:
- 1:16 PM Changeset in webkit [187031] by
-
- 9 edits in trunk
Improve behavior of media elements in page cache.
<https://webkit.org/b/147020>
<rdar://problem/21712311>
Reviewed by Chris Dumez.
Source/WebCore:
Make improvements for media elements when transitioning in/out of page cache:
- Events that were scheduled when going into cache will now be delivered when the page is restored from cache.
- Data buffering is turned off while in the cache. This reduces the memory cost of cached pages with media elements on iOS (where mediaserverd would keep upcoming video frames in memory for cached pages.)
Test: media/restore-from-page-cache.html (amended)
- dom/GenericEventQueue.h:
- dom/GenericEventQueue.cpp:
(WebCore::GenericEventQueue::enqueueEvent):
(WebCore::GenericEventQueue::suspend):
(WebCore::GenericEventQueue::resume):
Add a simple suspend/resume mechanism to GenericEventQueue that can
be used to support page caching.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::stop):
(WebCore::HTMLMediaElement::suspend):
(WebCore::HTMLMediaElement::resume):
(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):
Adapt to event queueing changes and add calls to setShouldBufferData().
- html/HTMLSourceElement.h:
- html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::HTMLSourceElement):
(WebCore::HTMLSourceElement::create):
(WebCore::HTMLSourceElement::activeDOMObjectName):
(WebCore::HTMLSourceElement::canSuspendForPageCache):
(WebCore::HTMLSourceElement::suspend):
(WebCore::HTMLSourceElement::resume):
(WebCore::HTMLSourceElement::stop):
Turn HTMLSourceElement into an ActiveDOMObject so it gets all the
appropriate page cache notifications directly. Suspend the delayed
error event delivery timer when cached.
LayoutTests:
Add some coverage for suspend/resume of queued events on cached media elements.
- media/restore-from-page-cache-expected.txt:
- media/restore-from-page-cache.html:
- 1:06 PM Changeset in webkit [187030] by
-
- 5 edits in trunk/Source/WebKit2
[Seccomp] Should be easier to debug blocked syscalls
https://bugs.webkit.org/show_bug.cgi?id=142980
These should be printed even when not running in debug mode. There is no
value in hiding errors from release build users.
Reviewed by Žan Doberšek.
- Shared/linux/SeccompFilters/SeccompBroker.cpp:
(WebKit::SeccompBroker::runLoop): Don't close stderr et. al. in release builds.
- Shared/linux/SeccompFilters/Syscall.cpp:
(WebKit::write_uint): Added.
(WebKit::reportUnexpectedSyscall): Added.
(WebKit::Syscall::createFromContext): Call reportUnexpectedSyscall. Also, no need to crash
here in release builds.
- Shared/linux/SeccompFilters/SyscallPolicy.cpp:
(WebKit::SyscallPolicy::hasPermissionForPath): Print a warning when access is denied.
(WebKit::SyscallPolicy::permissionToString): Added.
- Shared/linux/SeccompFilters/SyscallPolicy.h: Add permissionToString.
- 12:50 PM Changeset in webkit [187029] by
-
- 2 edits in trunk/Source/WebKit2
Fix the !ENABLE(VIDEO) build after r186396
https://bugs.webkit.org/show_bug.cgi?id=147116
Reviewed by Brent Fulgham.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didClose):
- 12:04 PM Changeset in webkit [187028] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION(186691): OSR entry is broken on loop headers that have no live variables
https://bugs.webkit.org/show_bug.cgi?id=147074
rdar://problem/21869970
Reviewed by Michael Saboff.
The OSR entry must-handle block/value widening introduced in r186691 would cause the
CFA to reexecute if it caused any live local variables to change value. But this fails
if the must-handle block has no live local variables, and the entry block otherwise
appears to be unreachable.
This fixes the bug by having the change detection include whether the block hadn't been
visited in addition to whether any local variable values got widened.
This is a ~4% speed-up on SunSpider in browser.
- dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::run):
- 11:51 AM Changeset in webkit [187027] by
-
- 2 edits in trunk/Source/WebKit
[Win] Certain Debug builds can take close to 3 hours to link
https://bugs.webkit.org/show_bug.cgi?id=147114
<rdar://problem/21882777>
Reviewed by Tim Horton.
Correct the 64-bit DebugSuffix link target to match the 32-bit version.
- WebKit.vcxproj/WebKit/WebKit.vcxproj: Turn off the REF and ICF
flags for the 64-bit DebugSuffix link target.
- 11:12 AM Changeset in webkit [187026] by
-
- 10 edits in trunk/Source
Rollout r187020 and r187021: breaks JSC API tests on debug builds.
https://bugs.webkit.org/show_bug.cgi?id=147110
Source/JavaScriptCore:
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::addCurrentThread):
- runtime/JSLock.cpp:
(JSC::JSLockHolder::~JSLockHolder):
(JSC::JSLock::JSLock):
(JSC::JSLock::willDestroyVM):
(JSC::JSLock::setExclusiveThread):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
(JSC::JSLock::dropAllLocks):
- runtime/JSLock.h:
(JSC::JSLock::vm):
(JSC::JSLock::hasExclusiveThread):
(JSC::JSLock::exclusiveThread):
- runtime/VM.h:
(JSC::VM::hasExclusiveThread):
(JSC::VM::exclusiveThread):
(JSC::VM::setExclusiveThread):
Source/WebCore:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):
Source/WTF:
- wtf/WTFThreadData.cpp:
(WTF::WTFThreadData::WTFThreadData):
- wtf/WTFThreadData.h:
(WTF::WTFThreadData::stack):
- 11:05 AM Changeset in webkit [187025] by
-
- 2 edits in trunk/Source/WebCore
Fix deadlock between -[AVPlayerItem currentTime] and -[AVPlayer isExternalPlaybackActive]
https://bugs.webkit.org/show_bug.cgi?id=147085
<rdar://problem/21878275>
Reviewed by Jer Noble.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::isPlayingAudioDidChange):
Call Document::updateIsPlayingMedia() on the main thread, since we could be on the audio I/O
thread here and the Document::updateIsPlayingMedia() call could block, causing a deadlock.
- 10:42 AM Changeset in webkit [187024] by
-
- 9 edits2 copies3 adds in trunk
[GTK] Add selection-changed signal to the WebKit2 API
https://bugs.webkit.org/show_bug.cgi?id=137116
Patch by Tomas Popela <tpopela@redhat.com> on 2015-07-20
Reviewed by Carlos Garcia Campos.
Source/WebKit2:
Add a new object WebKitWebEditor where the editing capabilities of a
WebPage will be grouped and exposed. Add the selection-changed signal
there (we used the same name as in WK1 API).
- PlatformGTK.cmake:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- WebProcess/InjectedBundle/API/gtk/WebKitWebEditor.cpp: Added.
(didChangeSelection):
(webkitWebEditorCreate):
(webkit_web_editor_get_page):
- WebProcess/InjectedBundle/API/gtk/WebKitWebEditor.h: Added.
- WebProcess/InjectedBundle/API/gtk/WebKitWebEditorPrivate.h: Added.
- WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(webkitWebPageGetPage):
(webkit_web_page_get_editor):
- WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h:
- WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h:
- WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
Tools:
Add a new WebProcess test TestEditor that is testing the WebKitWebEditor
(namely the selection-changed signal).
- TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
- TestWebKitAPI/Tests/WebKit2Gtk/EditorTest.cpp: Added.
(WebKitWebEditorTest::create):
(WebKitWebEditorTest::selectionChangedCallback):
(WebKitWebEditorTest::testSelectionSelectAll):
(WebKitWebEditorTest::testSelectionCollapse):
(WebKitWebEditorTest::testSelectionModifyMove):
(WebKitWebEditorTest::testSelectionModifyExtend):
(WebKitWebEditorTest::testSelectionUnselect):
(registerTests):
- TestWebKitAPI/Tests/WebKit2Gtk/TestEditor.cpp: Added.
(testWebKitWebEditorSelectionChanged):
(beforeAll):
(afterAll):
- 10:08 AM Changeset in webkit [187023] by
-
- 3 edits in trunk/Source/WebKit2
WebsiteDataStore operations need to grab background assertions
https://bugs.webkit.org/show_bug.cgi?id=147015
rdar://problem/21799011
Reviewed by Sam Weinig.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::fetchWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::fetchWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
- 8:55 AM Changeset in webkit [187022] by
-
- 19 edits2 adds in trunk
Resurrect CMake build on Windows.
https://bugs.webkit.org/show_bug.cgi?id=147083
Reviewed by Gyuyoung Kim.
.:
- Source/cmake/OptionsCommon.cmake:
- Source/cmake/OptionsWindows.cmake:
Change features to get it to compile. Still not a complete feature set.
Source/WebCore:
- CMakeLists.txt:
- PlatformWin.cmake:
- dom/Document.cpp:
(WebCore::Document::~Document):
- dom/Range.cpp:
- dom/Text.cpp:
- editing/CompositeEditCommand.cpp:
- platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::createTexture):
- platform/win/WindowsTouch.h:
- rendering/RenderThemeWin.h:
Fixed some including and compiling quirks needed for different configurations.
Source/WebKit:
- PlatformWin.cmake: Added.
Based on original work by Patrick Gansterer and Mark Salisbury
in https://bugs.webkit.org/show_bug.cgi?id=72816
Source/WTF:
- wtf/PlatformWin.cmake:
Tools:
- DumpRenderTree/CMakeLists.txt:
- DumpRenderTree/PlatformWin.cmake: Added.
- WinLauncher/CMakeLists.txt:
- 5:04 AM Changeset in webkit [187021] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed debug build fix after r187020.
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::addCurrentThread):
VM::exclusiveThread() has changed return type to ThreadIdentifier.
- 2:14 AM Changeset in webkit [187020] by
-
- 9 edits in trunk/Source
JavaScriptCore performance is very bad on Windows
https://bugs.webkit.org/show_bug.cgi?id=146448
Reviewed by Mark Lam.
Source/JavaScriptCore:
Profiling shows that std::this_thread::get_id() is slow on Windows.
Use WTF::currentThread() instead, which calls GetCurrentThreadId().
This is faster on Windows. The issue has been reported to Microsoft,
https://connect.microsoft.com/VisualStudio/feedback/details/1558211.
- runtime/JSLock.cpp:
(JSC::JSLockHolder::~JSLockHolder):
(JSC::JSLock::JSLock):
(JSC::JSLock::willDestroyVM):
(JSC::JSLock::setExclusiveThread):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
- runtime/JSLock.h:
(JSC::JSLock::vm):
(JSC::JSLock::hasExclusiveThread):
(JSC::JSLock::exclusiveThread):
- runtime/VM.h:
(JSC::VM::hasExclusiveThread):
(JSC::VM::exclusiveThread):
(JSC::VM::setExclusiveThread):
Source/WebCore:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM): Compile fix.
Source/WTF:
Updating the stack bounds is time consuming.
Only update the stack bounds when a new fiber is running.
- wtf/WTFThreadData.cpp:
(WTF::WTFThreadData::WTFThreadData):
- wtf/WTFThreadData.h:
(WTF::WTFThreadData::stack):
- 12:19 AM Changeset in webkit [187019] by
-
- 2 edits in trunk/Source/WTF
Use isnan from std namespace in Stopwatch.h.
https://bugs.webkit.org/show_bug.cgi?id=146911
Reviewed by Žan Doberšek.
- wtf/Stopwatch.h:
(WTF::Stopwatch::isActive):
(WTF::Stopwatch::start):
(WTF::Stopwatch::stop):
(WTF::Stopwatch::elapsedTime):
Jul 19, 2015:
- 11:38 PM Changeset in webkit [187018] by
-
- 8 edits1 add2 deletes in trunk
Make shrink-wrapping test a ref-test instead of pixel-test
https://bugs.webkit.org/show_bug.cgi?id=147081
Reviewed by Sam Weinig.
Source/WebCore:
Nobody runs pixel tests.
- svg/SVGPathUtilities.cpp:
(WebCore::pathIteratorForBuildingString):
(WebCore::buildStringFromPath):
- svg/SVGPathUtilities.h:
Add a helper that turns a Path into a SVG path string.
- testing/Internals.cpp:
(WebCore::Internals::pathStringWithShrinkWrappedRects):
- testing/Internals.h:
- testing/Internals.idl:
Have the internals shrink-wrap method return an SVG path instead of a DOMPath.
LayoutTests:
- fast/shrink-wrap/rect-shrink-wrap-expected.html: Added.
- fast/shrink-wrap/rect-shrink-wrap-expected.png: Removed.
- fast/shrink-wrap/rect-shrink-wrap-expected.txt: Removed.
- fast/shrink-wrap/rect-shrink-wrap.html:
SVG all the things.
- 4:37 PM Changeset in webkit [187017] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
In strict mode,
Object.keys(arguments)
includes "length"
https://bugs.webkit.org/show_bug.cgi?id=147071
Reviewed by Darin Adler.
ClonedAguments didn't set the "length" with DontEnum.
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createWithInlineFrame):
(JSC::ClonedArguments::createByCopyingFrom):
- tests/stress/arguments-length-always-dont-enum.js: Added.
(shouldBe):
(argsSloppy):
(argsStrict):
- 4:10 PM Changeset in webkit [187016] by
-
- 5 edits in trunk
new Date(NaN).toJSON() must return null instead of throwing a TypeError
https://bugs.webkit.org/show_bug.cgi?id=141115
Patch by Jordan Harband <ljharb@gmail.com> on 2015-07-19
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- runtime/DatePrototype.cpp:
(JSC::dateProtoFuncToJSON):
LayoutTests:
- js/dom/JSON-stringify-expected.txt:
- js/resources/JSON-stringify.js:
- 3:27 PM Changeset in webkit [187015] by
-
- 2 edits in trunk/Tools
[GTK] Enable seccomp filter API tests
https://bugs.webkit.org/show_bug.cgi?id=140071
Reviewed by Žan Doberšek.
These tests will now be run by the run-gtk-tests script.
- TestWebKitAPI/PlatformGTK.cmake:
- 12:31 PM Changeset in webkit [187014] by
-
- 3 edits3 adds in trunk
Parser::parseFunctionInfo hits RELEASE_ASSERT for Arrow Functions
https://bugs.webkit.org/show_bug.cgi?id=147090
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
ArrowFunction's have there ParserFunctionInfo "name" field to
be a non-null pointer. This is obviously allowed and valid except we
had a RELEASE_ASSERT that claimed otherwise. This is a mistake.
Note: ArrowFunction's will never actually have a function name;
there ParserFunctionInfo "name" field will be the empty string.
This is not be mistaken with the name field being a null pointer.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFunctionInfo):
LayoutTests:
- js/arrowfunction-strict-mode-expected.txt: Added.
- js/arrowfunction-strict-mode.html: Added.
- js/script-tests/arrowfunction-strict-mode.js: Added.
(foo):
- 12:14 PM Changeset in webkit [187013] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, placate -Wmismatched-tags after r187011
It's basically bug #146990 again. Oops.
- WebProcess/gtk/SeccompFiltersWebProcessGtk.h:
- 9:57 AM Changeset in webkit [187012] by
-
- 77 edits6 adds in trunk
[ES6] Add support for block scope const
https://bugs.webkit.org/show_bug.cgi?id=31813
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
'const' is now implemented in an ES6 spec compliant manner.
'const' variables are always block scoped and always live
either on the stack or in a JSLexicalEnvironment. 'const'
variables never live on the global object.
Inside the BytecodeGenerator, when assigning to a stack
'const' variable or a LocalClosureVar 'const' variable,
we will emit code that just throws a type error.
When assigning to a ClosureVar const variable, CodeBlock linking
will ensure that we perform a dynamic lookup of that variable so
that put_to_scope's slow path throws a type error.
The old 'const' implementation has been removed in this patch.
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::variable):
(JSC::BytecodeGenerator::variableForLocalEntry):
(JSC::BytecodeGenerator::createVariable):
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitInstanceOf):
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::isArgumentNumber):
(JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::variablePerSymbolTable): Deleted.
(JSC::BytecodeGenerator::emitInitGlobalConst): Deleted.
- bytecompiler/BytecodeGenerator.h:
(JSC::Variable::Variable):
(JSC::Variable::isReadOnly):
(JSC::Variable::isSpecial):
(JSC::Variable::isConst):
(JSC::BytecodeGenerator::thisRegister):
(JSC::BytecodeGenerator::emitTypeOf):
(JSC::BytecodeGenerator::emitIn):
- bytecompiler/NodesCodegen.cpp:
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::CommaNode::emitBytecode):
(JSC::BindingNode::bindValue):
(JSC::ConstDeclNode::emitCodeSingle): Deleted.
(JSC::ConstDeclNode::emitBytecode): Deleted.
(JSC::ConstStatementNode::emitBytecode): Deleted.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_to_arguments):
(JSC::JIT::emit_op_init_global_const): Deleted.
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_to_arguments):
(JSC::JIT::emit_op_init_global_const): Deleted.
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createDeclarationStatement):
(JSC::ASTBuilder::createEmptyVarExpression):
(JSC::ASTBuilder::createDebugger):
(JSC::ASTBuilder::appendStatement):
(JSC::ASTBuilder::createVarStatement): Deleted.
(JSC::ASTBuilder::createLetStatement): Deleted.
(JSC::ASTBuilder::createConstStatement): Deleted.
(JSC::ASTBuilder::appendConstDecl): Deleted.
- parser/NodeConstructors.h:
(JSC::CommaNode::CommaNode):
(JSC::SourceElements::SourceElements):
(JSC::SwitchNode::SwitchNode):
(JSC::BlockNode::BlockNode):
(JSC::ConstStatementNode::ConstStatementNode): Deleted.
(JSC::ConstDeclNode::ConstDeclNode): Deleted.
- parser/Nodes.h:
(JSC::ConstDeclNode::hasInitializer): Deleted.
(JSC::ConstDeclNode::ident): Deleted.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseStatementListItem):
(JSC::Parser<LexerType>::parseVariableDeclaration):
(JSC::Parser<LexerType>::parseWhileStatement):
(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseDefaultValueForDestructuringPattern):
(JSC::Parser<LexerType>::parseForStatement):
(JSC::Parser<LexerType>::parseTryStatement):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseConstDeclaration): Deleted.
(JSC::Parser<LexerType>::parseConstDeclarationList): Deleted.
- parser/Parser.h:
(JSC::isEvalNode):
(JSC::isEvalNode<EvalNode>):
(JSC::isArguments):
(JSC::isEval):
(JSC::isEvalOrArgumentsIdentifier):
(JSC::Scope::Scope):
(JSC::Scope::declareCallee):
(JSC::Scope::declareVariable):
(JSC::Scope::declareLexicalVariable):
(JSC::Scope::hasDeclaredVariable):
(JSC::Scope::allowsVarDeclarations):
(JSC::Scope::allowsLexicalDeclarations):
(JSC::Scope::declareParameter):
(JSC::Scope::declareBoundParameter):
(JSC::Parser::destructuringKindFromDeclarationType):
(JSC::Parser::assignmentContextFromDeclarationType):
(JSC::Parser::isEvalOrArguments):
(JSC::Parser::currentScope):
(JSC::Parser::popScope):
(JSC::Parser::declareVariable):
(JSC::Parser::hasDeclaredVariable):
(JSC::Parser::setStrictMode):
(JSC::Parser::strictMode):
(JSC::Parser::isValidStrictMode):
(JSC::Parser::declareParameter):
(JSC::Parser::declareBoundParameter):
(JSC::Parser::breakIsValid):
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createForInLoop):
(JSC::SyntaxChecker::createForOfLoop):
(JSC::SyntaxChecker::createEmptyStatement):
(JSC::SyntaxChecker::createDeclarationStatement):
(JSC::SyntaxChecker::createReturnStatement):
(JSC::SyntaxChecker::createBreakStatement):
(JSC::SyntaxChecker::createVarStatement): Deleted.
(JSC::SyntaxChecker::createLetStatement): Deleted.
- parser/VariableEnvironment.h:
(JSC::VariableEnvironmentEntry::isCaptured):
(JSC::VariableEnvironmentEntry::isConst):
(JSC::VariableEnvironmentEntry::isVar):
(JSC::VariableEnvironmentEntry::isLet):
(JSC::VariableEnvironmentEntry::setIsCaptured):
(JSC::VariableEnvironmentEntry::setIsConst):
(JSC::VariableEnvironmentEntry::setIsVar):
(JSC::VariableEnvironmentEntry::setIsLet):
(JSC::VariableEnvironmentEntry::isConstant): Deleted.
(JSC::VariableEnvironmentEntry::setIsConstant): Deleted.
- runtime/Executable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::defineOwnProperty):
(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addFunction):
(JSC::lastInPrototypeChain):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::addVar):
(JSC::JSGlobalObject::addConst): Deleted.
- runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::symbolTablePut):
- tests/stress/const-and-with-statement.js: Added.
(truth):
(assert):
(shouldThrowInvalidConstAssignment):
(.):
- tests/stress/const-exception-handling.js: Added.
(truth):
(assert):
(.):
- tests/stress/const-loop-semantics.js: Added.
(truth):
(assert):
(shouldThrowInvalidConstAssignment):
(.):
- tests/stress/const-not-strict-mode.js: Added.
(truth):
(assert):
(shouldThrowTDZ):
(.):
- tests/stress/const-semantics.js: Added.
(truth):
(assert):
(shouldThrowInvalidConstAssignment):
(.):
- tests/stress/const-tdz.js: Added.
(truth):
(assert):
(shouldThrowTDZ):
(.):
Source/WebInspectorUI:
"const" variables do not live on the global object and are only
accessible within the "Program" they're defined in. Therefore,
the WebInspector global must be defined as "var" and not "const".
- UserInterface/Base/WebInspector.js:
LayoutTests:
"const" variables do not live on the global object. They
are only available in the "Program" (read: JavaScript file or
script tag) that they're defined in. Tests have been updated
accordingly to switch the "const" variables assumed to be globals
into "var"s. "var" declared variables in the top level scope
of a program do live on the global object.
- fast/canvas/webgl/compressed-tex-image.html:
- fast/dom/event-handler-attributes.html:
- fast/forms/listbox-visible-size.html:
- js/arguments-expected.txt:
- js/arrowfunction-syntax-errors-expected.txt:
- js/const-expected.txt:
- js/const-without-initializer-expected.txt:
- js/constant-count-expected.txt:
- js/dom/inc-const-valueOf-expected.txt:
- js/dom/script-tests/inc-const-valueOf.js:
(testPreIncConstVarWithAssign):
- js/function-toString-parentheses-expected.txt:
- js/kde/const-expected.txt:
- js/kde/resources/const.js:
- js/parser-syntax-check-expected.txt:
- js/script-tests/arguments.js:
(argumentsVarUndefined):
(argumentsConst):
(argumentCalleeInException):
(argumentsConstUndefined): Deleted.
- js/script-tests/class-syntax-declaration.js:
(A):
- js/script-tests/class-syntax-expression.js:
- js/script-tests/const-without-initializer.js:
- js/script-tests/const.js:
(shouldThrowInvalidConstAssignment):
(assert):
(f):
(tryCatch1):
(tryCatch2):
(with1):
(with2):
(.):
- js/script-tests/constant-count.js:
(f):
- js/script-tests/function-dot-arguments.js:
(assignConstInitTest2.g):
(assignConstInitTest2):
- js/script-tests/function-toString-parentheses.js:
- js/script-tests/parser-syntax-check.js:
- sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.6-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9-expected.txt:
- sputnik/Conformance/08_Types/8.4_The_String_Type/S8.4_A13_T3-expected.txt:
- sputnik/Conformance/08_Types/8.4_The_String_Type/S8.4_A14_T3-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T1-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T2-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T3-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T4-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T6-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T7-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T8-expected.txt:
- transforms/3d/hit-testing/composited-hit-test.html:
- transforms/3d/hit-testing/coplanar-with-camera.html:
- transforms/3d/hit-testing/hover-rotated-negative-z.html:
- transforms/3d/hit-testing/hover-rotated-with-children-negative-z.html:
- transforms/3d/hit-testing/negative-zoffset-hit-test.html:
- transforms/3d/hit-testing/overlapping-layers-hit-test.html:
- transforms/3d/hit-testing/perspective-clipped.html:
- transforms/3d/hit-testing/rotated-hit-test-with-child.html:
- transforms/3d/hit-testing/rotated-hit-test.html:
- transforms/3d/hit-testing/rotated-hit-test2.html:
- transitions/resources/transition-test-helpers.js:
(roundNumber):
- 9:32 AM Changeset in webkit [187011] by
-
- 7 edits2 adds in trunk
[GTK] Add seccomp filters support
https://bugs.webkit.org/show_bug.cgi?id=110014
Reviewed by Žan Doberšek.
.:
Find needed compiler and linker flags for libseccomp.
- Source/cmake/OptionsGTK.cmake:
Source/WebKit2:
Allow building with ENABLE_SECCOMP_FILTERS=ON. Based on work by Thiago Marcos P. Santos.
- PlatformGTK.cmake: Support ENABLE_SECCOMP_FILTERS build option.
- WebProcess/gtk/SeccompFiltersWebProcessGtk.cpp: Added.
(WebKit::SeccompFiltersWebProcessGtk::SeccompFiltersWebProcessGtk):
(WebKit::SeccompFiltersWebProcessGtk::platformInitialize):
- WebProcess/gtk/SeccompFiltersWebProcessGtk.h: Added.
- WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Initialize default
GTK+ web process seccomp filters.
Tools:
Add libseccomp to jhbuild modulesets.
- gtk/jhbuild.modules:
- 6:16 AM Changeset in webkit [187010] by
-
- 5 edits in trunk/Source/WebKit/win
REGRESSION (r187002): Broke the Windows build: Reduce PassRefPtr in WebKit2 - 3
<https://bugs.webkit.org/show_bug.cgi?id=146995>
Attempt to fix the Windows build.
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createDocumentLoader):
(WebFrameLoaderClient::createFrame):
(WebFrameLoaderClient::createPlugin):
- WebCoreSupport/WebFrameLoaderClient.h:
- WebDocumentLoader.cpp:
(WebDocumentLoader::create):
- WebDocumentLoader.h:
- 5:35 AM Changeset in webkit [187009] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r187008): CGPathCreateMutableCopyByTransformingPath() is not available on Windows
<https://bugs.webkit.org/show_bug.cgi?id=147077>
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::transform): Restore less efficient code path
for Windows.
Jul 18, 2015:
- 9:38 PM Changeset in webkit [187008] by
-
- 2 edits in trunk/Source/WebCore
Simplify Path(CG)::transform/translate
https://bugs.webkit.org/show_bug.cgi?id=147077
Reviewed by Simon Fraser.
No new tests; no behavior change.
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::translate):
(WebCore::Path::transform):
Use CGPathCreateMutableCopyByTransformingPath to do the copy and transform
in a single call instead of two.
Make use of transform() to implement translate() instead of duplicating the code.
Move the two functions near each other.
(WebCore::Path::boundingRect):
Remove irrelevant reference to Snow Leopard.
- 8:37 PM Changeset in webkit [187007] by
-
- 3 edits in trunk/Tools
MiniBrowser window title is just "Window" when page has no <title>
https://bugs.webkit.org/show_bug.cgi?id=147076
Reviewed by Tim Horton.
Make MiniBrowser windows show the filename from the URL if we never get a title changed
notification.
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController updateTitle:]):
(-[WK1BrowserWindowController webView:didCommitLoadForFrame:]):
(-[WK1BrowserWindowController webView:didReceiveTitle:forFrame:]):
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController updateTitle:]):
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]):
(-[WK2BrowserWindowController webView:didCommitNavigation:]):
- 7:14 PM Changeset in webkit [187006] by
-
- 5 edits2 adds in trunk
Media Session: Add support for 'Content' interruption types
https://bugs.webkit.org/show_bug.cgi?id=147042
Reviewed by Eric Carlson.
Tests: Added media/session/content-interruptions
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::handleIndefinitePauseInterruption): Indefinitely pause the session by pausing media
elements and removing them from the set of active participating elements.
- Modules/mediasession/MediaSession.h:
- Modules/mediasession/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::didReceiveStartOfInterruptionNotification): Implemented support for 'Content'
interruption types as described in 4.5.2.
- 6:36 PM Changeset in webkit [187005] by
-
- 2 edits in trunk/Source/WebCore
Media Session: add support for telephony interruptions
https://bugs.webkit.org/show_bug.cgi?id=147016
Reviewed by Eric Carlson.
- platform/audio/mac/MediaSessionInterruptionProviderMac.mm:
(WebCore::callDidBeginRinging): Forward this event to media sessions as a 'Transient' interruption.
(WebCore::MediaSessionInterruptionProviderMac::beginListeningForInterruptions):
(WebCore::MediaSessionInterruptionProviderMac::stopListeningForInterruptions):
- 6:30 PM Changeset in webkit [187004] by
-
- 7 edits in trunk/Source/WebCore
Media Session: add infrastructure for testing interruptions
https://bugs.webkit.org/show_bug.cgi?id=147060
Reviewed by Eric Carlson.
- Modules/mediasession/MediaSession.h: Export methods to be used with tests.
- Modules/mediasession/MediaSessionManager.h: Ditto.
- bindings/scripts/CodeGeneratorJS.pm: JSMediaSession needs to be marked with WEBCORE_EXPORT so it works with JSInternals.
- testing/Internals.cpp:
(WebCore::Internals::sendMediaSessionStartOfInterruptionNotification): Let tests send interruptions to MediaSessionManager.
(WebCore::Internals::sendMediaSessionEndOfInterruptionNotification): Ditto.
(WebCore::Internals::mediaSessionCurrentState): Expose the current state of media sessions to tests.
- testing/Internals.h:
- testing/Internals.idl: Add interfaces for sending interruptions from JS tests.
- 5:36 PM Changeset in webkit [187003] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
lexical scoping is broken with respect to "break" and "continue"
https://bugs.webkit.org/show_bug.cgi?id=147063
Reviewed by Filip Pizlo.
Bug #142944 which introduced "let" and lexical scoping
didn't properly hook into the bytecode generator's machinery
for calculating scope depth deltas for "break" and "continue". This
resulted in the bytecode generator popping an incorrect number
of scopes when lexical scopes were involved.
This patch fixes this problem and generalizes this machinery a bit.
This patch also renames old functions in a sensible way that is more
coherent in a world with lexical scoping.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::newLabelScope):
(JSC::BytecodeGenerator::emitProfileType):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::popLexicalScope):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::resolveType):
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitGetFromScope):
(JSC::BytecodeGenerator::emitPutToScope):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitGetParentScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitPopWithOrCatchScope):
(JSC::BytecodeGenerator::emitPopScopes):
(JSC::BytecodeGenerator::calculateTargetScopeDepthForExceptionHandler):
(JSC::BytecodeGenerator::localScopeDepth):
(JSC::BytecodeGenerator::labelScopeDepth):
(JSC::BytecodeGenerator::emitThrowReferenceError):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::pushScopedControlFlowContext):
(JSC::BytecodeGenerator::popScopedControlFlowContext):
(JSC::BytecodeGenerator::emitPushCatchScope):
(JSC::BytecodeGenerator::currentScopeDepth): Deleted.
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::hasFinaliser):
(JSC::BytecodeGenerator::scopeDepth): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::ContinueNode::trivialTarget):
(JSC::BreakNode::trivialTarget):
(JSC::ReturnNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::TryNode::emitBytecode):
- tests/stress/lexical-scoping-break-continue.js: Added.
(assert):
(.):
- 5:16 PM Changeset in webkit [187002] by
-
- 86 edits in trunk/Source
Reduce PassRefPtr in WebKit2 - 3
https://bugs.webkit.org/show_bug.cgi?id=146995
Reviewed by Daniel Bates.
To remove PassRefPtr, this patch reduces use of PassRefPtr in WebKit2.
Because some uses depend on WebCore, WebCore, WK1 ports are modified as well.
Source/WebCore:
- loader/EmptyClients.cpp:
(WebCore::EmptyChromeClient::createPopupMenu):
(WebCore::EmptyChromeClient::createSearchPopupMenu):
(WebCore::EmptyFrameLoaderClient::createDocumentLoader):
(WebCore::EmptyFrameLoaderClient::createFrame):
(WebCore::EmptyFrameLoaderClient::createPlugin):
- loader/EmptyClients.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
- loader/FrameLoaderClient.h:
- loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
(WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
- loader/ResourceLoadScheduler.h:
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
- loader/SubresourceLoader.h:
- page/ChromeClient.h:
- platform/graphics/texmap/TextureMapperBackingStore.h:
- platform/graphics/texmap/TextureMapperLayer.h:
(WebCore::TextureMapperLayer::texture):
- platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
(WebCore::TextureMapperSurfaceBackingStore::texture):
- platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
- platform/graphics/texmap/TextureMapperTile.h:
(WebCore::TextureMapperTile::texture):
- platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
(WebCore::TextureMapperTiledBackingStore::texture):
- platform/graphics/texmap/TextureMapperTiledBackingStore.h:
- storage/StorageNamespace.h:
Source/WebKit/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createDocumentLoader):
Source/WebKit/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createDocumentLoader):
- WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKit2:
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::getOrCreateUniqueIDBDatabase):
- DatabaseProcess/DatabaseProcess.h:
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::takeInitializationReply):
- PluginProcess/PluginControllerProxy.h:
- Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::texture):
- Shared/CoordinatedGraphics/CoordinatedBackingStore.h:
(WebKit::CoordinatedBackingStore::create):
- Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
(WebKit::WebCoordinatedSurface::create):
(WebKit::WebCoordinatedSurface::createWithSurface):
- Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
- UIProcess/API/APILoaderClient.h:
(API::LoaderClient::webCryptoMasterKey):
- UIProcess/API/APINavigationClient.h:
(API::NavigationClient::webCryptoMasterKey):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
(WKPageSetPageNavigationClient):
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy):
(WebKit::PageClientImpl::createColorPicker):
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/Authentication/WebCredential.h:
- UIProcess/Authentication/WebProtectionSpace.h:
- UIProcess/AutoCorrectionCallback.h:
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::webCryptoMasterKey):
- UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::createPopupMenuProxy):
(WebKit::WebView::createContextMenuProxy):
(WebKit::WebView::createColorPicker):
- UIProcess/CoordinatedGraphics/WebView.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/efl/WebViewEfl.cpp:
(WebKit::WebViewEfl::createPopupMenuProxy):
(WebKit::WebViewEfl::createContextMenuProxy):
(WebKit::WebViewEfl::createColorPicker):
- UIProcess/efl/WebViewEfl.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dataSelectionForPasteboard):
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy):
(WebKit::PageClientImpl::createColorPicker):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::dataSelectionForPasteboard):
- WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
(WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
- WebProcess/Network/WebResourceLoadScheduler.h:
- WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::fromNPP):
(WebKit::NetscapePlugin::snapshot):
(WebKit::NetscapePlugin::liveResourceData):
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- WebProcess/Plugins/Plugin.h:
- WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::snapshot):
(WebKit::PluginProxy::liveResourceData):
- WebProcess/Plugins/PluginProxy.h:
- WebProcess/Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::storageArea):
(WebKit::StorageNamespaceImpl::copy):
- WebProcess/Storage/StorageNamespaceImpl.h:
- WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toHistoryItem):
- WebProcess/WebCoreSupport/SessionStateConversion.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createPopupMenu):
(WebKit::WebChromeClient::createSearchPopupMenu):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createDocumentLoader):
(WebKit::WebFrameLoaderClient::createFrame):
(WebKit::WebFrameLoaderClient::createPlugin):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::create):
(WebKit::WebPage::createDocumentLoader):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::lookupTextAtLocation):
- 4:54 PM Changeset in webkit [187001] by
-
- 2 edits in trunk/Source/WebKit2
Scroll position jumps when scrolling scaling pages down in split view
https://bugs.webkit.org/show_bug.cgi?id=147072
rdar://problem/21769577
Reviewed by Sam Weinig.
When apple.com/music is in Split View at a reduced scale, scrolling the page
can cause unwanted scroll jumps. This happened because we'd enter
TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded() with a pending
layout, so run the autosizing logic. When scrolled near the bottom, the unconstrained
layout resulted in a shorter document, which truncated the scroll position. The
scaled layout then restored the longer document, but it also restored that
truncated scroll position.
Forcing a layout is sufficient to fix the bug for this page, and doing a single
layout (which will happen anyway) is preferable to running the autosize logic
if layout happens to be dirty.
I was not able to make a test to reproduce the problem. Entering
scaleViewToFitDocumentIfNeeded() with pending layout was triggerable
using a transform transition, but I was not able to reproduce incorrect
scroll position restoration.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
- 4:41 PM Changeset in webkit [187000] by
-
- 2 edits in trunk/LayoutTests
inspector/console/command-line-api.html is slow on Debug Yosemite WK2
- platform/mac-wk2/TestExpectations: Mark test as slow on Debug
Yosemite WK2:
- inspector/console/command-line-api.html
- 4:32 PM Changeset in webkit [186999] by
-
- 2 edits in trunk/LayoutTests
http/tests/cache/disk-cache/disk-cache-disable.html is flaky on Release Yosemite WK2
- platform/mac-wk2/TestExpectations: Mark test as flaky on
Release Yosemite WK2:
- http/tests/cache/disk-cache/disk-cache-disable.html
- 4:32 PM Changeset in webkit [186998] by
-
- 2 edits in trunk/LayoutTests
media/restore-from-page-cache.html is flaky on Debug Mavericks
When the test fails, the computed width and height is
300px × 150px instead of the expected 320px × 240px.
- platform/mac/TestExpectations: Mark test as flaky on Debug Mavericks:
- media/restore-from-page-cache.html
- 2:21 PM Changeset in webkit [186997] by
-
- 4 edits1 delete in trunk/Source/JavaScriptCore
Unreviewed, rolling out r186996.
https://bugs.webkit.org/show_bug.cgi?id=147070
Broke JSC tests (Requested by smfr on #webkit).
Reverted changeset:
"lexical scoping is broken with respect to "break" and
"continue""
https://bugs.webkit.org/show_bug.cgi?id=147063
http://trac.webkit.org/changeset/186996
- 1:12 PM Changeset in webkit [186996] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
lexical scoping is broken with respect to "break" and "continue"
https://bugs.webkit.org/show_bug.cgi?id=147063
Reviewed by Filip Pizlo.
Bug #142944 which introduced "let" and lexical scoping
didn't properly hook into the bytecode generator's machinery
for calculating scope depth deltas for "break" and "continue". This
resulted in the bytecode generator popping an incorrect number
of scopes when lexical scopes were involved.
This patch fixes this problem and generalizes this machinery a bit.
This patch also renames old functions in a sensible way that is more
coherent in a world with lexical scoping.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::newLabelScope):
(JSC::BytecodeGenerator::emitProfileType):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::popLexicalScope):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::resolveType):
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitGetFromScope):
(JSC::BytecodeGenerator::emitPutToScope):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitGetParentScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitPopWithOrCatchScope):
(JSC::BytecodeGenerator::emitPopScopes):
(JSC::BytecodeGenerator::calculateTargetScopeDepthForExceptionHandler):
(JSC::BytecodeGenerator::localScopeDepth):
(JSC::BytecodeGenerator::labelScopeDepth):
(JSC::BytecodeGenerator::emitThrowReferenceError):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::pushScopedControlFlowContext):
(JSC::BytecodeGenerator::popScopedControlFlowContext):
(JSC::BytecodeGenerator::emitPushCatchScope):
(JSC::BytecodeGenerator::currentScopeDepth): Deleted.
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::hasFinaliser):
(JSC::BytecodeGenerator::scopeDepth): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::ContinueNode::trivialTarget):
(JSC::BreakNode::trivialTarget):
(JSC::ReturnNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::TryNode::emitBytecode):
- tests/stress/lexical-scoping-break-continue.js: Added.
(assert):
(.):
- 12:48 PM Changeset in webkit [186995] by
-
- 2 edits in trunk/LayoutTests
[Win] Skip input range repaint test.
- platform/win/TestExpectations:
- 7:22 AM Changeset in webkit [186994] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r186981): fast/repaint/block-inputrange-repaint.html is starting out life as flaky
- fast/repaint/block-inputrange-repaint.html:
- Use setTimeout() to give WebKit time to repaint.
- 6:54 AM Changeset in webkit [186993] by
-
- 4 edits in trunk/LayoutTests
REGRESSION (r186905,r186992): Incorrect results for platform/{gtk,efl,win}/fast/shrink-wrap/rect-shrink-wrap-expected.txt
- platform/efl/fast/shrink-wrap/rect-shrink-wrap-expected.txt:
- platform/gtk/fast/shrink-wrap/rect-shrink-wrap-expected.txt:
- platform/win/fast/shrink-wrap/rect-shrink-wrap-expected.txt:
- Update to correct expected results.
- 5:54 AM Changeset in webkit [186992] by
-
- 1 edit4 adds in trunk/LayoutTests
REGRESSION (r186858): GTK and EFL ports don't composite <canvas> elements
See also r186905 for Windows.
- platform/efl/fast/shrink-wrap/rect-shrink-wrap-expected.txt: Added.
- platform/gtk/fast/shrink-wrap/rect-shrink-wrap-expected.txt: Added.
- 5:30 AM Changeset in webkit [186991] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r186976): Use piFloat instead of M_PI
Attempt to fix the following build failure:
PathUtilities.cpp(183): error C2065: 'M_PI' : undeclared identifier [...\Source\WebCore\WebCore.vcxproj\WebCore.vcxproj]
- platform/graphics/PathUtilities.cpp:
(WebCore::walkGraphAndExtractPolygon): Use piFloat since M_PI is
not defined on Windows.
- 5:20 AM Changeset in webkit [186990] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r186976): Windows build broke due to missing definition of M_PI
Attempt to fix the following build failure:
PathUtilities.cpp(182): error C2065: 'M_PI' : undeclared identifier [...\Source\WebCore\WebCore.vcxproj\WebCore.vcxproj]
- platform/graphics/PathUtilities.cpp: Include <wtf/MathExtras.h>.
- 5:19 AM Changeset in webkit [186989] by
-
- 3 edits in branches/safari-600.1.4.17-branch/LayoutTests
Merge r186988. rdar://problem/21709404
- 5:07 AM Changeset in webkit [186988] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (r186982): http/tests/contentdispositionattachmentsandbox/form-submission-disabled.html and loader/meta-refresh-disabled.html fail
Part of:
<https://bugs.webkit.org/show_bug.cgi?id=147044>
<rdar://problem/21567820>
- http/tests/contentdispositionattachmentsandbox/form-submission-disabled-expected.txt:
- Fix line number of console message.
- loader/meta-refresh-disabled-expected.txt:
- Add newly expected console message.