Timeline
Dec 19, 2015:
- 10:27 PM Changeset in webkit [194318] by
-
- 136 edits1 delete in trunk
[Mac] WebKit contains dead source code for OS X Mavericks and earlier
https://bugs.webkit.org/show_bug.cgi?id=152462
Reviewed by Alexey Proskuryakov.
Source/bmalloc:
- Configurations/DebugRelease.xcconfig: Removed definition of MACOSX_DEPLOYMENT_TARGET for OS X 10.9.
Source/JavaScriptCore:
- Removed build setting definitions for OS X 10.9 and earlier, and simplified defintions that became uniform across all OS X versions as a result:
- Configurations/DebugRelease.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/Version.xcconfig:
- API/JSBase.h: Removed check against MAC_OS_X_VERSION_MIN_REQUIRED that was always true.
Source/ThirdParty/ANGLE:
- Configurations/DebugRelease.xcconfig: Removed definitions of MACOSX_DEPLOYMENT_TARGET for OS X 10.8 and 10.9.
Source/WebCore:
- Removed build setting definitions for OS X 10.9 and earlier, and simplified defintions that became uniform across all OS X versions as a result:
- Configurations/DebugRelease.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/Version.xcconfig:
- Removed support for animating default buttons:
- rendering/RenderButton.cpp:
(WebCore::RenderButton::RenderButton): Removed m_default initialization.
(WebCore::RenderButton::styleDidChange): Removed checking for animating default button and
starting the animation timer.
(WebCore::RenderButton::timerFired): Deleted.
- rendering/RenderButton.h: Removed m_timer and m_default member variables
- rendering/RenderTheme.h:
(WebCore::RenderTheme::defaultButtonHasAnimation): Deleted.
- rendering/RenderThemeMac.h: Deleted override.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::defaultButtonHasAnimation): Deleted.
- Simplified expressions involving MAC_OS_X_VERSION_MIN_REQUIRED and removed code that was never getting compiled:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
- editing/mac/DictionaryLookup.h:
- editing/mac/DictionaryLookup.mm:
- html/canvas/WebGLDrawBuffers.cpp:
- loader/DocumentLoader.cpp:
- loader/cache/CachedFont.cpp:
- loader/cocoa/DiskCacheMonitorCocoa.h:
- page/cocoa/SettingsCocoa.mm:
- platform/Scrollbar.cpp:
- platform/cocoa/MemoryPressureHandlerCocoa.mm:
- platform/cocoa/NetworkExtensionContentFilter.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
- platform/graphics/cg/ImageSourceCG.cpp:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
- platform/graphics/cocoa/FontCascadeCocoa.mm:
- platform/graphics/mac/GraphicsContext3DMac.mm:
- platform/mac/NSScrollerImpDetails.h:
- platform/mac/ScrollAnimatorMac.mm:
- platform/mac/ScrollViewMac.mm:
- platform/mac/ScrollbarThemeMac.mm:
- platform/mac/ThemeMac.mm:
- platform/mac/WebCoreFullScreenPlaceholderView.h:
- platform/mac/WebCoreFullScreenPlaceholderView.mm:
- platform/network/cf/CookieJarCFNet.cpp:
- platform/network/cf/ResourceRequest.h:
- platform/spi/cf/CFNetworkSPI.h:
- platform/spi/cocoa/CoreTextSPI.h:
- platform/spi/cocoa/NSButtonCellSPI.h:
- platform/spi/cocoa/NSColorSPI.h:
- platform/spi/cocoa/QuartzCoreSPI.h:
- platform/spi/mac/LookupSPI.h:
- platform/spi/mac/NSFontSPI.h:
- platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
- platform/spi/mac/NSPopoverSPI.h:
- platform/spi/mac/NSSharingServicePickerSPI.h:
- platform/spi/mac/NSSharingServiceSPI.h:
- platform/spi/mac/TUCallSPI.h:
- platform/sql/SQLiteDatabase.cpp:
Source/WebInspectorUI:
- Removed build setting definitions for OS X 10.9 and earlier, and simplified defintions that became uniform across all OS X versions as a result:
- Configurations/Base.xcconfig:
- Configurations/DebugRelease.xcconfig:
- Configurations/Version.xcconfig:
- Scripts/copy-user-interface-resources.pl: Removed code to delete Images/Legacy.
- UserInterface/Images/Legacy: Removed this empty directory.
Source/WebKit/mac:
- Removed build setting definitions for OS X 10.9 and earlier, and simplified defintions that became uniform across all OS X versions as a result:
- Configurations/DebugRelease.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
- Simplified expressions involving MAC_OS_X_VERSION_MIN_REQUIRED and removed code that was never getting compiled:
- WebCoreSupport/WebInspectorClient.mm:
- WebView/WebDynamicScrollBarsView.mm:
- WebView/WebHTMLView.mm:
- WebView/WebImmediateActionController.h:
- WebView/WebImmediateActionController.mm:
- WebView/WebView.mm:
- WebView/WebViewData.h:
- WebView/WebViewData.mm:
- WebView/WebViewInternal.h:
Source/WebKit2:
- Removed build setting definitions for OS X 10.9 and earlier, and simplified defintions that became uniform across all OS X versions as a result:
- Configurations/BaseTarget.xcconfig:
- Configurations/BaseXPCService.xcconfig:
- Configurations/DebugRelease.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebKit.xcconfig:
- Removed the definition of BUNDLE_LOCALIZATION_KEY:
- Configurations/WebContentService.Development.xcconfig:
- Configurations/WebContentService.xcconfig:
- Added CFBundleFollowParentLocalization set to true:
- WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist:
- WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
- WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist:
- WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
- WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:
- WebKit2.xcodeproj/project.pbxproj: Removed the “Add CFBundle Localization Info.plist Key” script build phases from the Web Content Service targets.
- Simplified expressions involving MAC_OS_X_VERSION_MIN_REQUIRED and removed code that was never getting compiled:
- DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Platform/IPC/mac/ConnectionMac.mm:
- Platform/IPC/mac/ImportanceAssertion.h:
- Platform/mac/MenuUtilities.h:
- Platform/mac/MenuUtilities.mm:
- Platform/mac/StringUtilities.h:
- Platform/mac/StringUtilities.mm:
- Shared/API/Cocoa/WKFoundation.h:
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/mac/WKView.mm:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- UIProcess/mac/PageClientImpl.mm:
- UIProcess/mac/WKImmediateActionController.h:
- UIProcess/mac/WKImmediateActionController.mm:
- UIProcess/mac/WebInspectorProxyMac.mm:
- WebProcess/WebPage/FindController.cpp:
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/com.apple.WebProcess.sb.in:
- config.h:
Source/WTF:
- Configurations/DebugRelease.xcconfig: Removed definition of MACOSX_DEPLOYMENT_TARGET for OS X 10.9.
- Simplified expressions involving MAC_OS_X_VERSION_MIN_REQUIRED and removed code that was never getting compiled:
- wtf/FeatureDefines.h:
- wtf/MainThread.h:
- wtf/OSObjectPtr.h:
- wtf/Platform.h:
- wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
- wtf/spi/darwin/XPCSPI.h:
Tools:
- Removed definitions of MACOSX_DEPLOYMENT_TARGET and WEBKIT_SYSTEM_INTERFACE_LIBRARY for OS X 10.9:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- LayoutTestRelay/Configurations/DebugRelease.xcconfig:
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- Simplified expressions involving MAC_OS_X_VERSION_MIN_REQUIRED and removed code that was never getting compiled:
- DumpRenderTree/mac/TextInputController.m:
- MiniBrowser/mac/BrowserWindowController.m:
- TestWebKitAPI/Tests/mac/AttributedString.mm:
- WebKitTestRunner/mac/EventSenderProxy.mm:
WebKitLibraries:
- libWebKitSystemInterfaceMavericks.a: Removed.
- 1:42 PM Changeset in webkit [194317] by
-
- 1 edit in trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Make Intl headers private in Xcode
- 1:04 PM Changeset in webkit [194316] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Streamline Tmp indexing inside the register allocator
https://bugs.webkit.org/show_bug.cgi?id=152420
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-19
Reviewed by Filip Pizlo.
AirIteratedRegisterCoalescing has been accumulating a bit of mess over time.
When it started, every map addressed by Tmp was using Tmp hashing.
That caused massive performance problems. Everything perf sensitive was moved
to direct array addressing by the absolute Tmp index. This left the code
with half of the function using Tmp, the other half using indices.
With this patch, almost everything is moved to absolute indexing.
There are a few advantages to this:
-No more conversion churn for Floating Point registers.
-Most of the functions can now be shared between GP and FP.
-A bit of clean up since the core algorithm only deals with integers now.
This patch also changes the index type to be a template argument.
That will allow future specialization of "m_interferenceEdges" based
on the expected problem size.
Finally, the code related to the program modification (register assignment
and spilling) was moved to the wrapper "IteratedRegisterCoalescing".
The current split is:
-AbstractColoringAllocator: common core. Share as much as possible between
GP and FP.
-ColoringAllocator: the remaining parts of the algorithm, everything that
is specific to GP, FP.
-IteratedRegisterCoalescing: the "iterated" part of the algorithm.
Try to allocate and modify the code as needed.
The long term plan is:
-Move selectSpill() and the coloring loop to AbstractColoringAllocator.
-Specialize m_interferenceEdges to make it faster.
- b3/air/AirIteratedRegisterCoalescing.cpp:
- b3/air/AirTmpInlines.h:
(JSC::B3::Air::AbsoluteTmpMapper<Arg::GP>::lastMachineRegisterIndex):
(JSC::B3::Air::AbsoluteTmpMapper<Arg::FP>::lastMachineRegisterIndex):
- 11:01 AM Changeset in webkit [194315] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] FTLB3Output generates some invalid ZExt32
https://bugs.webkit.org/show_bug.cgi?id=151905
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-19
Reviewed by Filip Pizlo.
FTLLowerDFGToLLVM calls zeroExt() to int32 in some cases.
We were generating ZExt32 with Int32 as return type :(
- ftl/FTLB3Output.h:
(JSC::FTL::Output::zeroExt):
- 8:52 AM Changeset in webkit [194314] by
-
- 15 edits in trunk/Source/JavaScriptCore
[JSC] Add EqualOrUnordered to B3
https://bugs.webkit.org/show_bug.cgi?id=152425
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-19
Reviewed by Mark Lam.
Add EqualOrUnordered to B3 and use it to implements
FTL::Output's NotEqualAndOrdered.
- b3/B3ConstDoubleValue.cpp:
(JSC::B3::ConstDoubleValue::equalOrUnordered):
- b3/B3ConstDoubleValue.h:
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::createGenericCompare):
(JSC::B3::Air::LowerToAir::lower):
- b3/B3Opcode.cpp:
(WTF::printInternal):
- b3/B3Opcode.h:
- b3/B3ReduceDoubleToFloat.cpp:
(JSC::B3::reduceDoubleToFloat):
- b3/B3ReduceStrength.cpp:
- b3/B3Validate.cpp:
- b3/B3Value.cpp:
(JSC::B3::Value::equalOrUnordered):
(JSC::B3::Value::returnsBool):
(JSC::B3::Value::effects):
(JSC::B3::Value::key):
(JSC::B3::Value::typeFor):
- b3/B3Value.h:
- b3/testb3.cpp:
(JSC::B3::testBranchEqualOrUnorderedArgs):
(JSC::B3::testBranchNotEqualAndOrderedArgs):
(JSC::B3::testBranchEqualOrUnorderedDoubleArgImm):
(JSC::B3::testBranchEqualOrUnorderedFloatArgImm):
(JSC::B3::testBranchEqualOrUnorderedDoubleImms):
(JSC::B3::testBranchEqualOrUnorderedFloatImms):
(JSC::B3::testBranchEqualOrUnorderedFloatWithUselessDoubleConversion):
(JSC::B3::run):
- ftl/FTLB3Output.h:
(JSC::FTL::Output::doubleNotEqualAndOrdered):
(JSC::FTL::Output::doubleNotEqual): Deleted.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::boolify):
- ftl/FTLOutput.h:
(JSC::FTL::Output::doubleNotEqualAndOrdered):
(JSC::FTL::Output::doubleNotEqual): Deleted.
- 5:26 AM Changeset in webkit [194313] by
-
- 17 edits2 adds in trunk
Cache redirects as separate entries
https://bugs.webkit.org/show_bug.cgi?id=152424
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/cache/disk-cache/disk-cache-redirect.html
- platform/network/ResourceRequestBase.h:
Source/WebKit2:
We are currently caching redirect chains. This has correctness issues and can be inefficient in cases
where multiple URLs redirect to the same destination.
After this patch we write a cache entry for each redirect individually.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::sharedWillSendRedirectedRequest):
- NetworkProcess/NetworkLoad.h:
(WebKit::NetworkLoad::currentRequest):
(WebKit::NetworkLoad::clearCurrentRequest):
- NetworkProcess/NetworkLoadClient.h:
Add original request as a parameter for willSendRedirectedRequest.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::canUseCache):
Factor to a function.
(WebKit::NetworkResourceLoader::isSynchronous):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
Factor to a function.
Call dispatchWillSendRequestForCacheEntry for cached redirects.
(WebKit::NetworkResourceLoader::startNetworkLoad):
Make this take request as argument instead of always loading originalRequest().
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::didFinishLoading):
Remove redirect chain code.
Store cache entry for current request instead of the original request.
(WebKit::NetworkResourceLoader::didFailLoading):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
Write cache entry for redirect.
(WebKit::NetworkResourceLoader::continueWillSendRequest):
If we are playing back cached redirect continue with another cache lookup.
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
No need to synthesize fake willSendRequest anymore.
(WebKit::NetworkResourceLoader::validateCacheEntry):
(WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):
Route via web process willSendRequest so cached redirects looks exactly like network ones.
(WebKit::NetworkResourceLoader::messageSenderConnection):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::makeUseDecision):
Ignore validation headers for cached redirects.
(WebKit::NetworkCache::makeRetrieveDecision):
(WebKit::NetworkCache::makeStoreDecision):
(WebKit::NetworkCache::Cache::retrieve):
(WebKit::NetworkCache::Cache::store):
Rename originalRequest -> request since it is not really the original request anymore in all cases.
(WebKit::NetworkCache::Cache::storeRedirect):
Stored redirects include the network layer generated ResourceRequest instead of body data.
(WebKit::NetworkCache::Cache::update):
- NetworkProcess/cache/NetworkCache.h:
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::Entry):
New constructor for making redirect entries.
(WebKit::NetworkCache::Entry::encodeAsStorageRecord):
(WebKit::NetworkCache::Entry::decodeStorageRecord):
Encoding support.
- NetworkProcess/cache/NetworkCacheEntry.h:
(WebKit::NetworkCache::Entry::varyingRequestHeaders):
(WebKit::NetworkCache::Entry::redirectRequest):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::~SpeculativeLoad):
(WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- NetworkProcess/cache/NetworkCacheStatistics.cpp:
(WebKit::NetworkCache::cachedEntryReuseFailureToDiagnosticKey):
LayoutTests:
- http/tests/cache/disk-cache/disk-cache-redirect-expected.txt: Added.
- http/tests/cache/disk-cache/disk-cache-redirect.html: Added.
- http/tests/cache/disk-cache/resources/generate-response.cgi:
- 1:01 AM Changeset in webkit [194312] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] B3: Add indexed addressing when lowering BitwiseCast
https://bugs.webkit.org/show_bug.cgi?id=152432
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-19
Reviewed by Geoffrey Garen.
The MacroAssembler supports it, we should use it.
- b3/air/AirOpcode.opcodes:
- b3/testb3.cpp:
(JSC::B3::testBitwiseCastOnDoubleInMemoryIndexed):
(JSC::B3::testBitwiseCastOnInt64InMemoryIndexed):
Dec 18, 2015:
- 10:44 PM Changeset in webkit [194311] by
-
- 10 edits in trunk/Source/WebInspectorUI
Web Inspector: Make it possible to debug injected scripts when the Debug UI is enabled
https://bugs.webkit.org/show_bug.cgi?id=152445
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
Added function to check for debug UI.
- UserInterface/Base/Object.js:
Added notification for debug UI enabled state change.
- UserInterface/Base/Utilities.js:
(isWebInspectorInternalScript):
(isWebInspectorDebugScript):
Added functions to check for internal and debug inspector scripts.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager):
Maintain a list of inspector debug scripts, so that the manager can
add and remove them when the debug UI is enabled/disabled.
(WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
(WebInspector.DebuggerManager.prototype.reset):
Clear the list of inspector debug scripts.
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
(WebInspector.DebuggerManager.prototype.scriptDidParse):
Skip internal inspector scripts. Debug inspector scripts are tracked,
and an added event is dispatched if the debug UI is enabled.
(WebInspector.DebuggerManager.prototype._debugUIEnabledDidChange):
Dispatch added/removed events for inspector debug scripts.
- UserInterface/Debug/Bootstrap.js:
(WebInspector.runBootstrapOperations):
Expose changes to the debug UI setting to the reset of the UI, by dispatching
a WebInspector.Notification.DebugUIEnabledDidChange event.
- UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation):
Only resolve inspector debug source locations when the debug UI is enabled.
- UserInterface/Test/Test.js:
Reimplemented debug UI check for tests. Always returns false.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._addScript):
Removed check for inspector debug scripts. DebuggerManager filters scripts as needed.
(WebInspector.DebuggerSidebarPanel.prototype._scriptRemoved):
Handle DebuggerManager ScriptRemoved events. Only applies to debug scripts.
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype._scriptWasRemoved):
Handle DebuggerManager ScriptRemoved events. Only applies to debug scripts.
(WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
Removed check for inspector debug scripts. DebuggerManager filters scripts as needed.
- 6:32 PM Changeset in webkit [194310] by
-
- 10 edits in trunk/Source/JavaScriptCore
Make JSString::SafeView less of a footgun.
<https://webkit.org/b/152376>
Reviewed by Darin Adler.
Remove the "operator StringView()" convenience helper on JSString::SafeString since that
made it possible to casually turn the return value from JSString::view() into an unsafe
StringView local on the stack with this pattern:
StringView view = someJSValue.toString(exec)->view(exec);
The JSString* returned by toString() above will go out of scope by the end of the statement
and does not stick around to protect itself from garbage collection.
It will now look like this instead:
JSString::SafeView view = someJSValue.toString(exec)->view(exec);
To be extra clear, the following is not safe:
StringView view = someJSValue.toString(exec)->view(exec).get();
By the end of that statement, the JSString::SafeView goes out of scope, and the JSString*
is no longer protected from GC.
I added a couple of forwarding helpers to the SafeView class, and if you need a StringView
object from it, you can call .get() just like before.
Finally I also removed the JSString::SafeView() constructor, since nobody was instantiating
empty SafeView objects anyway. This way we don't have to worry about null members.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncJoin):
- runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncJoin):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::decode):
(JSC::globalFuncParseInt):
(JSC::globalFuncParseFloat):
(JSC::globalFuncEscape):
(JSC::globalFuncUnescape):
- runtime/JSONObject.cpp:
(JSC::JSONProtoFuncParse):
- runtime/JSString.cpp:
(JSC::JSString::getPrimitiveNumber):
(JSC::JSString::toNumber):
- runtime/JSString.h:
(JSC::JSString::SafeView::is8Bit):
(JSC::JSString::SafeView::length):
(JSC::JSString::SafeView::characters8):
(JSC::JSString::SafeView::characters16):
(JSC::JSString::SafeView::operator[]):
(JSC::JSString::SafeView::SafeView):
(JSC::JSString::SafeView::get):
(JSC::JSString::SafeView::operator StringView): Deleted.
- runtime/StringPrototype.cpp:
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncNormalize):
- 6:31 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 6:07 PM Changeset in webkit [194309] by
-
- 1 copy in tags/Safari-601.1.46.88
New tag.
- 6:07 PM Changeset in webkit [194308] by
-
- 1 copy in tags/Safari-601.5.8
New tag.
- 6:04 PM WebKitGTK/Gardening/Calendar edited by
- More Dec 18 gardening (diff)
- 5:40 PM Changeset in webkit [194307] by
-
- 2 edits in trunk/Source/WebKit/ios
Turn off "shrink-to-fit" viewport scaling in UIWebViews
https://bugs.webkit.org/show_bug.cgi?id=152451
rdar://problem/23960882
Reviewed by Tim Horton.
Disable the "shrink to fit" behavior in UIWebViews. This disables it entirely,
even when the page has "shrink-to-fit=yes" in the viewport meta tag.
Not testable because we can't test actual UIWebView scaling behavior.
- WebCoreSupport/WebChromeClientIOS.mm:
(dictionaryForViewportArguments):
- 5:31 PM Changeset in webkit [194306] by
-
- 2 edits in trunk/LayoutTests
[GTK] Mark fast/regions/overflow/overflow-region-float.html as passing
Unreviewed test gardening. This test has been passing since r191658.
- platform/gtk/TestExpectations:
- 4:25 PM Changeset in webkit [194305] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo] Empty context menu item.
https://bugs.webkit.org/show_bug.cgi?id=152423
Reviewed by Alex Christensen.
The context menu contains a submenu item with no text.
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::populate):
- 4:19 PM Changeset in webkit [194304] by
-
- 4 edits in trunk/Source/JavaScriptCore
BytecodeGenerator::pushLexicalScopeInternal and pushLexicalScope should use enums instead of bools
https://bugs.webkit.org/show_bug.cgi?id=152450
Reviewed by Geoffrey Garen and Joseph Pecoraro.
This makes comprehending the call sites of these functions
easier without looking up the header of the function.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::initializeArrowFunctionContextScopeIfNeeded):
(JSC::BytecodeGenerator::emitPrefillStackTDZVariables):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::emitPushCatchScope):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::lastOpcodeID):
- bytecompiler/NodesCodegen.cpp:
(JSC::BlockNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ForInNode::emitMultiLoopBytecode):
(JSC::ForOfNode::emitBytecode):
(JSC::SwitchNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):
- 4:16 PM Changeset in webkit [194303] by
-
- 7 edits in trunk/Source
Avoid triggering clang's -Wundefined-bool-conversion
https://bugs.webkit.org/show_bug.cgi?id=152408
Reviewed by Mark Lam.
Source/JavaScriptCore:
Add ASSERT_THIS_GC_OBJECT_LOOKS_VALID and ASSERT_THIS_GC_OBJECT_INHERITS to avoid use of
ASSERT(this) by ASSERT_GC_OBJECT_LOOKS_VALID and ASSERT_GC_OBJECT_INHERITS.
- heap/GCAssertions.h:
Source/WebCore:
Remove use of ASSERT(this).
- dom/TreeScope.cpp:
(WebCore::TreeScope::adoptIfNeeded):
- page/Frame.cpp:
(WebCore::Frame::createView):
Source/WebKit2:
Use ASSERT_THIS_GC_OBJECT_INHERITS where needed.
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::deleteProperty):
- 3:56 PM Changeset in webkit [194302] by
-
- 2 edits in trunk/LayoutTests
Skipping fast/scrolling/rtl-point-in-iframe.html on ios-simulator since it tests wheel events.
https://bugs.webkit.org/show_bug.cgi?id=152442
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 3:55 PM Changeset in webkit [194301] by
-
- 2 edits in trunk/Source/WebCore
Remove the 'ignoreViewportScalingConstraints' Setting, which was unused
https://bugs.webkit.org/show_bug.cgi?id=152435
Reviewed by Tim Horton.
r177110 added a WebCore setting called ignoreViewportScalingConstraints,
but it was never used, so remove it.
- page/Settings.in:
- 3:38 PM Changeset in webkit [194300] by
-
- 5 edits in tags/Safari-602.1.14.0.1/Source
Versioning.
- 3:34 PM Changeset in webkit [194299] by
-
- 1 copy in tags/Safari-602.1.14.0.1
New tag.
- 3:06 PM Changeset in webkit [194298] by
-
- 2 edits in trunk/LayoutTests
Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=152437
Unreviewed test gardening.
- platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
- 3:05 PM Changeset in webkit [194297] by
-
- 12 edits in branches/safari-601.1.46-branch
Merge r194246. rdar://problem/23824469
- 3:05 PM Changeset in webkit [194296] by
-
- 6 edits in branches/safari-601.1.46-branch/Source
Merge r194206. rdar://problem/23824469
- 2:34 PM Changeset in webkit [194295] by
-
- 12 edits11 deletes in trunk/Source/WebKit2
Get rid of WebDatabaseManager, it's been replaced by WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=152318
Reviewed by Tim Horton.
Build fixes by Ossy.
- DerivedSources.make:
- Shared/API/APIObject.h:
- Shared/API/c/WKBase.h:
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextGetDatabaseManager): Deleted.
- UIProcess/API/C/WKContext.h:
- UIProcess/API/C/WKDatabaseManager.cpp: Removed.
(WKDatabaseManagerGetTypeID): Deleted.
(WKDatabaseManagerGetOriginKey): Deleted.
(WKDatabaseManagerGetOriginQuotaKey): Deleted.
(WKDatabaseManagerGetOriginUsageKey): Deleted.
(WKDatabaseManagerGetDatabaseDetailsKey): Deleted.
(WKDatabaseManagerGetDatabaseDetailsNameKey): Deleted.
(WKDatabaseManagerGetDatabaseDetailsDisplayNameKey): Deleted.
(WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey): Deleted.
(WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey): Deleted.
(WKDatabaseManagerGetDatabaseDetailsCreationTimeKey): Deleted.
(WKDatabaseManagerGetDatabaseDetailsModificationTimeKey): Deleted.
(WKDatabaseManagerSetClient): Deleted.
(WKDatabaseManagerGetDatabasesByOrigin): Deleted.
(WKDatabaseManagerGetDatabaseOrigins): Deleted.
(WKDatabaseManagerDeleteDatabasesWithNameForOrigin): Deleted.
(WKDatabaseManagerDeleteDatabasesForOrigin): Deleted.
(WKDatabaseManagerDeleteAllDatabases): Deleted.
(WKDatabaseManagerSetQuotaForOrigin): Deleted.
- UIProcess/API/C/WKDatabaseManager.h: Removed.
- UIProcess/WebDatabaseManagerProxy.cpp: Removed.
(WebKit::WebDatabaseManagerProxy::supplementName): Deleted.
(WebKit::WebDatabaseManagerProxy::originKey): Deleted.
(WebKit::WebDatabaseManagerProxy::originQuotaKey): Deleted.
(WebKit::WebDatabaseManagerProxy::originUsageKey): Deleted.
(WebKit::WebDatabaseManagerProxy::databaseDetailsKey): Deleted.
(WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey): Deleted.
(WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey): Deleted.
(WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey): Deleted.
(WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey): Deleted.
(WebKit::WebDatabaseManagerProxy::databaseDetailsCreationTimeKey): Deleted.
(WebKit::WebDatabaseManagerProxy::databaseDetailsModificationTimeKey): Deleted.
(WebKit::WebDatabaseManagerProxy::create): Deleted.
(WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy): Deleted.
(WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy): Deleted.
(WebKit::WebDatabaseManagerProxy::initializeClient): Deleted.
(WebKit::WebDatabaseManagerProxy::processPoolDestroyed): Deleted.
(WebKit::WebDatabaseManagerProxy::processDidClose): Deleted.
(WebKit::WebDatabaseManagerProxy::shouldTerminate): Deleted.
(WebKit::WebDatabaseManagerProxy::refWebContextSupplement): Deleted.
(WebKit::WebDatabaseManagerProxy::derefWebContextSupplement): Deleted.
(WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin): Deleted.
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): Deleted.
(WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): Deleted.
(WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): Deleted.
(WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): Deleted.
(WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): Deleted.
(WebKit::WebDatabaseManagerProxy::deleteAllDatabases): Deleted.
(WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): Deleted.
(WebKit::WebDatabaseManagerProxy::didModifyOrigin): Deleted.
(WebKit::WebDatabaseManagerProxy::didModifyDatabase): Deleted.
- UIProcess/WebDatabaseManagerProxy.h: Removed.
- UIProcess/WebDatabaseManagerProxy.messages.in: Removed.
- UIProcess/WebDatabaseManagerProxyClient.cpp: Removed.
(WebKit::WebDatabaseManagerProxyClient::didModifyOrigin): Deleted.
(WebKit::WebDatabaseManagerProxyClient::didModifyDatabase): Deleted.
- UIProcess/WebDatabaseManagerProxyClient.h: Removed.
- UIProcess/WebProcessPool.cpp:
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
- WebProcess/WebCoreSupport/WebDatabaseManager.cpp: Removed.
(WebKit::WebDatabaseManager::supplementName): Deleted.
(WebKit::WebDatabaseManager::WebDatabaseManager): Deleted.
(WebKit::WebDatabaseManager::initialize): Deleted.
(WebKit::WebDatabaseManager::getDatabasesByOrigin): Deleted.
(WebKit::WebDatabaseManager::getDatabaseOrigins): Deleted.
(WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin): Deleted.
(WebKit::WebDatabaseManager::deleteDatabasesForOrigin): Deleted.
(WebKit::WebDatabaseManager::deleteAllDatabases): Deleted.
(WebKit::WebDatabaseManager::closeAllDatabases): Deleted.
(WebKit::WebDatabaseManager::setQuotaForOrigin): Deleted.
(WebKit::WebDatabaseManager::dispatchDidModifyOrigin): Deleted.
(WebKit::WebDatabaseManager::dispatchDidModifyDatabase): Deleted.
- WebProcess/WebCoreSupport/WebDatabaseManager.h: Removed.
- WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Removed.
- WebProcess/WebCoreSupport/ios/WebDatabaseManagerIOS.mm: Removed.
(WebKit::WebDatabaseManager::dispatchDidAddNewOrigin): Deleted.
(WebKit::WebDatabaseManager::dispatchDidDeleteDatabase): Deleted.
(WebKit::WebDatabaseManager::dispatchDidDeleteDatabaseOrigin): Deleted.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::processWillSuspendImminently):
(WebKit::m_webSQLiteDatabaseTracker): Deleted.
- 2:03 PM Changeset in webkit [194294] by
-
- 14 edits1 add in trunk/Source/JavaScriptCore
Replace SpecialFastCase profiles with ResultProfiles.
https://bugs.webkit.org/show_bug.cgi?id=152433
Reviewed by Saam Barati.
This is in preparation for upcoming work to enhance the DFG predictions to deal
with untyped operands.
This patch also enhances some of the arithmetic slow paths (for the LLINT and
baseline JIT) to collect result profiling info. This profiling info is not put
to use yet.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpRareCaseProfile):
(JSC::CodeBlock::dumpResultProfile):
(JSC::CodeBlock::printLocationAndOp):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::shrinkToFit):
(JSC::CodeBlock::dumpValueProfiles):
(JSC::CodeBlock::rareCaseProfileCountForBytecodeOffset):
(JSC::CodeBlock::resultProfileForBytecodeOffset):
(JSC::CodeBlock::updateResultProfileForBytecodeOffset):
(JSC::CodeBlock::capabilityLevel):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::addResultProfile):
(JSC::CodeBlock::numberOfResultProfiles):
(JSC::CodeBlock::specialFastCaseProfileCountForBytecodeOffset):
(JSC::CodeBlock::couldTakeSpecialFastCase):
(JSC::CodeBlock::addSpecialFastCaseProfile): Deleted.
(JSC::CodeBlock::numberOfSpecialFastCaseProfiles): Deleted.
(JSC::CodeBlock::specialFastCaseProfile): Deleted.
(JSC::CodeBlock::specialFastCaseProfileForBytecodeOffset): Deleted.
- bytecode/ValueProfile.cpp: Added.
(WTF::printInternal):
- bytecode/ValueProfile.h:
(JSC::getRareCaseProfileBytecodeOffset):
(JSC::ResultProfile::ResultProfile):
(JSC::ResultProfile::bytecodeOffset):
(JSC::ResultProfile::specialFastPathCount):
(JSC::ResultProfile::didObserveNonInt32):
(JSC::ResultProfile::didObserveDouble):
(JSC::ResultProfile::didObserveNonNegZeroDouble):
(JSC::ResultProfile::didObserveNegZeroDouble):
(JSC::ResultProfile::didObserveNonNumber):
(JSC::ResultProfile::didObserveInt32Overflow):
(JSC::ResultProfile::setObservedNonNegZeroDouble):
(JSC::ResultProfile::setObservedNegZeroDouble):
(JSC::ResultProfile::setObservedNonNumber):
(JSC::ResultProfile::setObservedInt32Overflow):
(JSC::ResultProfile::addressOfFlags):
(JSC::ResultProfile::addressOfSpecialFastPathCount):
(JSC::ResultProfile::hasBits):
(JSC::ResultProfile::setBit):
(JSC::getResultProfileBytecodeOffset):
- jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_div):
(JSC::JIT::emit_op_mul):
- jit/JITDivGenerator.cpp:
(JSC::JITDivGenerator::generateFastPath):
- jit/JITDivGenerator.h:
(JSC::JITDivGenerator::JITDivGenerator):
- jit/JITMulGenerator.cpp:
(JSC::JITMulGenerator::generateFastPath):
- jit/JITMulGenerator.h:
(JSC::JITMulGenerator::JITMulGenerator):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- 1:52 PM Changeset in webkit [194293] by
-
- 2 edits in trunk/Source/JavaScriptCore
verboseDFGByteCodeParsing option should show the bytecode it is parsing.
https://bugs.webkit.org/show_bug.cgi?id=152434
Reviewed by Michael Saboff.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- 1:29 PM Changeset in webkit [194292] by
-
- 1 copy in tags/Safari-601.1.46.60.2
New tag.
- 1:29 PM Changeset in webkit [194291] by
-
- 1 copy in tags/Safari-601.4.4
New tag.
- 1:28 PM Changeset in webkit [194290] by
-
- 3 edits in trunk/Source/WebCore
Place an upper bound on canvas pixel count
https://bugs.webkit.org/show_bug.cgi?id=151825
<rdar://problem/23324916>
Reviewed by Simon Fraser (Relanded by Brent Fulgham)
Malformed JavaScript can attempt to create lots of canvas contexts. Limit the amount of memory
we will use for this purpose to some percentage of system RAM.
- html/HTMLCanvasElement.cpp:
(WebCore::removeFromActivePixelMemory): Added helper function
(WebCore::HTMLCanvasElement::~HTMLCanvasElement): Call new 'releaseImageBufferAndContext' method
to ensure ImageBuffer and graphics context state are properly cleaned up.
(WebCore::maxActivePixels): Use one quarter of the system RAM, or 2 GB (whichever is more) as
an upper bound on active pixel memory.
(WebCore::HTMLCanvasElement::getContext): If we are attempting to create a context that will cause
us to exceed the allowed active pixel count, fail.
(WebCore::HTMLCanvasElement::releaseImageBufferAndContext): Added helper function
(WebCore::HTMLCanvasElement::setSurfaceSize): Use the new 'releaseImageBufferAndContext' method
to handle active pixel memory counts.
(WebCore::HTMLCanvasElement::createImageBuffer): Refuse to create a backing buffer if it will
exceed our available pixel memory.
- 1:11 PM Changeset in webkit [194289] by
-
- 2 edits in branches/safari-601-branch/Source/WebCore
Merge r193932. rdar://problem/23886464
- 1:11 PM Changeset in webkit [194288] by
-
- 2 edits in branches/safari-601-branch/LayoutTests
Merge r193914. rdar://problem/23769758
- 1:11 PM Changeset in webkit [194287] by
-
- 14 edits8 adds in branches/safari-601-branch
Merge r193894. rdar://problem/23769758
- 1:03 PM Changeset in webkit [194286] by
-
- 5 edits in tags/Safari-602.1.13.0.2/Source
Versioning.
- 12:40 PM Changeset in webkit [194285] by
-
- 1 copy in tags/Safari-602.1.13.0.2
New tag.
- 11:56 AM Changeset in webkit [194284] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[GTK] Unreviewed, update POTFILES.in after r194272
- POTFILES.in:
- 11:49 AM Changeset in webkit [194283] by
-
- 4 edits in branches/safari-601.1.46-branch/Source/WebCore
Merged r192582. rdar://problem/23957053
- 11:49 AM Changeset in webkit [194282] by
-
- 4 edits in branches/safari-601.4-branch/Source/WebCore
Merge r192582. rdar://problem/23910980
- 11:48 AM Changeset in webkit [194281] by
-
- 4 edits in branches/safari-601.1.46.60-branch/Source/WebCore
Merged r192582. rdar://problem/23957053
- 11:46 AM Changeset in webkit [194280] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Unreviewed, fix GtkDoc after r193620
- UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
- 11:42 AM Changeset in webkit [194279] by
-
- 4 edits in branches/safari-601-branch/Source/WebCore
Merge r192582. rdar://problem/23910980
- 11:37 AM Changeset in webkit [194278] by
-
- 3 edits in trunk/Source/WebCore
Fix the !ENABLE(VIDEO) build after r192953 for <picture> element introduction
https://bugs.webkit.org/show_bug.cgi?id=152431
Since r192953, HTMLSourceElement is built even if video is disabled,
since it is used by the picture element.
But build was broken with -no-video, since HTMLMediaElement usage
should be guarded by VIDEO guards, and its JS bindings were still
under a video conditional.
Patch by Olivier Blin <Olivier Blin> on 2015-12-18
Reviewed by Alex Christensen.
No new tests, build fix only.
- html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
- html/HTMLSourceElement.idl:
- 11:11 AM Changeset in webkit [194277] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/console/messagesCleared.html as a flaky timeout on mac-wk2 debug
https://bugs.webkit.org/show_bug.cgi?id=152025
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 10:41 AM Changeset in webkit [194276] by
-
- 2 edits in trunk/Tools
Unreviewed, add WebKitGTK+ Bugzilla email to committers list
This is to make it easy to CC it on Bugzilla.
- Scripts/webkitpy/common/config/contributors.json:
- 10:31 AM Changeset in webkit [194275] by
-
- 4 edits in trunk
Modern IDB: Refactor when opening the backing store takes place.
https://bugs.webkit.org/show_bug.cgi?id=152405
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (At least one failing test now passes).
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection): Move the "open backing store" logic
from here to performCurrentOpenOperation.
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation): If the database backing store is
not open yet, kick off opening it here.
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations): Rework this stuff to be better.
LayoutTests:
- platform/mac-wk1/TestExpectations:
- 10:19 AM Changeset in webkit [194274] by
-
- 2 edits in trunk/Source/WebKit2
WebPage::didCompleteUserMediaPermissionCheck and WebPage::didReceiveUserMediaPermissionDecision are exported
https://bugs.webkit.org/show_bug.cgi?id=152429
Reviewed by Tim Horton.
- WebProcess/WebPage/WebPage.h: Removed WK_EXPORT specifiers from these two declarations.
- 10:16 AM Changeset in webkit [194273] by
-
- 2 edits in trunk/Tools
Pasteboard get messed up after running kill-old-processes
https://bugs.webkit.org/show_bug.cgi?id=152426
Patch by Aakash Jain <aakash_jain@apple.com> on 2015-12-18
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/kill-old-processes:
(main): Do not kill pasteboard anymore.
- 10:08 AM Changeset in webkit [194272] by
-
- 7 edits11 copies1 move1 delete in trunk/Source/WebKit2
Move networking code from Shared to NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=152421
Reviewed by Antti Koivisto.
Since recently removing the non-NetworkProcess configurations, this code is no longer shared with the WebProcess.
- CMakeLists.txt:
- DerivedSources.make:
- NetworkProcess/CustomProtocols: Copied from Source/WebKit2/Shared/Network/CustomProtocols.
- NetworkProcess/Downloads: Copied from Source/WebKit2/Shared/Downloads.
- NetworkProcess/Downloads/Download.cpp: Copied from Source/WebKit2/Shared/Downloads/Download.cpp.
- NetworkProcess/Downloads/Download.h: Copied from Source/WebKit2/Shared/Downloads/Download.h.
- NetworkProcess/Downloads/DownloadID.h: Copied from Source/WebKit2/Shared/Downloads/DownloadID.h.
- NetworkProcess/Downloads/DownloadManager.cpp: Copied from Source/WebKit2/Shared/Downloads/DownloadManager.cpp.
- NetworkProcess/Downloads/DownloadManager.h: Copied from Source/WebKit2/Shared/Downloads/DownloadManager.h.
- NetworkProcess/NetworkProcessCreationParameters.cpp: Copied from Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.cpp.
- NetworkProcess/NetworkProcessCreationParameters.h: Copied from Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.h.
- NetworkProcess/NetworkProcessSupplement.h: Copied from Source/WebKit2/Shared/Network/NetworkProcessSupplement.h.
- NetworkProcess/NetworkResourceLoadParameters.cpp: Copied from Source/WebKit2/Shared/Network/NetworkResourceLoadParameters.cpp.
- NetworkProcess/NetworkResourceLoadParameters.h: Copied from Source/WebKit2/Shared/Network/NetworkResourceLoadParameters.h.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- Shared/Downloads: Removed.
- Shared/Downloads/Download.cpp: Removed.
- Shared/Downloads/Download.h: Removed.
- Shared/Downloads/DownloadAuthenticationClient.cpp: Removed.
- Shared/Downloads/DownloadAuthenticationClient.h: Removed.
- Shared/Downloads/DownloadID.h: Removed.
- Shared/Downloads/DownloadManager.cpp: Removed.
- Shared/Downloads/DownloadManager.h: Removed.
- Shared/Downloads/cocoa: Removed.
- Shared/Downloads/cocoa/DownloadCocoa.mm: Removed.
- Shared/Downloads/efl: Removed.
- Shared/Downloads/efl/DownloadSoupErrorsEfl.cpp: Removed.
- Shared/Downloads/gtk: Removed.
- Shared/Downloads/gtk/DownloadSoupErrorsGtk.cpp: Removed.
- Shared/Downloads/ios: Removed.
- Shared/Downloads/ios/DownloadIOS.mm: Removed.
- Shared/Downloads/mac: Removed.
- Shared/Downloads/mac/DownloadMac.mm: Removed.
- Shared/Downloads/soup: Removed.
- Shared/Downloads/soup/DownloadSoup.cpp: Removed.
- Shared/Downloads/soup/DownloadSoupErrors.h: Removed.
- Shared/Network: Removed.
- Shared/Network/CustomProtocols: Removed.
- Shared/Network/CustomProtocols/Cocoa: Removed.
- Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Removed.
- Shared/Network/CustomProtocols/CustomProtocolManager.h: Removed.
- Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: Removed.
- Shared/Network/CustomProtocols/soup: Removed.
- Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Removed.
- Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Removed.
- Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: Removed.
- Shared/Network/NetworkProcessCreationParameters.cpp: Removed.
- Shared/Network/NetworkProcessCreationParameters.h: Removed.
- Shared/Network/NetworkProcessSupplement.h: Removed.
- Shared/Network/NetworkResourceLoadParameters.cpp: Removed.
- Shared/Network/NetworkResourceLoadParameters.h: Removed.
- WebKit2.xcodeproj/project.pbxproj:
- 8:36 AM WebKitGTK/Gardening/Calendar edited by
- Dec 18 gardening (diff)
- 8:34 AM Changeset in webkit [194271] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed gardening
css3/flexbox/multiline-reverse-wrap-baseline.html consistently passes for GTK since
r191623, but fails on Apple ports, so add a GTK-specific Pass expectation.
- platform/gtk/TestExpectations:
- 8:25 AM Changeset in webkit [194270] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed gardening
https://bugs.webkit.org/show_bug.cgi?id=142292
fast/images/animated-gif-body-outside-viewport.html and
fast/images/animated-gif-window-resizing.html are flaky; mark them
accordingly.
- platform/gtk/TestExpectations:
- 8:20 AM Changeset in webkit [194269] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed gardening
Remove failure expectation for fast/events/drag-and-drop-autoscroll-inner-frame.html which
has been consistently passing since r192511.
- platform/gtk/TestExpectations:
- 7:57 AM Changeset in webkit [194268] by
-
- 2 edits in trunk/Source/WebKit2
LayerTreeHostGtk triggers -Wunused-private-field
https://bugs.webkit.org/show_bug.cgi?id=152410
Reviewed by Carlos Garcia Campos.
Remove the unused member variable.
- WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
- 3:10 AM Changeset in webkit [194267] by
-
- 4 edits in trunk/LayoutTests/imported/w3c
[Streams API] imported/w3c/web-platform-tests/streams-api/readable-streams/cancel.html has a flaky test
https://bugs.webkit.org/show_bug.cgi?id=152065
Reviewed by Youenn Fablet.
https://github.com/whatwg/streams/pull/414 and https://github.com/whatwg/streams/issues/413 was closed. Changes
I did on the spec were integrated so they were brought back to the imported tests in WebKit.
- web-platform-tests/streams-api/README.txt: Updated version.
- web-platform-tests/streams-api/readable-streams/cancel-expected.txt: Expectations.
- web-platform-tests/streams-api/readable-streams/cancel.js: Changed to cancel test.
- 1:59 AM Changeset in webkit [194266] by
-
- 2 edits in branches/safari-601-branch/Source/WebKit2
Merge r188606. rdar://problem/23905024
- 1:59 AM Changeset in webkit [194265] by
-
- 2 edits in branches/safari-601-branch/Source/WebKit2
Merge r188602. rdar://problem/23905024
- 12:10 AM Changeset in webkit [194264] by
-
- 27 edits1 add in trunk/Source/WebKit2
Add types for DownloadID and TaskIdentifier
https://bugs.webkit.org/show_bug.cgi?id=152401
Reviewed by Brady Eidson.
DownloadID and TaskIdentifier used to both be just uint64_t's.
It is confusing to distinguish between them, so now they both have names.
We need a HashMap<TaskIdentifier, DownloadID> instead of a HashMap<uint64_t, uint64_t>.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::storageSession):
(WebKit::NetworkConnectionToWebProcess::startDownload):
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::downloadRequest):
(WebKit::NetworkProcess::resumeDownload):
(WebKit::NetworkProcess::cancelDownload):
(WebKit::NetworkProcess::getNetworkProcessStatistics):
(WebKit::NetworkProcess::logDiagnosticMessage):
(WebKit::NetworkProcess::logDiagnosticMessageWithResult):
(WebKit::NetworkProcess::logDiagnosticMessageWithValue):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSession::createDataTaskWithRequest):
(WebKit::NetworkSession::dataTaskForIdentifier):
(WebKit::NetworkDataTask::resume):
(WebKit::NetworkDataTask::taskIdentifier): Deleted.
- Shared/Downloads/Download.cpp:
(WebKit::Download::Download):
(WebKit::Download::messageSenderDestinationID):
- Shared/Downloads/Download.h:
(WebKit::Download::downloadID):
- Shared/Downloads/DownloadID.h: Added.
(WebKit::DownloadID::DownloadID):
(WebKit::DownloadID::operator==):
(WebKit::DownloadID::downloadID):
(IPC::ArgumentCoder<WebKit::DownloadID>::encode):
(IPC::ArgumentCoder<WebKit::DownloadID>::decode):
(WTF::DownloadIDHash::hash):
(WTF::DownloadIDHash::equal):
(WTF::HashTraits<WebKit::DownloadID>::emptyValue):
(WTF::HashTraits<WebKit::DownloadID>::constructDeletedValue):
(WTF::HashTraits<WebKit::DownloadID>::isDeletedValue):
- Shared/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::DownloadManager):
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::convertHandleToDownload):
(WebKit::DownloadManager::resumeDownload):
(WebKit::DownloadManager::cancelDownload):
- Shared/Downloads/DownloadManager.h:
(WebKit::DownloadManager::isDownloading):
- UIProcess/API/C/WKDownload.cpp:
(WKDownloadGetID):
(WKDownloadCopyRequest):
- UIProcess/Downloads/DownloadProxy.h:
(WebKit::DownloadProxy::downloadID):
(WebKit::DownloadProxy::request):
(WebKit::DownloadProxy::resumeData):
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::createDownloadProxy):
(WebKit::DownloadProxyMap::downloadFinished):
(WebKit::DownloadProxyMap::processDidClose):
- UIProcess/Downloads/DownloadProxyMap.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::frameDidBecomeFrameSet):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::invalidatePolicyListener):
(WebKit::WebFrame::didReceivePolicyDecision):
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
- WebProcess/WebPage/WebFrame.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSessionID):
(WebKit::WebPage::didReceivePolicyDecision):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Dec 17, 2015:
- 11:06 PM Changeset in webkit [194263] by
-
- 5 edits in trunk/Source/WebCore
Modern IDB: Refactor open/delete requests to exist in the same queue.
https://bugs.webkit.org/show_bug.cgi?id=152397
Reviewed by Alex Christensen.
No new tests (Refactor, all existing tests continue to pass).
The order between incoming open and delete requests matters, and each request
needs to be handled individually.
This patch does the above without changing behavior on existing passing tests,
while moving many currently skipped tests closer to passing.
- Modules/indexeddb/server/IDBServerOperation.cpp:
(WebCore::IDBServer::IDBServerOperation::notifyDeleteRequestBlocked):
(WebCore::IDBServer::IDBServerOperation::notifyDidDeleteDatabase):
- Modules/indexeddb/server/IDBServerOperation.h:
(WebCore::IDBServer::IDBServerOperation::hasNotifiedDeleteRequestBlocked):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabase::isVersionChangeInProgress):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::handleCurrentOperation):
(WebCore::IDBServer::UniqueIDBDatabase::handleDelete):
(WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer):
(WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired):
(WebCore::IDBServer::UniqueIDBDatabase::maybeDeleteDatabase): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- 10:50 PM Changeset in webkit [194262] by
-
- 2 edits in trunk/Source/JavaScriptCore
[ARM] Add the missing setupArgumentsWithExecState functions after r193974
https://bugs.webkit.org/show_bug.cgi?id=152214
Reviewed by Mark Lam.
Relanding r194007 after r194248.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- 9:43 PM Changeset in webkit [194261] by
-
- 2 edits in trunk/Source/WebCore
[EFL] edje shouldn't have verbose output
https://bugs.webkit.org/show_bug.cgi?id=152381
Reviewed by Gyuyoung Kim.
- platform/efl/DefaultTheme/CMakeLists.txt:
- 8:46 PM Changeset in webkit [194260] by
-
- 5 edits9 adds in branches/safari-601.1.46-branch
Merge r191076. rdar://problem/23941411
- 8:18 PM Changeset in webkit [194259] by
-
- 6 edits in trunk/Source
Web Inspector: Remove "local" scope type from the protocol
https://bugs.webkit.org/show_bug.cgi?id=152409
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-17
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
After r194251 the backend no longer sends this scope type.
So remove it from the protocol.
The concept of a Local Scope should be calculatable by the
frontend. In fact the way the backend used to do this could
easily be done by the frontend. To be done in a follow-up.
- inspector/InjectedScriptSource.js:
- inspector/JSJavaScriptCallFrame.h:
- inspector/protocol/Debugger.json:
Source/WebInspectorUI:
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload):
- 8:14 PM Changeset in webkit [194258] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: CSS warning's fake CallFrame is not creating a valid payload
https://bugs.webkit.org/show_bug.cgi?id=152413
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-17
Reviewed by Timothy Hatcher.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
This attempts to create a CallFrame from a Console.CallFrame payload,
but this was missing the required functionName string parameter.
- 8:00 PM Changeset in webkit [194257] by
-
- 2 edits in trunk/Source/WebKit2
Fixed a typo from r194022.
- Configurations/WebKit.xcconfig: Changed PlugInProcessShim.dylib to PluginProcessShim.dylib.
- 7:06 PM Changeset in webkit [194256] by
-
- 7 edits in trunk
Unreviewed, rolling out r194241 and r194252.
https://bugs.webkit.org/show_bug.cgi?id=152415
Caused crashes on GuardMalloc (Requested by ap on #webkit).
Reverted changesets:
"Modern IDB: Refactor open/delete requests to exist in the
same queue."
https://bugs.webkit.org/show_bug.cgi?id=152397
http://trac.webkit.org/changeset/194241
"Modern IDB: Refactor when opening the backing store takes
place."
https://bugs.webkit.org/show_bug.cgi?id=152405
http://trac.webkit.org/changeset/194252
- 6:46 PM Changeset in webkit [194255] by
-
- 27 edits1 delete in trunk/Source/WebKit2
Unreviewed, rolling out r194250 and r194254.
https://bugs.webkit.org/show_bug.cgi?id=152414
broke api tests (Requested by alexchristensen on #webkit).
Reverted changesets:
"Add types for DownloadID and TaskIdentifier"
https://bugs.webkit.org/show_bug.cgi?id=152401
http://trac.webkit.org/changeset/194250
"Build fix after r194250"
http://trac.webkit.org/changeset/194254
- 6:00 PM Changeset in webkit [194254] by
-
- 2 edits in trunk/Source/WebKit2
Build fix after r194250
- WebKit2.xcodeproj/project.pbxproj:
Change target membership from all to WebKit.
- 5:59 PM WebKitGTK/2.10.x edited by
- Propose r194155 (diff)
- 5:35 PM Changeset in webkit [194253] by
-
- 14 edits in trunk
[INTL] Implement Collator Compare Functions
https://bugs.webkit.org/show_bug.cgi?id=147604
Reviewed by Darin Adler.
Source/JavaScriptCore:
This patch implements Intl.Collator.prototype.compare() according
to the ECMAScript 2015 Internationalization API spec (ECMA-402 2nd edition.)
- runtime/IntlCollator.cpp:
(JSC::IntlCollator::~IntlCollator):
(JSC::sortLocaleData):
(JSC::searchLocaleData):
(JSC::IntlCollator::initializeCollator):
(JSC::IntlCollator::createCollator):
(JSC::IntlCollator::compareStrings):
(JSC::IntlCollator::usageString):
(JSC::IntlCollator::sensitivityString):
(JSC::IntlCollator::resolvedOptions):
(JSC::IntlCollator::setBoundCompare):
(JSC::IntlCollatorFuncCompare): Deleted.
- runtime/IntlCollator.h:
(JSC::IntlCollator::usage): Deleted.
(JSC::IntlCollator::setUsage): Deleted.
(JSC::IntlCollator::locale): Deleted.
(JSC::IntlCollator::setLocale): Deleted.
(JSC::IntlCollator::collation): Deleted.
(JSC::IntlCollator::setCollation): Deleted.
(JSC::IntlCollator::numeric): Deleted.
(JSC::IntlCollator::setNumeric): Deleted.
(JSC::IntlCollator::sensitivity): Deleted.
(JSC::IntlCollator::setSensitivity): Deleted.
(JSC::IntlCollator::ignorePunctuation): Deleted.
(JSC::IntlCollator::setIgnorePunctuation): Deleted.
- runtime/IntlCollatorConstructor.cpp:
(JSC::constructIntlCollator):
(JSC::callIntlCollator):
(JSC::sortLocaleData): Deleted.
(JSC::searchLocaleData): Deleted.
(JSC::initializeCollator): Deleted.
- runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorFuncCompare):
(JSC::IntlCollatorPrototypeFuncResolvedOptions):
- runtime/IntlObject.cpp:
(JSC::defaultLocale):
(JSC::convertICULocaleToBCP47LanguageTag):
(JSC::intlStringOption):
(JSC::resolveLocale):
(JSC::supportedLocales):
- runtime/IntlObject.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::intlCollatorAvailableLocales):
(JSC::JSGlobalObject::intlDateTimeFormatAvailableLocales):
(JSC::JSGlobalObject::intlNumberFormatAvailableLocales):
Source/WTF:
- wtf/unicode/Collator.h:
LayoutTests:
- js/intl-collator-expected.txt:
- js/intl-collator.html:
- js/script-tests/intl-collator.js:
(testCollator):
- 5:30 PM Changeset in webkit [194252] by
-
- 4 edits in trunk
Modern IDB: Refactor when opening the backing store takes place.
https://bugs.webkit.org/show_bug.cgi?id=152405
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (At least one failing test now passes).
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection): Move the "open backing store" logic
from here to performCurrentOpenOperation.
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation): If the database backing store is
not open yet, kick off opening it here.
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations): Rework this stuff to be better.
LayoutTests:
- platform/mac-wk1/TestExpectations:
- 5:09 PM Changeset in webkit [194251] by
-
- 21 edits6 adds in trunk
Provide a way to distinguish a nested lexical block from a function's lexical block
https://bugs.webkit.org/show_bug.cgi?id=152361
Reviewed by Saam Barati.
Source/JavaScriptCore:
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::initializeArrowFunctionContextScopeIfNeeded):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::emitPushCatchScope):
Each of these are specialized scopes. They are not nested lexical scopes.
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
Include an extra parameter to mark the SymbolTable as a nested lexical or not.
- bytecompiler/NodesCodegen.cpp:
(JSC::BlockNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ForInNode::emitMultiLoopBytecode):
(JSC::ForOfNode::emitBytecode):
(JSC::SwitchNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):
Each of these are cases of non-function nested lexical scopes.
So mark the SymbolTable as nested.
- inspector/protocol/Debugger.json:
- inspector/InjectedScriptSource.js:
Include a new scope type.
- inspector/JSJavaScriptCallFrame.h:
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::scopeType):
Use the new "NestedLexical" scope type for nested, non-function,
lexical scopes. The Inspector can use this to better describe
this scope in the frontend.
- debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::isNestedLexicalScope):
- debugger/DebuggerScope.h:
- runtime/JSScope.cpp:
(JSC::JSScope::isNestedLexicalScope):
- runtime/JSScope.h:
- runtime/SymbolTable.cpp:
(JSC::SymbolTable::SymbolTable):
(JSC::SymbolTable::cloneScopePart):
- runtime/SymbolTable.h:
Access the isNestedLexicalScope bit.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
New "Block Variables" string.
- UserInterface/Models/ScopeChainNode.js:
New "Block" scope type, and update existing types.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload):
Parse the protocol type to frontend types. Use the protocol generated enum.
LayoutTests:
- inspector/debugger/breakpoint-scope-expected.txt:
We will soon remove the backend sending a "Local" scope.
The backend was just marking the first closure scope as local.
The frontend can do this itself and do a better job of it.
- inspector/model/resources/all-scopes.js: Added.
(testAllScopes.innerScope):
(testAllScopes):
- inspector/model/resources/block-scopes.js: Added.
(testBlockScopes):
(testBlockScopes.method):
- inspector/model/resources/function-name-scopes.js: Added.
(testFunctionNameScope1):
- inspector/model/scope-chain-node-expected.txt: Added.
- inspector/model/scope-chain-node.html: Added.
Tests for ways to get all the different scope types and
specific cases of certain scope types.
- 5:09 PM Changeset in webkit [194250] by
-
- 27 edits1 add in trunk/Source/WebKit2
Add types for DownloadID and TaskIdentifier
https://bugs.webkit.org/show_bug.cgi?id=152401
Reviewed by Brady Eidson.
DownloadID and TaskIdentifier used to both be just uint64_t's.
It is confusing to distinguish between them, so now they both have names.
We need a HashMap<TaskIdentifier, DownloadID> instead of a HashMap<uint64_t, uint64_t>.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::storageSession):
(WebKit::NetworkConnectionToWebProcess::startDownload):
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::downloadRequest):
(WebKit::NetworkProcess::resumeDownload):
(WebKit::NetworkProcess::cancelDownload):
(WebKit::NetworkProcess::getNetworkProcessStatistics):
(WebKit::NetworkProcess::logDiagnosticMessage):
(WebKit::NetworkProcess::logDiagnosticMessageWithResult):
(WebKit::NetworkProcess::logDiagnosticMessageWithValue):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSession::createDataTaskWithRequest):
(WebKit::NetworkSession::dataTaskForIdentifier):
(WebKit::NetworkDataTask::resume):
(WebKit::NetworkDataTask::taskIdentifier): Deleted.
- Shared/Downloads/Download.cpp:
(WebKit::Download::Download):
(WebKit::Download::messageSenderDestinationID):
- Shared/Downloads/Download.h:
(WebKit::Download::downloadID):
- Shared/Downloads/DownloadID.h: Added.
(WebKit::DownloadID::DownloadID):
(WebKit::DownloadID::operator==):
(WebKit::DownloadID::downloadID):
(IPC::ArgumentCoder<WebKit::DownloadID>::encode):
(IPC::ArgumentCoder<WebKit::DownloadID>::decode):
(WTF::DownloadIDHash::hash):
(WTF::DownloadIDHash::equal):
(WTF::HashTraits<WebKit::DownloadID>::emptyValue):
(WTF::HashTraits<WebKit::DownloadID>::constructDeletedValue):
(WTF::HashTraits<WebKit::DownloadID>::isDeletedValue):
- Shared/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::DownloadManager):
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::convertHandleToDownload):
(WebKit::DownloadManager::resumeDownload):
(WebKit::DownloadManager::cancelDownload):
- Shared/Downloads/DownloadManager.h:
(WebKit::DownloadManager::isDownloading):
- UIProcess/API/C/WKDownload.cpp:
(WKDownloadGetID):
(WKDownloadCopyRequest):
- UIProcess/Downloads/DownloadProxy.h:
(WebKit::DownloadProxy::downloadID):
(WebKit::DownloadProxy::request):
(WebKit::DownloadProxy::resumeData):
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::createDownloadProxy):
(WebKit::DownloadProxyMap::downloadFinished):
(WebKit::DownloadProxyMap::processDidClose):
- UIProcess/Downloads/DownloadProxyMap.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::frameDidBecomeFrameSet):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::invalidatePolicyListener):
(WebKit::WebFrame::didReceivePolicyDecision):
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
- WebProcess/WebPage/WebFrame.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSessionID):
(WebKit::WebPage::didReceivePolicyDecision):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 4:48 PM Changeset in webkit [194249] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed EFL Build Fix after r194247.
- interpreter/CallFrame.cpp:
(JSC::CallFrame::friendlyFunctionName):
Handle compilers that don't realize the switch handles all cases.
- 4:37 PM Changeset in webkit [194248] by
-
- 65 edits5 adds in trunk
[ES6] Add support for Symbol.hasInstance
https://bugs.webkit.org/show_bug.cgi?id=151839
Reviewed by Saam Barati.
Source/JavaScriptCore:
Fixed version of r193986, r193983, and r193974.
This patch adds support for Symbol.hasInstance, unfortunately in order to prevent
regressions several new bytecodes and DFG IR nodes were necessary. Before, Symbol.hasInstance
when executing an instanceof expression we would emit three bytecodes: overrides_has_instance, get_by_id,
then instanceof. As the spec has changed, we emit a more complicated set of bytecodes in addition to some
new ones. First the role of overrides_has_instance and its corresponding DFG node have changed. Now it returns
a js-boolean indicating whether the RHS of the instanceof expression (from here on called the constructor for simplicity)
needs non-default behavior for resolving the expression. i.e. The constructor has a Symbol.hasInstance that differs from the one on
Function.prototype[Symbol.hasInstance] or is a bound/C-API function. Once we get to the DFG this node is generally eliminated as
we can prove the value of Symbol.hasInstance is a constant. The second new bytecode is instanceof_custom. insntanceof_custom, just
emits a call to slow path code that computes the result.
In the DFG, there is also a new node, CheckTypeInfoFlags, which checks the type info flags are consistent with the ones provided and
OSR exits if the flags are not. Additionally, we attempt to prove that the result of CheckHasValue will be a constant and transform
it into a CheckTypeInfoFlags followed by a JSConstant.
- API/JSCallbackObject.h:
- builtins/FunctionPrototype.js:
(symbolHasInstance):
- bytecode/BytecodeBasicBlock.cpp:
(JSC::isBranch): Deleted.
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecode/ExitKind.cpp:
(JSC::exitKindToString):
- bytecode/ExitKind.h:
- bytecode/PreciseJumpTargets.cpp:
(JSC::getJumpTargetsForBytecodeOffset): Deleted.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitOverridesHasInstance):
(JSC::BytecodeGenerator::emitInstanceOfCustom):
(JSC::BytecodeGenerator::emitCheckHasInstance): Deleted.
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::InstanceOfNode::emitBytecode):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::hasTypeInfoOperand):
(JSC::DFG::Node::typeInfoOperand):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCheckTypeInfoFlags):
(JSC::DFG::SpeculativeJIT::compileInstanceOfCustom):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLIntrinsicRepository.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileOverridesHasInstance):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckTypeInfoFlags):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInstanceOfCustom):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckHasInstance): Deleted.
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITInlines.h:
(JSC::JIT::callOperation):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_overrides_has_instance):
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emit_op_instanceof_custom):
(JSC::JIT::emitSlow_op_instanceof):
(JSC::JIT::emitSlow_op_instanceof_custom):
(JSC::JIT::emit_op_check_has_instance): Deleted.
(JSC::JIT::emitSlow_op_check_has_instance): Deleted.
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_overrides_has_instance):
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emit_op_instanceof_custom):
(JSC::JIT::emitSlow_op_instanceof_custom):
(JSC::JIT::emit_op_check_has_instance): Deleted.
(JSC::JIT::emitSlow_op_check_has_instance): Deleted.
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LLIntSlowPaths.h:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/CommonIdentifiers.h:
- runtime/ExceptionHelpers.cpp:
(JSC::invalidParameterInstanceofSourceAppender):
(JSC::invalidParameterInstanceofNotFunctionSourceAppender):
(JSC::invalidParameterInstanceofhasInstanceValueNotFunctionSourceAppender):
(JSC::createInvalidInstanceofParameterErrorNotFunction):
(JSC::createInvalidInstanceofParameterErrorhasInstanceValueNotFunction):
(JSC::createInvalidInstanceofParameterError): Deleted.
- runtime/ExceptionHelpers.h:
- runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::addFunctionProperties):
- runtime/FunctionPrototype.h:
- runtime/JSBoundFunction.cpp:
(JSC::isBoundFunction):
(JSC::hasInstanceBoundFunction):
- runtime/JSBoundFunction.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::functionProtoHasInstanceSymbolFunction):
- runtime/JSObject.cpp:
(JSC::JSObject::hasInstance):
(JSC::objectPrivateFuncInstanceOf):
- runtime/JSObject.h:
- runtime/JSTypeInfo.h:
(JSC::TypeInfo::TypeInfo):
(JSC::TypeInfo::overridesHasInstance):
- runtime/WriteBarrier.h:
(JSC::WriteBarrierBase<Unknown>::slot):
- tests/es6.yaml:
- tests/stress/instanceof-custom-hasinstancesymbol.js: Added.
(Constructor):
(value):
(instanceOf):
(body):
- tests/stress/symbol-hasInstance.js: Added.
(Constructor):
(value):
(ObjectClass.Symbol.hasInstance):
(NumberClass.Symbol.hasInstance):
LayoutTests:
Fix tests to reflect the changes to instanceof in ES6.
Added a new regression test for bound functions in instanceof
as the perfomance on bound functions should, to some degree,
reflect the performance on C-API users.
- inspector/model/remote-object-get-properties-expected.txt:
- js/Object-getOwnPropertyNames-expected.txt:
- js/exception-for-nonobject-expected.txt:
- js/exception-instanceof-expected.txt:
- js/instance-of-immediates-expected.txt:
- js/regress/instanceof-bound-expected.txt: Added.
- js/regress/instanceof-bound.html: Added.
- js/regress/script-tests/instanceof-bound.js: Added.
(Constructor):
(test):
- js/script-tests/Object-getOwnPropertyNames.js:
- 4:20 PM Changeset in webkit [194247] by
-
- 9 edits in trunk/Source
Web Inspector: Improve names in Debugger Call Stack section when paused
https://bugs.webkit.org/show_bug.cgi?id=152398
Reviewed by Brian Burg.
Source/JavaScriptCore:
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::functionName):
Provide a better name from the underlying CallFrame.
- inspector/InjectedScriptSource.js:
(InjectedScript.CallFrameProxy):
Just call functionName, it will provide a better
than nothing function name.
- runtime/JSFunction.cpp:
(JSC::getCalculatedDisplayName):
Use emptyString().
- interpreter/CallFrame.h:
- interpreter/CallFrame.cpp:
(JSC::CallFrame::friendlyFunctionName):
This is the third similiar implementation of this,
but all other cases use other "StackFrame" objects.
Use the expected names for program code.
Source/WebInspectorUI:
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
Use a new fromPayload helper to construct the CallFrame and share code.
- UserInterface/Models/CallFrame.js:
(WebInspector.CallFrame.functionNameFromPayload):
(WebInspector.CallFrame.programCodeFromPayload):
(WebInspector.CallFrame.fromDebuggerPayload):
(WebInspector.CallFrame.fromPayload):
Add a new way to construct a call frame. There are two kinds of
CallFrame payloads in the protocol:
- Debugger.CallFrame, this new path
- Console.CallFrame, the pre-existing path
- 4:05 PM Changeset in webkit [194246] by
-
- 13 edits in trunk
Disable viewport "shrink to fit" outside of multitasking mode
https://bugs.webkit.org/show_bug.cgi?id=152403
rdar://problem/23818102
Reviewed by Tim Horton.
Source/WebKit2:
Plumb through a value that indicates whether the WKWebView is in split screen,
and use it to conditionally enable shrink-to-fit mode only in split screen.
- Shared/VisibleContentRectUpdateInfo.cpp: Added m_allowShrinkToFit, and sort
the member variables, and encoding order, to optimize packing, with some initializers.
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
- Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::allowShrinkToFit):
(WebKit::operator==):
- UIProcess/API/Cocoa/WKWebView.mm: Add _allowsViewportShrinkToFit member variable,
with getter and setter.
(-[WKWebView _updateVisibleContentRects]): Unwrap the line.
(-[WKWebView _setAllowsViewportShrinkToFit:]):
(-[WKWebView _allowsViewportShrinkToFit]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h: _allowsViewportShrinkToFit SPI.
- UIProcess/WebPageProxy.h: Pass allowShrinkToFit through.
- UIProcess/ios/WKContentView.mm: Ditto.
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::updateVisibleContentRects): Padd allowShrinkToFit to the web process via the VisibleContentRectUpdateInfo.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Store m_ignoreViewportScalingConstraints in a member variable since we can't
get back to the prefs later.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects): This is the behavior change: call setCanIgnoreScalingConstraints()
on the viewport configuration, consulting the pref (via m_ignoreViewportScalingConstraints) and the new
visibleContentRectUpdateInfo.allowShrinkToFit().
LayoutTests:
This test no longer does shrink-to-fit, so starts with a min and initial scale of 1.
- fast/viewport/ios/width-is-device-width-overflowing-expected.txt:
- 4:04 PM Changeset in webkit [194245] by
-
- 2 edits in trunk/Source
ViewportConfiguration functions should return a bool to say if anything changed
https://bugs.webkit.org/show_bug.cgi?id=152353
Reviewed by Tim Horton.
Rather than callers all checking whether setting ViewportConfiguration values
changes state, have its functions return a bool if the values change.
Source/WebCore:
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::setContentsSize):
(WebCore::ViewportConfiguration::setMinimumLayoutSize):
(WebCore::ViewportConfiguration::setViewportArguments):
(WebCore::ViewportConfiguration::setCanIgnoreScalingConstraints):
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::setCanIgnoreScalingConstraints): Deleted.
Source/WebKit2:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mainFrameDidLayout):
(WebKit::WebPage::didCommitLoad):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportPropertiesDidChange):
(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
- 3:53 PM Changeset in webkit [194244] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: control whether to collect and dump protocol messages using a WebInspector.Setting
https://bugs.webkit.org/show_bug.cgi?id=151635
Reviewed by Joseph Pecoraro.
Follow-up fix to stop double-logging everything.
- UserInterface/Protocol/LoggingProtocolTracer.js:
(WebInspector.LoggingProtocolTracer.prototype._processEntry):
- 3:37 PM Changeset in webkit [194243] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve console.trace, make it more like console.assert and inline the message
https://bugs.webkit.org/show_bug.cgi?id=152352
Reviewed by Timothy Hatcher.
- Localizations/en.lproj/localizedStrings.js:
New "Trace" related strings.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype.expand):
Since we auto-expand Trace messages for their Call Stack, don't also
auto-expand a single inner object, which may be big and push the
actual stack trace off the screen.
(WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
Behave like Assert messages and absorb a message string, and include
extra arguments gracefully.
(WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
For expandable messages with simple extra arguments (console.trace with
primitives and backtrace, or console.assert with primitives and backtrace)
we were hiding the inline lossless previews and not showing them as a
bulleted list below. We can just keep the lossless previews inline in the
title, since they were only put there because they are small and lossless.
(WebInspector.ConsoleMessageView.prototype.toClipboardString):
No need to hard code "console.trace()" in the clipboard.
- UserInterface/Views/ConsoleMessageView.css:
(.console-message.expandable.expanded :matches(.console-message-preview, .console-message-preview-divider):not(.inline-lossless)):
(.console-message.expandable.expanded :matches(.console-message-preview, .console-message-preview-divider)): Deleted.
Don't hide the inline lossless preview in the console message title when it is inline-lossless.
- UserInterface/Views/ObjectTreeView.js:
(WebInspector.ObjectTreeView.prototype.expand):
Do not allow expanding a loss-less preview.
- 3:37 PM Changeset in webkit [194242] by
-
- 42 edits1 copy12 adds in trunk
Web Inspector: Add JSContext Script Profiling
https://bugs.webkit.org/show_bug.cgi?id=151899
Reviewed by Brian Burg.
Source/JavaScriptCore:
Extend JSC::Debugger to include a profiling client interface
that the Inspector can implement to be told about script execution
entry and exit points. Add new profiledCall/Evaluate/Construct
methods that are entry points that will notify the profiling
client if it exists.
By putting the profiling client on Debugger it avoids having
special code paths for a JSGlobalObject being JSContext inspected
or a JSGlobalObject in a Page being Web inspected. In either case
the JSGlobalObject can go through its debugger() which always
reaches the correct inspector instance.
- CMakeLists.txt:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
Handle new files.
- runtime/CallData.cpp:
(JSC::profiledCall):
- runtime/CallData.h:
- runtime/Completion.cpp:
(JSC::profiledEvaluate):
- runtime/Completion.h:
(JSC::profiledEvaluate):
- runtime/ConstructData.cpp:
(JSC::profiledConstruct):
- runtime/ConstructData.h:
(JSC::profiledConstruct):
Create profiled versions of interpreter entry points. If a profiler client is
available, this will automatically inform it of entry/exit. Include a reason
why this is being profiled. Currently all reasons in JavaScriptCore are enumerated
(API, Microtask) and Other is to be used by WebCore or future clients.
- debugger/ScriptProfilingScope.h: Added.
(JSC::ScriptProfilingScope::ScriptProfilingScope):
(JSC::ScriptProfilingScope::~ScriptProfilingScope):
(JSC::ScriptProfilingScope::shouldStartProfile):
(JSC::ScriptProfilingScope::shouldEndProfile):
At profiled entry points inform the profiling client if needed.
- API/JSBase.cpp:
(JSEvaluateScript):
- API/JSObjectRef.cpp:
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):
- runtime/JSJob.cpp:
(JSC::JSJobMicrotask::run):
Use the profiled functions for API and Microtask execution entry points.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::hasProfiler):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::hasProfiler):
Extend hasProfiler to also check the new Debugger script profiler.
- debugger/Debugger.cpp:
(JSC::Debugger::setProfilingClient):
(JSC::Debugger::willEvaluateScript):
(JSC::Debugger::didEvaluateScript):
- debugger/Debugger.h:
Pass through to the profiling client.
- inspector/protocol/ScriptProfiler.json: Added.
- inspector/agents/InspectorScriptProfilerAgent.cpp: Added.
(Inspector::InspectorScriptProfilerAgent::InspectorScriptProfilerAgent):
(Inspector::InspectorScriptProfilerAgent::~InspectorScriptProfilerAgent):
(Inspector::InspectorScriptProfilerAgent::didCreateFrontendAndBackend):
(Inspector::InspectorScriptProfilerAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorScriptProfilerAgent::startTracking):
(Inspector::InspectorScriptProfilerAgent::stopTracking):
(Inspector::InspectorScriptProfilerAgent::isAlreadyProfiling):
(Inspector::InspectorScriptProfilerAgent::willEvaluateScript):
(Inspector::InspectorScriptProfilerAgent::didEvaluateScript):
(Inspector::toProtocol):
(Inspector::InspectorScriptProfilerAgent::addEvent):
(Inspector::buildAggregateCallInfoInspectorObject):
(Inspector::buildInspectorObject):
(Inspector::buildProfileInspectorObject):
(Inspector::InspectorScriptProfilerAgent::trackingComplete):
- inspector/agents/InspectorScriptProfilerAgent.h: Added.
New ScriptProfiler domain to just turn on / off script profiling.
It introduces a start/update/complete event model which we want
to include in new domains.
- inspector/InspectorEnvironment.h:
- inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled):
Simplify this now that we want it to be the same for all clients.
- inspector/JSGlobalObjectInspectorController.h:
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
Create the new agent.
- inspector/InspectorProtocolTypes.h:
(Inspector::Protocol::Array::addItem):
Allow pushing a double onto a Protocol::Array.
Source/WebCore:
Tests: inspector/script-profiler/event-type-API.html
inspector/script-profiler/event-type-Microtask.html
inspector/script-profiler/tracking.html
- ForwardingHeaders/inspector/agents/InspectorScriptProfilerAgent.h: Added.
- inspector/InspectorController.h:
- inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
Create the new agent, even if we don't use it yet for Page inspection.
(WebCore::InspectorController::willCallInjectedScriptFunction): Deleted.
(WebCore::InspectorController::didCallInjectedScriptFunction): Deleted.
No longer needed, implementation was pushed up into InjectedScriptBase.
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
- inspector/InspectorReplayAgent.cpp:
(WebCore::buildInspectorObjectForSession):
Disambiguate types.
Source/WebInspectorUI:
Enable the Timeline tab for JSContext inspection. Currently only
JSContext inspection will use the ScriptProfiler domain, it will
be enabled for Page inspection in a follow-up.
First pass at the UI creates basic ScriptTimelineRecords for
ScriptProfiler events. At the end of recording, when profiles
are downloaded, it attaches profiles to the timeline records
and refreshes the Scripts timeline.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager):
(WebInspector.TimelineManager.defaultInstruments):
(WebInspector.TimelineManager.prototype.computeElapsedTime):
(WebInspector.TimelineManager.prototype.scriptProfilerIsTracking):
(WebInspector.TimelineManager.prototype._loadNewRecording):
(WebInspector.TimelineManager.prototype._mainResourceDidChange):
(WebInspector.TimelineManager.prototype._resourceWasAdded):
(WebInspector.TimelineManager.prototype._garbageCollected):
(WebInspector.TimelineManager.prototype._addRecord): Deleted.
- UserInterface/Main.html:
- UserInterface/Models/Instrument.js:
(WebInspector.Instrument.startLegacyTimelineAgent):
- UserInterface/Models/ScriptInstrument.js:
(WebInspector.ScriptInstrument.prototype.startInstrumentation):
(WebInspector.ScriptInstrument.prototype.stopInstrumentation):
(WebInspector.ScriptInstrument):
- UserInterface/Models/ScriptTimelineRecord.js:
(WebInspector.ScriptTimelineRecord.prototype.get profilePayload):
(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
(WebInspector.ScriptTimelineRecord):
(WebInspector.ScriptTimelineRecord.EventType.displayName):
- UserInterface/Models/Timeline.js:
(WebInspector.Timeline.prototype.refresh):
- UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.sourceCodeTimelinesSupported):
(WebInspector.TimelineRecording.prototype.timelineForRecordType):
(WebInspector.TimelineRecording.prototype.addRecord):
- UserInterface/Protocol/ScriptProfilerObserver.js: Copied from Source/WebInspectorUI/UserInterface/Models/ScriptInstrument.js.
(WebInspector.ScriptProfilerObserver.prototype.trackingStart):
(WebInspector.ScriptProfilerObserver.prototype.trackingUpdate):
(WebInspector.ScriptProfilerObserver.prototype.trackingComplete):
(WebInspector.ScriptProfilerObserver):
- UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView):
(WebInspector.ScriptTimelineView.prototype._processPendingRecords):
(WebInspector.ScriptTimelineView.prototype._scriptTimelineRecordRefreshed):
- UserInterface/Views/TimelineRecordTreeElement.js:
(WebInspector.TimelineRecordTreeElement):
- UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.isTabAllowed):
LayoutTests:
- inspector/script-profiler/event-type-API-expected.txt: Added.
- inspector/script-profiler/event-type-API.html: Added.
- inspector/script-profiler/event-type-Microtask-expected.txt: Added.
- inspector/script-profiler/event-type-Microtask.html: Added.
- inspector/script-profiler/tracking-expected.txt: Added.
- inspector/script-profiler/tracking.html: Added.
Tests for the new ScriptProfiler domain.
- 3:29 PM Changeset in webkit [194241] by
-
- 5 edits in trunk/Source/WebCore
Modern IDB: Refactor open/delete requests to exist in the same queue.
https://bugs.webkit.org/show_bug.cgi?id=152397
Reviewed by Alex Christensen.
No new tests (Refactor, all existing tests continue to pass).
The order between incoming open and delete requests matters, and each request
needs to be handled individually.
This patch does the above without changing behavior on existing passing tests,
while moving many currently skipped tests closer to passing.
- Modules/indexeddb/server/IDBServerOperation.cpp:
(WebCore::IDBServer::IDBServerOperation::notifyDeleteRequestBlocked):
(WebCore::IDBServer::IDBServerOperation::notifyDidDeleteDatabase):
- Modules/indexeddb/server/IDBServerOperation.h:
(WebCore::IDBServer::IDBServerOperation::hasNotifiedDeleteRequestBlocked):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabase::isVersionChangeInProgress):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::handleCurrentOperation):
(WebCore::IDBServer::UniqueIDBDatabase::handleDelete):
(WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer):
(WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired):
(WebCore::IDBServer::UniqueIDBDatabase::maybeDeleteDatabase): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- 3:02 PM Changeset in webkit [194240] by
-
- 2 edits in trunk/Websites/perf.webkit.org
v3 UI shouldn't open/close pane selector by mouseenter/leave
https://bugs.webkit.org/show_bug.cgi?id=152399
Reviewed by Andreas Kling.
Removed the code to open and close the pane selector by mouseenter and mouseleave
since multiple people have complained about the behavior.
- public/v3/pages/charts-toolbar.js:
(ChartsToolbar): Removed the event listeners.
(ChartsToolbar.prototype._addPane): Don't close the pane selector when adding a new pane
to better support the use case of adding multiple panes.
(ChartsToolbar.cssTemplate): Tweaked CSS.
- 2:57 PM Changeset in webkit [194239] by
-
- 1 copy in tags/Safari-601.2.7.2.4
New tag.
- 2:56 PM Changeset in webkit [194238] by
-
- 2 edits in trunk/LayoutTests
Marking fast/media/mq-* tests as failing on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=152137
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 2:56 PM Changeset in webkit [194237] by
-
- 3 edits in branches/safari-601.4-branch/LayoutTests
2015-12-17 Zalan Bujtas <Alan Bujtas>
Unreviewed gardening.
rdar://problem/23910755
- fast/css/pseudo-visited-background-color-on-input-expected.html:
- fast/css/pseudo-visited-background-color-on-input.html:
- 2:55 PM Changeset in webkit [194236] by
-
- 2 edits in branches/safari-601.2.7.2-branch/Source/WebCore
Merged r194235. rdar://problem/23944407
- 2:26 PM Changeset in webkit [194235] by
-
- 2 edits in trunk/Source/WebCore
[Win] Prevent flashing/strobing repaints on certain hardware
https://bugs.webkit.org/show_bug.cgi?id=152394
<rdar://problem/23875302>
Reviewed by Simon Fraser.
This patch reverts a change I made in r192166, where I always set the
m_viewNeedsUpdate flag to true when a 'flushContext' call was made. Instead,
we should go back to letting the view decide when it needs to paint.
- platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
(WebCore::WKCACFViewLayerTreeHost::flushContext): Don't just claim that
the view needs to be updated any time we are asked to flush.
- 2:19 PM Changeset in webkit [194234] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Popover for analysis tasks shows up at the left edge of annotation bars in the v3 UI
https://bugs.webkit.org/show_bug.cgi?id=152389
Reviewed by Darin Adler.
Compute the x coordinate of the popover from the center of each annotation bar.
Also adjust the x coordinate to keep the popover within the charts.
- public/v3/components/interactive-time-series-chart.js:
(InteractiveTimeSeriesChart.prototype._renderChartContent):
- 2:13 PM Changeset in webkit [194233] by
-
- 8 edits in branches/safari-601-branch/Source
Merged r191343. rdar://problem/23810432
- 2:13 PM Changeset in webkit [194232] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Dashboard charts should have uniform widths on v3 UI
https://bugs.webkit.org/show_bug.cgi?id=152395
Reviewed by Chris Dumez.
Fix the bug by applying table-layout: fixed on the dashboard table.
- public/v3/pages/dashboard-page.js:
(DashboardPage.prototype.render): Added header-column as a class name to explicitly set the header column with.
(DashboardPage.cssTemplate): Adjusted CSS accordingly.
- 2:11 PM Changeset in webkit [194231] by
-
- 8 edits in branches/safari-601-branch/Source
Merged r191305. rdar://problem/23810432
- 1:56 PM Changeset in webkit [194230] by
-
- 2 edits in branches/safari-601.1.46-branch/LayoutTests
Merge r193914. rdar://problem/23769696
- 1:56 PM Changeset in webkit [194229] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebCore
Merge r193932. rdar://problem/23903295
- 1:56 PM Changeset in webkit [194228] by
-
- 12 edits8 adds2 deletes in branches/safari-601.1.46-branch
Merge r193894. rdar://problem/23769696
- 12:57 PM Changeset in webkit [194227] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo][MediaFoundation] Release Direct3D swap chain object earlier.
https://bugs.webkit.org/show_bug.cgi?id=152392
Reviewed by Alex Christensen.
Since we don't use the swap chain object to render the video to a window,
but render frames to Cairo bitmaps, we can let go of the swap chain object
earlier than we currently do.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::clearDesiredSampleTime):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createVideoSamples):
- 12:28 PM Changeset in webkit [194226] by
-
- 3 edits in trunk/Tools
run-webkit-tests shouldn't start multiple iOS simulators while only running one test
https://bugs.webkit.org/show_bug.cgi?id=152157
<rdar://problem/23851817>
Patch by Aakash Jain <aakash_jain@apple.com> on 2015-12-17
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.get_worker_count): Calculate required number of workers.
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._get_test_inputs): Common method to calculate test_inputs.
(Manager._update_worker_count): Calculate and update required number of workers.
- 12:21 PM Changeset in webkit [194225] by
-
- 2 edits in trunk/LayoutTests
Skipping http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-* tests on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=152390
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 12:07 PM Changeset in webkit [194224] by
-
- 5 edits in tags/Safari-601.5.7.0.1/Source
Versioning.
- 12:04 PM Changeset in webkit [194223] by
-
- 1 copy in tags/Safari-601.5.7.0.1
New tag.
- 11:52 AM Changeset in webkit [194222] by
-
- 15 edits in trunk/Source/WebCore
Unreviewed, rolling out r194201.
https://bugs.webkit.org/show_bug.cgi?id=152391
Caused crashes with GuardMalloc (Requested by ap|away on
#webkit).
Reverted changeset:
"Reduce PassRefPtr uses in dom - 2"
https://bugs.webkit.org/show_bug.cgi?id=151936
http://trac.webkit.org/changeset/194201
- 11:42 AM Changeset in webkit [194221] by
-
- 2 edits in trunk/Source/WebKit/mac
Data detector yellow highlight location is vertically mirrored in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=152216
<rdar://problem/23848003>
Reviewed by Darin Adler.
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
Match the conversion we do at every other WK1 TextIndicator construction.
- 10:33 AM Changeset in webkit [194220] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Closing a pane on v3 UI always closes the last pane
https://bugs.webkit.org/show_bug.cgi?id=152388
Reviewed by Chris Dumez.
The bug was caused by closePane being called without arguments. (The first argument to bind is "this" value.)
Fixed it by passing in "this" pane object to the first argument.
- public/v3/pages/chart-pane.js:
(ChartPane):
- 9:58 AM Changeset in webkit [194219] by
-
- 2 edits in trunk/Source/WebCore
Fix unused parameter handling in WebGLRenderingContextBase.cp
https://bugs.webkit.org/show_bug.cgi?id=152387
Reviewed by Alex Christensen.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::activeTexture):
(WebCore::WebGLRenderingContextBase::attachShader):
(WebCore::WebGLRenderingContextBase::bindAttribLocation):
(WebCore::WebGLRenderingContextBase::bindBuffer):
(WebCore::WebGLRenderingContextBase::bindFramebuffer):
(WebCore::WebGLRenderingContextBase::bindRenderbuffer):
(WebCore::WebGLRenderingContextBase::bindTexture):
(WebCore::WebGLRenderingContextBase::bufferData):
(WebCore::WebGLRenderingContextBase::bufferSubData):
(WebCore::WebGLRenderingContextBase::compileShader):
(WebCore::WebGLRenderingContextBase::createShader):
(WebCore::WebGLRenderingContextBase::detachShader):
(WebCore::WebGLRenderingContextBase::disableVertexAttribArray):
(WebCore::WebGLRenderingContextBase::drawArrays):
(WebCore::WebGLRenderingContextBase::drawElements):
(WebCore::WebGLRenderingContextBase::enableVertexAttribArray):
(WebCore::WebGLRenderingContextBase::framebufferRenderbuffer):
(WebCore::WebGLRenderingContextBase::framebufferTexture2D):
(WebCore::WebGLRenderingContextBase::getActiveAttrib):
(WebCore::WebGLRenderingContextBase::getActiveUniform):
(WebCore::WebGLRenderingContextBase::getAttachedShaders):
(WebCore::WebGLRenderingContextBase::getBufferParameter):
(WebCore::WebGLRenderingContextBase::getProgramParameter):
(WebCore::WebGLRenderingContextBase::getProgramInfoLog):
(WebCore::WebGLRenderingContextBase::getRenderbufferParameter):
(WebCore::WebGLRenderingContextBase::getShaderParameter):
(WebCore::WebGLRenderingContextBase::getShaderInfoLog):
(WebCore::WebGLRenderingContextBase::getShaderPrecisionFormat):
(WebCore::WebGLRenderingContextBase::getShaderSource):
(WebCore::WebGLRenderingContextBase::getTexParameter):
(WebCore::WebGLRenderingContextBase::getUniform):
(WebCore::WebGLRenderingContextBase::getUniformLocation):
(WebCore::WebGLRenderingContextBase::getVertexAttrib):
(WebCore::WebGLRenderingContextBase::linkProgram):
(WebCore::WebGLRenderingContextBase::shaderSource):
(WebCore::WebGLRenderingContextBase::uniform1f):
(WebCore::WebGLRenderingContextBase::uniform1fv):
(WebCore::WebGLRenderingContextBase::uniform1i):
(WebCore::WebGLRenderingContextBase::uniform1iv):
(WebCore::WebGLRenderingContextBase::uniform2f):
(WebCore::WebGLRenderingContextBase::uniform2fv):
(WebCore::WebGLRenderingContextBase::uniform2i):
(WebCore::WebGLRenderingContextBase::uniform2iv):
(WebCore::WebGLRenderingContextBase::uniform3f):
(WebCore::WebGLRenderingContextBase::uniform3fv):
(WebCore::WebGLRenderingContextBase::uniform3i):
(WebCore::WebGLRenderingContextBase::uniform3iv):
(WebCore::WebGLRenderingContextBase::uniform4f):
(WebCore::WebGLRenderingContextBase::uniform4fv):
(WebCore::WebGLRenderingContextBase::uniform4i):
(WebCore::WebGLRenderingContextBase::uniform4iv):
(WebCore::WebGLRenderingContextBase::uniformMatrix2fv):
(WebCore::WebGLRenderingContextBase::uniformMatrix3fv):
(WebCore::WebGLRenderingContextBase::uniformMatrix4fv):
(WebCore::WebGLRenderingContextBase::useProgram):
(WebCore::WebGLRenderingContextBase::validateProgram):
(WebCore::WebGLRenderingContextBase::vertexAttribPointer):
- 7:27 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 5:25 AM Changeset in webkit [194218] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed gardening
Remove failure expectations for tests that have been passing after
r185157, r186191, r189670, r191658 and r191727.
Patch by Lorenzo Tilve <ltilve@igalia.com> on 2015-12-17
- platform/gtk/TestExpectations:
- 3:02 AM Changeset in webkit [194217] by
-
- 5 edits in trunk/LayoutTests
Remove temporary flakiness expectations for WPT tests introduced for bug 152257
https://bugs.webkit.org/show_bug.cgi?id=152377
Unreviewed.
LayoutTests/imported/w3c:
- web-platform-tests/dom/interfaces-expected.txt: Rebased according latest testharness.js.
- web-platform-tests/html/dom/interfaces-expected.txt: Ditto.
LayoutTests:
- TestExpectations: removing some flakiness expectations.
- 2:33 AM Changeset in webkit [194216] by
-
- 25 edits7 adds in trunk
[ES6] Handle new_generator_func / new_generator_func_exp in DFG / FTL
https://bugs.webkit.org/show_bug.cgi?id=152227
Reviewed by Saam Barati.
Source/JavaScriptCore:
This patch introduces new_generator_func / new_generator_func_exp into DFG and FTL.
We add a new DFG Node, NewGeneratorFunction. It will construct a function with GeneratorFunction's structure.
The structure of GeneratorFunction is different from one of Function because GeneratorFunction has the different proto.
Instead of extending NewFunction / PhantomNewFunction, we just added new DFG nodes, NewGeneratorFunction and PhantomNewGeneratorFunction.
This is because NewGeneratorFunction will generate an object that has different class info from JSFunction (And if JSGeneratorFunction is extended, its size will become different from JSFunction).
So, rather than extending NewFunction with generator flag, just adding new DFG nodes seems cleaner.
Object allocation sinking phase will change NewGeneratorFunction to PhantomNewGeneratorFunction and defer or eliminate its actual materialization.
It is completely the same to NewFunction and PhantomNewFunction.
And when OSR exit occurs, we need to execute deferred NewGeneratorFunction since Baseline JIT does not consider it.
So in FTL operation, we should create JSGeneratorFunction if we see PhantomNewGeneratorFunction materialization.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGClobbersExitState.cpp:
(JSC::DFG::clobbersExitState):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToPhantomNewFunction):
(JSC::DFG::Node::convertToPhantomNewGeneratorFunction):
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::isFunctionAllocation):
(JSC::DFG::Node::isPhantomFunctionAllocation):
(JSC::DFG::Node::isPhantomAllocation):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewFunction):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStoreBarrierInsertionPhase.cpp:
- dfg/DFGStructureRegistrationPhase.cpp:
(JSC::DFG::StructureRegistrationPhase::run):
- dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validateCPS):
(JSC::DFG::Validate::validateSSA):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationPopulateObjectInOSR):
(JSC::FTL::operationMaterializeObjectInOSR):
- tests/stress/generator-function-create-optimized.js: Added.
(shouldBe):
(g):
(test.return.gen):
(test):
(test2.gen):
(test2):
- tests/stress/generator-function-declaration-sinking-no-double-allocate.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(call):
(f):
(sink):
- tests/stress/generator-function-declaration-sinking-osrexit.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(g):
(f):
(sink):
- tests/stress/generator-function-declaration-sinking-put.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(g):
(f):
(sink):
- tests/stress/generator-function-expression-sinking-no-double-allocate.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(call):
(f):
(sink):
- tests/stress/generator-function-expression-sinking-osrexit.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(g):
(sink):
- tests/stress/generator-function-expression-sinking-put.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(g):
(sink):
LayoutTests:
Make the test taking longer time.
- js/regress/script-tests/generator-function-create.js:
(test):
- 12:31 AM Changeset in webkit [194215] by
-
- 5 edits9 copies in branches/safari-601.1.46-branch
Merged r194209. rdar://problem/23814324
- 12:15 AM Changeset in webkit [194214] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION (r193913): Popover covers completion suggestions
https://bugs.webkit.org/show_bug.cgi?id=152369
Reviewed by Timothy Hatcher.
- UserInterface/Views/Variables.css:
(:root):
Swap popover and tooltip z-index ordering.
Dec 16, 2015:
- 11:49 PM Changeset in webkit [194213] by
-
- 2 edits in trunk/Source/WebCore
Make SessionID use intHash
https://bugs.webkit.org/show_bug.cgi?id=152356
Patch by Alex Christensen <achristensen@webkit.org> on 2015-12-16
Reviewed by Darin Adler.
- page/SessionID.h:
(WTF::SessionIDHash::hash):
(WTF::SessionIDHash::equal):
(WTF::HashTraits<WebCore::SessionID>::emptyValue):
(WTF::HashTraits<WebCore::SessionID>::constructDeletedValue):
(WTF::HashTraits<WebCore::SessionID>::isDeletedValue):
Use intHash instead of just casting a uint64_t to an unsigned.
This reduces hash collisions in HashTables that are usually quite small so it isn't much of a problem.
Also, needsDestruction hasn't been in HashTraits since r156507.
- 11:36 PM Changeset in webkit [194212] by
-
- 2 edits in branches/safari-601-branch/Source/WebKit2
Merged r194205. rdar://problem/23934312
- 11:07 PM Changeset in webkit [194211] by
-
- 15 edits2 adds in trunk/Source/WebKit2
Progress towards implementing downloads with NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=152371
Reviewed by Darin Adler.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::downloadRequest):
(WebKit::NetworkProcess::resumeDownload):
(WebKit::NetworkProcess::cancelDownload):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
- Shared/Authentication/AuthenticationManager.h:
- Shared/Downloads/Download.cpp:
(WebKit::Download::Download):
(WebKit::Download::didReceiveAuthenticationChallenge):
- Shared/Downloads/Download.h:
- Shared/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::convertHandleToDownload):
(WebKit::DownloadManager::resumeDownload):
(WebKit::DownloadManager::cancelDownload):
(WebKit::DownloadManager::downloadFinished):
(WebKit::DownloadManager::didCreateDownload):
- Shared/Downloads/DownloadManager.h:
- Shared/Downloads/cocoa: Added.
- Shared/Downloads/cocoa/DownloadCocoa.mm: Added.
(WebKit::Download::start):
(WebKit::Download::resume):
(WebKit::Download::cancel):
(WebKit::Download::platformInvalidate):
- Shared/Downloads/ios/DownloadIOS.mm:
- Shared/Downloads/mac/DownloadMac.mm:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
(WebKit::Download::resume):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::resumeDownload):
- UIProcess/WebProcessPool.h:
- WebKit2.xcodeproj/project.pbxproj:
- 10:56 PM Changeset in webkit [194210] by
-
- 4 edits in trunk/Source/WebCore
Fix the debug region overlays for RTL documents
https://bugs.webkit.org/show_bug.cgi?id=152372
Reviewed by Darin Adler.
Fix document overlays to use document coordinates when painting, which requires
translating the CTM, and counter-translating the dirtyRect by the scroll origin.
This is only non-zero for RTL documents.
While doing this, I noticed that the scroll origin was misplaced by the scrollbar
width when using overlay scrollbars. Fix by using occupiedWidth/Height() in
ScrollView::updateScrollbars(). I was not able to make a test for this change.
- page/FrameView.cpp:
(WebCore::FrameView::adjustViewSize):
- page/PageOverlay.cpp:
(WebCore::PageOverlay::drawRect):
- platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):
- 9:53 PM Changeset in webkit [194209] by
-
- 5 edits9 adds in trunk
[iOS] Block loading external stylesheets in the Content-Disposition: attachment sandbox
https://bugs.webkit.org/show_bug.cgi?id=152375
<rdar://problem/22020902>
Reviewed by Darin Adler.
Source/WebCore:
Tests: http/tests/contentdispositionattachmentsandbox/at-import-stylesheets-disabled.html
http/tests/contentdispositionattachmentsandbox/external-stylesheets-disabled.html
http/tests/contentdispositionattachmentsandbox/xml-stylesheet-processing-instructions-disabled.html
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest): Moved handling of CachedResource::MainResource to canRequestInContentDispositionAttachmentSandbox().
(WebCore::CachedResourceLoader::canRequestInContentDispositionAttachmentSandbox): In addition to handling CachedResource::MainResource,
added handling for CachedResource::CSSStyleSheet. Added a FIXME asking whether we should handle other types of resources, too.
- loader/cache/CachedResourceLoader.h:
LayoutTests:
- http/tests/contentdispositionattachmentsandbox/at-import-stylesheets-disabled-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/at-import-stylesheets-disabled.html: Added.
- http/tests/contentdispositionattachmentsandbox/cross-origin-frames-disabled-expected.txt:
- http/tests/contentdispositionattachmentsandbox/external-stylesheets-disabled-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/external-stylesheets-disabled.html: Added.
- http/tests/contentdispositionattachmentsandbox/resources/at-import-stylesheets-frame.php: Added.
- http/tests/contentdispositionattachmentsandbox/resources/external-stylesheets-frame.php: Added.
- http/tests/contentdispositionattachmentsandbox/resources/xml-stylesheet-processing-instructions-frame.php: Added.
- http/tests/contentdispositionattachmentsandbox/xml-stylesheet-processing-instructions-disabled-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/xml-stylesheet-processing-instructions-disabled.html: Added.
- 9:02 PM Changeset in webkit [194208] by
-
- 2 edits in trunk/Source/JavaScriptCore
ARM64 MacroAssembler improperly reuses data temp register in test32() and test8() calls
https://bugs.webkit.org/show_bug.cgi?id=152370
Reviewed by Benjamin Poulain.
Changed the test8/32(Address, Register) flavors to use the memoryTempRegister for loading the value
att Address so that it doesn't collide with the subsequent use of dataTempRegister by the
test32(Register, Register) function.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::test32):
(JSC::MacroAssemblerARM64::test8):
- 8:26 PM Changeset in webkit [194207] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Perf Dashboard v3 UI doesn't show recent data points on v2 UI
https://bugs.webkit.org/show_bug.cgi?id=152368
Reviewed by Chris Dumez.
The bug was caused by the last modified date in measurement set JSON being a string instead of a POSIX timestamp,
which prevented the v3 UI from invalidating the cache. Specifically, the following boolean logic always evaluated
to false because +datalastModified was NaN in MeasurementSet.prototype._fetch (/v3/models/measurement-set.js):
!clusterEndTime && useCache && +datalastModified < self._lastModified
Fixed the bug by calling Database::to_js_time on the last modified date fetched from the database.
- public/api/measurement-set.php:
(MeasurementSetFetcher::fetch_config_list): Convert the string returned by the database to a POSIX timestamp.
- tests/api-measurement-set.js: Added a test to ensure the last modified date in JSON is numeric. Since the value
of the last modified date depends on when tests run, we can't assert it to be a certain value.
- 7:48 PM Changeset in webkit [194206] by
-
- 6 edits in trunk/Source
ViewportConfiguration functions should return a bool to say if anything changed
https://bugs.webkit.org/show_bug.cgi?id=152353
Reviewed by Tim Horton.
Rather than callers all checking whether setting ViewportConfiguration values
changes state, have its functions return a bool if the values change.
Source/WebCore:
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::setContentsSize):
(WebCore::ViewportConfiguration::setMinimumLayoutSize):
(WebCore::ViewportConfiguration::setViewportArguments):
(WebCore::ViewportConfiguration::setCanIgnoreScalingConstraints):
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::setCanIgnoreScalingConstraints): Deleted.
Source/WebKit2:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mainFrameDidLayout):
(WebKit::WebPage::didCommitLoad):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportPropertiesDidChange):
(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
- 7:04 PM Changeset in webkit [194205] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r191299): Zoom gestures are enabled even if allowsMagnification=NO
https://bugs.webkit.org/show_bug.cgi?id=152373
<rdar://problem/23931998>
Reviewed by Simon Fraser.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly):
Don't pass the event on to ViewGestureController if we shouldn't handle it,
just like we would have done in magnifyWithEvent before.
- 6:55 PM Changeset in webkit [194204] by
-
- 10 edits in trunk/Source
Give kernel VM some hints about non-live memory-cached resources.
<https://webkit.org/b/152362>
Reviewed by Geoffrey Garen.
Source/WebCore:
When a file-backed CachedResource has no live clients left, and is only being kept alive
because it's cached in the MemoryCache, give the OS a hint that we probably won't need
that memory very soon.
Normally this doesn't do anything, but in case the system comes under memory pressure,
the kernel can prioritize eviction of such clean-but-unneeded pages, which prevents us
from throwing other processes under the bus too soon.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::deleteIfPossible):
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::hintMemoryNotNeededSoon):
- platform/SharedBuffer.h:
- platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::hintMemoryNotNeededSoon):
Source/WTF:
Add an API to OSAllocator for hinting to the OS that a range of memory
is not expected to be used anytime soon.
- wtf/OSAllocator.h:
- wtf/OSAllocatorPosix.cpp:
(WTF::OSAllocator::hintMemoryNotNeededSoon):
- wtf/OSAllocatorWin.cpp:
(WTF::OSAllocator::hintMemoryNotNeededSoon):
- wtf/Platform.h:
- 6:26 PM Changeset in webkit [194203] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 6:26 PM Changeset in webkit [194202] by
-
- 5 edits in branches/safari-601-branch/Source
Versioning.
- 6:13 PM Changeset in webkit [194201] by
-
- 15 edits in trunk/Source/WebCore
Reduce PassRefPtr uses in dom - 2
https://bugs.webkit.org/show_bug.cgi?id=151936
Reviewed by Darin Adler.
Change PassRefPtr with RefPtr<Foo>&&, WTF::move(), Foo*, and Foo&.
- dom/ScopedEventQueue.h:
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::registerCallback):
- dom/ScriptedAnimationController.h:
- dom/StaticNodeList.h:
- dom/Traversal.cpp:
(WebCore::NodeIteratorBase::NodeIteratorBase):
- dom/Traversal.h:
- dom/TreeWalker.cpp:
(WebCore::TreeWalker::TreeWalker):
(WebCore::TreeWalker::setCurrentNode):
- dom/TreeWalker.h:
(WebCore::TreeWalker::create):
- dom/UserActionElementSet.h:
- dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
(WebCore::WebKitNamedFlow::create):
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):
(WebCore::WebKitNamedFlow::getContent):
- dom/WebKitNamedFlow.h:
- dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::initWheelEvent):
(WebCore::WheelEvent::initWebKitWheelEvent):
- dom/WheelEvent.h:
- 5:50 PM Changeset in webkit [194200] by
-
- 1 copy in tags/Safari-601.1.46.87
New tag.
- 5:33 PM Changeset in webkit [194199] by
-
- 1 copy in tags/Safari-601.5.7
New tag.
- 5:22 PM Changeset in webkit [194198] by
-
- 5 edits in branches/safari-601.4-branch/Source
Versioning.
- 5:19 PM Changeset in webkit [194197] by
-
- 1 copy in tags/Safari-601.4.3
New tag.
- 5:16 PM Changeset in webkit [194196] by
-
- 2 edits in trunk/Tools
run-webkit-tests fails to delete Simulator device during cleanup
https://bugs.webkit.org/show_bug.cgi?id=152363
Patch by Aakash Jain <aakash_jain@apple.com> on 2015-12-16
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/xcode/simulator.py:
(Simulator.delete_device): Ensure that device is Shutdown before deleting it.
- 5:14 PM Changeset in webkit [194195] by
-
- 2 edits in tags/Safari-602.1.13.0.1/Source/JavaScriptCore
Merged r193355. rdar://problem/23737051
- 5:12 PM Changeset in webkit [194194] by
-
- 2 edits in tags/Safari-602.1.13.0.1/Source/JavaScriptCore
Merged r193354. rdar://problem/23736842
- 5:11 PM Changeset in webkit [194193] by
-
- 2 edits in tags/Safari-602.1.13.0.1/Source/JavaScriptCore
Merged r193188. rdar://problem/23737525
- 5:11 PM Changeset in webkit [194192] by
-
- 2 edits in tags/Safari-602.1.13.0.1/Source/JavaScriptCore
Merged r192991. rdar://problem/23728977
- 5:03 PM Changeset in webkit [194191] by
-
- 5 edits in tags/Safari-602.1.13.0.1/Source
Versioning.
- 5:01 PM Changeset in webkit [194190] by
-
- 8 edits in tags/Safari-602.1.13.4/Source
Merged r194183. rdar://problem/23928759
- 4:59 PM Changeset in webkit [194189] by
-
- 1 copy in tags/Safari-602.1.13.0.1
New tag.
- 4:37 PM Changeset in webkit [194188] by
-
- 3 edits in trunk/Websites/perf.webkit.org
v3 UI should show and link the build number on charts page
https://bugs.webkit.org/show_bug.cgi?id=152359
Reviewed by Chris Dumez.
Show the hyperlinked build number in the v3 UI.
- public/v3/models/builder.js:
(Builder): Renamed _buildURL to _buildUrlTemplate.
(Builder.prototype.urlForBuild): Added.
- public/v3/pages/chart-pane-status-view.js:
(ChartPaneStatusView):
(ChartPaneStatusView.prototype.render): Added the code to render hyperlinked build number when one is available.
(ChartPaneStatusView.prototype.computeChartStatusLabels): Store currentPoint's measurement object as _buildInfo
if the current point is set by an indicator (not by a selection).
- 4:31 PM Changeset in webkit [194187] by
-
- 2 edits in branches/safari-601-branch/Source/WebKit2
Merged r194186. rdar://problem/23929902
- 4:13 PM Changeset in webkit [194186] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r194125): Crashes in touchesEndedWithEvent on occasion when interacting with the page
https://bugs.webkit.org/show_bug.cgi?id=152366
<rdar://problem/23929672>
Reviewed by Beth Dakin.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::touchesEndedWithEvent):
(WebKit::WebViewImpl::touchesCancelledWithEvent):
NSTouch identifiers aren't pointer-comparable. We need to use isEqual to
compare them and find the ones to remove.
- 3:59 PM Changeset in webkit [194185] by
-
- 3 edits in trunk/Source/JavaScriptCore
FTL B3 should support switches
https://bugs.webkit.org/show_bug.cgi?id=152360
Reviewed by Geoffrey Garen.
I implemented this because I was hoping it would less us run V8/crypto, but instead it just led
me to file a fun bug: https://bugs.webkit.org/show_bug.cgi?id=152365.
- ftl/FTLB3Output.h:
(JSC::FTL::Output::check):
(JSC::FTL::Output::switchInstruction):
(JSC::FTL::Output::ret):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::ftlUnreachable):
(JSC::FTL::DFG::LowerDFGToLLVM::crash):
- 3:41 PM Changeset in webkit [194184] by
-
- 11 edits in trunk/Source
Simplify isOverlayScrollbar() logic
https://bugs.webkit.org/show_bug.cgi?id=152357
Reviewed by Beth Dakin.
Replace code that checks for isOverlayScrollbar() explicitly with calls to new
occupiedWidth()/occupiedHeight() functions on Scrollbar, which do the overlay
scrollbar check internally.
Add ScrollableArea::scrollbarIntrusion() which returns an IntSize with the occupiedWidth
and occupiedHeight of any scrollbars, and use it in a few places.
Source/WebCore:
- page/FrameView.cpp:
(WebCore::FrameView::autoSizeIfEnabled):
- platform/ScrollView.cpp:
(WebCore::ScrollView::unscaledVisibleContentSizeIncludingObscuredArea):
(WebCore::ScrollView::calculateOverhangAreasForPainting):
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollbarIntrusion):
(WebCore::ScrollableArea::visibleContentRectInternal):
- platform/ScrollableArea.h:
- platform/Scrollbar.cpp:
(WebCore::Scrollbar::occupiedWidth):
(WebCore::Scrollbar::occupiedHeight):
- platform/Scrollbar.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::visibleContentRectInternal):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::verticalScrollbarWidth):
Source/WebKit2:
- WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
(WebKit::PDFPlugin::updateScrollbars):
(WebKit::PDFPlugin::maximumScrollPosition):
- 3:36 PM Changeset in webkit [194183] by
-
- 8 edits in trunk/Source
Fix internal Windows build
https://bugs.webkit.org/show_bug.cgi?id=152364
Source/JavaScriptCore:
Reviewed by Tim Horton.
- JavaScriptCore.vcxproj/JavaScriptCore.proj:
Source/WebCore:
rdar://problem/23928759
Reviewed by Tim Horton.
- WebCore.vcxproj/WebCore.proj:
Source/WebKit:
rdar://problem/23928759
Reviewed by Tim Horton.
- WebKit.vcxproj/WebKit.proj:
Source/WTF:
rdar://problem/23928759
Reviewed by Tim Horton.
- WTF.vcxproj/WTF.proj:
- 3:27 PM Changeset in webkit [194182] by
-
- 2 edits in tags/Safari-602.1.13.4/Source/JavaScriptCore
Merged r193355. rdar://problem/23737051
- 3:26 PM Changeset in webkit [194181] by
-
- 2 edits in tags/Safari-602.1.13.4/Source/JavaScriptCore
Merged r193354. rdar://problem/23736842
- 3:24 PM Changeset in webkit [194180] by
-
- 2 edits in tags/Safari-602.1.13.4/Source/JavaScriptCore
Merged r193188. rdar://problem/23737525
- 3:22 PM Changeset in webkit [194179] by
-
- 2 edits in tags/Safari-602.1.13.4/Source/JavaScriptCore
Merged r192991. rdar://problem/23728977
- 3:20 PM Changeset in webkit [194178] by
-
- 5 edits in tags/Safari-602.1.13.4/Source
Versioning.
- 3:16 PM Changeset in webkit [194177] by
-
- 1 copy in tags/Safari-602.1.13.4
New tag.
- 3:03 PM Changeset in webkit [194176] by
-
- 8 edits in branches/safari-601-branch/Source
Merged r194125. rdar://problem/23791292
- 2:39 PM Changeset in webkit [194175] by
-
- 17 edits2 adds in trunk/Source/JavaScriptCore
Improve JSObject::put performance
https://bugs.webkit.org/show_bug.cgi?id=152347
Reviewed by Geoffrey Garen.
This adds a new benchmark called dynbench, which just uses the C++ API to create, modify, and
query objects. This also adds some optimizations to make the JSObject::put code faster by making
it inlinable in places that really need the performance, like JITOperations and LLIntSlowPaths.
Inlining it is optional because the put() method is large. If you want it inlined, call
putInline(). There's a putInline() variant of both JSObject::put() and JSValue::put().
This is up to a 20% improvement for JSObject::put calls that get inlined all the way (like from
JITOperations and the new benchmark) and it's also a speed-up, albeit a smaller one, for
JSObject::put calls that don't get inlined (i.e. those from the DOM and the JSC C++ library code).
Specific speed-ups are as follows. Note that "dynamic context" means that we told PutPropertySlot
that we're not a static put_by_id, which turns off some type inference.
Get By Id: 2% faster
Put By Id Replace: 23% faster
Put By Id Transition + object allocation: 11% faster
Get By Id w/ dynamic context: 5% faster
Put By Id Replace w/ dynamic context: 25% faster
Put By Id Transition + object allocation w/ dynamic context: 10% faster
- JavaScriptCore.xcodeproj/project.pbxproj:
- dynbench.cpp: Added.
(JSC::benchmarkImpl):
(main):
- jit/CallFrameShuffler32_64.cpp:
- jit/CallFrameShuffler64.cpp:
- jit/JITOperations.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/ClassInfo.h:
(JSC::ClassInfo::hasStaticProperties):
- runtime/ConsoleClient.cpp:
- runtime/CustomGetterSetter.h:
- runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::finishCreation):
(JSC::addErrorInfoAndGetBytecodeOffset): Deleted.
- runtime/GetterSetter.h:
(JSC::asGetterSetter):
- runtime/JSCInlines.h:
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::put):
(JSC::JSValue::putInternal):
(JSC::JSValue::putByIndex):
- runtime/JSObject.cpp:
(JSC::JSObject::put):
(JSC::JSObject::putByIndex):
- runtime/JSObject.h:
(JSC::JSObject::getVectorLength):
(JSC::JSObject::inlineGetOwnPropertySlot):
(JSC::JSObject::get):
(JSC::JSObject::putDirectInternal):
- 2:08 PM Changeset in webkit [194174] by
-
- 37 edits5 copies in branches/safari-601-branch/Source
Merged r191299. rdar://problem/23810432
- 1:52 PM Changeset in webkit [194173] by
-
- 3 edits in trunk/Source/WebCore
Modern IDB: Refactor UniqueIDBDatabase in preparation for consolidation open and delete requests.
https://bugs.webkit.org/show_bug.cgi?id=152355
Reviewed by Alex Christensen.
No new tests (Refactor, existing tests pass).
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::didOpenBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired):
(WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- 1:50 PM Changeset in webkit [194172] by
-
- 3 edits in trunk/Websites/perf.webkit.org
v3 dashboard doesn't stretch charts to fill the screen
https://bugs.webkit.org/show_bug.cgi?id=152354
Reviewed by Chris Dumez.
The bug was caused by a workaround to avoid canvas stretching table cell too much.
Fix the problem instead by making the canvas absolutely positioned inside the "time-series-chart" element
so that it does not contribute to the intrinsic/natural width of the cell.
- public/v3/components/time-series-chart.js:
(TimeSeriesChart.prototype._ensureCanvas): Make the canvas absolutely positioned inside the shadow root.
(TimeSeriesChart.prototype._updateCanvasSizeIfClientSizeChanged): Use the container element's size now that
the canvas does not resize with it.
- public/v3/pages/dashboard-page.js:
(DashboardPage.cssTemplate): Updated the CSS so that the chart stretches all the way.
- 1:26 PM Changeset in webkit [194171] by
-
- 2 edits in branches/safari-601-branch/Source/WebCore
Merged r191121. rdar://problem/23810432
- 1:24 PM Changeset in webkit [194170] by
-
- 3 edits in branches/safari-601-branch/Source/WebCore
Merged r191080. rdar://problem/23810432
- 12:29 PM Changeset in webkit [194169] by
-
- 11 edits in trunk/Source/WebCore
Modern IDB: Have IDBServerOperations know whether they represent an open or delete request.
https://bugs.webkit.org/show_bug.cgi?id=152351
Reviewed by NOBODY (OOPS!).
No new tests (Refactor, existing tests pass).
- Modules/indexeddb/IndexedDB.h:
- Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::createDeleteRequest):
(WebCore::IDBClient::IDBOpenDBRequest::createOpenRequest):
(WebCore::IDBClient::IDBOpenDBRequest::IDBOpenDBRequest):
- Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
- Modules/indexeddb/client/IDBRequestImpl.h:
(WebCore::IDBClient::IDBRequest::requestType):
- Modules/indexeddb/server/IDBServerOperation.cpp:
(WebCore::IDBServer::IDBServerOperation::isOpenRequest):
(WebCore::IDBServer::IDBServerOperation::isDeleteRequest):
- Modules/indexeddb/server/IDBServerOperation.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::maybeDeleteDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChangeForUpgrade):
(WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired):
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- Modules/indexeddb/shared/IDBRequestData.cpp:
(WebCore::IDBRequestData::IDBRequestData):
- Modules/indexeddb/shared/IDBRequestData.h:
(WebCore::IDBRequestData::isOpenRequest):
(WebCore::IDBRequestData::isDeleteRequest):
- 12:06 PM Changeset in webkit [194168] by
-
- 3 edits in trunk/Source/WebKit2
Build fix when using NETWORK_SESSION after r193972.
Rubber-stamped by Joseph Pecoraro.
Renamed NetworkSessionDelegate to WKNetworkSessionDelegate to conform to the
newly-enforced style rule in check-for-inappropriate-objc-class-names.
- NetworkProcess/NetworkSession.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(toNSURLSessionAuthChallengeDisposition):
(-[WKNetworkSessionDelegate initWithNetworkSession:]):
(WebKit::NetworkSession::NetworkSession):
(-[NetworkSessionDelegate initWithNetworkSession:]): Deleted.
- 11:49 AM Changeset in webkit [194167] by
-
- 2 edits in trunk/LayoutTests
Adding timout expectation to one more wpt test that I missed in the last commit.
https://bugs.webkit.org/show_bug.cgi?id=152335
Unreviewed test gardening.
- 11:25 AM Changeset in webkit [194166] by
-
- 2 edits in trunk/LayoutTests
Adding timeout to wpt TestExpectations due to WK/WPT testharness.js issues.
https://bugs.webkit.org/show_bug.cgi?id=152335
Unreviewed test gadening.
- 11:12 AM Changeset in webkit [194165] by
-
- 1 copy in tags/Safari-602.1.14
New tag.
- 11:10 AM Changeset in webkit [194164] by
-
- 2 edits in trunk/Source/JavaScriptCore
Work around a bug in LLVM by flipping the unification order
https://bugs.webkit.org/show_bug.cgi?id=152341
rdar://problem/23920749
Reviewed by Mark Lam.
- dfg/DFGUnificationPhase.cpp:
(JSC::DFG::UnificationPhase::run):
- 11:02 AM Changeset in webkit [194163] by
-
- 5 edits in trunk/Source
Versioning.
- 11:02 AM Changeset in webkit [194162] by
-
- 4 edits in trunk/LayoutTests
Re-baseline pageoverlay/overlay* tests for mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=152338
Unreviewed test gardening.
- platform/mac-wk1/pageoverlay/overlay-large-document-expected.txt:
- platform/mac-wk1/pageoverlay/overlay-large-document-scrolled-expected.txt:
- platform/mac-wk1/pageoverlay/overlay-small-frame-mouse-events-expected.txt:
- 10:52 AM Changeset in webkit [194161] by
-
- 2 edits in trunk/Source/WebCore
Build fix after r194156.
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
- 10:43 AM Changeset in webkit [194160] by
-
- 3 edits in trunk/Source/WebCore
Modern IDB: Combine handling open requests, delete requests, and transactions into one timer.
https://bugs.webkit.org/show_bug.cgi?id=152344
Reviewed by Alex Christensen.
No new tests (Refactor, existing tests pass).
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::enqueueTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer):
(WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformActivateTransactionInBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::inProgressTransactionCompleted):
(WebCore::IDBServer::UniqueIDBDatabase::invokeDeleteOrRunTransactionTimer): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::deleteOrRunTransactionsTimerFired): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- 10:38 AM Changeset in webkit [194159] by
-
- 3 edits in trunk/Source/WebCore
Build fix after r194156.
- platform/network/cf/ResourceHandleCFNet.cpp:
- platform/network/mac/ResourceHandleMac.mm:
Include definition of _TimingDataOptionsEnableW3CNavigationTiming
- 10:36 AM Changeset in webkit [194158] by
-
- 3 edits in trunk/Source/JavaScriptCore
Add "explicit operator bool" to ScratchRegisterAllocator::PreservedState
https://bugs.webkit.org/show_bug.cgi?id=152337
Reviewed by Mark Lam.
If we have a default constructor, we should also have a way
to tell if a PreservedState is invalid.
- jit/ScratchRegisterAllocator.cpp:
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
- jit/ScratchRegisterAllocator.h:
(JSC::ScratchRegisterAllocator::PreservedState::PreservedState):
(JSC::ScratchRegisterAllocator::PreservedState::operator bool):
- 10:32 AM Changeset in webkit [194157] by
-
- 2 edits in trunk/Tools
[mac-wk2] fast/events force click tests crashing
https://bugs.webkit.org/show_bug.cgi?id=152339
Reviewed by Beth Dakin.
- WebKitTestRunner/mac/EventSenderProxy.mm:
(-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:stageTransition:phase:time:eventNumber:window:]):
Set the NSEvent's _type member in addition to overriding -type,
because there are assertions in touch event handling code that depend on it.
- 10:25 AM Changeset in webkit [194156] by
-
- 10 edits1 add in trunk/Source
Implement Web Timing when using NETWORK_SESSION
https://bugs.webkit.org/show_bug.cgi?id=152285
Reviewed by Darin Adler.
Source/WebCore:
Covered by existing tests.
- WebCore.xcodeproj/project.pbxproj:
- platform/network/ResourceHandle.h:
- platform/network/ResourceLoadTiming.h:
(WebCore::ResourceLoadTiming::encode):
Moved setCollectsTimingData from ResourceHandle to ResourceLoadTiming.h to be shared
with WebKit2 when using NETWORK_SESSION, which does not use ResourceHandle.
Also moved getConnectionTimingData to copyTimingData in ResourceLoadTiming for the same reason.
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
Use the proper definition of _TimingDataOptionsEnableW3CNavigationTiming.
- platform/network/cocoa/ResourceLoadTiming.mm: Added.
(WebCore::timingValue):
(WebCore::copyTimingData):
Moved from getConnectionTimingData, and use objectForKey instead of valueForKey,
and check to see if there is no object in the dictionary with the given key.
This should never happen with the current CFNetwork implementation, but it's good to check dictionaries.
(WebCore::setCollectsTimingData):
Use _collectTimingDataWithOptions, which should be a slight performance improvement on Mavericks
because we are not collecting unused timing data. Hooray!
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::createNSURLConnection):
(WebCore::ResourceHandle::getConnectionTimingData):
(WebCore::ResourceHandle::setCollectsTimingData): Deleted.
- platform/spi/cf/CFNetworkSPI.h:
- platform/spi/cocoa/NSURLConnectionSPI.h:
Moved definitions of SPI to proper SPI headers.
Source/WebKit2:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(WebKit::NetworkSession::NetworkSession):
Use functions moved to ResourceLoadTiming.h. setCollectsTimingData is for Mavericks, _timingDataOptions is post-Mavericks.
- 10:08 AM Changeset in webkit [194155] by
-
- 3 edits in trunk/Source/WebCore
Legacy style scrollbars do not change color when you mouse over them if you
are scrolled
https://bugs.webkit.org/show_bug.cgi?id=152319
-and corresponding-
rdar://problem/23317668
Reviewed by Darin Adler.
The scrollbar’s frameRect is in window coordinates, so we need to compare a
point in window coordinates when we test this.
The call to convertFromContainingWindow does not return a point in view
coordinates, so we should not call the variable viewPoint. We do still need
to call it for subframes. convertFromContainingWindow doesn’t do anything for
the root ScrollView (for Mac WK2 at least).
- platform/ScrollView.cpp:
(WebCore::ScrollView::scrollbarAtPoint):
HitTestLocation is in contents coordinates. It needs to be converted to
window coordinates
- rendering/RenderView.cpp:
(WebCore::RenderView::hitTest):
- 10:04 AM Changeset in webkit [194154] by
-
- 8 edits in trunk/LayoutTests
Mark additional wpt tests as flaky due to WK/WPT testharness.js
https://bugs.webkit.org/show_bug.cgi?id=152335
Unreviewed.
LayoutTests/imported/w3c:
Rebasing according WPT testharness.js current version.
- web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
- web-platform-tests/XMLHttpRequest/responsetype-expected.txt:
- web-platform-tests/XMLHttpRequest/timeout-sync-expected.txt:
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
LayoutTests:
- TestExpectations: marking some more tests as flaky.
- 9:49 AM Changeset in webkit [194153] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] fix error message for eval/arguments CoverInitializedName in strict code
https://bugs.webkit.org/show_bug.cgi?id=152304
Patch by Caitlin Potter <caitp@igalia.com> on 2015-12-16
Reviewed by Darin Adler.
Because the error was originally classified as indicating a Pattern, the
error in AssignmentPattern parsing causes the reported message to revert to
the original Expression error message, which in this case is incorrect.
This change modifies the implementation of the strict code
error slightly, and reclassifies the error to prevent the message revert,
which improves the clarity of the message overall.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseAssignmentElement):
(JSC::Parser<LexerType>::parseDestructuringPattern):
- parser/Parser.h:
(JSC::Parser::ExpressionErrorClassifier::reclassifyExpressionError):
(JSC::Parser::reclassifyExpressionError):
- tests/stress/destructuring-assignment-syntax.js:
- 9:46 AM Changeset in webkit [194152] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION: Web Inspector: console.dir(...) should force allowing object expansion
https://bugs.webkit.org/show_bug.cgi?id=152328
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-16
Reviewed by Timothy Hatcher.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._formatParameter):
Propogate the force parameter down.
- 9:44 AM Changeset in webkit [194151] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve copy of console messages with multiple arguments - console.log(obj1, obj2)
https://bugs.webkit.org/show_bug.cgi?id=152330
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-16
Reviewed by Timothy Hatcher.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype.toClipboardString):
Copy the inner text of the extra arguments list as well, for
console messages with multiple objects. Rearrange the sections
that, if there is a stack trace it comes at the end after
multiple arguments. If there is no stack trace, include the
location info next to the top line, before multiple arguments.
- 9:42 AM Changeset in webkit [194150] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve copy of console message containing Array and Map output
https://bugs.webkit.org/show_bug.cgi?id=152329
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-16
Reviewed by Timothy Hatcher.
Introduce a real space in the content instead of style specific
margins so the existing copy/paste mechanism (innerText)
will have spaces between index/key and value.
- UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
(.object-tree-array-index .index-name): Deleted.
- UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._titleFragment):
(WebInspector.ObjectTreeArrayIndexTreeElement):
- UserInterface/Views/ObjectTreeMapEntryTreeElement.css:
(.object-tree-array-index.object-tree-map-entry > .titles > .title > .index-name): Deleted.
- UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
(WebInspector.ObjectTreeMapEntryTreeElement.prototype.titleFragment):
(WebInspector.ObjectTreeMapEntryTreeElement):
- UserInterface/Views/ObjectTreeSetIndexTreeElement.js:
(WebInspector.ObjectTreeSetIndexTreeElement.prototype._titleFragment):
(WebInspector.ObjectTreeSetIndexTreeElement):
- 9:40 AM Changeset in webkit [194149] by
-
- 3 edits3 adds in trunk
Web Inspector: Typing object literal in the console causes a parse error
https://bugs.webkit.org/show_bug.cgi?id=141737
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-16
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
Provide a convenience in console evaluations for JSON object like input.
If the console input starts with '{' and ends with '}' wrap the input
in parenthesis to force evaluation as an expression.
For example, input "{a:1}" would be convenience wrapped to "({a:1})"
and produce the expected object. This helps avoid the unusual treatment
of "{a:1}" as program containing a labeled statement, which is often
not what the user expects. And in more realistic cases, like "{a:1, b:2}",
produce a SyntaxError.
- UserInterface/Controllers/RuntimeManager.js:
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
Detect and convenience wrap the given expression.
LayoutTests:
- inspector/controller/runtime-controller-expected.txt: Added.
- inspector/controller/runtime-controller.html: Added.
- 9:38 AM Changeset in webkit [194148] by
-
- 2 edits in trunk/Source/WebInspectorUI
Uncaught Exception View has undefined exception URL
https://bugs.webkit.org/show_bug.cgi?id=152327
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-16
Reviewed by Darin Adler.
- UserInterface/Debug/UncaughtExceptionReporter.js:
(handleUncaughtException):
Use ErrorEvent's filename property, not url which is undefined.
- 9:36 AM Changeset in webkit [194147] by
-
- 2 edits in trunk/Source/WebInspectorUI
Uncaught Exception: ReferenceError: Can't find variable: resolvedValue
https://bugs.webkit.org/show_bug.cgi?id=152326
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-16
Reviewed by Darin Adler.
- UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement.prototype._contextMenuHandler):
This identifier is used later on, so assign it here.
- 9:34 AM Changeset in webkit [194146] by
-
- 2 edits in trunk/Tools
Enforce temporarily bots to sync WebKit and WPT testharness.js
https://bugs.webkit.org/show_bug.cgi?id=152334
Reviewed by Darin Adler.
- Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer._copy_webkit_test_files): Temporarily overwrite wpt testharness.js with WebKit testharness.js.
- 9:32 AM Changeset in webkit [194145] by
-
- 2 edits in trunk/Websites/perf.webkit.org
The chart status on v3 UI sometimes show wrong revision ranges
https://bugs.webkit.org/show_bug.cgi?id=152331
Reviewed by Chris Dumez.
The bug was caused by the status view not taking the data sampling that happens in TimeSeriesChart into account
when finding the previous point. Take this into account by using InteractiveTimeSeries.currentPoint(-1) which
finds the sampled data point immediately preceding the current point (at which the indicator is shown).
- public/v3/components/chart-status-view.js:
(ChartStatusView.prototype.updateStatusIfNeeded):
- 9:30 AM Changeset in webkit [194144] by
-
- 2 edits in trunk/Source/JavaScriptCore
Builtin source should be minified more
https://bugs.webkit.org/show_bug.cgi?id=152290
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-16
Reviewed by Darin Adler.
- Scripts/builtins/builtins_model.py:
(BuiltinFunction.fromString):
Remove primarily empty lines that would just introduce clutter.
We only do the minification in non-Debug configurations, which
is determined by the CONFIGURATION environment variable. You can
see how tests would generate differently, like so:
shell> CONFIGURATION=Release ./Tools/Scripts/run-builtins-generator-tests
- 9:12 AM WebKitGTK/2.10.x edited by
- (diff)
- 6:53 AM Changeset in webkit [194143] by
-
- 3 edits29 adds in trunk
Fix computation of min|max-content contribution of non-replaced blocks
https://bugs.webkit.org/show_bug.cgi?id=152004
Reviewed by Darin Adler.
Source/WebCore:
WebKit currently always returns the min preferred logical
width for the min-content contribution (and the max preferred
logical width for the max-content contribution) for
non-replaced blocks. That is not correct according to specs
https://drafts.csswg.org/css-sizing/#block-intrinsic.
The min-content and max-content contributions actually depend
on the computed inline size of the block:
- for min-content,max-content or definite sizes: min-content
and max-content contributions are the inline size plus border,
margin and padding.
- otherwise: min-content contribution is the min-content size
and max-content contribution is the max-content size (in both
cases plus border, padding and margin).
Tests: fast/css-intrinsic-dimensions/auto-maxcontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/auto-mincontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/fillavailable-maxcontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/fillavailable-mincontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/fitcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/fitcontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-1.html
fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-2.html
fast/css-intrinsic-dimensions/indefinite-percent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/indefinite-percent-mincontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/maxcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/maxcontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/mincontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html
fast/css-intrinsic-dimensions/mincontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
LayoutTests:
- fast/css-intrinsic-dimensions/auto-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/auto-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/auto-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/auto-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/fillavailable-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/fillavailable-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/fillavailable-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/fillavailable-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/fitcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/fitcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/fitcontent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/fitcontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-1-expected.html: Added.
- fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-1.html: Added.
- fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-2-expected.html: Added.
- fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-2.html: Added.
- fast/css-intrinsic-dimensions/indefinite-percent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/indefinite-percent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/indefinite-percent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/indefinite-percent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/maxcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/maxcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/maxcontent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/maxcontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/mincontent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/mincontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/mincontent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
- fast/css-intrinsic-dimensions/mincontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
- fast/css-intrinsic-dimensions/resources/intrinsic-size-contribution.css: Added.
(.container):
(.item):
(.border):
(.padding):
(.margin):
- 5:30 AM Changeset in webkit [194142] by
-
- 7 edits in trunk/LayoutTests
Mac EWS bots frequently fail several wpt tests
https://bugs.webkit.org/show_bug.cgi?id=152257
Unreviewed.
LayoutTests/imported/w3c:
Rebasing according WPT testharness.js current version.
- web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt:
- web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02-expected.txt:
- web-platform-tests/dom/nodes/Node-isEqualNode-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
LayoutTests:
- TestExpectations: marking some tests as flaky.
- 4:47 AM Changeset in webkit [194141] by
-
- 23 edits7 deletes in trunk
Unreviewed, rolling out r194135.
https://bugs.webkit.org/show_bug.cgi?id=152333
due to missing OSR exit materialization support in FTL
(Requested by yusukesuzuki on #webkit).
Reverted changeset:
"[ES6] Handle new_generator_func / new_generator_func_exp in
DFG / FTL"
https://bugs.webkit.org/show_bug.cgi?id=152227
http://trac.webkit.org/changeset/194135
- 4:42 AM EnvironmentVariables edited by
- (diff)
- 4:37 AM EnvironmentVariables edited by
- (diff)
- 4:31 AM EnvironmentVariables edited by
- (diff)
- 3:13 AM Changeset in webkit [194140] by
-
- 18 edits in trunk
[Fetch API] Add fetch API compile time flag
https://bugs.webkit.org/show_bug.cgi?id=152254
Reviewed by Darin Adler.
.:
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- Scripts/webkitperl/FeatureList.pm:
WebKitLibraries:
- win/tools/vsprops/FeatureDefines.props:
- win/tools/vsprops/FeatureDefinesCairo.props:
- 2:05 AM Changeset in webkit [194139] by
-
- 2 edits in trunk/Tools
Unreviewed.
Added files that have impact in building Streams API to the watchlist.
- Scripts/webkitpy/common/config/watchlist:
- 1:32 AM Changeset in webkit [194138] by
-
- 2 edits in trunk/Tools
Unreviewed.
Added imported tests to Streams API watchlist.
- Scripts/webkitpy/common/config/watchlist:
- 1:18 AM Changeset in webkit [194137] by
-
- 2 edits in trunk/Tools
Remove default copy of wpt testharness.js when launching wpt server
https://bugs.webkit.org/show_bug.cgi?id=152298
Reviewed by Darin Adler.
- Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer._copy_webkit_test_files): Deleted default copy of WebKit testharness.js to WPT.
- 1:16 AM Changeset in webkit [194136] by
-
- 4 edits in trunk/LayoutTests
Align WebKit testharness.js with WPT testharness.js
https://bugs.webkit.org/show_bug.cgi?id=152297
Reviewed by Darin Adler.
Cosmetic changes (output:true is overriden by WK testharnessreport.js)
To remove the warning "WPT tests are not using the same testharness.js file as other WebKit Layout tests."
- media/track/getCueAsHTMLCrash.html: Adding testharnessreport.js and removing call to dumpAsText.
- media/track/getCueAsHTMLCrash-expected.txt: Rebasing as tests are now outputting results.
- resources/testharness.js:
- 1:10 AM Changeset in webkit [194135] by
-
- 23 edits7 adds in trunk
[ES6] Handle new_generator_func / new_generator_func_exp in DFG / FTL
https://bugs.webkit.org/show_bug.cgi?id=152227
Reviewed by Saam Barati.
Source/JavaScriptCore:
This patch introduces new_generator_func / new_generator_func_exp into DFG and FTL.
We add a new DFG Node, NewGeneratorFunction. It will construct a function with GeneratorFunction's structure.
The structure of GeneratorFunction is different from one of Function because GeneratorFunction has the different proto.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGClobbersExitState.cpp:
(JSC::DFG::clobbersExitState):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToPhantomNewFunction):
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::isFunctionAllocation):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewFunction):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStoreBarrierInsertionPhase.cpp:
- dfg/DFGStructureRegistrationPhase.cpp:
(JSC::DFG::StructureRegistrationPhase::run):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction):
- tests/stress/generator-function-create-optimized.js: Added.
(shouldBe):
(g):
(test.return.gen):
(test):
(test2.gen):
(test2):
- tests/stress/generator-function-declaration-sinking-no-double-allocate.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(call):
(f):
(sink):
- tests/stress/generator-function-declaration-sinking-osrexit.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(g):
(f):
(sink):
- tests/stress/generator-function-declaration-sinking-put.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(g):
(f):
(sink):
- tests/stress/generator-function-expression-sinking-no-double-allocate.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(call):
(f):
(sink):
- tests/stress/generator-function-expression-sinking-osrexit.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(g):
(sink):
- tests/stress/generator-function-expression-sinking-put.js: Added.
(shouldBe):
(GeneratorFunctionPrototype):
(g):
(sink):
LayoutTests:
Make the test taking longer time.
- js/regress/script-tests/generator-function-create.js:
(test):
- 12:57 AM Changeset in webkit [194134] by
-
- 2 edits in trunk/LayoutTests
[GTK] Correct the wrong expectation introduced in r194106
https://bugs.webkit.org/show_bug.cgi?id=152325
Unreviewed GTK gardening
Patch by Tomas Popela <tpopela@redhat.com> on 2015-12-16
- platform/gtk/http/tests/plugins/plugin-javascript-access-expected.txt:
Dec 15, 2015:
- 11:38 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 11:15 PM Changeset in webkit [194133] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Perf dashboard's cycler page should use v3 UI
https://bugs.webkit.org/show_bug.cgi?id=152324
Reviewed by Chris Dumez.
Use the v3 UI in cycler.html after r194130.
- public/cycler.html:
- public/v3/index.html: Removed the reference to a non-existent platform-selector.js.
- 10:28 PM Changeset in webkit [194132] by
-
- 6 edits in trunk/Source/WebCore
FontCascade cleanup: Remove ::drawSimpleText and ::drawComplexText.
https://bugs.webkit.org/show_bug.cgi?id=152323
Reviewed by Myles C. Maxfield.
Platform code for ::drawComplexText() is redundant and has
no platform dependent logic. Move it all to ::drawText()
No change in functionality.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::glyphBufferForTextRun):
(WebCore::FontCascade::drawText):
(WebCore::FontCascade::drawSimpleText): Deleted.
- platform/graphics/FontCascade.h:
- platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
(WebCore::FontCascade::drawComplexText): Deleted.
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::drawComplexText): Deleted.
- platform/graphics/win/FontWin.cpp:
(WebCore::FontCascade::drawComplexText): Deleted.
- 9:54 PM Changeset in webkit [194131] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: fix broken 32-bit JSC tests. Just need to assign a scratch register.
https://bugs.webkit.org/show_bug.cgi?id=152191
Not reviewed.
- jit/JITArithmetic.cpp:
(JSC::JIT::emitBitBinaryOpFastPath):
- 9:19 PM Changeset in webkit [194130] by
-
- 3 edits48 adds in trunk/Websites/perf.webkit.org
Add v3 UI to perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=152311
Reviewed by Chris Dumez.
Add the third iteration of the perf dashboard UI. UI for viewing and modifying analysis tasks is coming soon.
The v3 UI is focused on speed, and removes all third-party script dependencies including jQuery, d3, and Ember.
Both the DOM-based UI and graphing are implemented manually.
The entire app is structured using new component library implemented in components/base.js. Each component is
an instance of a subclass of ComponentBase which owns a single DOM element. Each subclass may supply static
methods named htmlTemplate and cssTemplate as the template for a component instance. ComponentBase automatically
clones the templates inside the associated element (or its shadow root on the supported browsers). Each subclass
must supply a method called "render()" which constructs and updates the DOM as needed.
There is a special component called Page, which represents an entire page. Each Page is opened by PageRouter's
"route()" function. Each subclass of Page supplies "open()" for initialization and "updateFromSerializedState()"
for a hash URL transition.
The key feature of the v3 UI is the split of time series into chunks called clusters (see r194120). On an internal
instance of the dashboard, the v2 UI downloads 27MB of data whereas the same page loads only 3MB of data in the v3.
The key logic for fetching time series in chunks is implemented by MeasurementSet in /v3/models/measurement-set.js.
We first fetch the cached primary cluster (the cluster that contains the newest data) at:
/data/measurement-set-<platform-id>-<metric-id>.json
If that's outdated according to lastModified in manifest.json, then we immediately re-fetch the primary cluster at:
/api/measurement-set/?platform=<platform-id>&metric=<metric-id>
Once the up-to-date primary cluster is fetched, we fetch all "secondary" clusters. For each cluster being fetched,
including the primary, we invoke registered callbacks.
In addition, the v3 UI reduces the initial page load time by loading a single bundled JS file generated by
tools/bundle-v3-scripts.py. index.html has a fallback to load all 44 JS files individually during development.
- public/api/analysis-tasks.php:
(fetch_and_push_bugs_to_tasks): Added the code to fetch start and end run times. This is necessary in V3 UI
because no longer fetch the entire time series. See r194120 for the new measurement set JSON API.
(format_task): Compute the category of an analysis task based on "result" value. This will be re-vamped once
I add the UI for the analysis task page in v3.
- public/include/json-header.php:
(require_format): CamelCase the name.
(require_match_one_of_values): Ditto.
(validate_arguments): Renamed from require_existence_of and used in measurement-set.php landed in r194120.
- public/v3: Added.
- public/v3/components: Added.
- public/v3/components/base.js: Added.
(ComponentBase): The base component class.
(ComponentBase.prototype.element): Returns the DOM element associated with the DOM element.
(ComponentBase.prototype.content): Returns the shadow root if one exists and the associated element otherwise.
(ComponentBase.prototype.render): To be implemented by a subclass.
(ComponentBase.prototype.renderReplace): A helper function to "render" DOM contents.
(ComponentBase.prototype._constructShadowTree): Called inside the constructor to instantiate the templates.
(ComponentBase.prototype._recursivelyReplaceUnknownElementsByComponents): Instantiates components referred by
its element name inside the instantiated content.
(ComponentBase.isElementInViewport): A helper function. Returns true if the element is in the viewport and it has
non-zero width and height.
(ComponentBase.defineElement): Defines a custom element that can be automatically instantiated from htmlTemplate.
(ComponentBase.createElement): A helper function to create DOM tree to be used in "render()" method.
(ComponentBase._addContentToElement): A helper for "createElement".
(ComponentBase.createLink): A helper function to create a hyperlink or another clickable element (via callback).
(ComponentBase.createActionHandler): A helper function to create an event listener that prevents the default action
and stops the event propagation.
- public/v3/components/button-base.js: Added.
- public/v3/components/chart-status-view.js: Added.
(ChartStatusView): A component that reports the current status of time-series-chart. It's subclasses by
ChartPaneStatusView to provide additional information in the charts page's panes.
- public/v3/components/close-button.js: Added.
(CloseButton):
- public/v3/components/commit-log-viewer.js: Added.
(CommitLogViewer): A component that lists commit revisions along with commit messages for a range of data points.
- public/v3/components/interactive-time-series-chart.js: Added.
(InteractiveTimeSeriesChart): A subclass of InteractiveTimeSeriesChart with interactivity (selection & indicator).
Selection and indicator are mutually exclusive.
- public/v3/components/pane-selector.js: Added.
(PaneSelector): A component for selecting (platform, metric) pair to add in the charts page.
- public/v3/components/spinner-icon.js: Added.
- public/v3/components/time-series-chart.js: Added.
(TimeSeriesChart): A canvas-based chart component without interactivity. It takes a source list and options as
the constructor arguments. A source list is a list of measurement sets (measurement-set.js) with drawing options.
This component fetches data via MeasurementSet.fetchBetween inside TimeSeriesChart.prototype.setDomain and
progressively updates the charts as more data arrives. The canvas is updated on animation frame via rAF and all
layout and rendering metrics are lazily computed in _layout. In addition, this component samples data before
rendering the chart when there are more data points per pixel in _ensureSampledTimeSeries.
- public/v3/index.html: Added. Loads bundled-scripts.js if it exists, or individual script files otherwise.
- public/v3/instrumentation.js: Added. This class is used to gather runtime statistics of v3 UI. (It measures
the performance of the perf dashboard UI).
- public/v3/main.js: Added. Bootstraps the app.
(main):
(fetchManifest):
- public/v3/models: Added.
- public/v3/models/analysis-task.js: Added.
- public/v3/models/bug-tracker.js: Added.
- public/v3/models/bug.js: Added.
- public/v3/models/builder.js: Added.
- public/v3/models/commit-log.js: Added.
- public/v3/models/data-model.js: Added.
(DataModelObject): The base class for various data objects that correspond to database tables. It supplies static
hash map to find entries by id as well as other keys.
(LabeledObject): A subclass of DataModelObject with the capability to find an object via its name.
- public/v3/models/measurement-cluster.js: Added.
(MeasurementCluster): Represents a single cluster or a chunk of data in a measurement set.
- public/v3/models/measurement-set.js: Added.
(MeasurementSet): Represents a measurement set.
(MeasurementSet.findSet): Returns the singleton set given (metric, platform). We use singleton to avoid issuing
multiple HTTP requests for the same JSON when there are multiple TimeSeriesChart that show the same graph (e.g. on
charts page with overview and main charts).
(MeasurementSet.prototype.findClusters): Finds the list of clusters to fetch in a given time range.
(MeasurementSet.prototype.fetchBetween): Fetch clusters for a given time range and calls callback whenever new data
arrives. The number of callbacks depends on the how many clusters need to be newly fetched.
(MeasurementSet.prototype._fetchSecondaryClusters): Fetches non-primary (non-latest) clusters.
(MeasurementSet.prototype._fetch): Issues a HTTP request to fetch a cluster.
(MeasurementSet.prototype._didFetchJSON): Called when a cluster is fetched.
(MeasurementSet.prototype._failedToFetchJSON): Called when the fetching of a cluster has failed.
(MeasurementSet.prototype._invokeCallbacks): Invokes callbacks upon an approval of a new cluster.
(MeasurementSet.prototype._addFetchedCluster): Adds the newly fetched cluster in the order.
(MeasurementSet.prototype.fetchedTimeSeries): Returns a time series that contains data from all clusters that have
been fetched.
(TimeSeries.prototype.findById): Additions to TimeSeries defined in /v2/data.js.
(TimeSeries.prototype.dataBetweenPoints): Ditto.
(TimeSeries.prototype.firstPoint): Ditto.
- public/v3/models/metric.js: Added.
- public/v3/models/platform.js: Added.
- public/v3/models/repository.js: Added.
- public/v3/models/test.js: Added.
- public/v3/pages: Added.
- public/v3/pages/analysis-category-page.js: Added. The "Analysis" page that lists the analysis tasks.
- public/v3/pages/analysis-category-toolbar.js: Added. The toolbar to filter analysis tasks based on its category
(unconfirmed, bisecting, identified, closed) and a keyword.
- public/v3/pages/analysis-task-page.js: Added. Not implemented yet. It just has the hyperlink to the v2 UI.
- public/v3/pages/chart-pane-status-view.js: Added.
(ChartPaneStatusView): A subclass of ChartStatusView used in the charts page. In addition to the current value,
comparison to baseline/target, it shows the list of repository revisions (e.g. WebKit revision, OS version).
- public/v3/pages/chart-pane.js: Added.
(ChartPane): A component a pane in the charts page. Each pane has the overview chart and the main chart. The zooming
is synced across all panes in the charts page.
- public/v3/pages/charts-page.js: Added. Charts page.
- public/v3/pages/charts-toolbar.js: Added. The toolbar to set the number of days to show. This affects the overview
chart's domain in each pane.
- public/v3/pages/create-analysis-task-page.js: Added.
(CreateAnalysisTaskPage): A page that gets shown momentarily while creating a new analysis task.
- public/v3/pages/dashboard-page.js: Added. A dashboard page.
- public/v3/pages/dashboard-toolbar.js: Added. Its toolbar with buttons to select the number of days to show.
- public/v3/pages/domain-control-toolbar.js: Added. An abstract superclass of charts and dashboard toolbars.
- public/v3/pages/heading.js: Added. A component for displaying the header and toolbar, if exists, on each page.
- public/v3/pages/page-router.js: Added. This class is responsible for updating the URL hashes as well as opening
and updating each page when the hash changes (via back/forward navigation).
- public/v3/pages/page-with-charts.js: Added. An abstract subclass of page used by dashboards and charts page.
Supplies helper functions for creating TimeSeriesChart options.
- public/v3/pages/page-with-heading.js: Added. An abstract subclass of page that uses the heading component.
- public/v3/pages/page.js: Added. The Page component.
- public/v3/pages/toolbar.js: Added. An abstract toolbar component.
- public/v3/remote.js: Added.
(getJSON): Fetches JSON from the remote server.
(getJSONWithStatus): Ditto. Rejects the response if the status is not "OK".
(PrivilegedAPI.sendRequest): Posts a HTTP request to a privileged API in /privileged-api/.
(PrivilegedAPI.requestCSRFToken): Creates a new CSRF token to request a privileged API post.
- tools/bundle-v3-scripts.py: Added.
(main): Bundles js files together and minifies them by jsmin.py for the v3 UI. Without this script, we're forced to
download 44 JS files or making each JS file contain multiple classes.
- tools/jsmin.py: Copied from WebInspector / JavaScriptCore code.
- 7:09 PM Changeset in webkit [194129] by
-
- 7 edits in trunk/LayoutTests
Rebaseline fast/viewport/ios tests for ios-simulator, remove failure expectation and re-enable test directory.
https://bugs.webkit.org/show_bug.cgi?id=152135
Reviewed by Simon Fraser.
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-expected.txt:
- platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-tall-expected.txt:
- platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-expected.txt:
- platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-no-shrink-to-fit-expected.txt:
- 5:11 PM Changeset in webkit [194128] by
-
- 1 edit2 moves16 adds1 delete in trunk/LayoutTests
Verify that Referer Policy within Content-Disposition:attachment sandbox is always ReferrerPolicyNever
https://bugs.webkit.org/show_bug.cgi?id=152260
<rdar://problem/23884579>
Reviewed by Andy Estes.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-always-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-always.html: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-default-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-default.html: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-never-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-never.html: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer-when-downgrade-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer-when-downgrade.html: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer.html: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-origin-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-origin.html: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-unsafe-url-expected.txt: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-unsafe-url.html: Added.
- http/tests/contentdispositionattachmentsandbox/referer-header-stripped.html: Added.
- http/tests/contentdispositionattachmentsandbox/resources/referer-header-stripped-frame.php: Added.
- http/tests/contentdispositionattachmentsandbox/resources/referer-header-stripped.js: Added.
- http/tests/contentdispositionattachmentsandbox/resources/subresource-request-not-include-referer-header-frame.php: Removed.
- http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header-expected.txt: Removed.
- http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header.html: Removed.
- 5:05 PM Changeset in webkit [194127] by
-
- 4 edits1 add in trunk/LayoutTests
Rebaseline some page overlay tests for WK1
- platform/mac-wk1/pageoverlay/overlay-installation-expected.txt:
- platform/mac-wk1/pageoverlay/overlay-large-document-expected.txt:
- platform/mac-wk1/pageoverlay/overlay-large-document-scrolled-expected.txt:
- platform/mac-wk1/pageoverlay/overlay-small-frame-mouse-events-expected.txt: Added.
- 5:05 PM Changeset in webkit [194126] by
-
- 9 edits in trunk/Source/JavaScriptCore
Introducing ScratchRegisterAllocator::PreservedState.
https://bugs.webkit.org/show_bug.cgi?id=152315
Reviewed by Geoffrey Garen.
restoreReusedRegistersByPopping() should always be called with 2 values that
matches the expectation of preserveReusedRegistersByPushing(). Those 2 values
are the number of bytes preserved and the ExtraStackSpace requirement. By
encapsulating them in a ScratchRegisterAllocator::PreservedState, we can make
it less error prone when calling restoreReusedRegistersByPopping(). Now, we only
need to pass it the appropriate PreservedState that its matching
preserveReusedRegistersByPushing() returned.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessGenerationState::restoreScratch):
(JSC::AccessCase::generate):
(JSC::PolymorphicAccess::regenerate):
- bytecode/PolymorphicAccess.h:
(JSC::AccessGenerationState::AccessGenerationState):
- ftl/FTLCompileBinaryOp.cpp:
(JSC::FTL::generateBinaryBitOpFastPath):
(JSC::FTL::generateRightShiftFastPath):
(JSC::FTL::generateBinaryArithOpFastPath):
- ftl/FTLLazySlowPath.cpp:
(JSC::FTL::LazySlowPath::generate):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::emitStoreBarrier):
- jit/ScratchRegisterAllocator.cpp:
(JSC::ScratchRegisterAllocator::allocateScratchGPR):
(JSC::ScratchRegisterAllocator::allocateScratchFPR):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
- jit/ScratchRegisterAllocator.h:
(JSC::ScratchRegisterAllocator::usedRegisters):
(JSC::ScratchRegisterAllocator::PreservedState::PreservedState):
- 4:55 PM Changeset in webkit [194125] by
-
- 10 edits in trunk/Source
[Mac] Gesture Events should not have negative scale
https://bugs.webkit.org/show_bug.cgi?id=151065
<rdar://problem/23474123>
Reviewed by Anders Carlsson.
- Shared/NativeWebGestureEvent.h:
- Shared/mac/NativeWebGestureEventMac.mm:
(WebKit::distanceForTouches):
(WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
Compute the distance between the two oldest touches, and use that as
the scale (really the gesture diameter) on the event, instead of
passing through AppKit's magnification (which is computed differently).
This matches the documented behavior of the existing gesture events on iOS.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView touchesBeganWithEvent:]):
(-[WKWebView touchesMovedWithEvent:]):
(-[WKWebView touchesEndedWithEvent:]):
(-[WKWebView touchesCancelledWithEvent:]):
- UIProcess/API/mac/WKView.mm:
(-[WKView touchesBeganWithEvent:]):
(-[WKView touchesMovedWithEvent:]):
(-[WKView touchesEndedWithEvent:]):
(-[WKView touchesCancelledWithEvent:]):
Plumb touch events through to WebViewImpl.
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::magnifyWithEvent):
(WebKit::WebViewImpl::touchesOrderedByAge):
(WebKit::WebViewImpl::touchesBeganWithEvent):
(WebKit::WebViewImpl::touchesMovedWithEvent):
(WebKit::WebViewImpl::touchesEndedWithEvent):
(WebKit::WebViewImpl::touchesCancelledWithEvent):
(WebKit::WebViewImpl::rotateWithEvent):
Keep track of the most recent incoming touches, by identifier, in age order.
Pass them through to NativeWebGestureEvent so it can determine the gesture diameter.
- page/EventHandler.cpp:
(WebCore::EventHandler::clear):
- page/EventHandler.h:
Make it possible to use m_gestureInitialDiameter for Mac gesture events too.
- 4:52 PM Changeset in webkit [194124] by
-
- 4 edits in trunk/Source/WebKit2
Call DatabaseManager directly from WKBundle.cpp
https://bugs.webkit.org/show_bug.cgi?id=152317
Reviewed by Tim Horton.
This is in preparation for getting rid of some old database manager code.
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleClearAllDatabases):
(WKBundleSetDatabaseQuota):
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearAllDatabases): Deleted.
(WebKit::InjectedBundle::setDatabaseQuota): Deleted.
- WebProcess/InjectedBundle/InjectedBundle.h:
- 4:23 PM Changeset in webkit [194123] by
-
- 6 edits2 adds in trunk
Web Inspector: Localize "global code" and "eval code" strings
https://bugs.webkit.org/show_bug.cgi?id=152313
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/CallFrame.js:
(WebInspector.CallFrame.fromPayload):
Localize the strings given to use from the backend.
LayoutTests:
- inspector/debugger/js-stacktrace-expected.txt:
- inspector/debugger/js-stacktrace.html:
- inspector/model/stack-trace-expected.txt: Added.
- inspector/model/stack-trace.html: Added.
- 4:06 PM Changeset in webkit [194122] by
-
- 2 edits in trunk/Source/WebCore
Try to fix the CMake build
- CMakeLists.txt:
- 4:00 PM Changeset in webkit [194121] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Fix v2 UI after r194093.
- public/v2/data.js:
- 3:57 PM Changeset in webkit [194120] by
-
- 2 edits2 adds in trunk/Websites/perf.webkit.org
Add /api/measurement-set for v3 UI
https://bugs.webkit.org/show_bug.cgi?id=152312
Rubber-stamped by Chris Dumez.
The new API JSON allows the front end to fetch measured data in chunks called a "cluster" as specified
in config.json for each measurement set specified by the pair of a platform and a metric.
When the front end needs measured data in a given time range (t_0, t_1) for a measurement set, it first
fetches the primary cluster by /api/measurement-set/?platform=<platform-id>&metric=<metric-id>.
The primary cluster is the last cluster in the set (returning the first cluster here is not useful
since we don't typically show very old data), and provides the information needed to fetch other clusters.
Fetching the primary cluster also creates JSON files at:
/data/measurement-set-<platform-id>-<metric-id>-<cluster-end-time>.json
to allow latency free access for secondary clusters. The front end code can also fetch the cache of
the primary cluster at: /data/measurement-set-<platform-id>-<metric-id>.json.
Because the front end code has to behave as if all data is fetched, each cluster contains one data point
immediately before the first data point and one immediately after the last data point. This avoids having
to fetch multiple empty clusters for manually specified baseline data. To support this behavior, we generate
all clusters for a given measurement set at once when the primary cluster is requested.
Furthermore, all measurement sets are divided at the same time into clusters so that the boundary of clusters
won't shift as more data are reported to the server.
- config.json: Added clusterStart and clusterSize as options.
- public/api/measurement-set.php: Added.
(main):
(MeasurementSetFetcher::construct):
(MeasurementSetFetcher::fetch_config_list): Finds configurations that belongs to this (platform, metric) pair.
(MeasurementSetFetcher::at_end): Returns true if we've reached the end of all clusters for this set.
(MeasurementSetFetcher::fetch_next_cluster): Generates the JSON data for the next cluster. We generate clusters
in increasing chronological order (the oldest first and the newest last).
(MeasurementSetFetcher::execute_query): Executes the main query.
(MeasurementSetFetcher::format_map): Returns the mapping of a measurement field to an array index. This removes
the need to have key names for each measurement and reduces the JSON size by ~10%.
(MeasurementSetFetcher::format_run): Creates an array that contains data for a single measurement. The order
matches that of keys in format_map.
(MeasurementSetFetcher::parse_revisions_array): Added. Copied from runs.php.
- tests/api-measurement-set.js: Added. Added tests for /api/measurement-set.
- 3:07 PM Changeset in webkit [194119] by
-
- 1 edit4 adds in branches/safari-601.1.46-branch/LayoutTests
Merge r192959. rdar://problem/23903291
- 2:50 PM Changeset in webkit [194118] by
-
- 2 edits in trunk/Source/WebCore
Try to fix the CMake build
- CMakeLists.txt:
- 2:46 PM Changeset in webkit [194117] by
-
- 14 edits7 adds in trunk
REGRESSION (r191849): There's no yellow bouncy highlight when using Find on Page on iOS
https://bugs.webkit.org/show_bug.cgi?id=152241
<rdar://problem/23642574>
Reviewed by Simon Fraser.
Tests: pageoverlay/overlay-small-frame-mouse-events.html
pageoverlay/overlay-small-frame-paints.html
- page/PageOverlay.cpp:
(WebCore::PageOverlay::bounds):
Revert r191849's change that made bounds() actually return the frame()
if we frame is manually overriden.
(WebCore::PageOverlay::mouseEvent):
Convert the mouse event the rest of the way into overlay coordinates (by
applying the overlay's frame origin) before deciding whether to handle
the event.
- page/PageOverlay.h:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- testing/Internals.cpp:
(WebCore::Internals::installMockPageOverlay):
- testing/Internals.h:
- testing/Internals.idl:
- testing/MockPageOverlay.cpp: Added.
(WebCore::MockPageOverlay::create):
(WebCore::MockPageOverlay::MockPageOverlay):
(WebCore::MockPageOverlay::setFrame):
- testing/MockPageOverlay.h: Added.
(WebCore::MockPageOverlay::overlay):
- testing/MockPageOverlay.idl: Added.
- testing/MockPageOverlayClient.cpp:
(WebCore::MockPageOverlayClient::installOverlay):
(WebCore::MockPageOverlayClient::uninstallAllOverlays):
(WebCore::MockPageOverlayClient::pageOverlayDestroyed):
(WebCore::MockPageOverlayClient::drawRect):
(WebCore::MockPageOverlayClient::mouseEvent):
- testing/MockPageOverlayClient.h:
Make internals.installMockPageOverlay return a MockPageOverlay object so
tests can manipulate their overlay. For now, expose setFrame.
Also, log when MockPageOverlayClient gets asked to paint or receives a mouse event,
which will show up in test output. Slightly unconventional, but very convenient.
- pageoverlay/overlay-small-frame-mouse-events-expected.txt: Added.
- pageoverlay/overlay-small-frame-mouse-events.html: Added.
Add a test ensuring that small-frame overlays get mouse events.
- pageoverlay/overlay-small-frame-paints-expected.txt: Added.
- pageoverlay/overlay-small-frame-paints.html: Added.
Add a test ensuring that small-frame overlays get paint callbacks.
- 2:33 PM Changeset in webkit [194116] by
-
- 14 edits in trunk/Source/WebInspectorUI
Web Inspector: Convert Sidebar classes to use View
https://bugs.webkit.org/show_bug.cgi?id=152274
Reviewed by Brian Burg.
Updated Sidebar and SidebarPanel to inherit from View. Mostly mechanical changes.
Once the DetailsSection class family inherits from View (https://webkit.org/b/152269),
directly modifying a sidebar's 'contentView' element will rarely be necessary.
- UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel):
- UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
Add/remove panels as subviews of the sidebar.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._filterDidChange):
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
- UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildLayerInfoSection):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
- UserInterface/Views/ProbeDetailsSidebarPanel.js:
(WebInspector.ProbeDetailsSidebarPanel.prototype.set inspectedProbeSets):
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
- UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
- UserInterface/Views/SidebarPanel.js:
Inherit from View.
(WebInspector.SidebarPanel):
Replace the content element (the portion of the view excluding navigation
bars, filter bars, etc.) with a View object. A sidebar's content can be a mixture
of unwrapped DOM elements and View objects. For now, the content view's element
will be mutated directly, but once the DetailsSection class family inherits from
the View class the handling of details sections will be simplified.
(WebInspector.SidebarPanel.prototype.get contentView):
(WebInspector.SidebarPanel.prototype.shown):
(WebInspector.SidebarPanel.prototype.hidden):
(WebInspector.SidebarPanel.prototype.get contentElement): Deleted.
Replaced by WebInspector.SidebarPanel.prototype.get contentView.
- UserInterface/Views/StyleDetailsPanel.js:
Inherit from View.
(WebInspector.StyleDetailsPanel):
(WebInspector.StyleDetailsPanel.prototype.get element): Deleted.
Defer to View.element getter.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype._updateTimelineOverviewHeight):
- UserInterface/Views/VisualStyleDetailsPanel.js:
(WebInspector.VisualStyleDetailsPanel):
(WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
- 2:10 PM Changeset in webkit [194115] by
-
- 5 edits1 copy in trunk/Tools
REGRESSION (r192375): DumpRenderTree.app exits immediately with no error
<http://webkit.org/b/152314>
Reviewed by Daniel Bates.
The change to DumpRenderTreeMain.mm in r192375 caused the iOS
code path to exit immediately when calling main().
Unfortunately, DumpRenderTreeMain.mm was used for both
DumpRenderTree command-line binary and DumpRenderTree.app, which
meant that the app would exit immediately with no error code
when run!
The workaround is to introduce a separate source file called
DumpRenderTreeAppMain.mm, similar to what WebKitTestRunner
already does.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Add
DumpRenderTreeAppMain.mm to the project. Make it the only
compiled source for the DumpRenderTree.app target.
- DumpRenderTree/ios/DumpRenderTreeAppMain.mm: Copied from Tools/DumpRenderTree/mac/DumpRenderTreeMain.mm.
(main): Call DumpRenderTreeMain() on iOS. Assert on OS X in
case someone tries mistakenly to use the app.
- DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
Link to JavaScriptCore.framework on iOS for the assert.
- DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
Link to JavaScriptCore.framework on OS X for the assert. Remove
unneeded EXCLUDED_SOURCE_FILE_NAMES setting.
- DumpRenderTree/mac/DumpRenderTreeMain.mm:
(main): Add assert for iOS so that a crash occurs if someone
tries to run the wrong command.
- 1:55 PM Changeset in webkit [194114] by
-
- 11 edits in trunk
[Font Features] TrueType fonts trigger real features even when synthesis is applied
https://bugs.webkit.org/show_bug.cgi?id=152287
Reviewed by Darin Adler.
Source/WebCore:
When using a font feature that is synthesizable, and synthesis is triggered,
we should make sure to turn off the original font feature. Otherwise, the
feature will be applied twice on top of itself.
This worked for OpenType fonts, but not for TrueType fonts.
Tests: css3/font-variant-petite-caps-synthesis.html
css3/font-variant-small-caps-synthesis.html
css3/font-variant-petite-caps-synthesis-coverage.html
css3/font-variant-small-caps-synthesis-coverage.html
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::defaultSelectorForTrueTypeFeature):
(WebCore::removedFeature):
(WebCore::createCTFontWithoutSynthesizableFeatures):
LayoutTests:
Adding tests.
- css3/font-variant-petite-caps-synthesis-expected.html:
- css3/font-variant-petite-caps-synthesis.html:
- css3/font-variant-small-caps-synthesis-expected.html:
- css3/font-variant-small-caps-synthesis.html:
- css3/font-variant-petite-caps-synthesis-coverage-expected.html:
- css3/font-variant-petite-caps-synthesis-coverage.html:
- css3/font-variant-small-caps-synthesis-coverage-expected.html:
- css3/font-variant-small-caps-synthesis-coverage.html:
- 1:19 PM Changeset in webkit [194113] by
-
- 20 edits18 adds in trunk
Polymorphic operand types for DFG and FTL bit operators.
https://bugs.webkit.org/show_bug.cgi?id=152191
Reviewed by Saam Barati.
Source/JavaScriptCore:
- bytecode/SpeculatedType.h:
(JSC::isUntypedSpeculationForBitOps):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateUntypedForBitOps):
- Added check for types not supported by ValueToInt32, and therefore should be treated as untyped for bitops.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- Handled untyped operands.
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- Added DFG slow path functions for bitops.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitUntypedBitOp):
(JSC::DFG::SpeculativeJIT::compileBitwiseOp):
(JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp):
(JSC::DFG::SpeculativeJIT::compileShiftOp):
- dfg/DFGSpeculativeJIT.h:
- Added DFG backend support untyped operands for bitops.
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- Limit bitops strength reduction only to when we don't have untyped operands. This is because values that are not int32s need to be converted to int32. Without untyped operands, the ValueToInt32 node takes care of this. With untyped operands, we cannot use ValueToInt32, and need to do the conversion in the code emitted for the bitop node itself. For example:
5.5 | 0; yields 5 because ValueToInt32 converts the 5.5 to a 5.
"abc" | 0; would yield "abc" instead of the expected 0 if we let
strength reduction do its thing.
- ftl/FTLCompileBinaryOp.cpp:
(JSC::FTL::generateBinaryBitOpFastPath):
(JSC::FTL::generateRightShiftFastPath):
(JSC::FTL::generateBinaryOpFastPath):
- ftl/FTLInlineCacheDescriptor.h:
(JSC::FTL::BitAndDescriptor::BitAndDescriptor):
(JSC::FTL::BitAndDescriptor::icSize):
(JSC::FTL::BitAndDescriptor::nodeType):
(JSC::FTL::BitAndDescriptor::opName):
(JSC::FTL::BitAndDescriptor::slowPathFunction):
(JSC::FTL::BitAndDescriptor::nonNumberSlowPathFunction):
(JSC::FTL::BitOrDescriptor::BitOrDescriptor):
(JSC::FTL::BitOrDescriptor::icSize):
(JSC::FTL::BitOrDescriptor::nodeType):
(JSC::FTL::BitOrDescriptor::opName):
(JSC::FTL::BitOrDescriptor::slowPathFunction):
(JSC::FTL::BitOrDescriptor::nonNumberSlowPathFunction):
(JSC::FTL::BitXorDescriptor::BitXorDescriptor):
(JSC::FTL::BitXorDescriptor::icSize):
(JSC::FTL::BitXorDescriptor::nodeType):
(JSC::FTL::BitXorDescriptor::opName):
(JSC::FTL::BitXorDescriptor::slowPathFunction):
(JSC::FTL::BitXorDescriptor::nonNumberSlowPathFunction):
(JSC::FTL::BitLShiftDescriptor::BitLShiftDescriptor):
(JSC::FTL::BitLShiftDescriptor::icSize):
(JSC::FTL::BitLShiftDescriptor::nodeType):
(JSC::FTL::BitLShiftDescriptor::opName):
(JSC::FTL::BitLShiftDescriptor::slowPathFunction):
(JSC::FTL::BitLShiftDescriptor::nonNumberSlowPathFunction):
(JSC::FTL::BitRShiftDescriptor::BitRShiftDescriptor):
(JSC::FTL::BitRShiftDescriptor::icSize):
(JSC::FTL::BitRShiftDescriptor::nodeType):
(JSC::FTL::BitRShiftDescriptor::opName):
(JSC::FTL::BitRShiftDescriptor::slowPathFunction):
(JSC::FTL::BitRShiftDescriptor::nonNumberSlowPathFunction):
(JSC::FTL::BitURShiftDescriptor::BitURShiftDescriptor):
(JSC::FTL::BitURShiftDescriptor::icSize):
(JSC::FTL::BitURShiftDescriptor::nodeType):
(JSC::FTL::BitURShiftDescriptor::opName):
(JSC::FTL::BitURShiftDescriptor::slowPathFunction):
(JSC::FTL::BitURShiftDescriptor::nonNumberSlowPathFunction):
- Added support for bitop ICs.
- ftl/FTLInlineCacheSize.cpp:
(JSC::FTL::sizeOfBitAnd):
(JSC::FTL::sizeOfBitOr):
(JSC::FTL::sizeOfBitXor):
(JSC::FTL::sizeOfBitLShift):
(JSC::FTL::sizeOfBitRShift):
(JSC::FTL::sizeOfBitURShift):
- ftl/FTLInlineCacheSize.h:
- Added new bitop IC sizes. These are just estimates for now that work adequately, and are shown to not impact performance on benchmarks. We will re-tune these sizes values later in another patch once all snippet ICs have been added.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitAnd):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitOr):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitXor):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitRShift):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitLShift):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitURShift):
- Added support for bitop ICs.
- jit/JITLeftShiftGenerator.cpp:
(JSC::JITLeftShiftGenerator::generateFastPath):
- jit/JITLeftShiftGenerator.h:
(JSC::JITLeftShiftGenerator::JITLeftShiftGenerator):
- jit/JITRightShiftGenerator.cpp:
(JSC::JITRightShiftGenerator::generateFastPath):
- The shift MASM operatons need to ensure that the shiftAmount is not in the same register as the destination register. With the baselineJIT and DFG, this is ensured in how we allocate these registers, and hence, the bug does not manifest. With the FTL, these registers are not guaranteed to be unique. Hence, we need to fix the shift op snippet code to compensate for this.
LayoutTests:
- js/regress/ftl-polymorphic-bitand-expected.txt: Added.
- js/regress/ftl-polymorphic-bitand.html: Added.
- js/regress/ftl-polymorphic-bitor-expected.txt: Added.
- js/regress/ftl-polymorphic-bitor.html: Added.
- js/regress/ftl-polymorphic-bitxor-expected.txt: Added.
- js/regress/ftl-polymorphic-bitxor.html: Added.
- js/regress/ftl-polymorphic-lshift-expected.txt: Added.
- js/regress/ftl-polymorphic-lshift.html: Added.
- js/regress/ftl-polymorphic-rshift-expected.txt: Added.
- js/regress/ftl-polymorphic-rshift.html: Added.
- js/regress/ftl-polymorphic-urshift-expected.txt: Added.
- js/regress/ftl-polymorphic-urshift.html: Added.
- js/regress/script-tests/ftl-polymorphic-bitand.js: Added.
(o1.valueOf):
(foo):
- js/regress/script-tests/ftl-polymorphic-bitor.js: Added.
(o1.valueOf):
(foo):
- js/regress/script-tests/ftl-polymorphic-bitxor.js: Added.
(o1.valueOf):
(foo):
- js/regress/script-tests/ftl-polymorphic-lshift.js: Added.
(o1.valueOf):
(foo):
- js/regress/script-tests/ftl-polymorphic-rshift.js: Added.
(o1.valueOf):
(foo):
- js/regress/script-tests/ftl-polymorphic-urshift.js: Added.
(o1.valueOf):
(foo):
- 12:36 PM Changeset in webkit [194112] by
-
- 1 edit2 adds2 deletes in trunk/LayoutTests
WebRTC: Test that RTCPeerConnection promise functions reject on closed state
https://bugs.webkit.org/show_bug.cgi?id=152295
Reviewed by Eric Carlson.
Add test that verifies RTCPeerConnection's behavior in the closed state
(signalingState). Promise functions should reject, and (some) others
should throw. Remove old test that tests incorrect behavior.
- fast/mediastream/RTCPeerConnection-closed-state-expected.txt: Added.
- fast/mediastream/RTCPeerConnection-closed-state.html: Added.
- fast/mediastream/RTCPeerConnection-state-expected.txt: Removed.
- fast/mediastream/RTCPeerConnection-state.html: Removed.
- 11:11 AM Changeset in webkit [194111] by
-
- 3 edits in trunk/Source/WebCore
[WinCairo][MediaFoundation] Full screen mode is not supported.
https://bugs.webkit.org/show_bug.cgi?id=152300
Reviewed by Darin Adler.
We need to let WebCore know MediaFoundation supports full screen mode.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::pause):
(WebCore::MediaPlayerPrivateMediaFoundation::supportsFullscreen):
(WebCore::MediaPlayerPrivateMediaFoundation::naturalSize):
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
- 11:08 AM Changeset in webkit [194110] by
-
- 5 edits in branches/safari-601-branch/Source
Versioning.
- 11:05 AM Changeset in webkit [194109] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 10:40 AM Changeset in webkit [194108] by
-
- 7 edits in trunk/Source/WebKit2
Guard code that uses class LayerTreeHost with USE(COORDINATED_GRAPHICS) or USE(TEXTURE_MAPPER)
https://bugs.webkit.org/show_bug.cgi?id=152265
Reviewed by Tim Horton.
We neither make use of LayerTreeHost on Mac nor on iOS. We should guard code that makes
use of this class as applicable. This also fixes the iOS Simulator build when using
Apple Internal software.
- WebProcess/WebCoreSupport/WebChromeClient.cpp: Guard code that used LayerTreeHost.
WebProcess/WebPage/LayerTreeHost.cpp: Guard contents of file with USE(COORDINATED_GRAPHICS) USE(TEXTURE_MAPPER). - WebProcess/WebPage/LayerTreeHost.h: Ditto.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scalePage): Ditto.
(WebKit::WebPage::setDeviceScaleFactor): Ditto.
- WebProcess/WebPage/WebPage.h: Substitute header LayerTreeContext.h for LayerTreeHost.h since we make use
of the enum class LayerHostingMode.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects): Remove unnecessary code; DrawingArea::layerTreeHost() always
returns nullptr on iOS.
- 9:58 AM Changeset in webkit [194107] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] SyntaxError if AssignmentElement is
eval
orarguments
in strict code
https://bugs.webkit.org/show_bug.cgi?id=152302
Patch by Caitlin Potter <caitp@igalia.com> on 2015-12-15
Reviewed by Mark Lam.
eval
andarguments
must not be assigned to in strict code. This
change fixeslanguage/expressions/assignment/destructuring/obj-id-simple-strict.js
in Test262, as well as a variety of other similar tests.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseAssignmentElement):
(JSC::Parser<LexerType>::parseDestructuringPattern):
- tests/stress/destructuring-assignment-syntax.js:
- 9:40 AM Changeset in webkit [194106] by
-
- 2 edits3 adds in trunk/LayoutTests
[GTK] Gardening: Rebaseline tests
https://bugs.webkit.org/show_bug.cgi?id=152301
Unreviewed GTK gardening
Patch by Tomas Popela <tpopela@redhat.com> on 2015-12-15
- platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
Correct the expectations after r189202 when RangeException was
removed.
- platform/gtk/fast/dom/adopt-attribute-crash-expected.txt: Added.
Add a new test expectations after r187148.
- platform/gtk/http/tests/plugins/plugin-javascript-access-expected.txt: Added.
Add a new test expectations after r193363.
- 9:00 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 8:36 AM Changeset in webkit [194105] by
-
- 2 edits in trunk/LayoutTests
Changing expectation for storage/indexeddb/deleted-objects.html to [ Failure Crash ]
https://bugs.webkit.org/show_bug.cgi?id=152264
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:11 AM Changeset in webkit [194104] by
-
- 29 edits in trunk
[css-align][css-grid] Overflow alignment value 'true' renamed to 'unsafe'
https://bugs.webkit.org/show_bug.cgi?id=152251
Source/WebCore:
Reviewed by Darin Adler.
The 'True' Overflow Alignment keyword is now defined in the Box Alignment
specification as 'Unsafe'.
This patch applies the required changes in the CSS parsing logic, as well
Grid Layout specific codebase, so it complies with the last version of the
spec.
No new tests, no change in functionality.
- css/CSSParser.cpp:
(WebCore::isAlignmentOverflowKeyword):
(WebCore::CSSParser::parseItemPositionOverflowPosition):
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator OverflowAlignment):
- css/CSSValueKeywords.in:
- rendering/RenderGrid.cpp:
(WebCore::computeOverflowAlignmentOffset):
- rendering/style/RenderStyleConstants.h:
LayoutTests:
The 'True' Overflow Alignment keyword is known now as 'Unsafe', so adapting
layout tests using such keyword.
Reviewed by Darin Adler.
- css3/overwrite-content-alignment-expected.txt:
- css3/overwrite-content-alignment.html:
- css3/overwrite-self-alignment-expected.txt:
- css3/overwrite-self-alignment.html:
- css3/parse-align-content-expected.txt:
- css3/parse-align-content.html:
- css3/parse-align-items-expected.txt:
- css3/parse-align-items.html:
- css3/parse-align-self-expected.txt:
- css3/parse-align-self.html:
- css3/parse-justify-content-expected.txt:
- css3/parse-justify-content.html:
- fast/css-grid-layout/grid-align-justify-overflow.html:
- fast/css-grid-layout/grid-content-alignment-overflow.html:
- fast/css/parse-justify-items-expected.txt:
- fast/css/parse-justify-items.html:
- fast/css/parse-justify-self-expected.txt:
- fast/css/parse-justify-self.html:
- 3:54 AM Changeset in webkit [194103] by
-
- 36 edits in trunk/Source
[TexMap] Operate with a reference to the TextureMapper wherever possible
https://bugs.webkit.org/show_bug.cgi?id=152118
Reviewed by Martin Robinson.
Source/WebCore:
In most cases where used, the pointer to the TextureMapper is non-null, so it
should really be a reference. The pointer is still used for the
TextureMapperLayer member variable which is null until the TextureMapper object
is created and set on the root layer.
- platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
- platform/graphics/GraphicsContext3DPrivate.h:
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBufferData::paintToTextureMapper):
- platform/graphics/cairo/ImageBufferDataCairo.h:
- platform/graphics/efl/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
- platform/graphics/efl/GraphicsContext3DPrivate.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- platform/graphics/surfaces/GraphicsSurface.cpp:
(WebCore::GraphicsSurface::paintToTextureMapper):
- platform/graphics/surfaces/GraphicsSurface.h:
- platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
(WebCore::GraphicsSurface::platformPaintToTextureMapper):
- platform/graphics/texmap/BitmapTexture.cpp:
(WebCore::BitmapTexture::updateContents):
- platform/graphics/texmap/BitmapTexture.h:
(WebCore::BitmapTexture::applyFilters):
- platform/graphics/texmap/BitmapTextureGL.cpp:
(WebCore::BitmapTextureGL::applyFilters):
- platform/graphics/texmap/BitmapTextureGL.h:
- platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
- platform/graphics/texmap/TextureMapperBackingStore.h:
(WebCore::TextureMapperBackingStore::drawRepaintCounter):
- platform/graphics/texmap/TextureMapperFPSCounter.cpp:
(WebCore::TextureMapperFPSCounter::updateFPSAndDisplay):
- platform/graphics/texmap/TextureMapperFPSCounter.h:
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
(WebCore::TextureMapperLayer::paint):
(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::paintSelfAndChildren):
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):
(WebCore::TextureMapperLayer::applyMask):
(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::commitSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):
- platform/graphics/texmap/TextureMapperPlatformLayer.h:
(WebCore::TextureMapperPlatformLayer::drawBorder):
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
(WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper):
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
- platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
(WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
- platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
- platform/graphics/texmap/TextureMapperTile.cpp:
(WebCore::TextureMapperTile::updateContents):
(WebCore::TextureMapperTile::paint):
- platform/graphics/texmap/TextureMapperTile.h:
- platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
(WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
(WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
(WebCore::TextureMapperTiledBackingStore::drawBorder):
(WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
(WebCore::TextureMapperTiledBackingStore::updateContents):
- platform/graphics/texmap/TextureMapperTiledBackingStore.h:
Source/WebKit/win:
- WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::compositeLayersToContext): TextureMapper object
is now operated with through a reference.
Source/WebKit2:
Replace pointers to the TextureMapper object with references.
- Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStoreTile::swapBuffers):
(WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
(WebKit::CoordinatedBackingStore::drawBorder):
(WebKit::CoordinatedBackingStore::drawRepaintCounter):
(WebKit::CoordinatedBackingStore::commitTileOperations):
- Shared/CoordinatedGraphics/CoordinatedBackingStore.h:
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebKit::CoordinatedGraphicsScene::paintToGraphicsContext):
(WebKit::CoordinatedGraphicsScene::commitPendingBackingStoreOperations):
- 2:33 AM Changeset in webkit [194102] by
-
- 1 edit in trunk/Source/JavaScriptCore/runtime/IntlCollatorPrototype.cpp
Unreviewed, rename ExecState* exec to ExecState* state in Intl code
as reviewed in https://bugs.webkit.org/show_bug.cgi?id=151491
- runtime/IntlCollatorPrototype.cpp:
- 1:07 AM Changeset in webkit [194101] by
-
- 2 edits in trunk/Source/JavaScriptCore
URTBF after 194062.
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::supportsFloatingPointCeil): Added.
(JSC::MacroAssemblerARM::ceilDouble): Added.
- 12:55 AM Changeset in webkit [194100] by
-
- 3 edits1 copy8 adds in trunk/Source/WebCore
WebIDL generator should support the possibility for C++ classes to have a JS Builtin constructor
https://bugs.webkit.org/show_bug.cgi?id=152171
Reviewed by Darin Adler.
Reintroducing JSBuiltinConstructor keyword as a way to run automatically a JS builtin initialization function
to process the arguments passed to the DOM C++ constructor.
Specialized createJSObject for those classes.
Fixing typo in TestCustomConstructor.idl.
Covered by binding tests.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDefinition):
(IsConstructable):
(IsJSBuiltinConstructor):
(AddJSBuiltinIncludesIfNeeded):
- bindings/scripts/test/GObject/WebKitDOMTestClassWithJSBuiltinConstructor.cpp: Added.
- bindings/scripts/test/GObject/WebKitDOMTestClassWithJSBuiltinConstructor.h: Added.
- bindings/scripts/test/GObject/WebKitDOMTestClassWithJSBuiltinConstructorPrivate.h: Added.
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: Added.
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: Added.
- bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructor.h: Added.
- bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructor.mm: Added.
- bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructorInternal.h: Added.
- bindings/scripts/test/TestClassWithJSBuiltinConstructor.idl: Copied from Source/WebCore/bindings/scripts/test/TestCustomConstructor.idl.
- bindings/scripts/test/TestCustomConstructor.idl:
- 12:11 AM Changeset in webkit [194099] by
-
- 1 edit in branches/safari-601-branch/Tools/WebKitTestRunner/TestController.cpp
Build fix after r194078.