Timeline



Jan 22, 2014:

11:53 PM Changeset in webkit [162599] by Carlos Garcia Campos
  • 135 edits
    1 copy
    1 move
    1 delete in trunk

[GLIB] Use GUniquePtr instead of GOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=127431

Reviewed by Martin Robinson.

GUniquePtr is a template alias of std::unique_ptr with a custom
deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
where the output pointer is needed, but it will also be replaced soon.

Source/WebCore:

  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • accessibility/atk/AXObjectCacheAtk.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getAttributeSetForAccessibilityObject):
(accessibilityObjectLength):
(textExtents):
(webkitAccessibleTextGetChar):
(numberOfReplacedElementsBeforeOffset):

  • page/ContextMenuController.cpp:
  • platform/SharedBuffer.h:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcConstructed):
(webKitWebAudioSrcLoop):

  • platform/audio/gtk/AudioBusGtk.cpp:

(WebCore::AudioBus::loadPlatformResource):

  • platform/geoclue/GeolocationProviderGeoclue.cpp:
  • platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:

(webKitMediaSrcAddSrc):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStart):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

  • platform/graphics/gtk/ImageBufferGtk.cpp:

(WebCore::encodeImage):
(WebCore::ImageBuffer::toDataURL):

  • platform/graphics/gtk/ImageGtk.cpp:

(WebCore::getThemeIconFileName):
(WebCore::Image::loadPlatformResource):

  • platform/gtk/ContextMenuGtk.cpp:

(WebCore::ContextMenu::itemCount):
(WebCore::contextMenuItemVector):

  • platform/gtk/ContextMenuItemGtk.cpp:

(WebCore::createPlatformMenuItemDescription):

  • platform/gtk/DataObjectGtk.cpp:

(WebCore::DataObjectGtk::setURIList):
(WebCore::DataObjectGtk::setURL):

  • platform/gtk/FileSystemGtk.cpp:

(WebCore::filenameToString):
(WebCore::fileSystemRepresentation):
(WebCore::filenameForDisplay):
(WebCore::pathGetFileName):
(WebCore::applicationDirectoryPath):
(WebCore::sharedResourcesPath):
(WebCore::directoryName):
(WebCore::listDirectory):
(WebCore::openTemporaryFile):

  • platform/gtk/GOwnPtrGtk.cpp: Removed.
  • platform/gtk/GOwnPtrGtk.h: Removed.
  • platform/gtk/GUniquePtrGtk.h: Added.
  • platform/gtk/GamepadsGtk.cpp:

(WebCore::GamepadsGtk::GamepadsGtk):

  • platform/gtk/GtkClickCounter.cpp:

(WebCore::GtkClickCounter::shouldProcessButtonEvent):

  • platform/gtk/GtkInputMethodFilter.cpp:

(WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):

  • platform/gtk/GtkPopupMenu.cpp:

(WebCore::GtkPopupMenu::popUp):
(WebCore::GtkPopupMenu::typeAheadFind):

  • platform/gtk/LanguageGtk.cpp:

(WebCore::platformLanguage):

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::imageTitle):
(WebCore::localizedMediaTimeDescription):

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::selectionDataToUTF8String):
(WebCore::PasteboardHelper::getClipboardContents):
(WebCore::PasteboardHelper::fillSelectionData):

  • platform/gtk/PopupMenuGtk.cpp:

(WebCore::PopupMenuGtk::createGtkActionForMenuItem):
(WebCore::PopupMenuGtk::show):

  • platform/gtk/WebKitAuthenticationWidget.cpp:

(webkitAuthenticationWidgetInitialize):

  • platform/network/ResourceHandleInternal.h:
  • platform/network/gtk/CredentialBackingStore.cpp:

(WebCore::credentialForChallengeAsyncReadyCallback):

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::setCookiesFromDOM):
(WebCore::cookiesForSession):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):

  • platform/network/soup/DNSSoup.cpp:
  • platform/network/soup/GUniquePtrSoup.h: Added.
  • platform/network/soup/ResourceErrorSoup.cpp:

(WebCore::failingURI):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::ensureReadBuffer):
(WebCore::cleanupSoupRequestOperation):
(WebCore::createSoupRequestAndMessageForHandle):

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateSoupMessageMembers):
(WebCore::ResourceRequest::updateSoupMessage):

  • platform/network/soup/ResourceResponseSoup.cpp:
  • platform/network/soup/SoupURIUtils.cpp:

(WebCore::soupURIToKURL):

  • platform/soup/SharedBufferSoup.cpp:

(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::clearPlatformData):
(WebCore::SharedBuffer::maybeTransferPlatformData):
(WebCore::SharedBuffer::hasPlatformData):

  • plugins/gtk/PluginPackageGtk.cpp:

(WebCore::PluginPackage::fetchInfo):
(WebCore::PluginPackage::load):

Source/WebKit/gtk:

  • WebCoreSupport/ContextMenuClientGtk.cpp:

(WebKit::getUnicodeMenuItemPosition):

  • WebCoreSupport/DragClientGtk.cpp:

(WebKit::DragClient::startDrag):

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::setValueForUser):

  • WebCoreSupport/EditorClientGtk.h:
  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::userAgent):
(WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebKit::FrameLoaderClient::dispatchWillSendRequest):
(WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
(WebKit::FrameLoaderClient::dispatchDidReceiveResponse):
(WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
(WebKit::FrameLoaderClient::dispatchDidFinishLoading):
(WebKit::FrameLoaderClient::dispatchDidFailLoading):
(WebKit::FrameLoaderClient::dispatchDidFailLoad):

  • WebCoreSupport/InspectorClientGtk.h:
  • webkit/webkitfavicondatabase.cpp:

(webkit_favicon_database_set_path):

  • webkit/webkitfilechooserrequest.cpp:
  • webkit/webkitglobals.cpp:

(webkitInit):

  • webkit/webkithittestresult.cpp:

(WebKit::kit):

  • webkit/webkiticondatabase.cpp:

(webkit_icon_database_set_path):

  • webkit/webkitspellcheckerenchant.cpp:
  • webkit/webkitwebplugin.cpp:

(webkit_web_plugin_get_path):

  • webkit/webkitwebpluginprivate.h:
  • webkit/webkitwebsettings.cpp:

(webkit_web_settings_class_init):
(webkit_web_settings_copy):

  • webkit/webkitwebview.cpp:

(webkit_web_view_forward_context_menu_event):
(fileChooserDialogResponseCallback):
(webkit_web_view_drag_end):

  • webkit/webkitwebviewprivate.h:

Source/WebKit2:

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveResponse):

  • Shared/NativeWebKeyboardEvent.h:
  • Shared/NativeWebMouseEvent.h:
  • Shared/NativeWebWheelEvent.h:
  • Shared/gtk/ArgumentCodersGtk.cpp:

(IPC::encodeGKeyFile):
(IPC::decodeGKeyFile):
(IPC::encode):
(IPC::decode):

  • UIProcess/API/gtk/WebKitContextMenuItem.cpp:

(webkitContextMenuItemSetSubMenuFromGtkMenu):

  • UIProcess/API/gtk/WebKitDownload.cpp:

(webkitDownloadDecideDestination):
(webkitDownloadNotifyProgress):
(webkitDownloadFailed):

  • UIProcess/API/gtk/WebKitFileChooserRequest.cpp:

(webkit_file_chooser_request_select_files):

  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(didReceiveWebViewMessageFromInjectedBundle):
(getInjectedBundleInitializationUserData):

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:

(didFailProvisionalLoadWithErrorForFrame):
(didFailLoadWithErrorForFrame):

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:

(drawPagesForPrintingCompleted):

  • UIProcess/API/gtk/WebKitURIRequest.cpp:

(webkit_uri_request_get_http_headers):

  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:

(webkit_uri_scheme_request_get_scheme):
(webkit_uri_scheme_request_get_path):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(injectedBundleFilename):
(webkit_web_context_set_favicon_database_directory):

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewLoadFail):
(webkitWebViewCreateJavaScriptDialog):
(fileChooserDialogResponseCallback):
(webkitWebViewLoadChanged):
(webkitWebViewLoadFailedWithTLSErrors):
(webkitWebViewPopulateContextMenu):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseButtonPressEvent):
(webkitWebViewBaseStartDrag):

  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:

(WebKit::WebInspectorServer::platformResourceForPath):

  • UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:

(WebKit::connectionCallback):

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultApplicationCacheDirectory):
(WebKit::WebContext::platformDefaultDatabaseDirectory):
(WebKit::WebContext::platformDefaultIconDatabasePath):
(WebKit::WebContext::platformDefaultLocalStorageDirectory):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):

  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::contextMenuItemVisibilityChanged):

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformInspectedURLChanged):

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::createGtkActionForMenuItem):

  • WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformInitialize):

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
  • WebProcess/gtk/WebProcessMainGtk.cpp:
  • WebProcess/soup/WebSoupRequestManager.cpp:

(WebKit::WebSoupRequestManager::send):

Tools:

  • DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:

(printAccessibilityEvent):
(axObjectEventListener):

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(indexRangeInTable):
(AccessibilityUIElement::role):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
(AccessibilityUIElement::lineForIndex):
(AccessibilityUIElement::selectedTextRange):
(AccessibilityUIElement::url):

  • DumpRenderTree/efl/AccessibilityControllerEfl.cpp:

(AccessibilityController::accessibleElementById):

  • DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:

(AccessibilityController::accessibleElementById):

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(getOutputDir):
(getFontsPath):
(initializeFonts):
(dumpFramesAsText):
(compareHistoryItems):
(dumpHistoryItem):
(soupURIToStringPreservingPassword):
(resetDefaultsToConsistentValues):
(temporaryDatabaseDirectory):
(webViewTitleChanged):
(webFrameLoadStatusNotified):
(pathFromSoupURI):
(convertWebResourceToURLPath):
(urlSuitableForTestResult):
(descriptionSuitableForTestResult):
(willSendRequestCallback):
(frameLoadEventCallback):

  • DumpRenderTree/gtk/EditingCallbacks.cpp:

(dumpNodePath):
(dumpRange):
(shouldApplyStyle):

  • DumpRenderTree/gtk/EventSender.cpp:

(contextClickCallback):
(beginDragWithFilesCallback):

  • DumpRenderTree/gtk/TestRunnerGtk.cpp:

(TestRunner::pathToLocalResource):
(TestRunner::queueLoad):
(TestRunner::removeOriginAccessWhitelistEntry):
(TestRunner::setMockGeolocationPositionUnavailableError):
(TestRunner::setIconDatabaseEnabled):
(TestRunner::findString):
(TestRunner::setDomainRelaxationForbiddenForURLScheme):
(TestRunner::overridePreference):
(TestRunner::addUserScript):
(TestRunner::addUserStyleSheet):
(TestRunner::setTextDirection):

  • DumpRenderTree/gtk/TextInputController.cpp:

(setMarkedTextCallback):
(insertTextCallback):
(doCommandCallback):

  • DumpRenderTree/gtk/WorkQueueItemGtk.cpp:

(LoadHTMLStringItem::invoke):

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:

(WebKitDOMNodeTest::testTagNames):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp:

(testBackForwardListLimitAndCache):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:

(testContextMenuSmartSeparators):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:

(testDownloadLocalFile):
(testDownloadLocalFileError):
(addContentDispositionHTTPHeaderToResponse):
(serverCallback):
(testDownloadRemoteFileError):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:

(startTestServer):
(testInspectorServerPageList):
(openRemoteDebuggingSession):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:

(testPrintOperationPrint):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(addCacheHTTPHeadersToResponse):
(serverCallback):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(httpsServerCallback):
(httpServerCallback):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:

(testWebViewJavaScriptDialogs):
(testWebViewWindowProperties):
(testWebViewFileChooserRequest):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(testWebExtensionWindowObjectCleared):
(testWebExtensionIsolatedWorld):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp:

(startTestServer):
(checkAtspiAccessible):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp:

(serverCallback):
(testClearDatabase):
(testGetFaviconURI):
(webkitFaviconDatabaseFinalizedCallback):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:

(testWebContextGetPlugins):
(testWebContextURIScheme):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewRunJavaScript):
(testWebViewMode):
(testWebViewPageVisibility):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp:

(isStyleSheetInjectedForURLAtPath):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:

(testWebViewEditorCutCopyPasteNonEditable):
(testWebViewEditorCutCopyPasteEditable):
(testWebViewEditorSelectAllNonEditable):
(testWebViewEditorSelectAllEditable):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(sendRequestCallback):
(methodCallCallback):

  • TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:

(TestWebKitAPI::Util::createInjectedBundlePath):
(TestWebKitAPI::Util::createURLForResource):

  • TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:

(TestWebKitAPI::doKeyStroke):
(TestWebKitAPI::doMouseButtonEvent):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):

  • TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp:

(loadFailedCallback):
(LoadTrackingTest::loadURI):
(LoadTrackingTest::loadHtml):
(LoadTrackingTest::loadPlainText):
(LoadTrackingTest::loadRequest):
(LoadTrackingTest::reload):
(LoadTrackingTest::goBack):
(LoadTrackingTest::goForward):

  • TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.h:
  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp:

(registerGResource):
(removeNonEmptyDirectory):
(main):

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:

(Test::getWebKit1TestResoucesDir):
(Test::getResourcesDir):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp:

(WebKitTestBus::run):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.cpp:

(WebKitTestServer::WebKitTestServer):
(WebKitTestServer::getURIForPath):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.cpp:

(WebProcessTestRunner::runTest):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(resourceGetDataCallback):
(WebViewTest::mainResourceData):
(WebViewTest::mouseMoveTo):
(WebViewTest::keyStroke):
(WebViewTest::doMouseButtonEvent):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:

(WTR::AccessibilityController::accessibleElementById):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::lineForIndex):
(WTR::AccessibilityUIElement::selectedTextRange):
(WTR::AccessibilityUIElement::url):

  • WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:

(WTR::getOutputDir):
(WTR::getFontsPath):
(WTR::initializeFontConfigSetting):

  • WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.cpp:

(WTR::topLevelPath):

  • WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:

(WTR::TestRunner::pathToLocalResource):

  • WebKitTestRunner/gtk/TestControllerGtk.cpp:

(WTR::TestController::initializeInjectedBundlePath):
(WTR::TestController::initializeTestPluginDirectory):

11:39 PM Changeset in webkit [162598] by mark.lam@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Poor man's fast breakpoints for a 2.3x debugger speedup.
<https://webkit.org/b/122836>

Reviewed by Geoffrey Garen.

Previously we gained back some performance (run at baseline JIT speeds)
when the WebInspector is opened provided no breakpoints are set. This
was achieved by simply skipping all op_debug callbacks to the debugger
if no breakpoints are set. If any breakpoints are set, the debugger will
set a m_needsOpDebugCallbacks flag which causes the callbacks to be
called, and we don't get the baseline JIT speeds anymore.

With this patch, we will now track the number of breakpoints set in the
CodeBlock that they are set in. The LLINT and baseline JIT code will
check CodeBlock::m_numBreakpoints to determine if the op_debug callbacks
need to be called. With this, we will only enable op_debug callbacks for
CodeBlocks that need it i.e. those with breakpoints set in them.

Debugger::m_needsOpDebugCallbacks is now obsoleted. The LLINT and baseline
JIT code still needs to check Debugger::m_shouldPause to determine if the
debugger is in stepping mode and hence, needs op_debug callbacks enabled
for everything until the debugger "continues" the run and exit stepping
mode.

Also in this patch, I fixed a regression in DOM breakpoints which relies
Debugger::breakProgram() to pause the debugger.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • Missed accounting for op_debug's new hasBreakpointFlag operand here when it was added.

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::hasOpDebugForLineAndColumn):

  • This is needed in Debugger::toggleBreakpoint() to determine if a breakpoint falls within a CodeBlock or not. Simply checking the bounds of the CodeBlock is insufficient. For example, let's say we have the following JS code:

begin global scope
function f1() {

function f2() {

... set breakpoint here.

}

}
end global scope

Using the CodeBlock bounds alone, the breakpoint above will to appear
to be in the global program CodeBlock, and the CodeBlocks for function
f1() and f2(). With CodeBlock::hasOpDebugForLineAndColumn() we can
rule out the global program CodeBlock and f1(), and only apply the
breakpoint to f2(0 where it belongs.

CodeBlock::hasOpDebugForLineAndColumn() works by iterating over all
the opcodes in the CodeBlock to look for op_debug's. For each op_debug,
it calls CodeBlock::expressionRangeForBytecodeOffset() to do a binary
seach to get the line and column info for that op_debug. This is a
N * log(N) algorithm. However, a quick hands on test using the
WebInspector (with this patch applied) to exercise setting, breaking
on, and clearing breakpoints, as well as stepping through some code
shows no noticeable degradation of the user experience compared to the
baseline without this patch.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::numBreakpoints):
(JSC::CodeBlock::numBreakpointsOffset):
(JSC::CodeBlock::addBreakpoint):
(JSC::CodeBlock::removeBreakpoint):
(JSC::CodeBlock::clearAllBreakpoints):

  • debugger/Breakpoint.h:
  • defined Breakpoint::unspecifiedColumn so that we can explicitly indicate when the WebInspector was setting a line breakpoint and did not provide a column value. CodeBlock::hasOpDebugForLineAndColumn() needs this information in order to loosen its matching criteria for op_debug bytecodes for the specified breakpoint line and column values provided by the debugger.

Previously, we just hijack a 0 value column as an unspecified column.
However, the WebInspector operates on 0-based ints for column values.
Hence, 0 should be a valid column value and should not be hijacked to
mean an unspecified column.

  • debugger/Debugger.cpp:

(JSC::Debugger::Debugger):

  • added tracking of the VM that the debugger is used with. This is needed by Debugger::breakProgram().

The VM pointer is attained from the first JSGlobalObject that the debugger
attaches to. When the debugger detaches from the last JSGlobalObject, it
will nullify its VM pointer to allow a new one to be set on the next
attach.

We were always only using each debugger instance with one VM. This change
makes it explicit with an assert to ensure that all globalObjects that
the debugger attaches to beongs to the same VM.

(JSC::Debugger::attach):
(JSC::Debugger::detach):
(JSC::Debugger::setShouldPause):

(JSC::Debugger::registerCodeBlock):
(JSC::Debugger::unregisterCodeBlock):

  • registerCodeBlock() is responsible for applying pre-existing breakpoints to new CodeBlocks being installed. Similarly, unregisterCodeBlock() clears the breakpoints.

(JSC::Debugger::toggleBreakpoint):

  • This is the workhorse function that checks if a breakpoint falls within a CodeBlock or not. If it does, then it can either enable or disable said breakpoint in the CodeBlock. In the current implementation, enabling/disabling the breakpoint simply means incrementing/decrementing the CodeBlock's m_numBreakpoints.

(JSC::Debugger::applyBreakpoints):

(JSC::Debugger::ToggleBreakpointFunctor::ToggleBreakpointFunctor):
(JSC::Debugger::ToggleBreakpointFunctor::operator()):
(JSC::Debugger::toggleBreakpoint):

  • Iterates all relevant CodeBlocks and apply the specified breakpoint if appropriate. This is called when a new breakpoint is being defined by the WebInspector and needs to be applied to an already installed CodeBlock.

(JSC::Debugger::setBreakpoint):
(JSC::Debugger::removeBreakpoint):
(JSC::Debugger::hasBreakpoint):
(JSC::Debugger::ClearBreakpointsFunctor::ClearBreakpointsFunctor):
(JSC::Debugger::ClearBreakpointsFunctor::operator()):
(JSC::Debugger::clearBreakpoints):

(JSC::Debugger::breakProgram):

  • Fixed a regression that broke DOM breakpoints. The issue is that with the skipping of op_debug callbacks, we don't always have an updated m_currentCallFrame. Normally, m_currentCallFrame is provided as arg in the op_debug callback. In this case, we can get the CallFrame* from m_vm->topCallFrame.

(JSC::Debugger::updateCallFrameAndPauseIfNeeded):
(JSC::Debugger::pauseIfNeeded):
(JSC::Debugger::willExecuteProgram):

  • debugger/Debugger.h:

(JSC::Debugger::Debugger):
(JSC::Debugger::shouldPause):

  • heap/CodeBlockSet.h:

(JSC::CodeBlockSet::iterate):

  • heap/Heap.h:

(JSC::Heap::forEachCodeBlock):

  • Added utility to iterate all CodeBlocks in the heap / VM.
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::debug):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_debug):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_debug):

  • llint/LowLevelInterpreter.asm:
  • These now checks CodeBlock::m_numBreakpoints and Debugger::m_shouldPause instead of Debugger::m_needsOpDebugCallbacks.
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::installCode):

10:32 PM Changeset in webkit [162597] by Simon Fraser
  • 8 edits in trunk/Source

Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
https://bugs.webkit.org/show_bug.cgi?id=127461

Source/WebCore:

Reviewed by Andreas Kling.

The "fixedVisibleContentRect" code path is only used by platforms
which enabled TILED_BACKING_STORE, so to reduce confusion, surround
this code with #if USE(TILED_BACKING_STORE).

  • page/Frame.cpp:

(WebCore::Frame::createView):

  • page/FrameView.cpp:
  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::unscaledVisibleContentSize):
(WebCore::ScrollView::visibleContentRect):

  • platform/ScrollView.h:

(WebCore::ScrollView::visibleSize):

Source/WebKit2:

Reviewed by Andreas Kling.

The "fixedVisibleContentRect" code path is only used by platforms
which enabled TILED_BACKING_STORE, so to reduce confusion, surround
this code with #if USE(TILED_BACKING_STORE).

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):

10:10 PM Changeset in webkit [162596] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Unreviewed, fix style.

This slipped past code review. The following is wrong:

void compileArithSin(){


for two reasons:

  1. There should be a space between ) and {.


  1. For function bodies, we always put the { on the next line, like:


void compileArithSin()
{


I fixed this by putting these function bodies all on one line, since they are very small
anyway.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileArithSin):
(JSC::FTL::LowerDFGToLLVM::compileArithCos):
(JSC::FTL::LowerDFGToLLVM::compileArithSqrt):

10:05 PM Changeset in webkit [162595] by fpizlo@apple.com
  • 8 edits
    2 adds in branches/jsCStack/Source/JavaScriptCore

FTL should support MakeRope
https://bugs.webkit.org/show_bug.cgi?id=127462

Not yet reviewed.

  • ftl/FTLAbstractHeap.cpp:

(JSC::FTL::IndexedAbstractHeap::IndexedAbstractHeap):
(JSC::FTL::IndexedAbstractHeap::baseIndex):
(JSC::FTL::IndexedAbstractHeap::initialize):
(JSC::FTL::NumberedAbstractHeap::NumberedAbstractHeap):
(JSC::FTL::AbsoluteAbstractHeap::AbsoluteAbstractHeap):

  • ftl/FTLAbstractHeap.h:
  • ftl/FTLAbstractHeapRepository.cpp:

(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileMakeRope):
(JSC::FTL::LowerDFGToLLVM::speculate):

  • tests/stress/make-rope-2.js: Added.

(foo):

  • tests/stress/make-rope-3.js: Added.

(foo):

9:36 PM Changeset in webkit [162594] by Lucas Forschler
  • 5 edits in tags/Safari-538.13/Source

Versioning.

9:11 PM Changeset in webkit [162593] by fpizlo@apple.com
  • 5 edits
    7 adds in branches/jsCStack/Source/JavaScriptCore

FTL should support ToString
https://bugs.webkit.org/show_bug.cgi?id=127460

Reviewed by Geoffrey Garen.

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateStringObject):
(JSC::FTL::LowerDFGToLLVM::speculateStringOrStringObject):
(JSC::FTL::LowerDFGToLLVM::speculateStringObjectForCell):
(JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructure):

  • tests/stress/to-string-on-object-or-string.js: Added.

(Foo):
(Foo.prototype.toString):
(foo):

  • tests/stress/to-string-on-object.js: Added.

(Foo):
(Foo.prototype.toString):
(foo):

  • tests/stress/to-string-on-string-object.js: Added.

(foo):

  • tests/stress/to-string-on-string-or-string-object.js: Added.

(foo):

  • tests/stress/to-string-on-string-or-string-object-then-object.js: Added.

(foo):
(Foo):
(Foo.prototype.toString):

  • tests/stress/to-string-on-value-or-string.js: Added.

(foo):

  • tests/stress/to-string-on-value.js: Added.

(foo):

9:08 PM Changeset in webkit [162592] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

9:06 PM Changeset in webkit [162591] by Lucas Forschler
  • 1 copy in tags/Safari-538.13

New Tag.

9:04 PM Changeset in webkit [162590] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

Add a minimalistic SPI to control the layout size outside of WKView
https://bugs.webkit.org/show_bug.cgi?id=127403

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-01-22
Reviewed by Sam Weinig.

The API lets a client of WKView force the layout size. Once the size
is set this way, default update is disabled and the client needs to
update the size systematically as needed. This is done to avoid double
layout or flickering.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _frameOrBoundsChanged]):
(-[WKView overrideMinimumLayoutSize:]):

8:31 PM Changeset in webkit [162589] by jinwoo7.song@samsung.com
  • 22 edits in trunk/LayoutTests

Unreviewed EFL gardening after r162553.

  • platform/efl/css1/box_properties/padding-expected.txt:
  • platform/efl/css1/box_properties/padding_top-expected.txt:
  • platform/efl/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/efl/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
  • platform/efl/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
  • platform/efl/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/efl/fast/css/empty-pseudo-class-expected.txt:
  • platform/efl/fast/css/fieldset-display-row-expected.txt:
  • platform/efl/fast/css/first-child-pseudo-class-expected.txt:
  • platform/efl/fast/css/last-child-pseudo-class-expected.txt:
  • platform/efl/fast/css/only-child-pseudo-class-expected.txt:
  • platform/efl/fast/repaint/reflection-redraw-expected.txt:
  • platform/efl/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
  • platform/efl/fast/table/multiple-captions-display-expected.txt:
  • platform/efl/tables/mozilla/marvin/body_col-expected.txt:
  • platform/efl/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
  • platform/efl/tables/mozilla/other/body_col-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/core/captions3-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/other/test4-expected.txt:
8:24 PM Changeset in webkit [162588] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
https://bugs.webkit.org/show_bug.cgi?id=126987

Reviewed by Simon Fraser.

When "inherit" is specified and there is no parent, Length values have an "Auto" type

Source/WebCore:

Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setWordSpacing):

LayoutTests:

  • fast/css3-text/css3-word-spacing-percentage/word-spacing-crash-expected.txt: Added.
  • fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html: Added.
8:12 PM Changeset in webkit [162587] by Samuel White
  • 3 edits
    2 adds in trunk

AX: Can't always increment web sliders.
https://bugs.webkit.org/show_bug.cgi?id=127451

Reviewed by Chris Fleizach.

Source/WebCore:

Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).

Test: accessibility/range-alter-by-percent.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::changeValueByPercent):

LayoutTests:

Adding range-alter-by-percent.html to compliment the existing range-alter-by-step.html test.

  • accessibility/range-alter-by-percent-expected.txt: Added.
  • accessibility/range-alter-by-percent.html: Added.
7:55 PM Changeset in webkit [162586] by Martin Robinson
  • 1 edit in trunk/Tools/ChangeLog

Fix a small issue in my recently committed ChangeLog

7:50 PM Changeset in webkit [162585] by Martin Robinson
  • 3 edits in trunk/Tools

[GTK] [CMake] run-webkit-tests should support the CMake build
https://bugs.webkit.org/show_bug.cgi?id=126503

Reviewed by Daniel Bates.

Update run-launcher and gtk.py to work properly when dealing with the CMake port.
run-webkit-tests does not need the --gtkcmake flag, but run-launcher does.

  • Scripts/run-launcher: Work properly with the gtkcmake flag.
  • Scripts/webkitpy/port/gtk.py:

(GtkPort._is_cmake_build): Added this helper which looks for the CMakeCache
file to detect a CMake build.
(GtkPort._built_executables_path): Added this helper to locate the built executable path.
(GtkPort._built_libraries_path): Added this helper to locate the built library path.
(GtkPort._port_flag_for_scripts): Use --gtkcmake when appropriate.
(GtkPort.setup_environ_for_server): The way CMake builds libraries differs from GTK+.
(GtkPort._path_to_driver): Use the new helper.
(GtkPort._path_to_image_diff): Use the new Helper.
(GtkPort._path_to_webcore_library): Use the new helper.
(GtkPort.build_webkit_command): Use --gtkcmake when appropriate.

7:09 PM Changeset in webkit [162584] by jinwoo7.song@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings
https://bugs.webkit.org/show_bug.cgi?id=127420

Reviewed by Gyuyoung Kim.

As the defaultTextEncodingName is returned as a local WKEinaSharedString variable,
the stringshared data is de-refed by eina_stringshare_del().
To maintain the reference counter, the defaultTextEncodingName should be stored
as a member variable of EwkSettings class.

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_encoding_detector_enabled_get): Reordering.
(ewk_settings_default_text_encoding_name_set):
(ewk_settings_default_text_encoding_name_get):
(EwkSettings::setDefaultTextEncodingName):
(EwkSettings::defaultTextEncodingName):

  • UIProcess/API/efl/ewk_settings_private.h:

(EwkSettings::EwkSettings): Add m_defaultTextEncodingName and setter/getter methods.

7:08 PM Changeset in webkit [162583] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

FTL should support GetCallee
https://bugs.webkit.org/show_bug.cgi?id=127459

Not yet reviewed.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetCallee):

6:56 PM Changeset in webkit [162582] by enrica@apple.com
  • 4 edits in trunk/Source/WebKit2

Support WebSelections in WK2 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=127015
<rdar://problem/15211964>

Reviewed by Benjamin Poulain.

This change adds support for text only (non block mode)
selections in non editable content.
The main changes consist in hooking up the new gesture type
and touches to handle selection creation and interaction.
It also includes changes to the way first responder is handled
which includes the implementation of the isEditable method
to allow iOS to know when to show the keyboard.

  • Shared/ios/WKGestureTypes.h:
  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView isEditable]):
(-[WKInteractionView canBecomeFirstResponder]):
(-[WKInteractionView webSelectionRects]):
(-[WKInteractionView _highlightLongPressRecognized:]):
(-[WKInteractionView _singleTapRecognized:]):
(-[WKInteractionView inputAccessoryView]):
(-[WKInteractionView canPerformAction:withSender:]):
(-[WKInteractionView _showDictionary:]):
(toWKGestureType):
(toUIWKGestureType):
(selectionChangedWithGesture):
(selectionChangedWithTouch):
(-[WKInteractionView selectedTextRange]):
(-[WKInteractionView webSelectionAssistant]):
(-[WKInteractionView _startAssistingNode]):
(-[WKInteractionView _stopAssistingNode]):
(-[WKInteractionView _selectionChanged]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::updateSelectionWithTouches):

6:24 PM Changeset in webkit [162581] by ryuan.choi@samsung.com
  • 5 edits in trunk

[EFL] Remove unnecessary smart method since ewk_view_tiled removed
https://bugs.webkit.org/show_bug.cgi?id=127417

Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

pre_render related codes is only for ewk_view_tiled.
In addition, we don't have any requirement to override repaints_process
and scroll_process now.

  • ewk/ewk_view.cpp:

(_ewk_view_smart_repaints_process):
(_ewk_view_smart_calculate):
(ewk_view_smart_set):
(ewk_view_scrolls_process):

  • ewk/ewk_view.h:

Tools:

  • EWebLauncher/main.c:

(on_key_down): Removed shortcut to test pre render.

6:24 PM Changeset in webkit [162580] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

WKBrowsingContextController should not be an API wrapper around WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=127454

Reviewed by Dan Bernstein.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Shared/mac/ObjCObjectGraphCoders.mm:

(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController _initWithPageRef:]):
(+[WKBrowsingContextController _browsingContextControllerForPageRef:]):

  • UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):

  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView browsingContextController]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView browsingContextController]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::platformInitialize):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::platformInitialize):

6:19 PM Changeset in webkit [162579] by mmaxfield@apple.com
  • 39 edits in trunk

Remove CSS3_TEXT_DECORATION define
https://bugs.webkit.org/show_bug.cgi?id=127333

Source/JavaScriptCore:

This is required for unprefixing the text-decoration-* CSS properties.

Reviewed by Simon Fraser.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Reviewed by Simon Fraser.

This is required for unprefixing the text-decoration-* CSS properties.

No new tests are necessary becase the flag was already on by default.

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::renderTextDecorationSkipFlagsToCSSValue):
(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::isColorPropertyID):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::addTextDecorationProperty):
(WebCore::CSSParser::parseTextUnderlinePosition):

  • css/CSSParser.h:
  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):

  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitTextDecorationShorthand):
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):

  • css/StylePropertyShorthand.h:
  • css/StyleResolver.cpp:

(WebCore::shouldApplyPropertyInParseOrder):
(WebCore::isValidVisitedLinkProperty):
(WebCore::StyleResolver::applyProperty):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::setPlatformStrokeStyle):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::platformInit):

  • platform/graphics/wince/GraphicsContextWinCE.cpp:

(WebCore::createPen):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalTop):

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

(WebCore::textDecorationStyleToStrokeStyle):
(WebCore::boundingBoxForAllActiveDecorations):
(WebCore::InlineTextBox::paintDecoration):

  • rendering/RenderObject.cpp:

(WebCore::decorationColor):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalTop):

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

(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
(WebCore::RenderStyle::colorIncludingFallback):
(WebCore::RenderStyle::visitedDependentColor):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):

  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

Source/WebKit/mac:

Reviewed by Simon Fraser.

This is required for unprefixing the text-decoration-* CSS properties.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Reviewed by Simon Fraser.

This is required for unprefixing the text-decoration-* CSS properties.

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Reviewed by Simon Fraser.

This is required for unprefixing the text-decoration-* CSS properties.

  • wtf/Platform.h:

Tools:

This is required for unprefixing the text-decoration-* CSS properties.

Reviewed by Simon Fraser.

  • Configurations/FeatureDefines.xcconfig:
6:16 PM Changeset in webkit [162578] by barraclough@apple.com
  • 12 edits in trunk/Source/WebKit2

Debug mechanism to override process QoS on Mac
https://bugs.webkit.org/show_bug.cgi?id=127455

Reviewed by Anders Carlsson.

  • NetworkProcess/NetworkProcess.messages.in:
    • added message.
  • PluginProcess/PluginProcess.messages.in:
    • added message.
  • Shared/ChildProcess.h:
  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::setQOS):

  • Added implementation of new message.
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didFinishLaunching):

  • SetQOS for the PluginProcess.
  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::pluginProcessLatencyQOS):
(WebKit::pluginProcessThroughputQOS):

  • read NSUserDefaults.
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::ensureNetworkProcess):

  • SetQOS for the NetworkProcess.

(WebKit::WebContext::createNewWebProcess):

  • SetQOS for the WebProcess.
  • UIProcess/WebContext.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::networkProcessLatencyQOS):
(WebKit::networkProcessThroughputQOS):
(WebKit::webProcessLatencyQOS):
(WebKit::webProcessThroughputQOS):

  • read NSUserDefaults.
  • WebProcess/WebProcess.messages.in:
    • added message.
6:02 PM Changeset in webkit [162577] by mark.lam@apple.com
  • 7 edits in branches/jsCStack/Source

Switching Windows port to using the C Loop LLINT.
https://bugs.webkit.org/show_bug.cgi?id=127228.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

With the switch to using the C stack for the JS stack, the LLINT becomes
a mandatory component for providing trampoline glue code to enter JIT code.
Since the Windows port does not currently have a LLINT implementation that
can generate assembly code for Windows, we'll switch the Windows port to
using the C Loop LLINT.

Note: We're opting to not continue using hand-written glue code for the
Windows port because they can easily bit rot relative to the LLINT asm
source.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • jit/JITStubsMSVC64.asm: Removed.
  • jit/JITStubsX86.h:
  • Removing these hand-written pieces of glue code that are no longer needed with the switch to using the C Loop LLINT.

Source/WTF:

  • wtf/Platform.h:
  • Disabling the JIT for all Windows ports, which enables the C Loop LLINT.
6:01 PM Changeset in webkit [162576] by Chris Fleizach
  • 5 edits in trunk

Source/WebCore: AX: Do not return an accessible name for an object just because it has tabindex=0
https://bugs.webkit.org/show_bug.cgi?id=126914

Reviewed by Mario Sanchez Prada.

WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
speak all the text underneath any type of group.

I think we need to revert this behavior and follow the ARIA spec more closely.

Test: accessibility/aria-describedby-ensures-visibility.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):

LayoutTests: AX: WebKit concatenates name of all toolbar buttons in the apple.com video player
https://bugs.webkit.org/show_bug.cgi?id=126914

Reviewed by Mario Sanchez Prada.

  • accessibility/focusable-div-expected.txt:
  • accessibility/focusable-div.html:
5:35 PM Changeset in webkit [162575] by ap@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Update JS whitespace definition for changes in Unicode 6.3
https://bugs.webkit.org/show_bug.cgi?id=127450
<rdar://15863457>

Reviewed by Oliver Hunt.

Covered by existing tests when running against a Unicode back-end that supports
Unicode 6.3 or higher.

  • runtime/JSGlobalObjectFunctions.cpp: (JSC::isStrWhiteSpace): Explicitly allow

U+180E MONGOLIAN VOWEL SEPARATOR, because we need to keep recognizing all characters
that used to be whitespace.

5:17 PM Changeset in webkit [162574] by dfarler@apple.com
  • 5 edits in trunk/Source/WebKit2

ASAN builds are broken - missing flags
https://bugs.webkit.org/show_bug.cgi?id=127231

Reviewed by Andy Estes.

Add missing $(ASAN_OTHER_LDFLAGS).

  • Configurations/PluginProcessShim.xcconfig:
  • Configurations/SecItemShim.xcconfig:
  • Configurations/WebKit2.xcconfig:
  • Configurations/WebProcessShim.xcconfig:
5:11 PM Changeset in webkit [162573] by aestes@apple.com
  • 6 edits
    2 adds in trunk/Tools

[iOS] Prepare for upstreaming DumpRenderTree changes
https://bugs.webkit.org/show_bug.cgi?id=127412

Reviewed by Simon Fraser.

Unlike on Mac where DumpRenderTree is a command-line tool, on iOS it is
an application bundle. Instead of upstreaming a separate target for the
app that duplicates the 'Compile Sources' phase of the tool, separate
out the compilation into a static library target that both the
command-line tool and the app can link against. Also, perform some
unrelated cleanup.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Updated the

project file format from 2.4- to 3.2-compatible. Removed the
'Copy Headers' build phase and removed all files from the
'Compile Sources' build phase of DumpRenderTree. Added some files that
were missing from the project. Created a 'DumpRenderTree (Library)'
target for building the static library and made the 'DumpRenderTree'
target depend on it. Added a 'Compile Sources' build phase to this
target that builds the same files the DumpRenderTree target used to.
Created DumpRenderTreeMain.mm as the only source file of the
DumpRenderTree target, since targets won't link a binary without at
least one source file. Made DumpRenderTree (Library) use
DumpRenderTreeLibrary.xcconfig and made LayoutTestHelper use
BaseTarget.xcconfig (so that it doesn't try to link libDumpRenderTree.a).

  • DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: Moved

definitions of GCC_ENABLE_OBJC_EXCEPTIONS and GCC_PREFIX_HEADER from
DumpRenderTree.xcconfig to here so that LayoutTestHelper can use them.

  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Passed

-force_load $(BUILT_PRODUCTS_DIR)libDumpRenderTree.a to OTHER_LDFLAGS.
This is needed to correctly link a static library containing an Objective-C
category (see <https://developer.apple.com/library/mac/qa/qa1490/_index.html>).

  • DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig: Added.
  • DumpRenderTree/mac/DumpRenderTree.mm:

(DumpRenderTreeMain): Renamed from main.

  • DumpRenderTree/mac/DumpRenderTreeMac.h: Added declaration of DumpRenderTreeMain.
  • DumpRenderTree/mac/DumpRenderTreeMain.mm: Added.

(main): Called DumpRenderTreeMain from main.

4:38 PM Changeset in webkit [162572] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.74-branch/Source

Versioning.

4:36 PM Changeset in webkit [162571] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.74.11

New Tag.

4:31 PM Changeset in webkit [162570] by matthew_hanson@apple.com
  • 3 edits
    3 copies in branches/safari-537.74-branch

Merge r158676: <rdar://problem/15886062>

4:30 PM Changeset in webkit [162569] by beidson@apple.com
  • 9 edits in trunk/Source

Source/WebCore: The IDB backing store get() method shouldn't call IDB callbacks directly
https://bugs.webkit.org/show_bug.cgi?id=127453

Reviewed by Beth Dakin.

  • Modules/indexeddb/IDBServerConnection.h:

(WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the

possible results of a get() call.

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.

Instead, return the GetResult to the GetOperation which will make IDBCallbacks.

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback

make the appropriate IDBCallback.

  • Modules/indexeddb/IDBTransactionBackendOperations.h:

Source/WebKit2: The IDB backing store get() method shouldn't call IDB callbacks directly
https://bugs.webkit.org/show_bug.cgi?id=127453

Reviewed by Beth Dakin.

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::get):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
4:28 PM Changeset in webkit [162568] by commit-queue@webkit.org
  • 25 edits in trunk/Source/WebKit2

Enable Session API.
https://bugs.webkit.org/show_bug.cgi?id=127255

Patch by Martin Hock <mhock@apple.com> on 2014-01-22
Reviewed by Alexey Proskuryakov.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::storageSession):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::start):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/RemoteNetworkingContext.h:
  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::storageSession):
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

  • Shared/Network/NetworkResourceLoadParameters.h:
  • Shared/SessionTracker.cpp:

(WebKit::staticSessionMap):
(WebKit::SessionTracker::sessionMap):
(WebKit::SessionTracker::session):
(WebKit::SessionTracker::setSession):
(WebKit::SessionTracker::destroySession):

  • Shared/SessionTracker.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageSetSession):

  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/C/WKSessionRef.cpp:

(WKSessionCreate):

  • UIProcess/API/C/WKSessionRef.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setSession):

  • UIProcess/WebPageProxy.h:
  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::loadResourceSynchronously):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
(WebKit::WebFrameNetworkingContext::storageSession):

  • WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::startDownload):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::sessionID):
(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::setSessionID):

  • WebProcess/WebPage/WebPage.messages.in:
3:58 PM Changeset in webkit [162567] by dino@apple.com
  • 5 edits in trunk/Source/WebCore

Unreviewed attempt to fix 32-bit builds.

Use long long rather than GC3Dintptr.

  • html/canvas/ANGLEInstancedArrays.cpp:

(WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):

  • html/canvas/ANGLEInstancedArrays.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::drawElementsInstanced):

  • html/canvas/WebGLRenderingContext.h:
3:48 PM Changeset in webkit [162566] by beidson@apple.com
  • 31 edits
    1 copy
    1 add in trunk/Source

IDB: "Put" support
<rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Add persistent encode/decode for storage to the database:

  • Modules/indexeddb/IDBKey.cpp:

(WebCore::IDBKey::encode):
(WebCore::IDBKey::decode):

  • Modules/indexeddb/IDBKey.h:

Add a data class to represent IDBKey suitable for crossing IPC:

  • Modules/indexeddb/IDBKeyData.cpp: Added.

(WebCore::IDBKeyData::IDBKeyData):
(WebCore::IDBKeyData::maybeCreateIDBKey):
(WebCore::IDBKeyData::isolatedCopy):

  • Modules/indexeddb/IDBKeyData.h: Added.

(WebCore::IDBKeyData::IDBKeyData):

  • platform/CrossThreadCopier.cpp:

(WebCore::IDBKeyData>::copy):

  • platform/CrossThreadCopier.h:
  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

Ship putRecord requests over to the DatabaseProcess, and listen for completion from the DatabaseProcess:

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::put):
(WebKit::WebIDBServerConnection::didPutRecord):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

Pass off the putRecord request to the Unique IDBDatabase:

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::putRecord):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

Pass off the putRecord request to the backing store:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::putRecord):
(WebKit::UniqueIDBDatabase::putRecordInBackingStore):
(WebKit::UniqueIDBDatabase::didPutRecordInBackingStore):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

Add backing store methods related to putRecord, though only one is critical right now:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKey):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGenerator):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

Add the IDBKeyData type to IPC:

  • Scripts/webkit2/messages.py:

(struct_or_class):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<IDBKeyData>::encode):
(IPC::ArgumentCoder<IDBKeyData>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • DatabaseProcess/IndexedDB/IDBSerialization.cpp:

(WebKit::serializeIDBKey):

  • DatabaseProcess/IndexedDB/IDBSerialization.h:

Implement more cross-thread copying:

  • Shared/WebCrossThreadCopier.cpp:

(WebCore::Vector<uint8_t>>::copy):
(WebCore::Vector<Vector<IDBKeyData>>>::copy):
(WebCore::ASCIILiteral>::copy):

  • Shared/WebCrossThreadCopier.h:

Implement more numbers of generic AsyncTask templates:

  • Shared/AsyncTask.h:

(WebKit::createAsyncTask):

3:47 PM Changeset in webkit [162565] by dino@apple.com
  • 21 edits
    8 adds in trunk

Source/WebCore: [WebGL] Implement ANGLE_instanced_arrays
https://bugs.webkit.org/show_bug.cgi?id=127257

Reviewed by Brent Fulgham.

Implement the instanced drawing WebGL extension,
ANGLE_instanced_arrays. This is currently Mac-only,
but should be portable to other platforms if their
OpenGL exposes the functions. It's also done in a way
that will make exposing it to WebGL2 simple.

Test: fast/canvas/webgl/angle-instanced-arrays.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Add the new files to all the build systems.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::toJS): Link JS side to C++ side.

  • html/canvas/ANGLEInstancedArrays.cpp: Added.

(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):

  • html/canvas/ANGLEInstancedArrays.h: Added.
  • html/canvas/ANGLEInstancedArrays.idl: Added.

New boilerplate files that expose the extension methods.

  • html/canvas/WebGLExtension.h: New extension enum.
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
parameter representing the number of instance primitives we are asked
to draw. Use that for the draw count if looking at an instanced attribute.
Also make sure we see at least one non-instanced attribute.
(WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
be used from either drawArrays or drawArraysInstanced.
(WebCore::WebGLRenderingContext::drawArrays):
(WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
used by the instanced and non-instanced versions.
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
(WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
(WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
attribute and return the value we kept in the state.
(WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
(WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
(WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.

  • html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
  • html/canvas/WebGLVertexArrayObjectOES.cpp:

(WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
divisor if we set it.

  • html/canvas/WebGLVertexArrayObjectOES.h:

(WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):

  • platform/graphics/GraphicsContext3D.h: New enum.
  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
(WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
(WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations

for non-mac platforms.

  • platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the

functions.

LayoutTests: Implement ANGLE_instanced_arrays
https://bugs.webkit.org/show_bug.cgi?id=127257

Reviewed by Brent Fulgham.

Copied a slightly modified version of the Khronos instanced
arrays test (mostly modified due to the fact this comes from
an in-progress update to the test suite).

  • fast/canvas/webgl/angle-instanced-arrays-expected.txt: Added.
  • fast/canvas/webgl/angle-instanced-arrays.html: Added.
  • fast/canvas/webgl/resources/webgl-test-utils.js:

(WebGLTestUtils): Added some new functions that were missing, and
some output to a checkColor test.

  • platform/efl/TestExpectations: Skip this for EFL.
  • platform/mac-mountainlion/fast/canvas/webgl/angle-instanced-arrays-expected.txt: Not

supported on Mountain Lion.

3:27 PM Changeset in webkit [162564] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Improve collapsing of TimelineDataGridNode graphs up to ancestors.

https://bugs.webkit.org/show_bug.cgi?id=127440

Reviewed by Joseph Pecoraro.

  • UserInterface/TimelineDataGridNode.js:

(WebInspector.TimelineDataGridNode.prototype.collapse):
(WebInspector.TimelineDataGridNode.prototype.createCellContent):
(WebInspector.TimelineDataGridNode.prototype.refresh):
(WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
Notify the next visible ancestor it needs to refresh. Use needsGraphRefresh so ancestors
are notified instead of directly calling refreshGraph in some places.

3:22 PM Changeset in webkit [162563] by Alan Bujtas
  • 1 edit
    10 adds in trunk/LayoutTests

Unreviewed Apple Windows port gardering after r162553.

  • platform/win/fast/repaint/reflection-redraw-expected.txt: Added.
  • platform/win/fast/table/dynamic-caption-add-remove-before-child-expected.txt: Added.
  • platform/win/fast/table/multiple-captions-display-expected.txt: Added.
  • platform/win/tables/mozilla/marvin/body_col-a-expected.txt: Added.
  • platform/win/tables/mozilla/marvin/x_th_valign_baseline-expected.txt: Added.
  • platform/win/tables/mozilla/other/body_col-expected.txt: Added.
3:14 PM Changeset in webkit [162562] by andersca@apple.com
  • 8 edits
    1 move in trunk/Source/WebKit2

WKProcessClass should create a WebContext
https://bugs.webkit.org/show_bug.cgi?id=127449
<rdar://problem/15885582>

Reviewed by Dan Bernstein.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • UIProcess/API/Cocoa/WKBrowsingContextController.h:
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:
  • UIProcess/API/Cocoa/WKProcessClass.mm:

(-[WKProcessClass initWithConfiguration:]):
(-[WKProcessClass dealloc]):
(-[WKProcessClass API::]):

  • UIProcess/API/Cocoa/WKProcessClassInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h.

(WebKit::wrapper):

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup initWithInjectedBundleURL:]):

  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):

  • WebKit2.xcodeproj/project.pbxproj:
2:57 PM Changeset in webkit [162561] by timothy@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Don't include a hidden Timeline selection in the navigation path components.

https://bugs.webkit.org/show_bug.cgi?id=127443

Reviewed by Joseph Pecoraro.

  • UserInterface/GeneralTreeElementPathComponent.js:

(WebInspector.GeneralTreeElementPathComponent.prototype.get previousSibling):
(WebInspector.GeneralTreeElementPathComponent.prototype.get nextSibling):
Skip hidden siblings.

  • UserInterface/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype.updateLayout):
(WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
Don't include hidden selection and dispatch SelectionPathComponentsDidChange event if hidden changes.

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
Dispatch SelectionPathComponentsDidChange event if hidden changes on the selected tree element.

  • UserInterface/TimelineView.js:

(WebInspector.TimelineView.prototype.get selectionPathComponents):
Don't include hidden selection.

2:57 PM Changeset in webkit [162560] by timothy@apple.com
  • 11 edits in trunk/Source/WebInspectorUI

Support collapsing call site records into the resource timeline.

Also fix some filtering and graph issues.

https://bugs.webkit.org/show_bug.cgi?id=127440

Reviewed by Joseph Pecoraro.

  • UserInterface/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.updateFilter):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
(WebInspector.NavigationSidebarPanel.prototype._updateFilter):
Tweak how filtering happens so custom filters never expand to reveal and auto expanded
tree elements will auto-collapse again later even with custom filters.

  • UserInterface/OverviewTimelineView.css:

(.timeline-view.overview > .data-grid tr.parent:not(.expanded) td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
(.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
(.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
Add a shadow to provide some negative space between juxtaposed records. Only needed when not expanded and not netwrok records.

  • UserInterface/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype.updateLayout):
(WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
Update the filter when current time changes and only auto expand the main resource.

  • UserInterface/ResourceTimelineDataGridNode.js:

(WebInspector.ResourceTimelineDataGridNode):
(WebInspector.ResourceTimelineDataGridNode.prototype._timelineRecordUpdated):
Don't schedule a refresh of the graph if the record isn't visible.

  • UserInterface/SourceCodeTimelineTimelineDataGridNode.js:

(WebInspector.SourceCodeTimelineTimelineDataGridNode):
(WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype._timelineRecordAdded):
Don't schedule a refresh of the graph if the record isn't visible.

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
Remove the boolean for updateFilter.

  • UserInterface/TimelineDataGrid.js:

(WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
(WebInspector.TimelineDataGrid.prototype._sort):
Keep the hidden state in-sync between node and element.

  • UserInterface/TimelineDataGridNode.js:

(WebInspector.TimelineDataGridNode.prototype.collapse):
(WebInspector.TimelineDataGridNode.prototype.expand):
(WebInspector.TimelineDataGridNode.prototype.appendChild):
(WebInspector.TimelineDataGridNode.prototype.insertChild):
(WebInspector.TimelineDataGridNode.prototype.removeChild):
(WebInspector.TimelineDataGridNode.prototype.removeChildren):
(WebInspector.TimelineDataGridNode.prototype.removeChildrenRecursive):
(WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBarsForRecords):
(WebInspector.TimelineDataGridNode.prototype.refreshGraph.else.collectRecordsByType.get if):
(WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
(WebInspector.TimelineDataGridNode.prototype.isRecordVisible):
Support drawing the children records on the parent graph.

  • UserInterface/TimelineRecordBar.css:

(.timeline-record-bar.unfinished > .segment):
(:focus .selected .timeline-record-bar > .segment):
(:focus .selected .timeline-record-bar > .segment.inactive):
(:focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
Tweaked styles to look bettwen when selected.

  • UserInterface/TimelineRecordBar.js:

(WebInspector.TimelineRecordBar.recordsCannotBeCombined):
(WebInspector.TimelineRecordBar.prototype.set records):
(WebInspector.TimelineRecordBar.prototype.refresh):
Drive-by fixes for some bug with bars being reused.

2:56 PM Changeset in webkit [162559] by Alan Bujtas
  • 6 edits in trunk

[CSS Shapes] shape-inside rectangle layout can fail
https://bugs.webkit.org/show_bug.cgi?id=124784

Reviewed by Darin Adler.

Early subpixel rounding/flooring/ceiling can have unwanted
side effect on the final pixel value. Delay pixel
conversions as much as possible.

Existing test is changed to reflect subpixel functionality.

Source/WebCore:

  • rendering/shapes/RectangleShape.cpp:

(WebCore::RectangleShape::firstIncludedIntervalLogicalTop):

LayoutTests:

  • fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top-expected.html:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
2:38 PM Changeset in webkit [162558] by Brent Fulgham
  • 1 edit in branches/safari-537.75-branch/Source/JavaScriptCore/jit/JITStubsMSVC64.asm

Back out accidental assembly change.

2:37 PM Changeset in webkit [162557] by Brent Fulgham
  • 9 edits in branches/safari-537.75-branch/Tools

Merge r157882

2013-10-23 Alex Christensen <achristensen@webkit.org>

Explicitly build Win32 or x64 configuration on Windows.
https://bugs.webkit.org/show_bug.cgi?id=123206

Reviewed by Brent Fulgham.

  • Scripts/webkitdirs.pm: (jscPath): (determineConfigurationForVisualStudio): (determinePassedConfiguration): Add |Win32 to the end of 32-bit Visual Studio build configurations. (safariPath):
  • Scripts/build-webkit:
  • Scripts/old-run-webkit-tests:
  • Scripts/run-api-tests: (testToolPath):
  • Scripts/run-javascriptcore-tests: (testapiPath):
  • Scripts/run-regexp-tests: (testapiPath):
  • Scripts/sunspider-compare-results: (pathToBuiltJSC): Use configuration instead of configurationForVisualStudio, which are now always different.
2:18 PM Changeset in webkit [162556] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Crashes in DrawingAreaProxy::setExposedRect (null DrawingAreaProxy)
https://bugs.webkit.org/show_bug.cgi?id=127445

Reviewed by Anders Carlsson.

  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView _updateViewExposedRect]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _updateViewExposedRect]):
Null-check.

2:17 PM Changeset in webkit [162555] by jochen@chromium.org
  • 6 edits in trunk/Source/WebCore

Add protocolIsInHTTPFamily for strings and use it where appropriate
https://bugs.webkit.org/show_bug.cgi?id=127336

Reviewed by Alexey Proskuryakov.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPSource::schemeMatches):

  • page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::generateReferrerHeader):

  • platform/URL.cpp:

(WebCore::protocolIsInHTTPFamily):

  • platform/URL.h:
2:16 PM Changeset in webkit [162554] by andersca@apple.com
  • 2 edits
    2 adds in trunk/Source/WebKit2

Add WKWebView class
https://bugs.webkit.org/show_bug.cgi?id=127444
<rdar://problem/15884418>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.h: Added.
  • UIProcess/API/Cocoa/WKWebView.mm: Added.

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView configuration]):

  • WebKit2.xcodeproj/project.pbxproj:
2:03 PM Changeset in webkit [162553] by Alan Bujtas
  • 24 edits
    1 delete in trunk

Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
https://bugs.webkit.org/show_bug.cgi?id=127404

Reviewed by Antti Koivisto.

In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
round line positions to CSS (integral) position similarly to InlineFlowBox.

Source/WebCore:

Existing tests cover it.

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::RunResolver::Run::baseline):

LayoutTests:

  • platform/mac/css1/box_properties/padding-expected.txt:
  • platform/mac/css1/box_properties/padding_top-expected.txt:
  • platform/mac/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/mac/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
  • platform/mac/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
  • platform/mac/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/mac/fast/css/empty-pseudo-class-expected.txt:
  • platform/mac/fast/css/fieldset-display-row-expected.txt:
  • platform/mac/fast/css/first-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/last-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/only-child-pseudo-class-expected.txt:
  • platform/mac/fast/repaint/reflection-redraw-expected.txt:
  • platform/mac/fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top-expected.png: Removed.
  • platform/mac/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
  • platform/mac/fast/table/multiple-captions-display-expected.txt:
  • platform/mac/tables/mozilla/marvin/body_col-expected.txt:
  • platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
  • platform/mac/tables/mozilla/other/body_col-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:
1:58 PM Changeset in webkit [162552] by Brent Fulgham
  • 5 edits
    1 copy in branches/safari-537.75-branch

Merge r157607

2013-10-17 Alex Christensen <achristensen@webkit.org>

Run JavaScriptCore tests again on Windows.
https://bugs.webkit.org/show_bug.cgi?id=122787

Reviewed by Tim Horton.

Source/JavaScriptCore:

  • JavaScriptCore.vcxproj/JavaScriptCore.sln: Added.
  • jit/JITStubsMSVC64.asm: Removed reference to cti_vm_throw unused since r157581.

Tools:

  • Scripts/build-jsc: (buildMyProject): Use JavaScriptCore.sln to build JavaScriptCore and WTF.
  • Scripts/run-javascriptcore-tests: Don't run stress tests on WinCairo.
  • Scripts/webkitdirs.pm: (determineConfigurationForVisualStudio): (determineConfigurationProductDir): Build directory should end with bin64 and configuration should end with |x64 on Win64. (isAppleWinWebKit): (copyInspectorFrontendFiles): (setPathForRunningWebKitApp): Separated WinCairo directories and options from AppleWin.
1:56 PM Changeset in webkit [162551] by fpizlo@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

FTL should support CheckArgumentsNotCreated
https://bugs.webkit.org/show_bug.cgi?id=127384

Reviewed by Mark Hahnenberg.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated):

1:02 PM Changeset in webkit [162550] by Joseph Pecoraro
  • 7 edits in trunk/Source/WebCore

Unreviewed rollout of r162534, this caused inspector test failures.

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::addListener):
(WebCore::PageScriptDebugServer::removeListener):
(WebCore::PageScriptDebugServer::recompileAllJSFunctions):
(WebCore::PageScriptDebugServer::didRemoveLastListener):

  • bindings/js/PageScriptDebugServer.h:
  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
(WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):

  • bindings/js/ScriptDebugServer.h:
  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::addListener):
(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
(WebCore::WorkerScriptDebugServer::removeListener):

  • inspector/InspectorProfilerAgent.cpp:
12:29 PM Changeset in webkit [162549] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix 32-bit build.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
12:18 PM Changeset in webkit [162548] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

[wk2] Scroll pinning state is wrong until the first scroll event
https://bugs.webkit.org/show_bug.cgi?id=127437

Reviewed by Simon Fraser.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::didChangeScrollOffset):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updateMainFrameScrollOffsetPinning):
(WebKit::WebPage::didCommitLoad):

  • WebProcess/WebPage/WebPage.h:

Rename WebPage::didChangeScrollOffsetForMainFrame to
updateMainFrameScrollOffsetPinning, which better describes what it
actually does. Call it when a load is committed, so that we have valid
pinning state before the first scroll event comes in.

12:17 PM Changeset in webkit [162547] by andersca@apple.com
  • 2 edits
    2 adds in trunk/Source/WebKit2

Add WKWebViewConfiguration class
https://bugs.webkit.org/show_bug.cgi?id=127436
<rdar://problem/15882923>

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h: Added.
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Added.

(-[WKWebViewConfiguration copyWithZone:]):

  • WebKit2.xcodeproj/project.pbxproj:
12:08 PM Changeset in webkit [162546] by alice.liu@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] add cocoa API for private browsing setting
https://bugs.webkit.org/show_bug.cgi?id=127391

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
  • UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:

(-[WKBrowsingContextGroup privateBrowsingEnabled]):
(-[WKBrowsingContextGroup setPrivateBrowsingEnabled:]):
Adding some API for the private Browsing setting. Reaches through
to the WKPageGroup's preferences.

11:55 AM Changeset in webkit [162545] by Martin Robinson
  • 3 edits in trunk/Tools

[GTK][CMake] build-webkit should try harder to avoid re-running cmake
https://bugs.webkit.org/show_bug.cgi?id=127073

Reviewed by Daniel Bates.

  • Scripts/build-webkit: Unify all the ports that call buildCMakeProjectOrExit with

the new isCMakeBuild conditional. This allows us to share more code between ports.
Pass the build arguments to the removeCMakeCache function.

  • Scripts/webkitdirs.pm:

(runAutogenForAutotoolsProjectIfNecessary): Renamed mustReRunAutogen to cachedArgumentFileOutOfDate
because it's now shared with the CMake build.
(cachedArgumentFileOutOfDate): Renamed.
(cmakeCachePath): Added this helper which gets the CMakeCache.txt path.
(shouldRemoveCMakeCache): Tries to preserve current behavior for all ports,
except GTK+ which examines the OptionsGTK.cmake and OptionsCommon.cmake file
as well as checking if build-webkit has been run with different arguments.
(removeCMakeCache): Call shouldRemoveCMakeCache now.
(generateBuildSystemFromCMakeProject): Exit early if CMakeCache.txt exists for GTK+.
(isCMakeBuild): Added.

11:55 AM Changeset in webkit [162544] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Crashes in setTextForIterator
https://bugs.webkit.org/show_bug.cgi?id=127424

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-22
Reviewed by Brent Fulgham.

  • platform/text/icu/UTextProviderLatin1.cpp:

(WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
(WebCore::uTextLatin1Access): Give correct buffer size to memset call.
(WebCore::openLatin1UTextProvider): Ditto.

11:53 AM Changeset in webkit [162543] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: fast/js/dfg-* typed array tests frequently time out on debug bots
https://bugs.webkit.org/show_bug.cgi?id=126166

Rubber-stamped by Filip Pizlo.

11:42 AM Changeset in webkit [162542] by Brent Fulgham
  • 4 edits in branches/safari-537.75-branch/Source/WebCore

Unreviewed build fix for branch.

  • WebCore.vcxproj/WebCore.vcxproj: Correct merged files.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • platform/graphics/cg/GraphicsContextCG.cpp: Remove work-around implementation (from branch)

now that WKSI provides the method.

11:26 AM Changeset in webkit [162541] by andersca@apple.com
  • 4 edits
    1 copy
    1 add in trunk/Source/WebKit2

Add WKProcessClass class
https://bugs.webkit.org/show_bug.cgi?id=127433
<rdar://problem/15882582>

Reviewed by Dan Bernstein.

Add a stubbed out WKProcessClass class.

  • Shared/API/Cocoa/WKFoundation.h:
  • UIProcess/API/Cocoa/WKProcessClass.h: Added.
  • UIProcess/API/Cocoa/WKProcessClass.mm: Added.

(-[WKProcessClass initWithConfiguration:]):
(-[WKProcessClass configuration]):

  • UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
  • WebKit2.xcodeproj/project.pbxproj:
11:24 AM Changeset in webkit [162540] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
https://bugs.webkit.org/show_bug.cgi?id=127430

Reviewed by Eric Carlson.

When other registered media engines cannot load a URL, the engine selection
will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
the URL. Instead of ASSERTing here, simply reject the URL by setting the
network state to FormatError.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):

11:21 AM Changeset in webkit [162539] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/WTF

Merge trunk r160838

2013-12-18 Daniel Bates <dabates@apple.com>

WTF, JavaScriptCore fails to build with trunk clang: operators new, new[],
delete, delete[] cannot be declared inline
https://bugs.webkit.org/show_bug.cgi?id=124186
<rdar://problem/15644039>

Reviewed by Geoffrey Garen and Anders Carlsson.

Following <http://llvm.org/viewvc/llvm-project?view=revision&revision=193044>
(http://llvm.org/bugs/show_bug.cgi?id=17591>), Clang emits warnings when
operator new, delete are inlined. Such definitions cannot be inline per
replacement.functions (17.6.4.6/3) of the C++ standard. For now,
disable these warnings instead of exporting these functions.

  • wtf/FastMalloc.h:
11:21 AM Changeset in webkit [162538] by thiago.lacerda@openbossa.org
  • 15 edits in trunk

[EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
https://bugs.webkit.org/show_bug.cgi?id=127119

Reviewed by Mario Sanchez Prada.

Source/WebCore:

At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
ACCESSIBILITY is not enabled, fixing that.
Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::AXObjectCache):

  • accessibility/AccessibilityObject.h:

Source/WebKit/gtk:

Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).

  • webkit/webkitwebview.cpp:

(webkit_web_view_class_init):

Source/WebKit2:

Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformInitialize):

Tools:

Guarding ACCESSIBILITY code in DumpRenderTree and WebKitTestRunner with HAVE(ACCESSIBILITY).

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
  • DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):
(webViewWindowObjectCleared):
(main):

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AccessibilityController::platformName):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::isIndeterminate):

11:10 AM Changeset in webkit [162537] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Refactor calculation of hasRx and hasRy values in SVGPathData
https://bugs.webkit.org/show_bug.cgi?id=127423

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-22
Reviewed by Darin Adler.

This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337

  • rendering/svg/SVGPathData.cpp:

(WebCore::updatePathFromRectElement):

11:00 AM Changeset in webkit [162536] by Martin Robinson
  • 6 edits in trunk

[GTK][CMake] Add support for building the NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=127195

Reviewed by Daniel Bates.

.:

  • Source/cmake/OptionsGTK.cmake: Turn on the network process and give it

a name like the WebProcess.

Source/WebKit2:

  • CMakeLists.txt: Add shared network process build instructions.
  • PlatformEfl.cmake: Move build instructions to the platform-independent file.
  • PlatformGTK.cmake: Add some files to the source lists.
10:59 AM Changeset in webkit [162535] by Martin Robinson
  • 2 edits in trunk/Source/WebKit

[GTK] Avoid a circular dependency when building webkitenumtypes.h
https://bugs.webkit.org/show_bug.cgi?id=127199

Reviewed by Daniel Bates.

  • PlatformGTK.cmake: Create a new list of headers consisting of all installed headers

except webkitenumtypes.h. Use this list when generating webkitenumtypes.h.

10:57 AM Changeset in webkit [162534] by Joseph Pecoraro
  • 7 edits in trunk/Source/WebCore

Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
https://bugs.webkit.org/show_bug.cgi?id=127409

Reviewed by Timothy Hatcher.

  • bindings/js/ScriptDebugServer.h:
  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::ScriptDebugServer):
Remove m_recompileTimer and the recompile soon function.
We can just recompile immediately in all existing cases.

  • bindings/js/PageScriptDebugServer.h:
  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::addListener):
(WebCore::PageScriptDebugServer::removeListener):
(WebCore::PageScriptDebugServer::recompileAllJSFunctions):
(WebCore::PageScriptDebugServer::didAddFirstListener):
(WebCore::PageScriptDebugServer::didRemoveLastListener):
Add a "didAddFirstListener" to match "didRemoveLastListener".
Only recompile functions when we attach the debugger and when
we detach the last listener.

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::addListener):
(WebCore::WorkerScriptDebugServer::removeListener):
(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
Same thing. Also rearrange the functions to read better.

  • inspector/InspectorProfilerAgent.cpp:

Use the direct recompile function instead of the removed "soon" version.

10:47 AM Changeset in webkit [162533] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r162441): [GTK] ResourceLoader is broken when there aren't user extensions
https://bugs.webkit.org/show_bug.cgi?id=127422

Reviewed by Anders Carlsson.

  • WebProcess/gtk/WebGtkExtensionManager.cpp:

(WebKit::WebGtkExtensionManager::initialize): Always create the
WebKitWebExtension object since it's used internally to implement
the ResourceLoader client.

10:47 AM Changeset in webkit [162532] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add some http/tests/websocket/tests/hybi tests to skipped list as they crash
generating thousands lines of error messages.

  • platform/efl/TestExpectations:
10:29 AM Changeset in webkit [162531] by jer.noble@apple.com
  • 2 edits
    1 move in trunk/Source/WebKit2

[Mac][WK2] Unable to play video protected by session cookies
https://bugs.webkit.org/show_bug.cgi?id=127207

Reviewed by Sam Weinig.

Recent changes in our underlying media frameworks caused our shimmed methods
in CookieStorageShim to stop being called. Insert an objective-c shim in addition
to our original shim to intercept pulling cookies out of cookie storage.

  • Shared/mac/CookieStorageShim.mm: Renamed from Source/WebKit2/Shared/mac/CookieStorageShim.cpp.

(WebKit::CookieStorageShim::initialize): Insert the shim.
(-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):

Pass through to webKitCookieStorageCopyRequestHeaderFieldsForURL().

  • WebKit2.xcodeproj/project.pbxproj: Rename CookieStorageShim.cpp -> .mm.
10:20 AM Changeset in webkit [162530] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

[curl] Improve detecting and handling of SSL client certificate
https://bugs.webkit.org/show_bug.cgi?id=125006

Patch by Robert Sipka <sipka@inf.u-szeged.hu> on 2014-01-22
Reviewed by Brent Fulgham.

Add client certificate handling.

  • platform/network/ResourceHandle.h:
  • platform/network/curl/ResourceError.h:

(WebCore::ResourceError::hasSSLConnectError):

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::setClientCertificateInfo):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::initializeHandle):

  • platform/network/curl/SSLHandle.cpp:

(WebCore::addAllowedClientCertificate):
(WebCore::setSSLClientCertificate):

  • platform/network/curl/SSLHandle.h:
10:16 AM Changeset in webkit [162529] by jae.park@company100.net
  • 2 edits in trunk/Source/WTF

Remove unnecessary include in Noncopyable.h
https://bugs.webkit.org/show_bug.cgi?id=127406

Reviewed by Anders Carlsson.

  • wtf/Noncopyable.h: We don't need Compiler.h as of r162198.
9:54 AM Changeset in webkit [162528] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Remember the Timeline Overview zoom and selection between sessions.

https://bugs.webkit.org/show_bug.cgi?id=127369

Reviewed by Joseph Pecoraro.

  • UserInterface/TimelineOverview.js:

(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.set secondsPerPixel):
(WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):

9:54 AM Changeset in webkit [162527] by timothy@apple.com
  • 8 edits in trunk/Source/WebInspectorUI

Show the Resource and Record selection path in the navigation bar for Timeline views.

https://bugs.webkit.org/show_bug.cgi?id=127367

Reviewed by Joseph Pecoraro.

  • UserInterface/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.LayoutTimelineView.prototype._dataGridNodeSelected):

  • UserInterface/NetworkTimelineView.js:

(WebInspector.NetworkTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):

  • UserInterface/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
(WebInspector.OverviewTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):

  • UserInterface/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected):

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._timelineViewSelectionPathComponentsDidChange):
(WebInspector.TimelineContentView.prototype._showTimelineView):

  • UserInterface/TimelineDataGrid.js:

(WebInspector.TimelineDataGrid.prototype.treeElementForDataGridNode):
(WebInspector.TimelineDataGrid.prototype.dataGridNodeForTreeElement):

  • UserInterface/TimelineView.js:

(WebInspector.TimelineView.prototype.get selectionPathComponents):
(WebInspector.TimelineView.prototype.treeElementPathComponentSelected):

9:38 AM Changeset in webkit [162526] by Brent Fulgham
  • 3 edits in branches/safari-537.75-branch/WebKitLibraries

Merge r154534

2013-08-23 Brent Fulgham <Brent Fulgham>

[Windows] Unreviewed build correction.

  • win/lib32/WebKitSystemInterface.lib: Update with new API for r132545.
9:35 AM Changeset in webkit [162525] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Build fix for iOS clients of WebUIDelegatePrivate.h.

  • WebView/WebUIDelegatePrivate.h: Ensure that ENABLE_DASHBOARD_SUPPORT is defined on iOS.
9:30 AM Changeset in webkit [162524] by Brent Fulgham
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Merge r154526

2014-01-22 Brent Fulgham <Brent Fulgham>

[Windows] Unreviewed build correction. Need to force environment variable
to be escaped when running nmake command.

  • WebCore.vcxproj/WebCoreGenerated.make:
9:30 AM Changeset in webkit [162523] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
https://bugs.webkit.org/show_bug.cgi?id=127343

Patch by Mihai Maerean <Mihai Maerean> on 2014-01-22
Reviewed by Sam Weinig.

RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
contexts which create layers.

No new tests, no functional change.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::hasCompositingRegionDescendant):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):

  • rendering/RenderNamedFlowFragment.h:
9:25 AM Changeset in webkit [162522] by Brent Fulgham
  • 2 edits in branches/safari-537.75-branch/Source/WTF

Merge r154520

2013-08-23 Brent Fulgham <Brent Fulgham>

[Windows] Unreviewed build correction after r154513.

  • WTF.vcxproj/build-generated-files.sh: Variable was missing '$' character.
9:19 AM Changeset in webkit [162521] by msaboff@apple.com
  • 13 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix DFG for X86-32
https://bugs.webkit.org/show_bug.cgi?id=127407

Reviewed by Filip Pizlo.

Made DFG calling convention changes. Change frameRegisterCount() to
appropriately round so the stack pointer will end up being properly aligned.
Removed some stack pointer alignment checks that are before setting
the stack pointer.

Fixed maxFrameExtentForSlowPathCall to account that the most arguments we
actually use when calling a helper is 7. Added a compile assert to make
sure that maxFrameExtentForSlowPathCall has the right padding. Made the
corresponding changes in the LLInt.

Moved the stack pointer down by maxFrameExtentForSlowPathCall before calling
a helper when the stack pointer hasn't been properly set up.

Eliminated emitGetReturnPCFromCallFrameHeaderPtr() since it is no longer called.

Moved the stack pointer down in ThunkGenerators::defineUnaryDoubleOpWrapper()
to align it for storing xmm arguments and making a call to the helper.

Fixed an issue where ArityCheckFailReturnThunks was clobbering edx. Changed
it to use regT4 (edi) instead of regT1 (edx).

Made temporary space on the stack for in the LLInt when calling out to C code
when the stack ponter hasn't been properly set up for a code block.

  • assembler/MaxFrameExtentForSlowPathCall.h:
  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::frameRegisterCount):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):

  • jit/ArityCheckFailReturnThunks.cpp:

(JSC::ArityCheckFailReturnThunks::returnPCsFor):

  • jit/AssemblyHelpers.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITInlines.h:

(JSC::JIT::emitNakedCall):

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LowLevelInterpreter.asm:
8:52 AM Changeset in webkit [162520] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Unreviewed build fix for non FTL platforms.

  • ftl/FTLValueRange.cpp: Encapsulated code within #if ENABLE(FTL_JIT) / #endif
8:41 AM Changeset in webkit [162519] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=127380
Add more methods to WKWebProcessPlugInNodeHandle.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-01-22
Reviewed by Sam Weinig.

Add a static method that creates a WKWebProcessPlugInNodeHandle from a JSValue* and a JSContext*. Also
add a method to return the iframe's content frame from a WKWebProcessPlugInNodeHandle.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:

(+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]):
(-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]):

8:15 AM Changeset in webkit [162518] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
https://bugs.webkit.org/show_bug.cgi?id=127426

Reviewed by Anders Carlsson.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollLayerPosition):
(WebCore::RenderLayerCompositor::frameViewDidScroll):

Factor scroll layer position update to a function.

(WebCore::RenderLayerCompositor::ensureRootLayer):

Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
directly. This avoid unthrottled layer flush that is done when the view actually scrolls.

  • rendering/RenderLayerCompositor.h:
6:53 AM Changeset in webkit [162517] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
https://bugs.webkit.org/show_bug.cgi?id=127350

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-22
Reviewed by Dirk Schulze.

Source/WebCore:

The graphics context of the SVG inherits the blend mode set
on the background layer. Fix consists in drawing the SVG
in a transparency layer.

Test: css3/compositing/background-blend-mode-svg.html

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.

LayoutTests:

  • css3/compositing/background-blend-mode-svg-expected.html: Added.
  • css3/compositing/background-blend-mode-svg.html: Added.
6:03 AM Changeset in webkit [162516] by Carlos Garcia Campos
  • 4 edits
    3 adds in trunk

[GTK] Add GUniquePtr
https://bugs.webkit.org/show_bug.cgi?id=127170

Reviewed by Gustavo Noronha Silva.

Source/WTF:

The idea is to replace GOwnPtr with a template alias of
std:unique_ptr. Not everything can be replaced, though, because
GOwnPtr::outPtr() doesn't seem to be possible to implement with
unique_ptr. This smart pointer is more flexible than GOwnPtr and
allows to transfer the ownership of the pointer using
std::move().

  • GNUmakefile.list.am: Add new file to compilation.
  • wtf/gobject/GUniquePtr.h: Added.

(WTF::GPtrDeleter::operator()):

Tools:

Add unit tests for GUniquePtr.

  • TestWebKitAPI/GNUmakefile.am: Add new file to compilation.
  • TestWebKitAPI/Tests/WTF/gobject/GUniquePtr.cpp: Added.

(log):
(takeLogStr):
(TestWebKitAPI::TEST):

5:07 AM Changeset in webkit [162515] by Antti Koivisto
  • 4 edits in trunk

Update overlay scrollbars in single pass
https://bugs.webkit.org/show_bug.cgi?id=127289

Source/WebCore:

Reviewed by Anders Carlsson.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):

Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.

LayoutTests:

  • platform/mac/accessibility/iframe-aria-hidden.html:


Try to keep this non-flaky by forcing layout. Real fix would probably be in the
accessibility test framework.

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

Unreviewed. Fix GTK+ build with CUSTOM_PROTOCOL enabled after r162449.

  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:

Use override instead of OVERRIDE.

3:15 AM Changeset in webkit [162513] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Build fixes for FreeBSD.
https://bugs.webkit.org/show_bug.cgi?id=126779

Patch by Koop Mast <kwm@FreeBSD.org> on 2014-01-22
Reviewed by Csaba Osztrogonác.

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::PluginProcessProxy::scanPlugin):

3:03 AM Changeset in webkit [162512] by jinwoo7.song@samsung.com
  • 6 edits
    2 deletes in trunk/Tools

Remove Nix files from Tools
https://bugs.webkit.org/show_bug.cgi?id=127418

Reviewed by Csaba Osztrogonác.

  • Scripts/build-webkit:
  • Scripts/update-webkit-libs-jhbuild:
  • Scripts/webkitdirs.pm:

(determineArchitecture):
(argumentsForConfiguration):
(jscProductDir):
(builtDylibPathForName):
(isAppleWebKit):
(launcherPath):
(launcherName):
(checkRequiredSystemConfig):
(copyInspectorFrontendFiles):
(jhbuildWrapperPrefixIfNeeded):
(buildCMakeProjectOrExit):
(cmakeBasedPortName):

  • Scripts/webkitpy/common/config/ports.py:

(DeprecatedPort.port):
(EflWK2Port.build_webkit_command):

  • Scripts/webkitpy/port/factory.py:

(platform_options):
(PortFactory):

  • Scripts/webkitpy/port/nix.py: Removed.
  • Scripts/webkitpy/port/nix_unittest.py: Removed.
1:00 AM Changeset in webkit [162511] by jinwoo7.song@samsung.com
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] Use std::function in the rest of EFL's WorkQueue implementation
https://bugs.webkit.org/show_bug.cgi?id=127397

Reviewed by Anders Carlsson.

Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
and DispatchQueue::setSocketEventHandler.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::open):

  • Platform/WorkQueue.h:
  • Platform/efl/DispatchQueueEfl.cpp:

(DispatchQueue::setSocketEventHandler):

  • Platform/efl/DispatchQueueEfl.h:
  • Platform/efl/WorkQueueEfl.cpp:

(WorkQueue::registerSocketEventHandler):

12:50 AM Changeset in webkit [162510] by ChangSeok Oh
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening

Remove test expectations for passed tests.
fast/parser/document-write-basic.html is marked crash but passed.
fast/forms/select-live-pseudo-selectors.html is marked crash but passed.

  • platform/gtk-wk2/TestExpectations:
12:40 AM Changeset in webkit [162509] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector-protocol/page/deny-X-FrameOption.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=127414

  • inspector-protocol/page/deny-X-FrameOption.html: Speculative fix, don't manipulate

a frame before onload, even if it's empty.

12:30 AM Changeset in webkit [162508] by mihnea@adobe.com
  • 3 edits
    2 adds in trunk

[CSSRegions] Incorrect layout of a region pseudo children
https://bugs.webkit.org/show_bug.cgi?id=126146

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/regions/collapse-anonymous-region.html

A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
block created to fragment the named flow content inside the region. We have to prevent
the behaviour of anonymous children collapsing for this block to make sure that the
region element children are still laid out properly when the region element becomes an ordinary
element.

  • rendering/RenderBlockFlow.h:

LayoutTests:

  • fast/regions/collapse-anonymous-region-expected.html: Added.
  • fast/regions/collapse-anonymous-region.html: Added.

Jan 21, 2014:

11:45 PM Changeset in webkit [162507] by ryuan.choi@samsung.com
  • 4 edits in trunk

Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
https://bugs.webkit.org/show_bug.cgi?id=127402

Reviewed by Anders Carlsson.

Source/WebCore:

compositing/iframes/iframe-composited-scrolling.html is updated because
there are no usages in WebCore.

  • page/Settings.in:

LayoutTests:

  • compositing/iframes/iframe-composited-scrolling.html:

Removed acceleratedCompositingForScrollableFramesEnabled changes because
it is dead code in WebCore side.

10:36 PM Changeset in webkit [162506] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Compile fix for using libsoup on Windows.
https://bugs.webkit.org/show_bug.cgi?id=127377

Patch by Alex Christensen <achristensen@webkit.org> on 2014-01-21
Reviewed by Daniel Bates.

  • platform/network/soup/ProxyResolverSoup.cpp:

(soupProxyResolverWkSetProperty):
(soupProxyResolverWkGetProperty):
(soupProxyResolverWkGetProxyURISync):
Replaced uint with unsigned.

10:18 PM Changeset in webkit [162505] by timothy_horton@apple.com
  • 25 edits in trunk/Source/WebKit2

[wk2] De-.get()ify receivers of Objective-C messages
https://bugs.webkit.org/show_bug.cgi?id=127398

Reviewed by Sam Weinig.

RetainPtr does the right thing when you use it as the
receiver of an Obj-C message, so we don't need .get().

Long and useless file list elided.

10:08 PM Changeset in webkit [162504] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Added a method declaration that was missed in r161185.

Reviewed by Sam Weinig.

  • WebView/WebViewPrivate.h: Declared -removeVisitedLink:.
9:50 PM Changeset in webkit [162503] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()

Following up after <http://trac.webkit.org/changeset/162473>, we should break up
the assertion into two assertions as suggested by Darin Adler. Separating the single
assertion into two assertions makes it straightforward to determine the conjunct that
failed among other benefits.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

9:17 PM Changeset in webkit [162502] by benjamin@webkit.org
  • 2 edits in trunk/Tools

Add Ian and Ricky to the contributor list

  • Scripts/webkitpy/common/config/contributors.json:

I am too old to remember all those email addresses :)

9:15 PM Changeset in webkit [162501] by beidson@apple.com
  • 9 edits in trunk/Source

The IDB backing store put() method shouldn't call IDB callbacks directly
https://bugs.webkit.org/show_bug.cgi?id=127399

Reviewed by Beth Dakin.

Source/WebCore:

Refactor the put() callback to take a resulting key or an error.

  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::PutOperation::perform): Call to the backing store, then perform the

appropriate IDB callback whether a key or an error was returned.

  • Modules/indexeddb/IDBTransactionBackendOperations.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.

Instead, pass the resulting key/error back to the PutOperation.

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

Source/WebKit2:

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::put):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
9:13 PM Changeset in webkit [162500] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.74-branch/Source

Versioning.

9:12 PM Changeset in webkit [162499] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.74.10

New Tag.

9:10 PM Changeset in webkit [162498] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Source/WebCore

Merge r162486: <rdar://problem/15877502>

8:25 PM Changeset in webkit [162497] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.74-branch/Source

Versioning.

8:23 PM Changeset in webkit [162496] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.74.9

New Tag.

8:01 PM Changeset in webkit [162495] by mrowe@apple.com
  • 6 edits in trunk/Source

Roll out r162483. It removes SPI that is currently in use.

7:24 PM Changeset in webkit [162494] by Alan Bujtas
  • 4 edits in trunk/LayoutTests

Subpixel Layout: Off-by-one pixel text when multiple regions with different widths are present.
https://bugs.webkit.org/show_bug.cgi?id=127212

Reviewed by Simon Fraser.

Subpixel values accumulate differently when computing the text position inside a 300px wide div
vs. multiple 'flow into' regions with 300px, 400px widths. They are both correct. Blink
also addressed it by adjusting the test content.

  • fast/regions/overflow-moving-below-floats-in-variable-width-regions.html:
  • platform/mac/TestExpectations:
6:51 PM Changeset in webkit [162493] by jae.park@company100.net
  • 2 edits in trunk/Source/WebCore

Use nullptr in HTMLCanvasElement
https://bugs.webkit.org/show_bug.cgi?id=127388

Reviewed by Gyuyoung Kim.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::drawingContext):
(WebCore::HTMLCanvasElement::existingDrawingContext):

6:31 PM Changeset in webkit [162492] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Assertion failure in Range::nodeWillBeRemoved
https://bugs.webkit.org/show_bug.cgi?id=121694

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Ryosuke Niwa.

Source/WebCore:

Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa

This patch fix an assertion failure. Range::nodeWillBeRemoved() might
be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
event handler calls removeChild(), for node being removed.

Test: fast/dom/Range/remove-twice-crash.html

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::willRemoveChild):

  • dom/ContainerNode.h:

LayoutTests:

  • fast/dom/Range/remove-twice-crash-expected.txt: Added.
  • fast/dom/Range/remove-twice-crash.html: Added.
6:22 PM Changeset in webkit [162491] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix 32-bit build.

  • UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
6:02 PM Changeset in webkit [162490] by jinwoo7.song@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Use nanoseconds in TimerWorkItem class consistently
https://bugs.webkit.org/show_bug.cgi?id=127263

Reviewed by Gyuyoung Kim.

After r162276 and r162300, TimerWorkItem is getting nanoseconds as parameter.
So it would be better to use nanoseconds in TimerWorkItem for consistency.

  • Platform/efl/DispatchQueueEfl.cpp:

(DispatchQueue::performTimerWork):
(DispatchQueue::insertTimerWorkItem):
(DispatchQueue::getNextTimeOut):

  • Platform/efl/DispatchQueueWorkItemEfl.h:

(TimerWorkItem::create):
(TimerWorkItem::expirationTimeNanoSeconds):
(TimerWorkItem::hasExpired):
(TimerWorkItem::TimerWorkItem):

5:59 PM Changeset in webkit [162489] by fpizlo@apple.com
  • 5 edits in branches/jsCStack

Source/JavaScriptCore: Add a --enableExperimentalFTLCoverage option and use it to protect recently added features.

Rubber stamped by Mark Hahnenberg.

We're still in a mode where adding new FTL features can cause performance regressions. This allows us to
add them and get them to be tested for correctness while we still continue to track progress on performance
work.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • runtime/Options.h:

Tools: Use --enableExperimentalFTLCoverage=true for all FTL tests.

Rubber stamped by Mark Hahnenberg.

  • Scripts/run-jsc-stress-tests:
5:59 PM Changeset in webkit [162488] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't copy ViewGestureGeometryCollector.messages.in into the WebProcess bundle.

Reviewed by Simon Fraser.

  • WebKit2.xcodeproj/project.pbxproj:
5:57 PM Changeset in webkit [162487] by andersca@apple.com
  • 2 edits
    3 adds in trunk/Source/WebKit2

Add a WKProcessClassConfiguration class
https://bugs.webkit.org/show_bug.cgi?id=127378
<rdar://problem/15875413>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Added.
  • UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Added.

(-[WKProcessClassConfiguration copyWithZone:]):

  • UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Added.
  • WebKit2.xcodeproj/project.pbxproj:
5:44 PM EFLWebKit edited by ryuan.choi@samsung.com
Add efreet related know issue that fails launching MiniBrowser on som … (diff)
5:34 PM Changeset in webkit [162486] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r161580): Some PDFs render outside their <img>
https://bugs.webkit.org/show_bug.cgi?id=127381
<rdar://problem/15872168>

Reviewed by Simon Fraser.

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::transformContextForPainting):
Only try to make the scale uniform if it isn't already, and use the minimum
of the two original scales when doing so, so that it is absolutely certain
to fit inside space allocated for the image during layout.

5:18 PM Changeset in webkit [162485] by timothy_horton@apple.com
  • 2 edits
    1 move in trunk/Source/WebKit2

Make ViewGestureController Obj-C++
https://bugs.webkit.org/show_bug.cgi?id=127385

Reviewed by Dean Jackson.

  • UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
  • WebKit2.xcodeproj/project.pbxproj:
4:42 PM Changeset in webkit [162484] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

FTL should support AllocationProfileWatchpoint
https://bugs.webkit.org/show_bug.cgi?id=127383

Rubber stamped by Mark Hahnenberg.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

4:28 PM Changeset in webkit [162483] by roger_fong@apple.com
  • 6 edits in trunk/Source

Unreviewed. WebGLLoadPolicy::WebGLAsk is an unnecessary value.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):

  • loader/FrameLoaderTypes.h:
  • UIProcess/API/C/WKAPICast.h:

(WebKit::toWebGLLoadPolicy):

  • UIProcess/API/C/WKPageLoaderClient.h:
4:06 PM Changeset in webkit [162482] by ap@apple.com
  • 2 edits in trunk/LayoutTests

AX: Mac: Expose the visible text of a password field to AX
https://bugs.webkit.org/show_bug.cgi?id=127353

Test landed with this fix was filing everywhere, trying to fix it.

  • accessibility/password-field-value.html: Fix paths in the test, and clean it up a little.
4:04 PM Changeset in webkit [162481] by dfarler@apple.com
  • 2 edits
    1 add in trunk/Tools

Upstream package-root for iOS

Reviewed by Daniel bates.

  • Scripts/package-root: Added.

(usage):

  • Scripts/webkitdirs.pm:

(XcodeSDKPath): Added function.

3:54 PM Changeset in webkit [162480] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
https://bugs.webkit.org/show_bug.cgi?id=127373

Reviewed by Beth Dakin.

Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
move the #ifdef inside viewportConstrainedVisibleContentRect().

The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
visibleContentRect() (which is really the document bounds on iOS). This ensures that the
fixed layers aren't clipped when zooming out.

  • page/FrameView.cpp:

(WebCore::FrameView::viewportConstrainedVisibleContentRect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::stickyPositionOffset):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):

3:49 PM Changeset in webkit [162479] by alex.christensen@flexsim.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix for Win64.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Corrected 64-bit linker symbols.

3:43 PM Changeset in webkit [162478] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Make all the WebKit2 headers private and move Cocoa UIProcess API headers to a Deprecated group
https://bugs.webkit.org/show_bug.cgi?id=127374

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
3:14 PM Changeset in webkit [162477] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Allow all clients to link against WebCore
https://bugs.webkit.org/show_bug.cgi?id=127372

Reviewed by Dan Bernstein.

  • Configurations/WebCore.xcconfig:
2:45 PM Changeset in webkit [162476] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS] Tools/Makefile shouldn't build modules DumpRenderTree, gtest, or TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=127368

Reviewed by Tim Horton.

Similar to the build-webkit change in <https://bugs.webkit.org/show_bug.cgi?id=127364>,
we don't want to build DumpRenderTree, gtest, or TestWebKitAPI when running make in
Tools.

  • Makefile:
2:23 PM Changeset in webkit [162475] by betravis@adobe.com
  • 12 edits in trunk

[CSS Shapes] Preserve box-shape order when serializing shape values
https://bugs.webkit.org/show_bug.cgi?id=127200

Reviewed by Dirk Schulze.

Source/WebCore:

Convert the parsed shape-box pair to a CSSValueList rather than directly
adding the box value to BasicShape. The CSSValueList preserves the
shape-box ordering, and cleans up a little bit of the code shared between
clip and shape values.

Modifying existing parsing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::shapePropertyValue): Factor out code common to generating shape
values.
(WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
you have both a shape and a box.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip

paths and shape properties that parses the [basic-shape
box] syntax from

the CSS Shapes spec.
(WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.

  • css/CSSValueList.h:

(WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc): Specify a box when blending.

  • rendering/style/ShapeValue.h:

(WebCore::ShapeValue::createShapeValue): Add a box parameter.
(WebCore::ShapeValue::ShapeValue): Ditto.

LayoutTests:

Modify the expectations for box shape pairs, preserving the order of
the arguments in non-computed values. Computed values are still a
shape followed by a box.

  • fast/shapes/parsing/parsing-shape-inside-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js:
2:14 PM Changeset in webkit [162474] by ap@apple.com
  • 3 edits in trunk/LayoutTests

platform/mac/accessibility/iframe-aria-hidden.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=127323

Reviewed by Chris Fleizach.

This test got de-flaked on bots by rolling out r162354. But there was still
a potential race in it, which this change fixes.

  • platform/mac-wk2/TestExpectations: Removed expectation.
  • platform/mac/accessibility/iframe-aria-hidden.html: Run the test in onload, as

frames load asynchronously.

1:45 PM Changeset in webkit [162473] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the iOS Simulator release build

Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
that the argument platformLayer is unused. The argument platformLayer
is only used in the asserted condition, which isn't compiled in a
release build; => the argument is unused in a release build.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

1:33 PM Changeset in webkit [162472] by zoltan@webkit.org
  • 6 edits in trunk/Source/WebCore

Since MidpointState is a class, it should behave like a class
https://bugs.webkit.org/show_bug.cgi?id=127154

Reviewed by David Hyatt.

I modified MidpointState to behave like a class, updated the call sites also.

No new tests, no behavior change.

  • platform/text/BidiResolver.h:

(WebCore::MidpointState::reset):
(WebCore::MidpointState::startIgnoringSpaces):
(WebCore::MidpointState::stopIgnoringSpaces):
(WebCore::MidpointState::midpoints):
(WebCore::MidpointState::numMidpoints):
(WebCore::MidpointState::currentMidpoint):
(WebCore::MidpointState::incrementCurrentMidpoint):
(WebCore::MidpointState::decreaseNumMidpoints):
(WebCore::MidpointState::betweenMidpoints):
(WebCore::MidpointState::setBetweenMidpoints):
(WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
its private, we no longer need to discourage callers from using it.

  • rendering/InlineIterator.h:

(WebCore::IsolateTracker::addFakeRunIfNecessary):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::appendRunsForObject):
(WebCore::constructBidiRunsForLine):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::checkMidpoints):

  • rendering/line/TrailingObjects.cpp:

(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):

1:29 PM Changeset in webkit [162471] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS] Don't build DumpRenderTree, gtest, or TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=127364

Reviewed by Simon Fraser.

For now, don't build DumpRenderTree and TestWebKitAPI for iOS as these
projects fail to build because we need to upstream the relevant iOS changes.
Also, don't build gtest, which is a dependency of TestWebKitAPI since we
aren't building TestWebKitAPI.

  • Scripts/build-webkit:
1:23 PM Changeset in webkit [162470] by rakuco@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, remove myself from some watchlist entries.

  • Scripts/webkitpy/common/config/watchlist:
1:10 PM Changeset in webkit [162469] by Lucas Forschler
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

1:06 PM Changeset in webkit [162468] by Lucas Forschler
  • 1 copy in branches/safari-537.75-branch

New Branch.

1:05 PM Changeset in webkit [162467] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Unreviewed, rolling out r162452.
http://trac.webkit.org/changeset/162452
https://bugs.webkit.org/show_bug.cgi?id=127366

broke a few tests on all Mac WebKit1 bots (Requested by
thorton on #webkit).

Source/WebCore:

  • WebCore.exp.in:
  • page/FocusController.cpp:

(WebCore::FocusController::FocusController):
(WebCore::FocusController::setFocused):
(WebCore::FocusController::setActive):
(WebCore::FocusController::setContentIsVisible):

  • page/FocusController.h:

(WebCore::FocusController::isActive):
(WebCore::FocusController::isFocused):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::setIsInWindow):
(WebCore::Page::setIsVisuallyIdle):
(WebCore::Page::setIsVisible):
(WebCore::Page::visibilityState):
(WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):

  • page/Page.h:

(WebCore::Page::isVisible):
(WebCore::Page::isInWindow):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _windowWillOrderOnScreen:]):
(-[WebView _windowWillOrderOffScreen:]):

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setActive):
(WebKit::WebPage::setViewIsVisible):
(WebKit::WebPage::setFocused):
(WebKit::WebPage::setIsInWindow):
(WebKit::WebPage::setViewStateInternal):
(WebKit::WebPage::setIsVisuallyIdle):

  • WebProcess/WebPage/WebPage.h:
12:56 PM Changeset in webkit [162466] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: Mac: Expose the visible text of a password field to AX
https://bugs.webkit.org/show_bug.cgi?id=127353

Reviewed by Brent Fulgham.

Source/WebCore:

The Mac platform should now expose the rendered value of password fields through AX.

Test: accessibility/password-field-value.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textLength):
(WebCore::AccessibilityRenderObject::passwordFieldValue):

LayoutTests:

  • accessibility/password-field-value-expected.txt: Added.
  • accessibility/password-field-value.html: Added.
12:32 PM Changeset in webkit [162465] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Trivial Session API cleanup.
https://bugs.webkit.org/show_bug.cgi?id=127356

Patch by Martin Hock <mhock@apple.com> on 2014-01-21
Reviewed by Alexey Proskuryakov.

  • UIProcess/API/C/WKSessionRef.cpp:

(WKSessionIsEphemeral):

  • UIProcess/API/C/WKSessionRef.h:
12:26 PM Changeset in webkit [162464] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Support SSL error handling in case of synchronous job.
https://bugs.webkit.org/show_bug.cgi?id=125301

Patch by Robert Sipka <sipka@inf.u-szeged.hu> on 2014-01-21
Reviewed by Brent Fulgham.

Set ssl error informations for the users.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::dispatchSynchronousJob):

12:25 PM Changeset in webkit [162463] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
https://bugs.webkit.org/show_bug.cgi?id=127360

Reviewed by Andy Estes.

MobileSafari inappropriately calls these WebCore functions directly,
so export them.

  • WebCore.exp.in:
12:25 PM Changeset in webkit [162462] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
https://bugs.webkit.org/show_bug.cgi?id=127362

Reviewed by Dave Hyatt.

Various platforms customize the rect used to layout position:fixed elements,
and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
ways.

Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
and moving the platform hacks into it.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):

  • rendering/RenderView.cpp:

(WebCore::RenderView::clientLogicalWidthForFixedPosition):
(WebCore::RenderView::clientLogicalHeightForFixedPosition):

  • rendering/RenderView.h:
12:25 PM Changeset in webkit [162461] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Log an error for a common cause of WebProcess early launch crashing in misconfigured development builds
https://bugs.webkit.org/show_bug.cgi?id=127121

Reviewed by Anders Carlsson.

A common cause of early WebProcess crashes during development is a null return
from CFBundleGetValueForInfoDictionaryKey(), so log and return an error in
this case rather than passing a null C string to dlsym().

  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:

(WebKit::BootstrapMain):

12:19 PM Changeset in webkit [162460] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Registers used in writeBarrierOnOperand can cause clobbering on some platforms
https://bugs.webkit.org/show_bug.cgi?id=127357

Reviewed by Filip Pizlo.

Some platforms use t0 and t1 for their first two arguments, so using those to load the
cell for the write barrier is a bad idea because it will get clobbered.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
12:17 PM Changeset in webkit [162459] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
<https://webkit.org/b/108184>

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Philip Rogers.

Source/WebCore:

In the case a SMILElement timing had a syncbase dependency on an indefinite value
the assert were raised. The assert has been removed and a check has been added
instead that prevents the addition of indefinite times to the time list.

Test: svg/animations/smil-syncbase-self-dependency.svg

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):

ASSERT removed.

LayoutTests:

Test checks whether valid self-dependency is accidentally broken.

  • svg/animations/smil-syncbase-self-dependency-expected.txt: Added.
  • svg/animations/smil-syncbase-self-dependency.svg: Added.
11:58 AM Changeset in webkit [162458] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Sort headers after the rename that happened in r162454.

  • UIProcess/mac/RemoteLayerTreeHost.mm:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
11:54 AM Changeset in webkit [162457] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/win

[WinCairo][Curl] Download request has incorrect user agent string.
https://bugs.webkit.org/show_bug.cgi?id=127110

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-21
Reviewed by Brent Fulgham.

  • WebDownloadCurl.cpp:

(WebDownload::init): Set user agent string in download request.

  • WebView.cpp:

(WebView::downloadURL): Avoid early return if no ResourceHandle is provided.

11:40 AM Changeset in webkit [162456] by Alan Bujtas
  • 2 edits in trunk/Tools

Use 64 as the default value for the subpixel denominator.

Reviewed by Simon Fraser.

  • lldb/lldb_webkit.py:

(WebCoreLayoutUnitProvider.to_string):

11:37 AM Changeset in webkit [162455] by mmaxfield@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test that text-decoration-skip: ink inherits as expected
https://bugs.webkit.org/show_bug.cgi?id=127329

Reviewed by Dean Jackson.

Adding a test for text-decoration-skip: ink inheriting

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-inherit-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-inherit.html: Added.
11:36 AM Changeset in webkit [162454] by timothy_horton@apple.com
  • 7 edits
    2 adds
    2 deletes in trunk/Source

Address late review naming comments after r162453.

  • UIProcess/API/mac/WKView.mm:

And, fix the build by adding an include I accidentally missed.

  • UIProcess/mac/RemoteLayerTreeHost.mm:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:
  • platform/graphics/mac/CALayerWebAdditions.h: Removed.
  • platform/graphics/mac/CALayerWebAdditions.mm: Removed.
  • platform/graphics/mac/WebCoreCALayerExtras.h: Added.
  • platform/graphics/mac/WebCoreCALayerExtras.mm: Added.

Rename.

(-[CALayer web_disableAllActions]):

11:19 AM Changeset in webkit [162453] by timothy_horton@apple.com
  • 9 edits
    1 move
    2 adds in trunk/Source

Keep CALayer implicit animation disabling code in a single place
https://bugs.webkit.org/show_bug.cgi?id=127355

Reviewed by Simon Fraser.

  • WebCore.xcodeproj/project.pbxproj:

Add CALayerWebAdditions.{h,mm}.

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::commonInit):
Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.

  • platform/graphics/mac/CALayerWebAdditions.h: Added.
  • platform/graphics/mac/CALayerWebAdditions.mm: Added.

(-[CALayer web_disableAllActions]):
Added. Disable all implicit actions on the layer.

  • Shared/mac/RemoteLayerTreePropertyApplier.h:
  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

Remove disableActionsForLayer.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _rootLayer]):
Disable actions on the root layer. It doesn't need them, and currently
isn't affected by implicit animations, but future patches which animate
the root layer will benefit from this.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::createLayer):
Use web_disableAllActions instead of disableActionsForLayer.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp.

(PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::hostingContextID):
Use web_disableAllActions instead of disableActionsForLayer.
This requires making this file Obj-C++ but that's OK since it's Mac/iOS only.

11:02 AM Changeset in webkit [162452] by barraclough@apple.com
  • 11 edits in trunk/Source

Change Page, FocusController to use ViewState
https://bugs.webkit.org/show_bug.cgi?id=126533

Reviewed by Tim Horton.

These classes currently maintain a set of separate fields to represent the view state;
combine these into a single field, and allow WebPage to send the combined update rather
than individual changes.

Maintain existing interface for WebKit1 clients.

Source/WebCore:

  • WebCore.exp.in:
    • Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
  • page/FocusController.cpp:

(WebCore::FocusController::FocusController):

  • Initialize combined m_viewState.

(WebCore::FocusController::setFocused):

  • Calls setViewState.

(WebCore::FocusController::setFocusedInternal):

  • setFocused -> setFocusedInternal.

(WebCore::FocusController::setViewState):

  • Added, update all ViewState flags.

(WebCore::FocusController::setActive):

  • Calls setViewState.

(WebCore::FocusController::setActiveInternal):

  • setActive -> setActiveInternal.

(WebCore::FocusController::setContentIsVisible):

  • Calls setViewState.

(WebCore::FocusController::setContentIsVisibleInternal):

  • setContentIsVisible -> setContentIsVisibleInternal.
  • page/FocusController.h:

(WebCore::FocusController::isActive):
(WebCore::FocusController::isFocused):
(WebCore::FocusController::contentIsVisible):

  • Implemented in terms of ViewState.
  • page/Page.cpp:

(WebCore::Page::Page):

  • Initialize using PageInitialViewState.

(WebCore::Page::setIsInWindow):

  • Calls setViewState.

(WebCore::Page::setIsInWindowInternal):

  • setIsInWindow -> setIsInWindowInternal.

(WebCore::Page::setIsVisuallyIdleInternal):

  • setIsVisuallyIdle -> setIsVisuallyIdleInternal.

(WebCore::Page::setViewState):

  • Added, update all ViewState flags, including FocusController.

(WebCore::Page::setIsVisible):

  • Calls setViewState.

(WebCore::Page::setIsVisibleInternal):

  • setIsVisible -> setIsVisibleInternal.

(WebCore::Page::visibilityState):

  • m_isVisible -> isVisible()

(WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):

  • m_isVisible -> isVisible()
  • page/Page.h:

(WebCore::Page::isVisible):
(WebCore::Page::isInWindow):

  • Implemented in terms of ViewState.

(WebCore::Page::scriptedAnimationsSuspended):

  • Combined member fields into ViewState::Flags.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _windowWillOrderOnScreen:]):
(-[WebView _windowWillOrderOffScreen:]):

  • remove calls to FocusController::setContentIsVisible, these are redundant (this is handled when page visibility is set).

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • Combined separate calls to Page::setViewState.

(WebKit::WebPage::updateIsInWindow):

  • Simplied from setIsInWindow.

(WebKit::WebPage::setViewState):

  • Combined separate calls to Page::setViewState.
  • WebProcess/WebPage/WebPage.h:
    • Declare updateIsInWindow.
10:46 AM Changeset in webkit [162451] by lauro.neto@openbossa.org
  • 42 edits in trunk/Source/WebCore

Remove PLATFORM(NIX) from WebCore
https://bugs.webkit.org/show_bug.cgi?id=127299

Reviewed by Anders Carlsson.

  • editing/Editor.cpp:

(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::copyImage):

  • editing/Editor.h:
  • html/HTMLCanvasElement.h:
  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::defaultObjectContentType):

  • page/ChromeClient.h:
  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • platform/Cursor.h:
  • platform/DragData.h:
  • platform/DragImage.h:
  • platform/FileSystem.h:
  • platform/LocalizedStrings.h:
  • platform/Widget.h:
  • platform/audio/FFTFrame.h:
  • platform/audio/HRTFElevation.cpp:
  • platform/cairo/WidgetBackingStore.h:
  • platform/graphics/ANGLEWebKitBridge.h:
  • platform/graphics/FontPlatformData.h:
  • platform/graphics/GLContext.cpp:

(WebCore::GLContext::createContextForWindow):

  • platform/graphics/GLContext.h:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):

  • platform/graphics/OpenGLESShims.h:
  • platform/graphics/OpenGLShims.cpp:

(WebCore::getProcAddress):

  • platform/graphics/OpenGLShims.h:
  • platform/graphics/PlatformLayer.h:
  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::createVertexArrayOES):
(WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
(WebCore::Extensions3DOpenGL::isVertexArrayOES):
(WebCore::Extensions3DOpenGL::bindVertexArrayOES):
(WebCore::Extensions3DOpenGL::supportsExtension):

  • platform/graphics/opengl/Extensions3DOpenGL.h:
  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
  • platform/graphics/opengl/Extensions3DOpenGLES.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::reshape):

  • platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
  • platform/graphics/texmap/TextureMapper.h:
  • platform/network/ResourceHandle.h:
  • plugins/PluginPackage.cpp:
  • plugins/PluginView.cpp:

(WebCore::PluginView::PluginView):

  • plugins/PluginView.h:
  • plugins/PluginViewNone.cpp:
  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

10:44 AM Changeset in webkit [162450] by eric.carlson@apple.com
  • 6 edits in trunk

Add &lrm; &rlm; and &nbsp; to WebVTT parser
https://bugs.webkit.org/show_bug.cgi?id=85112

Reviewed by Jer Noble.

Source/WebCore:

No new tests, track-webvtt-tc022-entities.html was updated to test this.

  • html/track/WebVTTTokenizer.cpp:

(WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.

LayoutTests:

  • media/track/captions-webvtt/tc022-entities.vtt:
  • media/track/track-webvtt-tc022-entities-expected.txt:
  • media/track/track-webvtt-tc022-entities.html:
10:30 AM Changeset in webkit [162449] by Carlos Garcia Campos
  • 26 edits
    3 copies
    5 adds in trunk/Source/WebKit2

[SOUP] Implement CUSTOM PROTOCOLS
https://bugs.webkit.org/show_bug.cgi?id=125583

Reviewed by Anders Carlsson.

Add new classes to implement CustomProtocols for soup. The
implementation is the same, but using the CustomProtocol API and
messages. The current implementation can be removed once all ports
using soup switch to using CustomProtocols.

  • GNUmakefile.am: Add new include paths.
  • GNUmakefile.list.am: Add new files to compilation.
  • PlatformGTK.cmake: Add new files to compilation.
  • Shared/API/c/soup/WKBaseSoup.h:
  • Shared/APIObject.h:
  • Shared/Network/CustomProtocols/CustomProtocolManager.h:
  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Added.

(WebKit::generateCustomProtocolID):
(WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
(WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
(WebKit::WebSoupRequestAsyncData::requestFailed):
(WebKit::WebSoupRequestAsyncData::releaseTask):
(WebKit::CustomProtocolManagerImpl::CustomProtocolManagerImpl):
(WebKit::CustomProtocolManagerImpl::~CustomProtocolManagerImpl):
(WebKit::CustomProtocolManagerImpl::registerScheme):
(WebKit::CustomProtocolManagerImpl::supportsScheme):
(WebKit::CustomProtocolManagerImpl::didFailWithError):
(WebKit::CustomProtocolManagerImpl::didLoadData):
(WebKit::CustomProtocolManagerImpl::didReceiveResponse):
(WebKit::CustomProtocolManagerImpl::didFinishLoading):
(WebKit::CustomProtocolManagerImpl::send):
(WebKit::CustomProtocolManagerImpl::finish):

  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Added.
  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:

(WebKit::CustomProtocolManager::CustomProtocolManager):
(WebKit::CustomProtocolManager::initialize):
(WebKit::CustomProtocolManager::registerScheme):
(WebKit::CustomProtocolManager::supportsScheme):
(WebKit::CustomProtocolManager::didFailWithError):
(WebKit::CustomProtocolManager::didLoadData):
(WebKit::CustomProtocolManager::didReceiveResponse):
(WebKit::CustomProtocolManager::didFinishLoading):

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/C/soup/WKAPICastSoup.h:
  • UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp: Copied from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp.

(WKSoupCustomProtocolRequestManagerGetTypeID):
(WKSoupCustomProtocolRequestManagerSetClient):

  • UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h: Added.
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  • UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:

(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):

  • UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:

(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
(WebKit::CustomProtocolManagerProxy::startLoading):
(WebKit::CustomProtocolManagerProxy::stopLoading):

  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: Added.

(WebKit::WebSoupCustomProtocolRequestManager::supplementName):
(WebKit::WebSoupCustomProtocolRequestManager::create):
(WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager):
(WebKit::WebSoupCustomProtocolRequestManager::~WebSoupCustomProtocolRequestManager):
(WebKit::WebSoupCustomProtocolRequestManager::initializeClient):
(WebKit::WebSoupCustomProtocolRequestManager::contextDestroyed):
(WebKit::WebSoupCustomProtocolRequestManager::processDidClose):
(WebKit::WebSoupCustomProtocolRequestManager::refWebContextSupplement):
(WebKit::WebSoupCustomProtocolRequestManager::derefWebContextSupplement):
(WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):
(WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol):
(WebKit::WebSoupCustomProtocolRequestManager::startLoading):
(WebKit::WebSoupCustomProtocolRequestManager::stopLoading):
(WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse):
(WebKit::WebSoupCustomProtocolRequestManager::didLoadData):
(WebKit::WebSoupCustomProtocolRequestManager::didFailWithError):
(WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading):

  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: Added.

(WebKit::WebSoupCustomProtocolRequestManager::registeredSchemesForCustomProtocols):

  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: Added.

(WebKit::WebSoupCustomProtocolRequestManagerClient::startLoading):
(WebKit::WebSoupCustomProtocolRequestManagerClient::stopLoading):

  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h: Added.
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::NetworkProcessProxy):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/soup/WebContextSoup.cpp:

(WebKit::WebContext::platformInitializeNetworkProcess):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

  • WebProcess/soup/WebKitSoupRequestGeneric.cpp:

(webkitSoupRequestGenericSendAsync):
(webkitSoupRequestGenericSendFinish):

  • WebProcess/soup/WebKitSoupRequestGeneric.h:
  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

10:22 AM Changeset in webkit [162448] by ChangSeok Oh
  • 2 edits
    1 add in trunk/Tools

[GTK] Fix a c++11 compliance issue for fontconfig
https://bugs.webkit.org/show_bug.cgi?id=127283

Reviewed by Martin Robinson.

fontconfig-2.8.0 is not compliant with C++11. So I propose to apply a
hotfix until bumping fontconfig up.

  • gtk/jhbuild.modules:
  • gtk/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Added.
10:06 AM Changeset in webkit [162447] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r162354.
http://trac.webkit.org/changeset/162354
https://bugs.webkit.org/show_bug.cgi?id=127354

Appears to have broken accessibility in a non-trivial way
(Requested by ap on #webkit).

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):

9:23 AM Changeset in webkit [162446] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r162445.
http://trac.webkit.org/changeset/162445
https://bugs.webkit.org/show_bug.cgi?id=127351

It broke the 32 bit GTK build (Requested by Ossy on #webkit).

  • rendering/style/StyleRareInheritedData.cpp:
9:06 AM Changeset in webkit [162445] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
https://bugs.webkit.org/show_bug.cgi?id=127346

Efl build fix.

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Csaba Osztrogonác.

  • rendering/style/StyleRareInheritedData.cpp:
8:54 AM Changeset in webkit [162444] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

run-jsc-stress-tests should accept --child-processes option and WEBKIT_TEST_CHILD_PROCESSES env.var
like run_webkit_test does
https://bugs.webkit.org/show_bug.cgi?id=127349

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Csaba Osztrogonác.

  • Scripts/run-jsc-stress-tests:
8:40 AM Changeset in webkit [162443] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Delay initial layer flush during loading on all platforms
https://bugs.webkit.org/show_bug.cgi?id=127347

Reviewed by Andreas Kling.

To reduce unnecessary repaints enable the same behaviour as iOS already has.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::RenderLayerCompositor):

Set the initial state of m_layerFlushThrottlingEnabled correctly.

(WebCore::RenderLayerCompositor::scheduleLayerFlush):
(WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):

  • rendering/RenderLayerCompositor.h:


Enable initial layer flush delay on all platforms.

8:36 AM Changeset in webkit [162442] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

Source/WebCore: If you set a tiled cross-faded-image or a tiled gradient as
a background layer, -webkit-background-blend-mode doesn't work.
The problem consists in the blendMode parameter not being set
for these specific drawing paths.

https://bugs.webkit.org/show_bug.cgi?id=126888
Patch by Mihai Tica <mitica@adobe.com> on 2014-01-21
Reviewed by Dirk Schulze.

Test: css3/compositing/background-blend-mode-tiled-layers.html

  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::CrossfadeGeneratedImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.

  • platform/graphics/GradientImage.cpp:

(WebCore::GradientImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.

  • platform/graphics/ImageBuffer.h: Add a BlendMode parameter to the drawPattern method.
  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::drawPattern): Add the default BlendMode parameter to the method declaration.

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::drawPattern): Add and use the blendMode parameter for all the code paths.

  • platform/graphics/wince/ImageBufferWinCE.cpp:

(WebCore::BufferedImage::drawPattern): Add the default BlendMode parameter to the method declaration.

LayoutTests: If you set a tiled cross-faded-image or a tiled gradient as
a background layer, -webkit-background-blend-mode doesn't work.
https://bugs.webkit.org/show_bug.cgi?id=126888

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-21
Reviewed by Dirk Schulze.

  • css3/compositing/background-blend-mode-tiled-layers-expected.html: Added.
  • css3/compositing/background-blend-mode-tiled-layers.html: Added.
  • platform/efl/TestExpectations: Skip test for efl, blendModes are not implemented.
  • platform/mac/TestExpectations: Mark added test as ImageOnlyFailure due to slight differences between the actual result and the blending formula.
6:57 AM Changeset in webkit [162441] by commit-queue@webkit.org
  • 12 edits in trunk

[GTK] Allow passing extra data to web extensions
https://bugs.webkit.org/show_bug.cgi?id=125990

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2014-01-21
Reviewed by Carlos Garcia Campos.

Allow passing additional information to the injected bundle. On top
of the string containing the path to the web extensions directory,
a GVariant can be set with additional data using
webkit_web_context_set_web_extensions_initialization_user_data().
Also, a new initialize-web-extensions signal is emitted before
launching a new WebProcess to allow setting different user data
for each process. The GVariant is serialized as a string, passed
to the injected bundle, and the injected bundle deserializes back
the data, which is passed to web extensions which define the
webkit_web_extension_initialize_with_user_data() function (for
backwards compatibility, webkit_web_extension_initialize() is
used as a fallback.)

Source/WebKit2:

  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(getInjectedBundleInitializationUserData): Define new callback
function which causes emission of the initialize-web-extensions
signal, and serializes the data to be passed to the web process.
(attachInjectedBundleClientToContext): Set the
getInjectedBundleInitializationUserData() callback.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_class_init): Define the
initialize-web-extensions signal.
(webkit_web_context_set_web_extensions_directory):
Web extensions directory as now member of WebKitWebContextPrivate,
to be able to retrieve it later.
(webkit_web_context_set_web_extensions_initialization_user_data):
New API method to set the user data passed to the web extensions
when initialized.
(webkitWebContextInitializeWebExtensions): Private function used
to trigger emission of the initialize-web-extensions signal.

  • UIProcess/API/gtk/WebKitWebContext.h:

Added prototype for new API method
webkit_web_context_set_web_extensions_initialization_user_data().

  • UIProcess/API/gtk/WebKitWebContextPrivate.h:

Prototype of the new private function.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:

Add new public API bits to the documentation.

  • WebProcess/gtk/WebGtkExtensionManager.cpp:

(WebKit::WebGtkExtensionManager::initialize):
Deserialize the data received from the UI process and pass it to
webkit_web_extension_initialize_with_user_data() if available,
keeping webkit_web_extension_initialize() as fallback.

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(initializeWebExtensions): Handles the initialize-web-extensions
signal, and sets the web extensions directory and the initialization
user data.
(testWebExtensionInitializationUserData): New test case for checking
the user data passed on initialization to web extensions.

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(methodCallCallback): Added implementation for the
GetInitializationUserData D-Bus method, used by
testWebExtensionInitializationUserData().
(webkit_web_extension_initialize_with_user_data): Define the
initialization function with the additional user data parameter.

6:53 AM Changeset in webkit [162440] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

The WebCore.vcxproj.filters doesnot apply
https://bugs.webkit.org/show_bug.cgi?id=127338

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-21
Reviewed by Csaba Osztrogonác.

  • WebCore.vcxproj/WebCore.vcxproj.filters:

Modified the WebCore.vcxproj.filters so that it is applied when loading
WebCore.vcxproj file.

6:11 AM Changeset in webkit [162439] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.2.4

Tagging the WebKitGTK+ 2.2.4 release

5:29 AM Changeset in webkit [162438] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Fix SVG animations which set rx or ry attributes
https://bugs.webkit.org/show_bug.cgi?id=127337

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Dirk Schulze.

Source/WebCore:

Test: svg/stroke/animated-non-scaling-rxry.html

Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision

  • rendering/svg/RenderSVGRect.cpp:

(WebCore::RenderSVGRect::updateShapeFromElement):

  • rendering/svg/SVGPathData.cpp:

(WebCore::updatePathFromRectElement):

LayoutTests:

Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision

  • svg/stroke/animated-non-scaling-rxry-expected.html: Added.
  • svg/stroke/animated-non-scaling-rxry.html: Added.
4:32 AM Changeset in webkit [162437] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2

Unreviewed. Update NEWS and Versions.m4 for 2.2.4 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Add release notes.
4:22 AM Changeset in webkit [162436] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk

Unreviewed. Fix make distcheck.

  • GNUmakefile.am: Remove non existent files from EXTRA_DIST.
4:09 AM Changeset in webkit [162435] by s.mathur@ieee.org
  • 2 edits in trunk/Tools

Change email address for Siddharth Mathur in contributors.json.

3:47 AM Changeset in webkit [162434] by mrowe@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Mac production build fix.

Move the shell script build phase to copy jsc into JavaScriptCore.framework
out of the jsc target and in to the All target so that it's not run during
production builds. Xcode appears to the parent directories of paths referenced
in the Output Files of the build phase, which leads to problems when the
SYMROOT for the JavaScriptCore framework and the jsc executables are later merged.

I've also fixed the path to the Resources folder in the script while I'm here.
On iOS the framework bundle is shallow so the correct destination is Resources/
rather than Versions/A/Resources. This is handled by tweaking the
JAVASCRIPTCORE_RESOURCES_DIR configuration setting to be relative rather than
a complete path so we can reuse it in the script. The references in JSC.xcconfig
and ToolExecutable.xcconfig are updated to prepend JAVASCRIPTCORE_FRAMEWORKS_DIR
to preserve their former values.

  • Configurations/Base.xcconfig:
  • Configurations/JSC.xcconfig:
  • Configurations/ToolExecutable.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
2:50 AM Changeset in webkit [162433] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.2/Source/JavaScriptCore

Merge r162266 - JavaScriptCore uses PLATFORM(MAC) when it means OS(DARWIN)
https://bugs.webkit.org/show_bug.cgi?id=99683

Reviewed by Anders Carlsson.

  • jit/ThunkGenerators.cpp:
  • tools/CodeProfile.cpp:

(JSC::symbolName):
(JSC::CodeProfile::sample):

2:47 AM Changeset in webkit [162432] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WTF

Merge r162137 - Source/WTF/wtf/Atomics.h:300: Error: bad register name `%bpl'
https://bugs.webkit.org/show_bug.cgi?id=126985

Reviewed by Csaba Osztrogonác.

Use the 'q' constraint to force using a register that allows
access to its lower byte.

  • wtf/Atomics.h:

(WTF::weakCompareAndSwap):

2:24 AM Changeset in webkit [162431] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WTF

Merge r162086 - [GTK] v2.3.3 fails to build in Debian / FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=126502

Reviewed by Mark Lam.

  • wtf/Platform.h: Add LLINT support to FreeBSD.
1:52 AM Changeset in webkit [162430] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.2

Merge r161500 - Fix some compilation warnings
https://bugs.webkit.org/show_bug.cgi?id=126635

Reviewed by Csaba Osztrogonác.

Source/WebCore:

Remove code that is no longer being used.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/gtk/PopupMenuGtk.cpp:
  • platform/gtk/RedirectedXCompositeWindow.h:

Tools:

  • GtkLauncher/main.c:

(createWindow): This function is not supposed to receive any
parameter, yet we are passing one.

1:10 AM Changeset in webkit [162429] by k.czech@samsung.com
  • 6 edits
    2 moves in trunk

[ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
https://bugs.webkit.org/show_bug.cgi?id=127291

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Test: accessibility/aria-flowto.html

Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(setAtkRelationSetFromCoreObject):

Tools:

Implemented AccessibilityUIElement::ariaFlowToElementAtIndex method.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::ariaFlowToElementAtIndex):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):

LayoutTests:

Share aria-flowto.html with other ports. It passes on GTK and EFL.

  • accessibility/aria-flowto-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/aria-flowto-expected.txt.
  • accessibility/aria-flowto.html: Renamed from LayoutTests/platform/mac/accessibility/aria-flowto.html.
12:06 AM Changeset in webkit [162428] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk

Merge r160171 - [GTK] Fix GObject introspection warnings in webkitspellchecker
https://bugs.webkit.org/show_bug.cgi?id=125299

Reviewed by Philippe Normand.

  • webkit/webkitspellchecker.cpp: Add missing ':' after some

gobject-introspection annotations.

Jan 20, 2014:

10:25 PM Changeset in webkit [162427] by ryuan.choi@samsung.com
  • 8 edits
    1 delete in trunk

[CMAKE] Remove Nix from CMake scripts
https://bugs.webkit.org/show_bug.cgi?id=127264

Reviewed by Anders Carlsson.

.:

  • CMakeLists.txt:
  • Source/CMakeLists.txt:
  • Source/cmake/FindEGL.cmake:
  • Source/cmake/OptionsCommon.cmake:

Source/Platform:

  • CMakeLists.txt: Removed.

Source/WebCore:

  • CMakeLists.txt:
9:26 PM Changeset in webkit [162426] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Move isEwkViewEvasObject back to ewk_view.cpp
https://bugs.webkit.org/show_bug.cgi?id=127261

Reviewed by Gyuyoung Kim.

isEwkViewEvasObject is general check routine of EFL and mainly used in
ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp

This patch moves it to EwkView.h as inline function with small refactoring.
In addition, this patch added EINA_UNLIKELY keyword in cold paths.

  • UIProcess/API/efl/EwkView.cpp:

(defaultSmartClassInstance):
(toSmartData):
(toEwkView): Moved it from bottom not to expose it to header file.

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/ewk_view.cpp:

(isEwkViewEvasObject):
(toEwkViewChecked):

8:21 PM Changeset in webkit [162425] by Alan Bujtas
  • 3 edits in trunk/LayoutTests

Change image failures from [ Failure ] to [ ImageOnlyFailure ] where needed.

  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
7:27 PM Changeset in webkit [162424] by fpizlo@apple.com
  • 11 edits in branches/jsCStack/Source/JavaScriptCore

IC status classes should directly query exit site information
https://bugs.webkit.org/show_bug.cgi?id=127326

Not yet reviewed.

This consolidates all of the reasoning about whether or not to inline an IC at the IR level.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeFor):

  • bytecode/CallLinkStatus.h:
  • bytecode/CodeBlock.h:

(JSC::CodeBlock::hasExitSite):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::hasExitSite):
(JSC::GetByIdStatus::computeFor):

  • bytecode/GetByIdStatus.h:
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::hasExitSite):
(JSC::PutByIdStatus::computeFor):

  • bytecode/PutByIdStatus.h:
  • bytecode/StructureSet.h:

(JSC::StructureSet::StructureSet):
(JSC::StructureSet::add):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

7:26 PM Changeset in webkit [162423] by Alan Bujtas
  • 3 edits in trunk/LayoutTests

Add missing expectations to subpixel failures.

  • platform/mac/TestExpectations:
6:56 PM Changeset in webkit [162422] by timothy@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Add the recording button back to the Timelines sidebar.

https://bugs.webkit.org/show_bug.cgi?id=127314

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype.get navigationItems):
(WebInspector.TimelineContentView.prototype._update):
(WebInspector.TimelineContentView.prototype._updateTimes):
(WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
(WebInspector.TimelineContentView.prototype._recordingTimesUpdated):
(WebInspector.TimelineContentView.prototype._clearTimeline):
(WebInspector.TimelineContentView.prototype._recordingReset):
Add a clear button and reset the time ruler and views when the recording resets.

  • UserInterface/TimelineSidebarPanel.css:

(.sidebar > .panel.timeline > .status-bar):
(.sidebar > .panel.timeline > .status-bar > .record-glyph):
(.sidebar > .panel.timeline > .status-bar > .record-glyph.recording):
(.sidebar > .panel.timeline > .status-bar > .record-glyph:hover):
(.sidebar > .panel.timeline > .status-bar > .record-glyph.recording:hover):
(.sidebar > .panel.timeline > .status-bar > .record-glyph.forced):
(.sidebar > .panel.timeline > .status-bar > .record-glyph.recording.forced):
(.sidebar > .panel.timeline > .status-bar > .record-status):
Add styles for the recording button and status message.

  • UserInterface/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
(WebInspector.TimelineSidebarPanel.prototype._recordingStarted):
(WebInspector.TimelineSidebarPanel.prototype._recordingStopped):
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver):
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut):
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
Add support for the recording button and status message.

6:56 PM Changeset in webkit [162421] by timothy@apple.com
  • 7 edits in trunk/Source/WebInspectorUI

Make the TimelineRecordTreeElement location subtitle live.

https://bugs.webkit.org/show_bug.cgi?id=127270

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/SourceCodeLocation.js:

(WebInspector.SourceCodeLocation.prototype.originalLocationString):
(WebInspector.SourceCodeLocation.prototype.formattedLocationString):
(WebInspector.SourceCodeLocation.prototype.displayLocationString):
(WebInspector.SourceCodeLocation.prototype.updateDisplayString):
(WebInspector.SourceCodeLocation.prototype._locationString):
Support for a new nameStyle enum and a prefix for the location string.
Passing the prefix here lets it be italicized with the line number.
Support column number for SourceCode's without a URL too.

  • UserInterface/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement):
(WebInspector.TimelineRecordTreeElement.prototype.onattach):
Create a subtitle span to update the location inside. Update the tooltip on attach.

6:56 PM Changeset in webkit [162420] by timothy@apple.com
  • 8 edits in trunk/Source/WebInspectorUI

Generate better display names for timer and event Timeline records.

Also support AnimationFrameRequested and AnimationFrameCanceled.

https://bugs.webkit.org/show_bug.cgi?id=127258

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/LayoutTimelineRecord.js:

(WebInspector.LayoutTimelineRecord.EventType.displayName):
Generate past tense names that better match other names.

  • UserInterface/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
Pass the details to displayName.

  • UserInterface/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.EventType.displayName):
Generate better names for timer and event records. Also add missing animation frame types.

  • UserInterface/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype._processPendingRecords):
Pass true to WebInspector.TimelineRecordTreeElement to include timer identifiers in the title.

  • UserInterface/SourceCodeTimelineTreeElement.js:

(WebInspector.SourceCodeTimelineTreeElement):
Pass includeTimerIdentifierInMainTitle through to TimelineRecordTreeElement.

  • UserInterface/TimelineManager.js:

(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
Include AnimationFrameRequested and AnimationFrameCanceled.

  • UserInterface/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement):
Use displayName functions instead and support includeTimerIdentifierInMainTitle.

6:56 PM Changeset in webkit [162419] by timothy@apple.com
  • 10 edits
    3 copies
    4 adds in trunk/Source/WebInspectorUI

Implement basic versions of the TimelineOverview graphs.

https://bugs.webkit.org/show_bug.cgi?id=127184

Reviewed by Joseph Pecoraro.

  • UserInterface/LayoutTimelineOverviewGraph.css: Added.

(.timeline-overview-graph.layout > .timeline-record-bar):
(.timeline-overview-graph.layout > .timeline-record-bar > .segment):

  • UserInterface/LayoutTimelineOverviewGraph.js: Added.

(WebInspector.LayoutTimelineOverviewGraph.prototype.reset):
(WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
(WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):

  • UserInterface/Main.html: Added new files.
  • UserInterface/NetworkTimelineOverviewGraph.css: Added.

(.timeline-overview-graph.network):
(.timeline-overview-graph.network > .graph-row):
(.timeline-overview-graph.network > .graph-row > .bar):
(.timeline-overview-graph.network > .graph-row > .bar.inactive):
(.timeline-overview-graph.network > .graph-row > .bar.unfinished):
(.timeline-overview-graph.network > .graph-row > .bar:not(.inactive)):
(.timeline-overview-graph.network:nth-child(even) > .graph-row > .bar:not(.inactive)):

  • UserInterface/NetworkTimelineOverviewGraph.js: Added.

(WebInspector.NetworkTimelineOverviewGraph.prototype.reset):
(WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.updateElementPosition):
(WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar):
(WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout):
(WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded.compareByStartTime):
(WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded.insertObjectIntoSortedArray):
(WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded):

  • UserInterface/ScriptTimelineOverviewGraph.css: Added.

(.timeline-overview-graph.script > .timeline-record-bar):
(.timeline-overview-graph.script > .timeline-record-bar > .segment):

  • UserInterface/ScriptTimelineOverviewGraph.js: Added.

(WebInspector.ScriptTimelineOverviewGraph.prototype.reset):
(WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
(WebInspector.ScriptTimelineOverviewGraph.prototype._scriptTimelineRecordAdded):

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._showTimelineView):
(WebInspector.TimelineContentView.prototype._update):
(WebInspector.TimelineContentView.prototype._recordingReset):
Create and keep the graphs informed.

  • UserInterface/TimelineDataGridNode.js:

(WebInspector.TimelineDataGridNode):
(WebInspector.TimelineDataGridNode.prototype.refreshGraph):
Combine records that might overlap.

  • UserInterface/TimelineOverview.css:

(.timeline-overview > .graphs-container):
(.timeline-overview > .graphs-container > .timeline-overview-graph):
(.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)):
(.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)):
Add the graph rows with alternating stripe.

  • UserInterface/TimelineOverview.js:

(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.set startTime):
(WebInspector.TimelineOverview.prototype.get currentTime):
(WebInspector.TimelineOverview.prototype.set currentTime):
(WebInspector.TimelineOverview.prototype.updateLayout):
(WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
Track currentTime in a member variable and let TimelineOverview manage the current time marker.

  • UserInterface/TimelineOverviewGraph.js: Added.

(WebInspector.TimelineOverviewGraph):
(WebInspector.TimelineOverviewGraph.prototype.get zeroTime):
(WebInspector.TimelineOverviewGraph.prototype.set zeroTime):
(WebInspector.TimelineOverviewGraph.prototype.get startTime):
(WebInspector.TimelineOverviewGraph.prototype.set startTime):
(WebInspector.TimelineOverviewGraph.prototype.get endTime):
(WebInspector.TimelineOverviewGraph.prototype.set endTime):
(WebInspector.TimelineOverviewGraph.prototype.get currentTime):
(WebInspector.TimelineOverviewGraph.prototype.set currentTime):
(WebInspector.TimelineOverviewGraph.prototype.reset):
(WebInspector.TimelineOverviewGraph.prototype.updateLayout):
(WebInspector.TimelineOverviewGraph.prototype.updateLayoutIfNeeded):
(WebInspector.TimelineOverviewGraph.prototype.needsLayout):

  • UserInterface/TimelineRecordBar.css:

(.timeline-record-bar > .segment):
(.timeline-record-bar.unfinished > .segment):
(.timeline-record-bar > .segment.inactive + .segment):
(.timeline-record-bar.timeline-record-type-network > .segment.inactive):

  • UserInterface/TimelineRecordBar.js:

(WebInspector.TimelineRecordBar):
(WebInspector.TimelineRecordBar.recordsCannotBeCombined):
(WebInspector.TimelineRecordBar.prototype.get records):
(WebInspector.TimelineRecordBar.prototype.set records):
(WebInspector.TimelineRecordBar.prototype.refresh):
Make TimelineRecordBar support multiple records.

  • UserInterface/TimelineRuler.css:

(.timeline-ruler > .markers):
(.timeline-ruler > .selection-handle):
(.timeline-ruler > .shaded-area):
Add some z-index values to stay above graph elements.

6:56 PM Changeset in webkit [162418] by timothy@apple.com
  • 10 edits in trunk/Source/WebInspectorUI

Clean up Timelines code by using ES6 features and less global access of TimelineRecording.
Also don't recreate Timeline objects when TimelineRecording is reset, reset them instead.

https://bugs.webkit.org/show_bug.cgi?id=127157

Reviewed by Joseph Pecoraro.

  • UserInterface/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView.prototype.reset):

  • UserInterface/NetworkTimeline.js:

(WebInspector.NetworkTimeline):
(WebInspector.NetworkTimeline.prototype.reset):

  • UserInterface/NetworkTimelineView.js:

(WebInspector.NetworkTimelineView.prototype.reset):

  • UserInterface/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype._networkTimelineRecordAdded):

  • UserInterface/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype.reset):

  • UserInterface/Timeline.js:

(WebInspector.Timeline):
(WebInspector.Timeline.prototype.reset):

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.set createPathComponent):
(WebInspector.TimelineContentView.set var):
(WebInspector.TimelineContentView.prototype.showOverviewTimelineView):
(WebInspector.TimelineContentView.prototype.showTimelineView):
(WebInspector.TimelineContentView.prototype._showTimelineView):
(WebInspector.TimelineContentView.prototype._update):
(WebInspector.TimelineContentView.prototype._recordingReset):

  • UserInterface/TimelineRecording.js:

(WebInspector.TimelineRecording.prototype.reset):

6:56 PM Changeset in webkit [162417] by timothy@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Improve WebInspector.TimelineOverview by not putting WebInspector.TimelineRuler in a scroll area.

https://bugs.webkit.org/show_bug.cgi?id=127145

Reviewed by Joseph Pecoraro.

  • UserInterface/TimelineOverview.css:

(.timeline-overview > .scroll-container):
(.timeline-overview > .timeline-ruler):
(.timeline-overview > .scroll-container > .scroll-width-sizer):

  • UserInterface/TimelineOverview.js:

(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.get startTime):
(WebInspector.TimelineOverview.prototype.set startTime):
(WebInspector.TimelineOverview.prototype.get secondsPerPixel):
(WebInspector.TimelineOverview.prototype.set secondsPerPixel):
(WebInspector.TimelineOverview.prototype.get scrollStartTime):
(WebInspector.TimelineOverview.prototype.set scrollStartTime):
(WebInspector.TimelineOverview.prototype.get visibleDuration):
(WebInspector.TimelineOverview.prototype.revealMarker):
(WebInspector.TimelineOverview.prototype.updateLayout):
(WebInspector.TimelineOverview.prototype._handleScrollEvent):
(WebInspector.TimelineOverview.prototype._handleWheelEvent):

  • UserInterface/TimelineRuler.js:

(WebInspector.TimelineRuler.MinimumSelectionTimeRange): Reduce to 10ms now that super zoom has no performance impact.

6:56 PM Changeset in webkit [162416] by timothy@apple.com
  • 15 edits
    2 copies
    3 adds in trunk/Source/WebInspectorUI

Implement the discrete Script and Layout timeline views.

https://bugs.webkit.org/show_bug.cgi?id=127063

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/DataGrid.js:

(WebInspector.DataGrid): Support hidden columns by default.
(WebInspector.DataGrid.prototype.updateLayout): Set the column width to zero for hidden columns.

  • UserInterface/LayoutTimelineDataGrid.js:

(WebInspector.LayoutTimelineDataGrid): Pass the right parameters to the superclass.

  • UserInterface/LayoutTimelineRecord.js:

(WebInspector.LayoutTimelineRecord.prototype.saveIdentityToCookie): Added.

  • UserInterface/LayoutTimelineView.css: Copied from Source/WebInspectorUI/UserInterface/ScriptTimelineDataGrid.js.

(.timeline-view.layout > .data-grid):
(.timeline-view.layout > .data-grid .eventType-column):
(.sidebar > .panel.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):

  • UserInterface/LayoutTimelineView.js: Added.

(WebInspector.LayoutTimelineView):
(WebInspector.LayoutTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
(WebInspector.LayoutTimelineView.prototype.shown):
(WebInspector.LayoutTimelineView.prototype.hidden):
(WebInspector.LayoutTimelineView.prototype.updateLayout):
(WebInspector.LayoutTimelineView.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
(WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.LayoutTimelineView.prototype._treeElementSelected):

  • UserInterface/Main.html: Added new files.
  • UserInterface/ScriptTimelineDataGrid.js:

(WebInspector.ScriptTimelineDataGrid): Pass the right parameters to the superclass.

  • UserInterface/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Fix up how we create the link.

  • UserInterface/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.prototype.saveIdentityToCookie): Added.

  • UserInterface/ScriptTimelineView.css: Copied from Source/WebInspectorUI/UserInterface/ScriptTimelineDataGrid.js.

(.timeline-view.script > .data-grid):
(.timeline-view.script > .data-grid .eventType-column):
(.sidebar > .panel.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):

  • UserInterface/ScriptTimelineView.js: Added.

(WebInspector.ScriptTimelineView):
(WebInspector.ScriptTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
(WebInspector.ScriptTimelineView.prototype.shown):
(WebInspector.ScriptTimelineView.prototype.hidden):
(WebInspector.ScriptTimelineView.prototype.updateLayout):
(WebInspector.ScriptTimelineView.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.ScriptTimelineView.prototype._scriptTimelineRecordAdded):
(WebInspector.ScriptTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.ScriptTimelineView.prototype._treeElementSelected):

  • UserInterface/SourceCodeTimelineTreeElement.js:

(WebInspector.SourceCodeTimelineTreeElement):
Moved code to TimelineRecordTreeElement. Subclass from it.

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters): Support TimelineRecordTreeElement.
(WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged): Update zeroTime for all views.

  • UserInterface/TimelineDataGrid.css:

(.data-grid.timeline td .icon):
(.data-grid.timeline td .go-to-arrow):
(.data-grid.timeline tr:hover .go-to-arrow):
(.data-grid.timeline td .subtitle):
(.data-grid.timeline td .subtitle::before):
(.data-grid.timeline:focus tr.selected td .subtitle):

  • UserInterface/TimelineRecord.js:

(WebInspector.TimelineRecord.prototype.saveIdentityToCookie): Added.

  • UserInterface/TimelineRecordTreeElement.js: Added.

(WebInspector.TimelineRecordTreeElement):
(WebInspector.TimelineRecordTreeElement.prototype.get record):
(WebInspector.TimelineRecordTreeElement.prototype.get filterableData):
Factored out from SourceCodeTimelineTreeElement.

  • UserInterface/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looslyCompareRepresentedObjects):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
Find TreeElements via a loose lookup based on represented objects that might contain the represented object we are
really looking for.

6:55 PM Changeset in webkit [162415] by timothy@apple.com
  • 11 edits
    2 adds in trunk/Source/WebInspectorUI

Implement the discrete Network timeline view.

https://bugs.webkit.org/show_bug.cgi?id=127022

Reviewed by Joseph Pecoraro.

  • UserInterface/DataGrid.js:

(WebInspector.DataGrid): Align the labels of the column headers to match the data.
(WebInspector.DataGridNode.prototype.get selectable): Prevent selection when hidden.

  • UserInterface/DetailsSection.css:

(.details-section > .header): Bump the font size to match data grid header sizes.

  • UserInterface/Main.html: Add new files.
  • UserInterface/NetworkTimelineView.css: Added.

(.timeline-view.network > .data-grid):
(.sidebar > .panel.timeline.timeline-content-view-showing > .content .item.resource .subtitle):
Hide the domain subtitle when the content view is showing which also has the domain.

  • UserInterface/NetworkTimelineView.js: Added.

(WebInspector.NetworkTimelineView):
(WebInspector.NetworkTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
(WebInspector.NetworkTimelineView.prototype.shown):
(WebInspector.NetworkTimelineView.prototype.hidden):
(WebInspector.NetworkTimelineView.prototype.updateLayout):
(WebInspector.NetworkTimelineView.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.NetworkTimelineView.prototype._networkTimelineRecordAdded):
(WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.NetworkTimelineView.prototype._treeElementSelected):

  • UserInterface/ResourceTimelineDataGridNode.js:

(WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh):
Call dataGridNodeNeedsRefresh on the TimelineDataGrid so things can be batched with
one request animation frame.

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView): Create a NetworkTimelineView.
(WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):

  • UserInterface/TimelineDataGrid.css:

(.data-grid.timeline table):
(.data-grid.timeline th):
(.data-grid.timeline th:not(:last-child)):
(.data-grid.timeline th.sortable:active):
(.data-grid.timeline th.sort-descending):
(.data-grid.timeline .data-container):
(.data-grid.timeline td):
(.data-grid.timeline td:last-child):
(.data-grid.timeline td:not(:last-child)):
(.data-grid.timeline:focus tr.selected td:not(:last-child)):
(.data-grid.timeline th.sort-descending > div:first-child):
(.data-grid.timeline th.sort-descending > div:first-child::after):
(.data-grid.timeline td.error):
(.data-grid.timeline tr.selected td.error):
(.data-grid.timeline > .navigation-bar-container):
(.data-grid.timeline:hover > .navigation-bar-container):
(.data-grid.timeline > .navigation-bar-container > .navigation-bar):

  • UserInterface/TimelineDataGrid.js:

(WebInspector.TimelineDataGrid):
(WebInspector.TimelineDataGrid.createColumnScopeBar):
(WebInspector.TimelineDataGrid.prototype.reset):
(WebInspector.TimelineDataGrid.prototype.shown):
(WebInspector.TimelineDataGrid.prototype.hidden):
(WebInspector.TimelineDataGrid.prototype.callFramePopoverAnchorElement):
(WebInspector.TimelineDataGrid.prototype.updateLayout):
(WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
(WebInspector.TimelineDataGrid.prototype.addRowInSortOrder):
(WebInspector.TimelineDataGrid.prototype.shouldIgnoreSelectionEvent):
(WebInspector.TimelineDataGrid.prototype.dataGridNodeNeedsRefresh):
(WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
(WebInspector.TimelineDataGrid.prototype._sort):
(WebInspector.TimelineDataGrid.prototype._sortComparator):
Add support for sorting, batch refresh and managing of a TreeOutlineDataGridSynchronizer.

  • UserInterface/TimelineSidebarPanel.css:

(.sidebar > .panel.timeline > .title-bar): Bump the font size to match data grid header sizes.

  • UserInterface/TimelineView.js:

(WebInspector.TimelineView.prototype.matchTreeElementAgainstCustomFilters): Added stub.

  • UserInterface/TreeOutlineDataGridSynchronizer.js:

(WebInspector.TreeOutlineDataGridSynchronizer.prototype.get treeOutline):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype.get dataGrid):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype.get enabled):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype.set enabled):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype.treeElementForDataGridNode):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype.dataGridNodeForTreeElement):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeSelected):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeExpanded):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeCollapsed):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementSelected):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementRemoved):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementExpanded):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementCollapsed):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementHiddenChanged):
Added support for disabling the synchronizer when the client can do a better job.

6:55 PM Changeset in webkit [162414] by timothy@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Filter the Timeline overview graph and sidebar based on the current time selection.

https://bugs.webkit.org/show_bug.cgi?id=126955

Reviewed by Joseph Pecoraro.

  • UserInterface/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.updateFilter):
(WebInspector.NavigationSidebarPanel.prototype.hasCustomFilters):
(WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
Add support for custom filters implemented by subclasses.

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters.checkTimeBounds):
(WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
Filter known tree element types by time.

  • UserInterface/TimelineSidebarPanel.css:

(.sidebar > .panel.timeline > .empty-content-placeholder):
Position the empty placeholder with the content.

  • UserInterface/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype.hasCustomFilters):
(WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
Defer filtering to the TimelineContentView.

6:55 PM Changeset in webkit [162413] by timothy@apple.com
  • 9 edits in trunk/Source/WebInspectorUI

Implement state cookie support for WebInspector.TimelineSidebarPanel.

https://bugs.webkit.org/show_bug.cgi?id=126921

Reviewed by Joseph Pecoraro.

  • UserInterface/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
Drive-by fix to pass along relaxedMatchDelay to the superclass.

  • UserInterface/Main.js:

(WebInspector.loaded):
(WebInspector._provisionalLoadStarted):
Listen for ProvisionalLoadStarted instead of ProvisionalLoadCommitted to save the cookie
before the TimelineRecording is reset and clears the UI.

  • UserInterface/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.get restoringState): Added.
(WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie.finalAttemptToRestoreViewStateFromCookie):
Delete _pendingViewStateCookie since this was the final attempt.
(WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
(WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject): Block string represented objects.
(WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):

  • UserInterface/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype._treeElementSelected):

  • UserInterface/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
Drive-by fix to null check parentFrame since it can be null. Was causing an exception while working on this.

  • UserInterface/SourceCodeTimeline.js:

(WebInspector.SourceCodeTimeline):
(WebInspector.SourceCodeTimeline.prototype.saveIdentityToCookie):

  • UserInterface/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
(WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie):
(WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie):

  • UserInterface/TreeOutline.js:

(TreeOutline.prototype._forgetTreeElement):
Drive-by fix to clear selectedTreeElement if it is removed from the tree. Was causing removed TreeElements to be
saved as a cookie since it was still the selected item.

6:55 PM Changeset in webkit [162412] by timothy@apple.com
  • 5 edits
    2 copies
    2 adds in trunk/Source/WebInspectorUI

Implement bar graph rendering for WebInspector.OverviewTimelineView.

https://bugs.webkit.org/show_bug.cgi?id=126831

Reviewed by Joseph Pecoraro.

  • UserInterface/Main.html: Added new files.
  • UserInterface/OverviewTimelineView.css:

(.timeline-view.overview > .data-grid td.graph-column):
(.timeline-view.overview > .data-grid td.graph-column > div):
(.timeline-view.overview > .data-grid td.graph-column .timeline-record-bar):
Position the bars in the DataGrid cells.

  • UserInterface/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype.updateLayout):
(WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
(WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
Create the proper DataGridNodes for resources and source code timelines.

  • UserInterface/ResourceTimelineDataGridNode.js:

(WebInspector.ResourceTimelineDataGridNode):
(WebInspector.ResourceTimelineDataGridNode.prototype.get records):
(WebInspector.ResourceTimelineDataGridNode.prototype.get resource):
(WebInspector.ResourceTimelineDataGridNode.prototype.get data):
(WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
(WebInspector.ResourceTimelineDataGridNode.prototype.refresh):
(WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh):
(WebInspector.ResourceTimelineDataGridNode.prototype._goToResource):
Simplify by deferring the graph logic to the new TimelineDataGridNode base class.

  • UserInterface/SourceCodeTimelineTimelineDataGridNode.js: Added.

(WebInspector.SourceCodeTimelineTimelineDataGridNode):
(WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get records):
(WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get sourceCodeTimeline):
(WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get data):

  • UserInterface/TimelineDataGridNode.js: Added.

(WebInspector.TimelineDataGridNode):
(WebInspector.TimelineDataGridNode.prototype.get records):
(WebInspector.TimelineDataGridNode.prototype.get data):
(WebInspector.TimelineDataGridNode.prototype.createCellContent):
(WebInspector.TimelineDataGridNode.prototype.refresh):
(WebInspector.TimelineDataGridNode.prototype.refreshGraph):
(WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
Handles the graph column and manages the records and their bars.

  • UserInterface/TimelineRecordBar.css: Added.

(.timeline-record-bar):
(.timeline-record-bar > .segment):
(.timeline-record-bar:not(.has-inactive-segment) > .segment):
(.timeline-record-bar.unfinished > .segment):
(.timeline-record-bar > .segment.inactive + .segment):
(:focus .selected .timeline-record-bar > .segment):
(.timeline-record-bar > .segment.inactive):
(.timeline-record-bar.timeline-record-type-network > .segment):
(.timeline-record-bar.timeline-record-type-layout > .segment):
(.timeline-record-bar.timeline-record-type-script > .segment):

  • UserInterface/TimelineRecordBar.js: Added.

(WebInspector.TimelineRecordBar):
(WebInspector.TimelineRecordBar.prototype.get element):
(WebInspector.TimelineRecordBar.prototype.refresh):
(WebInspector.TimelineRecordBar.prototype._updateElementPosition):

6:55 PM Changeset in webkit [162411] by timothy@apple.com
  • 6 edits in trunk/Source/WebInspectorUI

Update the current WebInspector.TimelineView when time range changes.

https://bugs.webkit.org/show_bug.cgi?id=126667

Reviewed by Joseph Pecoraro.

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._showTimelineView):
(WebInspector.TimelineContentView.prototype._update):
(WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
(WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime):
(WebInspector.TimelineContentView.prototype._recordingStarted):
(WebInspector.TimelineContentView.prototype._recordingStopped):
(WebInspector.TimelineContentView.prototype._recordingReset):
(WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):

  • UserInterface/TimelineOverview.js:

(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.updateLayout):
(WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
(WebInspector.TimelineOverview.prototype._updateElementWidth):
(WebInspector.TimelineOverview.prototype._handleWheelEvent):
(WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):

  • UserInterface/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype.updateLayoutIfNeeded):

  • UserInterface/TimelineView.js:

(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype.get zeroTime):
(WebInspector.TimelineView.prototype.set zeroTime):
(WebInspector.TimelineView.prototype.get startTime):
(WebInspector.TimelineView.prototype.set startTime):
(WebInspector.TimelineView.prototype.get endTime):
(WebInspector.TimelineView.prototype.set endTime):
(WebInspector.TimelineView.prototype.get currentTime):
(WebInspector.TimelineView.prototype.set currentTime.checkIfLayoutIsNeeded):
(WebInspector.TimelineView.prototype.set currentTime):
(WebInspector.TimelineView.prototype.updateLayout):
(WebInspector.TimelineView.prototype.updateLayoutIfNeeded):
(WebInspector.TimelineView.prototype.needsLayout):

6:55 PM Changeset in webkit [162410] by timothy@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Implement time range selection for TimelineOverview and TimelineRuler.

https://bugs.webkit.org/show_bug.cgi?id=126035

Reviewed by Joseph Pecoraro.

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._update):
(WebInspector.TimelineContentView.prototype._recordingReset):
Properly update start time and the selection start time on reset.

  • UserInterface/TimelineOverview.js:

(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.get selectionStartTime):
(WebInspector.TimelineOverview.prototype.set selectionStartTime):
(WebInspector.TimelineOverview.prototype.get selectionDuration):
(WebInspector.TimelineOverview.prototype.set selectionDuration):
Added selection getters and setters.

  • UserInterface/TimelineRuler.css:

(.timeline-ruler.allows-time-range-selection):
(.timeline-ruler > *):
(.timeline-ruler > .header):
(.timeline-ruler > .selection-drag):
(.timeline-ruler > .selection-drag:active):
(.timeline-ruler > .selection-handle):
(.timeline-ruler > .selection-handle.left):
(.timeline-ruler > .selection-handle.right):
(.timeline-ruler > .shaded-area):
(.timeline-ruler > .shaded-area.left):
(.timeline-ruler > .shaded-area.right):
Added styles for the selection elements and tweaked pointer-events to allow
events on elements we expect.

  • UserInterface/TimelineRuler.js:

(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.get allowsTimeRangeSelection): Added.
(WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection): Added.
(WebInspector.TimelineRuler.prototype.get selectionStartTime): Added.
(WebInspector.TimelineRuler.prototype.set selectionStartTime): Added.
(WebInspector.TimelineRuler.prototype.get selectionEndTime): Added.
(WebInspector.TimelineRuler.prototype.set selectionEndTime): Added.
(WebInspector.TimelineRuler.prototype.updateLayout):
(WebInspector.TimelineRuler.prototype._needsMarkerLayout.update):
(WebInspector.TimelineRuler.prototype._needsMarkerLayout):
(WebInspector.TimelineRuler.prototype._needsSelectionLayout.update):
(WebInspector.TimelineRuler.prototype._needsSelectionLayout):
(WebInspector.TimelineRuler.prototype._recalculate):
(WebInspector.TimelineRuler.prototype._updatePositionOfElement):
(WebInspector.TimelineRuler.prototype._updateMarkers):
(WebInspector.TimelineRuler.prototype._updateSelection): Added.
(WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent):
(WebInspector.TimelineRuler.prototype._timelineMarkerTimeChanged):
(WebInspector.TimelineRuler.prototype._handleMouseDown): Added.
(WebInspector.TimelineRuler.prototype._handleMouseMove): Added.
(WebInspector.TimelineRuler.prototype._handleMouseUp): Added.
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown): Added.
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove): Added.
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp): Added.
Create selection elements and handle mouse events for drag and move.

6:55 PM Changeset in webkit [162409] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Support scroll to zoom in TimelineOverview.

https://bugs.webkit.org/show_bug.cgi?id=125909

Reviewed by Joseph Pecoraro.

  • UserInterface/TimelineOverview.js:

(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype._handleWheelEvent):

6:55 PM Changeset in webkit [162408] by timothy@apple.com
  • 8 edits
    1 copy
    1 move
    1 add in trunk/Source/WebInspectorUI

Add the start of the TimelineOverview class.

TimelineOverview currently has a time ruler and tracks the current recording time.

https://bugs.webkit.org/show_bug.cgi?id=125878

Reviewed by Joseph Pecoraro.

  • UserInterface/Main.html:
  • UserInterface/TimelineContentView.css:

(.content-view.timeline > .timeline-overview):

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView):
(WebInspector.TimelineContentView.prototype.updateLayout):
(WebInspector.TimelineContentView.prototype._update):
(WebInspector.TimelineContentView.prototype._recordingStarted):
(WebInspector.TimelineContentView.prototype._recordingStopped):
(WebInspector.TimelineContentView.prototype._recordingReset):

  • UserInterface/TimelineManager.js:

(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):

  • UserInterface/TimelineMarker.js: Renamed from Source/WebInspectorUI/UserInterface/TimelineEventMarker.js.

(WebInspector.TimelineMarker):
(WebInspector.TimelineMarker.prototype.get time):
(WebInspector.TimelineMarker.prototype.set time):
(WebInspector.TimelineMarker.prototype.get type):

  • UserInterface/TimelineOverview.css: Added.

(.timeline-overview > .scroll-container):
(.timeline-overview > .scroll-container > .timeline-ruler):

  • UserInterface/TimelineOverview.js: Added.

(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.get element):
(WebInspector.TimelineOverview.prototype.get startTime):
(WebInspector.TimelineOverview.prototype.set startTime):
(WebInspector.TimelineOverview.prototype.get secondsPerPixel):
(WebInspector.TimelineOverview.prototype.set secondsPerPixel):
(WebInspector.TimelineOverview.prototype.get endTime):
(WebInspector.TimelineOverview.prototype.set endTime):
(WebInspector.TimelineOverview.prototype.addMarker):
(WebInspector.TimelineOverview.prototype.revealMarker):
(WebInspector.TimelineOverview.prototype.updateLayout):
(WebInspector.TimelineOverview.prototype._updateElementWidth):
(WebInspector.TimelineOverview.prototype._needsLayout):

  • UserInterface/TimelineRecording.js:

(WebInspector.TimelineRecording.prototype.get startTime):
(WebInspector.TimelineRecording.prototype.get endTime):
(WebInspector.TimelineRecording.prototype.reset):

  • UserInterface/TimelineRuler.css:

(.timeline-ruler > .markers):
(.timeline-ruler > .markers > .marker):
(.timeline-ruler > .markers > .marker.current-time):
(.timeline-ruler > .markers > .marker.current-time::before):
(.timeline-ruler > .markers > .marker.load-event):
(.timeline-ruler > .markers > .marker.dom-content-event):
(.timeline-ruler > .markers > .marker.timestamp):

  • UserInterface/TimelineRuler.js:

(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.updateLayout):
(WebInspector.TimelineRuler.prototype._needsLayout):
(WebInspector.TimelineRuler.prototype._needsMarkerLayout.update):
(WebInspector.TimelineRuler.prototype._needsMarkerLayout):
(WebInspector.TimelineRuler.prototype._recalculate):
(WebInspector.TimelineRuler.prototype._updateLeftPositionOfElement):
(WebInspector.TimelineRuler.prototype._updateMarkers):
(WebInspector.TimelineRuler.prototype._timelineMarkerTimeChanged):

6:54 PM Changeset in webkit [162407] by timothy@apple.com
  • 4 edits
    1 move
    1 add
    1 delete in trunk/Source/WebInspectorUI

Clean up and refactor TimelineDecorations into TimelineRuler.

https://bugs.webkit.org/show_bug.cgi?id=125709

Reviewed by Joseph Pecoraro.

  • UserInterface/Main.html:
  • UserInterface/OverviewTimelineView.css:

(.timeline-view.overview > .timeline-ruler):
(.timeline-view.overview > .timeline-ruler > .header):
(.timeline-view.overview > .timeline-ruler > .event-markers):
Updated class names and border sides.

  • UserInterface/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView):
(WebInspector.OverviewTimelineView.prototype.updateLayout):
Call updateLayout on the TimelineRuler.

  • UserInterface/TimelineRuler.css: Renamed from Source/WebInspectorUI/UserInterface/TimelineDecorations.css.

(.timeline-ruler):
(.timeline-ruler > .header):
(.timeline-ruler > .header > .divider):
(.timeline-ruler > .header > .divider > .label):
(.timeline-ruler > .event-markers):
(.timeline-ruler > .event-markers > .event-marker-tooltip):
(.timeline-ruler > .event-markers > .event-marker):
(.timeline-ruler > .event-markers > .event-marker.load-event):
(.timeline-ruler > .event-markers > .event-marker.dom-content-event):
(.timeline-ruler > .event-markers > .event-marker.timestamp):
Updated class names and border sides.

  • UserInterface/TimelineRuler.js: Renamed from Source/WebInspectorUI/UserInterface/TimelineDecorations.js.

(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.get element):
(WebInspector.TimelineRuler.prototype.get headerElement):
(WebInspector.TimelineRuler.prototype.get allowsClippedLabels):
(WebInspector.TimelineRuler.prototype.set allowsClippedLabels):
(WebInspector.TimelineRuler.prototype.get zeroTime):
(WebInspector.TimelineRuler.prototype.set zeroTime):
(WebInspector.TimelineRuler.prototype.get startTime):
(WebInspector.TimelineRuler.prototype.set startTime):
(WebInspector.TimelineRuler.prototype.get duration):
(WebInspector.TimelineRuler.prototype.set duration):
(WebInspector.TimelineRuler.prototype.get endTime):
(WebInspector.TimelineRuler.prototype.set endTime):
(WebInspector.TimelineRuler.prototype.get secondsPerPixel):
(WebInspector.TimelineRuler.prototype.set secondsPerPixel):
(WebInspector.TimelineRuler.prototype.updateLayout.removeDividerAndSelectNext):
(WebInspector.TimelineRuler.prototype.updateLayout):
(WebInspector.TimelineRuler.prototype._needsLayout):
(WebInspector.TimelineRuler.prototype._recalculate):
Refactor so the times are stored on TimelineRuler and not passed in each time an update is needed.
Support dividers that don't always start at the zero position, allowing a sliding time ruler.
Support for a non-pinned ruler where the end time is not fixed and the scale is specified in
seconds-per-pixel.

6:54 PM Changeset in webkit [162406] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Improve scroll performance of WebInspector.TreeOutlineDataGridSynchronizer.

https://bugs.webkit.org/show_bug.cgi?id=126660

Reviewed by Joseph Pecoraro.

  • UserInterface/TreeOutlineDataGridSynchronizer.js:

(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
Ignore scroll events triggered by our internal use of setting scrollTop.

6:54 PM Changeset in webkit [162405] by timothy@apple.com
  • 10 edits
    1 add in trunk/Source/WebInspectorUI

Add a synchronized DataGrid to the OverviewTimelineView.

The DataGrid is synchronized with the sidebar TreeOutline to appear as one when the view
and sidebar are both showing. The two scroll, expand and collapse in sync when the view
is showing. When the view is not showing the sidebar can scroll independently.

https://bugs.webkit.org/show_bug.cgi?id=124429

Reviewed by Joseph Pecoraro.

  • UserInterface/DataGrid.js:

(WebInspector.DataGrid):
(WebInspector.DataGrid.createSortableDataGrid):
(WebInspector.DataGrid.prototype._copyTextForDataGridNode):
(WebInspector.DataGridNode.prototype.createCellContent):
Handle undefined/null cells better by substituting empty strings.

(WebInspector.DataGridNode.prototype.collapse):
(WebInspector.DataGridNode.prototype.expand):
Fire events on the DataGrid for expand and collapse.

  • UserInterface/Main.html: Include TreeOutlineDataGridSynchronizer.js.
  • UserInterface/NavigationSidebarPanel.css:

(.sidebar > .panel.navigation > .content): Shorten by 1px to match the content view height.
Needed to keep scrolling in sync. The clipping looks better too.

  • UserInterface/OverviewTimelineView.css:

(.timeline-view.overview > .data-grid):
(.timeline-view.overview > .data-grid table.header):
(.timeline-view.overview > .data-grid .data-container):
Style the DataGrid to to not have a header.

  • UserInterface/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView):
(WebInspector.OverviewTimelineView.prototype.shown):
(WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
(WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
Create the DataGrid and some placeholder nodes. Hook up TreeOutlineDataGridSynchronizer.

  • UserInterface/TimelineContentView.css:

(.content-view.timeline > .view-container > .timeline-view > .data-grid td):
(.content-view.timeline > .view-container > .timeline-view > .data-grid table.data):
Style the DataGrid to match the height of TreeElements in the sidebar.

  • UserInterface/TimelineSidebarPanel.css:

(.sidebar > .panel.timeline.timeline-content-view-showing > .content):
Hide the scrollbar off the right when the view is showing. The view will show the scrollbar.

  • UserInterface/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected):
(WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):

  • UserInterface/TreeOutline.js:

(TreeOutline.prototype.removeChildAtIndex):
(TreeOutline.prototype.removeChildren):
(TreeOutline.prototype.removeChildrenRecursive):
(TreeElement.prototype.set hidden):
Add event callbacks for onhidden and onremove.

  • UserInterface/TreeOutlineDataGridSynchronizer.js: Added.

(WebInspector.TreeOutlineDataGridSynchronizer):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype.associate):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype.synchronize):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeSelected):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeExpanded):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeCollapsed):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementSelected):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementRemoved):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementExpanded):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementCollapsed):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementHiddenChanged):

6:54 PM Changeset in webkit [162404] by timothy@apple.com
  • 6 edits
    4 copies
    9 adds in trunk/Source/WebInspectorUI

Start fleshing out the Overview Timeline view.

This gets the overview populating in the Timeline sidebar. The graph side is still empty.

https://bugs.webkit.org/show_bug.cgi?id=124005

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/Frame.js:

(WebInspector.Frame.prototype.addResource):

  • UserInterface/Images/TimelineRecordAnimation.svg: Added.
  • UserInterface/Images/TimelineRecordEvent.svg: Added.
  • UserInterface/Images/TimelineRecordLayout.svg: Added.
  • UserInterface/Images/TimelineRecordPaint.svg: Added.
  • UserInterface/Images/TimelineRecordScriptEvaluated.svg: Added.
  • UserInterface/Images/TimelineRecordStyle.svg: Added.
  • UserInterface/Images/TimelineRecordTimer.svg: Added.
  • UserInterface/Main.html:
  • UserInterface/OverviewTimelineView.js: Added.

(WebInspector.OverviewTimelineView):
(WebInspector.OverviewTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
(WebInspector.OverviewTimelineView.prototype._childFrameWasAdded):
(WebInspector.OverviewTimelineView.prototype._mainResourceDidChange):
(WebInspector.OverviewTimelineView.prototype._provisionalResourceWasAdded):
(WebInspector.OverviewTimelineView.prototype._resourceWasAdded):
(WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails):
(WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime):
(WebInspector.OverviewTimelineView.prototype._insertTreeElement):
(WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
(WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
(WebInspector.OverviewTimelineView.prototype._treeElementSelected):

  • UserInterface/SourceCodeTimelineTreeElement.js: Added.

(WebInspector.SourceCodeTimelineTreeElement):
(WebInspector.SourceCodeTimelineTreeElement.prototype.get sourceCodeTimeline):

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.createPathComponent):
(WebInspector.TimelineContentView):
(WebInspector.TimelineContentView.prototype.showOverviewTimelineView):
(WebInspector.TimelineContentView.prototype.showTimelineView):
(WebInspector.TimelineContentView.prototype.get supportsSplitContentBrowser):
(WebInspector.TimelineContentView.prototype.get selectionPathComponents):
(WebInspector.TimelineContentView.prototype._pathComponentSelected):
(WebInspector.TimelineContentView.prototype._showTimelineView):
(WebInspector.TimelineContentView.prototype._recordingReset):

  • UserInterface/TimelineIcons.css:

(.style-record .icon): Added.
(.layout-record .icon): Added.
(.paint-record .icon): Added.
(.evaluated-record .icon): Added.
(.event-record .icon): Added.
(.timer-record .icon): Added.
(.animation-record .icon): Added.

  • UserInterface/TimelineView.css: Added.

(.timeline-view):

  • UserInterface/TimelineView.js: Added.

(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype.get navigationSidebarTreeOutline):
(WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineLabel):
(WebInspector.TimelineView.prototype.reset):
(WebInspector.TimelineView.prototype.shown):
(WebInspector.TimelineView.prototype.hidden):

6:54 PM Changeset in webkit [162403] by timothy@apple.com
  • 9 edits
    2 copies
    1 move
    8 adds in trunk/Source/WebInspectorUI

Start fleshing out the new TimelineSidebarPanel and TimelineContentView.

https://bugs.webkit.org/show_bug.cgi?id=124003

Reviewed by Joseph Pecoraro.

  • UserInterface/ContentView.js:

(WebInspector.ContentView):
(WebInspector.ContentView.isViewable):

  • UserInterface/FrameContentView.js:
  • UserInterface/Images/CloseTimeline.png: Added.
  • UserInterface/Images/CloseTimeline@2x.png: Added.
  • UserInterface/Images/ColorsLarge.png: Added.
  • UserInterface/Images/ColorsLarge@2x.png: Added.
  • UserInterface/Images/NetworkLarge.png: Added.
  • UserInterface/Images/NetworkLarge@2x.png: Added.
  • UserInterface/Images/ScriptLarge.png: Added.
  • UserInterface/Images/ScriptLarge@2x.png: Added.
  • UserInterface/Main.html:
  • UserInterface/Main.js:

(WebInspector.sidebarPanelForRepresentedObject):
(WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):

  • UserInterface/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.showDefaultContentView):

  • UserInterface/ResourceClusterContentView.js:
  • UserInterface/TimelineContentView.css: Added.

(.content-view.timeline > .view-container):

  • UserInterface/TimelineContentView.js: Added.

(WebInspector.TimelineContentView):

  • UserInterface/TimelineIcons.css: Renamed from Source/WebInspectorUI/UserInterface/InstrumentIcons.css.

(.network-icon.large .icon): Added.
(.colors-icon.large .icon): Added.
(.script-icon.large .icon): Added.

  • UserInterface/TimelineSidebarPanel.css:

(.sidebar > .panel.timeline > .navigation-bar):
(.sidebar > .panel.timeline > .title-bar):
(.sidebar > .panel.timeline > .title-bar.timelines):
(.sidebar > .panel.timeline > .title-bar.timeline-events):
(.sidebar > .panel.timeline > .timelines-content):
(.sidebar > .panel.timeline > .timelines-content .close-button):
(.sidebar > .panel.timeline > .timelines-content li.item.selected .close-button):
(.sidebar > .panel.timeline > .timelines-content .close-button:active):
(.sidebar > .panel.timeline > .content):

  • UserInterface/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.createTimelineTreeElement):
(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
(WebInspector.TimelineSidebarPanel.prototype.get contentTreeOutlineLabel):
(WebInspector.TimelineSidebarPanel.prototype.set contentTreeOutlineLabel):
(WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview):
(WebInspector.TimelineSidebarPanel.prototype.showTimelineView):
(WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected):

6:54 PM Changeset in webkit [162402] by timothy@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Correctly track time bounds of WebInspector.Timeline and WebInspector.TimelineRecording.

The startTime and endTime were not correct when Network timeline needed to be taken into
account (due to its dynamic loading nature.) This creates a network Timeline for the purposes
of tracking the ResourceTimelineRecords and getting accurate start and end times.

Also changes the way TimelineRecord tracks the inactive portion of time, needed for later
work on the timeline graphs.

https://bugs.webkit.org/show_bug.cgi?id=126676

Reviewed by Joseph Pecoraro.

  • UserInterface/ResourceTimelineRecord.js:

(WebInspector.ResourceTimelineRecord.prototype.get updatesDynamically):
(WebInspector.ResourceTimelineRecord.prototype.get usesActiveStartTime):
(WebInspector.ResourceTimelineRecord.prototype.get startTime):
(WebInspector.ResourceTimelineRecord.prototype.get activeStartTime):
(WebInspector.ResourceTimelineRecord.prototype.get endTime):

  • UserInterface/Timeline.js:

(WebInspector.Timeline):
(WebInspector.Timeline.prototype.get startTime):
(WebInspector.Timeline.prototype.get endTime):
(WebInspector.Timeline.prototype.addRecord):
(WebInspector.Timeline.prototype._updateTimesIfNeeded):
(WebInspector.Timeline.prototype._recordUpdated):

  • UserInterface/TimelineRecord.js:

(WebInspector.TimelineRecord.prototype.get startTime):
(WebInspector.TimelineRecord.prototype.get activeStartTime):
(WebInspector.TimelineRecord.prototype.get endTime):
(WebInspector.TimelineRecord.prototype.get inactiveDuration):
(WebInspector.TimelineRecord.prototype.get activeDuration):
(WebInspector.TimelineRecord.prototype.get updatesDynamically):
(WebInspector.TimelineRecord.prototype.get usesActiveStartTime):

  • UserInterface/TimelineRecording.js:

(WebInspector.TimelineRecording.prototype._timelineTimesUpdated):

6:53 PM Changeset in webkit [162401] by timothy@apple.com
  • 3 edits
    2 copies in trunk/Source/WebInspectorUI

Implement TimelineRecording and per-call-site timelines.

Keep track of timeline records per global timeline and per source code location.
This will be used to display them in the UI in later patches.

https://bugs.webkit.org/show_bug.cgi?id=123367

Reviewed by Joseph Pecoraro.

  • UserInterface/Main.html:
  • UserInterface/SourceCodeTimeline.js: Added.

(WebInspector.SourceCodeTimeline):
(WebInspector.SourceCodeTimeline.prototype.get sourceCode):
(WebInspector.SourceCodeTimeline.prototype.get sourceCodeLocation):
(WebInspector.SourceCodeTimeline.prototype.get recordType):
(WebInspector.SourceCodeTimeline.prototype.get recordEventType):

  • UserInterface/Timeline.js: Added.

(WebInspector.Timeline):
(WebInspector.Timeline.prototype.get records):
(WebInspector.Timeline.prototype.addRecord):

  • UserInterface/TimelineRecording.js:

(WebInspector.TimelineRecording):
(WebInspector.TimelineRecording.prototype.get timelines): Added.
(WebInspector.TimelineRecording.prototype.sourceCodeTimelinesForSourceCode): Added.
(WebInspector.TimelineRecording.prototype.addEventMarker): Implemented.
(WebInspector.TimelineRecording.prototype.addRecord): Implemented.
(WebInspector.TimelineRecording.prototype._keyForRecord): Added.

6:53 PM Changeset in webkit [162400] by timothy@apple.com
  • 5 edits
    1 add in trunk/Source/WebInspectorUI

Add support for multiple Timeline recordings.

We also don't explicitly add ResourceTimelineRecords anymore. These will be tracked automatically in a later patch.

https://bugs.webkit.org/show_bug.cgi?id=123366

Reviewed by Joseph Pecoraro.

  • UserInterface/DashboardManager.js:

(WebInspector.DashboardManager.prototype._mainResourceDidChange): Check for currentRecording.

  • UserInterface/InspectorFrontendAPI.js:

(InspectorFrontendAPI.isTimelineProfilingEnabled): Check for currentRecording.

  • UserInterface/Main.html:
  • UserInterface/TimelineManager.js:

(WebInspector.TimelineManager):
(WebInspector.TimelineManager.prototype.get currentRecording): Added.
(WebInspector.TimelineManager.prototype.startRecording): Make a new recording and push it onto the recording array.
Add the current recording to the event.
(WebInspector.TimelineManager.prototype.stopRecording): Add the current recording to the event.
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Check for currentRecording. Add the markers
to the current recording.
(WebInspector.TimelineManager.prototype._addRecord): Add the record to the current recording.
(WebInspector.TimelineManager.prototype._startAutoRecording): Clean up. Don't add ResourceTimelineRecord. Clear recordings.
(WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): Check for _currentRecording.
(WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): Ditto.
(WebInspector.TimelineManager.prototype._mainResourceDidChange): Don't add ResourceTimelineRecord anymore.
(WebInspector.TimelineManager.prototype._resourceWasAdded): Removed.

  • UserInterface/TimelineRecording.js: Added.

(WebInspector.TimelineRecording): Added.
(WebInspector.TimelineRecording.prototype.addEventMarker): Added.
(WebInspector.TimelineRecording.prototype.addRecord): Added.

6:53 PM Changeset in webkit [162399] by timothy@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Track callFrames and sourceCodeLocation per TimelineRecord.

https://bugs.webkit.org/show_bug.cgi?id=123359

Reviewed by Joseph Pecoraro.

  • UserInterface/LayoutTimelineRecord.js:

(WebInspector.LayoutTimelineRecord): Pass callFrames and sourceCodeLocation to superclass.

  • UserInterface/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord): Pass callFrames and sourceCodeLocation to superclass.

  • UserInterface/TimelineManager.js:

(WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Add "Payload" suffix to better track what is a protocol object.
Pass the callFrames and sourceCodeLocation to all the new TimelineRecords.
(WebInspector.TimelineManager.prototype.eventRecorded): Add "Payload" suffix.

  • UserInterface/TimelineRecord.js:

(WebInspector.TimelineRecord):
(WebInspector.TimelineRecord.prototype.get callFrames): Added.
(WebInspector.TimelineRecord.prototype.get initiatorCallFrame): Added.
(WebInspector.TimelineRecord.prototype.get sourceCodeLocation): Added.

6:53 PM Changeset in webkit [162398] by timothy@apple.com
  • 4 edits in trunk/Source/WebInspectorUI

Change how the load and content ready event timestamps are tracked.

https://bugs.webkit.org/show_bug.cgi?id=123356

Reviewed by Joseph Pecoraro.

  • UserInterface/DashboardManager.js:

(WebInspector.DashboardManager.prototype._updateTime): Use the timestamps on the main frame.

  • UserInterface/Frame.js:

(WebInspector.Frame):
(WebInspector.Frame.prototype.get domContentReadyEventTimestamp): Added.
(WebInspector.Frame.prototype.get loadEventTimestamp): Added.
(WebInspector.Frame.prototype.markDOMContentReadyEvent): Added.
(WebInspector.Frame.prototype.markLoadEvent): Added.

  • UserInterface/TimelineManager.js:

(WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Use markLoadEvent and markDOMContentReadyEvent.
Do it for all frames, not just the main frame.
(WebInspector.TimelineManager.prototype.pageDidLoad): Call markLoadEvent on the Frame.

6:53 PM Changeset in webkit [162397] by timothy@apple.com
  • 7 edits
    2 moves
    39 deletes in trunk/Source/WebInspectorUI

Remove a lot of the current Timelines code to make room for a new implementation.

https://bugs.webkit.org/show_bug.cgi?id=123368

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/ContentView.js:

(WebInspector.ContentView):
(WebInspector.ContentView.isViewable):

  • UserInterface/DashboardView.js:

(WebInspector.DashboardView.prototype._networkItemWasClicked):

  • UserInterface/InspectorFrontendAPI.js:

(InspectorFrontendAPI.setTimelineProfilingEnabled):
(InspectorFrontendAPI.stopProfilingJavaScript):

  • UserInterface/InstrumentSidebarPanel.js: Removed.
  • UserInterface/Main.html:
  • UserInterface/Main.js:

(WebInspector.contentLoaded):
(WebInspector.sidebarPanelForRepresentedObject):
(WebInspector.openURL):

  • UserInterface/Object.js:

(WebInspector.Object.addEventListener):

  • UserInterface/TimelineManager.js:

(WebInspector.TimelineManager):
(WebInspector.TimelineManager.prototype.startRecording):
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
(WebInspector.TimelineManager.prototype.objectForCookie):
(WebInspector.TimelineManager.prototype._addRecord):

  • UserInterface/TimelinesObject.js: Removed.
  • UserInterface/TimelineOverview.css: Removed.
  • UserInterface/TimelineOverview.js: Removed.
  • UserInterface/TimelineSidebarPanel.css: Added.
  • UserInterface/TimelineSidebarPanel.js: Added.

(WebInspector.TimelineSidebarPanel):

  • UserInterface/TimelinesContentView.css: Removed.
  • UserInterface/TimelinesContentView.js: Removed.
6:25 PM Changeset in webkit [162396] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Remove an unused PageGroup function
https://bugs.webkit.org/show_bug.cgi?id=127327

Reviewed by Andreas Kling.

  • WebCore.exp.in:
  • page/PageGroup.cpp:
  • page/PageGroup.h:
5:51 PM Changeset in webkit [162395] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Move user style sheet handling to UserContentController
https://bugs.webkit.org/show_bug.cgi?id=127322
<rdar://problem/15861296>

Reviewed by Andreas Kling.

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):

  • page/PageGroup.cpp:

(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):
(WebCore::PageGroup::removeAllUserContent):

  • page/PageGroup.h:
  • page/UserContentController.cpp:

(WebCore::UserContentController::addUserStyleSheet):
(WebCore::UserContentController::removeUserStyleSheet):
(WebCore::UserContentController::removeUserStyleSheets):
(WebCore::UserContentController::removeAllUserContent):
(WebCore::UserContentController::invalidateInjectedStyleSheetCacheInAllFrames):

  • page/UserContentController.h:

(WebCore::UserContentController::userStyleSheets):

5:31 PM Changeset in webkit [162394] by benjamin@webkit.org
  • 21 edits in trunk/Source/WebCore

Add a nicer way to iterate over all the attributes of an element
https://bugs.webkit.org/show_bug.cgi?id=127266

Reviewed by Geoffrey Garen.

When using Element::attributeAt() in a loop, the compiler had to generate two kinds of
accessor:
-If the element data is unique, the length and data comes from the attribute Vector.
-If the element data is shared, the data comes from the tail of elementData itself.

The choice was done for every access, which caused the assembly to be a little
hard to follow.
This patch unify the data access by doing everything as a array pointer with offset (getting
that data from Vector when necessary).

To make it easier to do the right thing, a new iterator was added so that range-based loops
can replace all the faulty cases.

  • css/SelectorChecker.cpp:

(WebCore::anyAttributeMatches):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::checkExactAttribute):

  • dom/DatasetDOMStringMap.cpp:

(WebCore::DatasetDOMStringMap::getNames):
(WebCore::DatasetDOMStringMap::item):
(WebCore::DatasetDOMStringMap::contains):

  • dom/Element.cpp:

(WebCore::Element::normalizeAttributes):
(WebCore::Element::detachAllAttrNodesFromElement):
(WebCore::Element::cloneAttributesFromElement):

  • dom/Element.h:

(WebCore::Element::attributesIterator):

  • dom/ElementData.cpp:

(WebCore::ElementData::isEquivalent):
(WebCore::ElementData::findAttributeIndexByNameSlowCase):

  • dom/ElementData.h:

(WebCore::AttributeConstIterator::AttributeConstIterator):
(WebCore::AttributeConstIterator::operator*):
(WebCore::AttributeConstIterator::operator->):
(WebCore::AttributeConstIterator::operator++):
(WebCore::AttributeConstIterator::operator==):
(WebCore::AttributeConstIterator::operator!=):
(WebCore::AttributeIteratorAccessor::AttributeIteratorAccessor):
(WebCore::AttributeIteratorAccessor::begin):
(WebCore::AttributeIteratorAccessor::end):
(WebCore::ElementData::attributesIterator):

  • dom/Node.cpp:

(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupNamespaceURI):
(WebCore::Node::lookupNamespacePrefix):
(WebCore::Node::compareDocumentPosition):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::makePresentationAttributeCacheKey):
(WebCore::StyledElement::rebuildPresentationAttributeStyle):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendElement):

  • editing/markup.cpp:

(WebCore::completeURLs):
(WebCore::StyledMarkupAccumulator::appendElement):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parametersForPlugin):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parametersForPlugin):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::innerPatchNode):
(WebCore::DOMPatchSupport::createDigest):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):

  • inspector/InspectorNodeFinder.cpp:

(WebCore::InspectorNodeFinder::matchesElement):

  • page/PageSerializer.cpp:

(WebCore::isCharsetSpecifyingNode):

  • xml/XPathNodeSet.cpp:

(WebCore::XPath::NodeSet::traversalSort):

  • xml/XPathStep.cpp:

(WebCore::XPath::Step::nodesInAxis):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::XMLDocumentParser):

5:10 PM Changeset in webkit [162393] by akling@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

JSC Parser: Shrink BindingNode.
<https://webkit.org/b/127253>

The "divot" and "end" source locations are always identical for
BindingNodes, so store only "start" and "end" instead.

1.19 MB progression on Membuster3.

Reviewed by Geoff Garen.

  • bytecompiler/NodesCodegen.cpp:

(JSC::BindingNode::bindValue):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createBindingLocation):

  • parser/NodeConstructors.h:

(JSC::BindingNode::create):
(JSC::BindingNode::BindingNode):

  • parser/Nodes.h:

(JSC::BindingNode::divotStart):
(JSC::BindingNode::divotEnd):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::createBindingPattern):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::operatorStackPop):

5:04 PM Changeset in webkit [162392] by ap@apple.com
  • 2 edits in trunk/LayoutTests

platform/mac/accessibility/iframe-aria-hidden.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=127323

  • platform/mac-wk2/TestExpectations: Marked as such.
4:51 PM Changeset in webkit [162391] by Alan Bujtas
  • 2 edits in trunk/Tools

Force float division when calculating CSS px value.

Reviewed by Simon Fraser.

Note that in Python 3, this is the default behavior.

  • lldb/lldb_webkit.py:

(WebCoreLayoutUnitProvider.to_string):

4:46 PM Changeset in webkit [162390] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

op_captured_mov and op_new_captured_func in UnlinkedCodeBlocks should use the IdentifierMap instead of the strings directly
https://bugs.webkit.org/show_bug.cgi?id=127311
<rdar://problem/15853958>

Reviewed by Andreas Kling.

This makes UnlinkedCodeBlocks use 32-bit instruction streams again.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedInstruction::UnlinkedInstruction):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addVar):
(JSC::BytecodeGenerator::emitInitLazyRegister):
(JSC::BytecodeGenerator::createArgumentsIfNecessary):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::watchableVariable):
(JSC::BytecodeGenerator::hasWatchableVariable):

4:45 PM Changeset in webkit [162389] by mark.lam@apple.com
  • 9 edits
    1 delete in trunk/Source/JavaScriptCore

Removing CodeBlock::opDebugBytecodeOffsetForLineAndColumn() and friends.
<https://webkit.org/b/127321>

Reviewed by Geoffrey Garen.

We're changing plans and will be going with CodeBlock level breakpoints
instead of bytecode level breakpoints. As a result, we no longer need
the services of CodeBlock::opDebugBytecodeOffsetForLineAndColumn() (and
friends). This patch will remove that unused code.

  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:
  • bytecode/LineColumnInfo.h: Removed.
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::dumpExpressionRangeInfo):

  • bytecode/UnlinkedCodeBlock.h:
4:41 PM Changeset in webkit [162388] by fpizlo@apple.com
  • 5 edits
    1 add in branches/jsCStack/Source/JavaScriptCore

ArithSqrt in FTL
https://bugs.webkit.org/show_bug.cgi?id=127320

Patch by Matthew Mirman <mmirman@apple.com> on 2014-01-20
Reviewed by Filip Pizlo.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode): Added
(JSC::FTL::LowerDFGToLLVM::compileArithSin): Simplified implementation
(JSC::FTL::LowerDFGToLLVM::compileArithCos): Simplified implementation
(JSC::FTL::LowerDFGToLLVM::compileArithSqrt): Added

  • ftl/FTLOutput.h:

(JSC::FTL::Output::doubleSqrt): Added

  • tests/stress/ftl-arithsqrt.js: Added.

(foo):

4:37 PM Changeset in webkit [162387] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Fix an erroneous paste in TestExpectations.

  • platform/mac-wk2/TestExpectations:
4:27 PM Changeset in webkit [162386] by eunmi15.lee@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Amount of scrolling is different from movement of touch when device pixel ratio is not 1.
https://bugs.webkit.org/show_bug.cgi?id=127268

Reviewed by Gyuyoung Kim.

Amount of scrolling should be same with movement of touch even though
device pixel ratio is not 1, so apply device pixel ratio to the new
position of scrollBy().

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::scrollBy):

4:11 PM Changeset in webkit [162385] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Do refactor in collectGradientAttributes() and renderStyleForLengthResolve()
https://bugs.webkit.org/show_bug.cgi?id=126869

Reviewed by Dirk Schulze.

Some SVG functions have done a first iteration by using a boolean flag. This is
one of poor implementations. This patch fix it by extracting a logic into a new method.
Additionally it would be good to use do-while() loop instead of using while() in
renderStyleForLengthResolving() because a first condition is always true.

Merge r165358 from blink.

  • svg/SVGLengthContext.cpp:

(WebCore::renderStyleForLengthResolving):

  • svg/SVGLinearGradientElement.cpp:

(WebCore::setGradientAttributes):
(WebCore::SVGLinearGradientElement::collectGradientAttributes):

  • svg/SVGRadialGradientElement.cpp:

(WebCore::setGradientAttributes):
(WebCore::SVGRadialGradientElement::collectGradientAttributes):

4:08 PM Changeset in webkit [162384] by andersca@apple.com
  • 6 edits in trunk/Source/WebCore

UserContentController should keep track of user scripts
https://bugs.webkit.org/show_bug.cgi?id=127317
<rdar://problem/15861296>

Reviewed by Andreas Kling.

Move handling of user scripts from PageGroup to UserContentController.

  • page/Frame.cpp:

(WebCore::Frame::injectUserScripts):

  • page/PageGroup.cpp:

(WebCore::PageGroup::addUserScriptToWorld):
(WebCore::PageGroup::removeUserScriptFromWorld):
(WebCore::PageGroup::removeUserScriptsFromWorld):
(WebCore::PageGroup::removeAllUserContent):

  • page/PageGroup.h:
  • page/UserContentController.cpp:

(WebCore::UserContentController::addUserScript):
(WebCore::UserContentController::removeUserScript):
(WebCore::UserContentController::removeUserScripts):
(WebCore::UserContentController::removeAllUserContent):

  • page/UserContentController.h:

(WebCore::UserContentController::userScripts):

3:42 PM Changeset in webkit [162383] by ap@apple.com
  • 2 edits in trunk/LayoutTests

svg/dom/SVGPolygonElement-baseVal-list-removal-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=127316

  • platform/mac-wk2/TestExpectations: Marked as such.
3:39 PM Changeset in webkit [162382] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Setting m_pageScaleFactor directly in WebPageProxy::scalePage
https://bugs.webkit.org/show_bug.cgi?id=127090

Reviewed by Simon Fraser.

When the client side sets the scale factor, the UIProcess will send the message to WebProcess and only after
WebPageProxy::pageScaleFactorDidChange is called the desired scale factor is returned correctly by
WebPageProxy::pageScaleFactor.
This will avoid the client side retrieve a wrong scale factor while UIProcess and WebProcess gets synchronized.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::scalePage):

3:38 PM Changeset in webkit [162381] by Alan Bujtas
  • 4 edits
    1 delete in trunk/LayoutTests

Subpixel layout: 100000px overflows while calculating layout positions.
https://bugs.webkit.org/show_bug.cgi?id=126896

Reviewed by Simon Fraser.

Test case is adjusted to subpixel layout.

  • fast/spatial-navigation/snav-unit-overflow-and-scroll-in-direction.html:
  • platform/efl/TestExpectations:
  • platform/gtk/fast/spatial-navigation/snav-unit-overflow-and-scroll-in-direction-expected.txt: Removed.
  • platform/mac/TestExpectations:
3:21 PM Changeset in webkit [162380] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Give each page a UserContentController
https://bugs.webkit.org/show_bug.cgi?id=127315

Reviewed by Andreas Kling.

Add a UserContentController object to PageGroup and have the page group set it on any
pages that are added to the page group.

This is another step towards moving handling of user content away from PageGroup and make it
possible for each page to have different user content.

  • page/Page.cpp:

(WebCore::Page::~Page):
(WebCore::Page::setUserContentController):

  • page/Page.h:

(WebCore::Page::userContentController):

  • page/PageGroup.cpp:

(WebCore::PageGroup::PageGroup):
(WebCore::PageGroup::addPage):
(WebCore::PageGroup::removePage):

  • page/PageGroup.h:
  • page/UserContentController.cpp:

(WebCore::UserContentController::addPage):
(WebCore::UserContentController::removePage):

  • page/UserContentController.h:
2:41 PM Changeset in webkit [162379] by commit-queue@webkit.org
  • 16 edits
    2 adds in trunk/Source

Add AVKit fullscreen video interface.
https://bugs.webkit.org/show_bug.cgi?id=126818

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-01-20
Reviewed by Eric Carlson.

Source/WebCore:

No new tests, no observable change in functionality.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:

Add ability for fullscreen to borrow the AVPlayerLayer.

  • page/Settings.cpp:
  • page/Settings.h:

(WebCore::Settings::setMediaPlaybackFullscreenAVKit):
(WebCore::Settings::mediaPlaybackFullscreenAVKit):
Add a disabled setting.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
Enabled fullscreen for iOS.

  • platform/ios/WebVideoFullscreenControllerAVKit.h: Added.
  • platform/ios/WebVideoFullscreenControllerAVKit.mm: Added.

(-[WebAVPlayerController init]):
(-[WebAVPlayerController dealloc]):
(-[WebAVPlayerController forwardingTargetForSelector:]):
(-[WebAVPlayerController shouldDismissForDone]):
(-[WebAVPlayerController play:]):
(-[WebAVPlayerController pause:]):
(-[WebAVPlayerController togglePlayback:]):
(-[WebAVPlayerController isPlaying]):
(-[WebAVPlayerController setPlaying:]):
(+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
(-[WebAVPlayerController seekToTime:]):
(-[WebAVPlayerController updateTimingWithCurrentTime:]):
(-[WebAVPlayerController effectiveRate]):
(-[WebAVPlayerController setMediaElement:]):
(-[WebAVPlayerController handleEvent:]):
(-[WebVideoFullscreenController init]):
(-[WebVideoFullscreenController dealloc]):
(-[WebVideoFullscreenController setMediaElement:]):
(-[WebVideoFullscreenController mediaElement]):
(-[WebVideoFullscreenController enterFullscreen:]):
(-[WebVideoFullscreenController exitFullscreen]):
Add WebAVPlayerController for HTMLMediaElememt to interface with AVPlayerViewController.

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::supportsFullscreenForNode):
Enable *FullscreenForNode for HTMLMediaElement for iOS

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences mediaPlaybackFullscreenAVKit]):
(-[WebPreferences setMediaPlaybackFullscreenAVKit:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):
(-[WebView _enterFullscreenForNode:WebCore::]):

  • WebView/WebViewInternal.h:

Add a disabled pref mediaPlaybackFullscreenAVKit.
Use WebVideoFullscreenControllerAVKit on iOS

2:33 PM Changeset in webkit [162378] by ap@apple.com
  • 2 edits in trunk/LayoutTests

svg/filters/feComponentTransfer-style-crash.xhtml is flaky
https://bugs.webkit.org/show_bug.cgi?id=127310

  • platform/mac/TestExpectations: Marked it as such.
2:17 PM Changeset in webkit [162377] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CodeBlockSet::traceMarked doesn't need to visit the ownerExecutable
https://bugs.webkit.org/show_bug.cgi?id=127301

Reviewed by Oliver Hunt.

We used to just call CodeBlock::visitAggregate, but now we call visitChildren
on the ownerExecutable, which is unnecessary.

  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::traceMarked):

2:05 PM Changeset in webkit [162376] by zandobersek@gmail.com
  • 8 edits in trunk/Source/WebCore

Replace uses of std::forward<T>(), std::unique_ptr<T>::clear() that landed in r162368
https://bugs.webkit.org/show_bug.cgi?id=127306

Reviewed by Darin Adler.

Address the post-landing reviews of the r162368 commit that moved WebAudio source code to using std::unique_ptr.
std::move() should be used instead of std::forward<T>() in HRTFKernel::create().
Instead of calling std::unique_ptr<T>::reset(), nullptr should be assigned to that smart pointer to reset it.

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::uninitialize):

  • Modules/webaudio/DynamicsCompressorNode.cpp:

(WebCore::DynamicsCompressorNode::uninitialize):

  • Modules/webaudio/MediaElementAudioSourceNode.cpp:

(WebCore::MediaElementAudioSourceNode::setFormat):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::uninitialize):

  • platform/audio/AudioChannel.h:

(WebCore::AudioChannel::set):

  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):

  • platform/audio/HRTFKernel.h:

(WebCore::HRTFKernel::create):

1:53 PM Changeset in webkit [162375] by fpizlo@apple.com
  • 5 edits
    1 add in branches/jsCStack/Source/JavaScriptCore

ArithCos in FTL
https://bugs.webkit.org/show_bug.cgi?id=127136

Patch by Matthew Mirman <mmirman@apple.com> on 2014-01-20
Reviewed by Filip Pizlo.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithCos):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::doubleCos):

  • tests/stress/ftl-arithcos.js: Added.

(foo):

1:36 PM Changeset in webkit [162374] by Joseph Pecoraro
  • 39 edits in trunk/Source/WebCore

Modernize WebCore/inspector with nullptr
https://bugs.webkit.org/show_bug.cgi?id=127303

Reviewed by Anders Carlsson.

Ran clang-modernize -use-nullptr over WebCore/inspector.

  • inspector/ConsoleMessage.cpp:

(WebCore::ConsoleMessage::ConsoleMessage):

  • inspector/ConsoleMessage.h:
  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::findMagicComment):

  • inspector/DOMEditor.cpp:

(WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::patchDocument):
(WebCore::DOMPatchSupport::patchNode):
(WebCore::DOMPatchSupport::diff):
(WebCore::DOMPatchSupport::innerPatchChildren):

  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):

  • inspector/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::disable):
(WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
(WebCore::InspectorCanvasAgent::frameNavigated):

  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::clearMessages):
(WebCore::InspectorConsoleAgent::didFinishXHRLoading):
(WebCore::InspectorConsoleAgent::didReceiveResponse):
(WebCore::InspectorConsoleAgent::didFailLoading):

  • inspector/InspectorConsoleAgent.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::inspectedPageDestroyed):

  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::disable):
(WebCore::InspectorDOMDebuggerAgent::discardAgent):

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/InspectorDatabaseAgent.cpp:

(WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
(WebCore::InspectorDatabaseAgent::findByFileName):
(WebCore::InspectorDatabaseAgent::databaseForId):

  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::addMessageToConsole):
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::didContinue):
(WebCore::InspectorDebuggerAgent::clearBreakDetails):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::FrontendMenuProvider::disconnect):
(WebCore::InspectorFrontendHost::InspectorFrontendHost):
(WebCore::InspectorFrontendHost::disconnectClient):

  • inspector/InspectorHeapProfilerAgent.cpp:

(WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::assertDocument):
(WebCore::assertIDBFactory):
(WebCore::InspectorIndexedDBAgent::requestData):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::frameForScriptExecutionContext):
(WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
(WebCore::InspectorInstrumentation::consoleAgentEnabled):
(WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
(WebCore::InspectorInstrumentation::retrieveTimelineAgent):
(WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
(WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
(WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
(WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
(WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::disable):

  • inspector/InspectorNodeFinder.cpp:

(WebCore::InspectorNodeFinder::searchUsingXPath):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementInfo):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent):
(WebCore::InspectorPageAgent::sharedBufferContent):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::frameForId):
(WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):

  • inspector/InspectorProfilerAgent.cpp:

(WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):

  • inspector/InspectorProfilerAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForResourceResponse):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::disable):

  • inspector/InspectorRuntimeAgent.cpp:

(WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):

  • inspector/InspectorStyleSheet.cpp:

(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::buildSourceRangeObject):
(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::setPropertyText):
(WebCore::InspectorStyle::populateAllProperties):
(WebCore::InspectorStyle::extractSourceData):
(WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
(WebCore::InspectorStyleSheet::addRule):
(WebCore::InspectorStyleSheet::ruleForId):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::styleForId):
(WebCore::InspectorStyleSheet::inspectorStyleForId):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::asProtocolValue):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::stop):
(WebCore::InspectorTimelineAgent::willComposite):
(WebCore::InspectorTimelineAgent::page):

  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):

  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::ResourceData::ResourceData):
(WebCore::NetworkResourcesData::xhrReplayData):
(WebCore::NetworkResourcesData::removeCachedResource):
(WebCore::NetworkResourcesData::resourceDataForRequestId):

  • inspector/PageConsoleAgent.cpp:

(WebCore::PageConsoleAgent::~PageConsoleAgent):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::disable):

  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::~PageRuntimeAgent):
(WebCore::PageRuntimeAgent::didCreateMainWorldContext):
(WebCore::PageRuntimeAgent::reportExecutionContextCreation):

  • inspector/ScriptArguments.cpp:

(WebCore::ScriptArguments::globalState):

  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):

1:33 PM Changeset in webkit [162373] by ap@apple.com
  • 7 edits
    1 add in trunk/Tools

build.webkit.org/dashboard should display information about patches in EWS
https://bugs.webkit.org/show_bug.cgi?id=127006

Reviewed by Ryosuke Niwa.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Bugzilla.js: Added.

(Bugzilla.prototype.detailsURLForAttachment):
Added a class for Bugzilla. So far, the only thing it can do is build patch URLs,
which is needed when one wants to do something with a patch EWS is stuck on.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:

Create a Bugzilla instance.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js:

(EWS.prototype.jsonQueueLengthURL):
(EWS.prototype.jsonQueueStatusURL):
Build JSON ULRs here, not in EWSQueue, as this is how other classes are structured.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js:

(EWSQueue.prototype.get statusPageURL): Changed to use a URL provided by EWS instead
of second guessing.
(EWSQueue.prototype.get chartsPageURL): Added.
(EWSQueue.prototype.get loadedDetailedStatus): Tells whether we currently have
additional data already loaded (it's reset with every update).
(EWSQueue.prototype.get patches): Get patch queue.
(EWSQueue.prototype.get bots): Get bots.
(EWSQueue.prototype.update): Changed to use a specialized cheaper URL.
(EWSQueue.prototype.loadDetailedStatus): Load and transform detailed status JSON.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js:

(EWSQueueView.prototype.update.appendQueue): Add a popover is there are any patches
in the queue.
(EWSQueueView.prototype.addLinkToRow): A helper to build the popover.
(EWSQueueView.prototype.addTextToRow): Ditto.
(EWSQueueView.prototype._addQueueHeadingToPopover): Ditto.
(EWSQueueView.prototype._addBotsHeadingToPopover): Ditto.
(EWSQueueView.prototype._addDividerToPopover): Ditto.
(EWSQueueView.prototype._timeIntervalString): A helper to format a timestamp into a
relative string.
(EWSQueueView.prototype._popoverContentForEWSQueue): Build the popover.
(EWSQueueView.prototype._presentPopoverForEWSQueue): Start loading data, and present
it when done.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

Added rules for EWS popover. Removed a duplicate rule for build-logs-popover.
Changed a few difficult to read padding styles to padding-left.

1:29 PM Changeset in webkit [162372] by andersca@apple.com
  • 6 edits
    2 adds in trunk/Source/WebCore

Add empty UserContentController class
https://bugs.webkit.org/show_bug.cgi?id=127300
<rdar://problem/15861296>

Reviewed by Dan Bernstein.

This is the first step towards moving handling of user scripts and style sheets from
the page group to a separate objects and ultimately make them be settable per page instead of per page group.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • page/UserContentController.cpp: Added.

(WebCore::UserContentController::create):
(WebCore::UserContentController::UserContentController):
(WebCore::UserContentController::~UserContentController):

  • page/UserContentController.h: Added.
1:18 PM Changeset in webkit [162371] by ap@apple.com
  • 2 edits in trunk/Tools

Fix webkitpy tests.

  • Scripts/webkitpy/common/net/web_mock.py: (MockBrowser.set_handle_robots):

Added a mock implementation, as we now call this function.

1:17 PM Changeset in webkit [162370] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebKit2

[GTK][WK2] Move the rest of GTK's WorkQueue implementation to std::function
https://bugs.webkit.org/show_bug.cgi?id=127273

Reviewed by Anders Carlsson.

Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
and WorkQueue::SocketEventSource.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::open):

  • Platform/WorkQueue.h:
  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::SocketEventSource::SocketEventSource):
(WorkQueue::registerSocketEventHandler):
(WorkQueue::dispatchOnSource): Use std::move instead of std::forward<T>.
(WorkQueue::dispatch): Ditto.
(WorkQueue::dispatchAfter): Ditto.

1:15 PM Changeset in webkit [162369] by Joseph Pecoraro
  • 37 edits in trunk/Source/WebCore

Run clang-modernize and let it add a bunch of missing overrides in WebCore/inspector
https://bugs.webkit.org/show_bug.cgi?id=127206

Reviewed by Anders Carlsson.

Let clang-modernize add overrides.

  • inspector/DOMEditor.cpp:
  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorCanvasAgent.h:
  • inspector/InspectorConsoleAgent.h:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDebuggerAgent.h:
  • inspector/InspectorFrontendHost.cpp:
  • inspector/InspectorHeapProfilerAgent.cpp:

(WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
(WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):

  • inspector/InspectorHeapProfilerAgent.h:
  • inspector/InspectorHistory.cpp:
  • inspector/InspectorIndexedDBAgent.cpp:
  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInputAgent.h:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorMemoryAgent.h:
  • inspector/InspectorPageAgent.h:
  • inspector/InspectorProfilerAgent.cpp:
  • inspector/InspectorProfilerAgent.h:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorRuntimeAgent.h:
  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:
  • inspector/InspectorWorkerAgent.h:
  • inspector/PageConsoleAgent.h:
  • inspector/PageDebuggerAgent.h:
  • inspector/PageRuntimeAgent.h:
  • inspector/WorkerConsoleAgent.h:
  • inspector/WorkerDebuggerAgent.cpp:
  • inspector/WorkerInspectorController.cpp:
  • inspector/WorkerRuntimeAgent.h:
12:36 PM Changeset in webkit [162368] by zandobersek@gmail.com
  • 84 edits in trunk/Source/WebCore

Move WebAudio source code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127274

Reviewed by Eric Carlson.

Move from using OwnPtr and PassOwnPtr to using std::unique_ptr and move semantics
in the WebAudio module and the WebAudio code in the platform layer.

  • Modules/webaudio/AsyncAudioDecoder.cpp:
  • Modules/webaudio/AsyncAudioDecoder.h:
  • Modules/webaudio/AudioBasicInspectorNode.cpp:

(WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):

  • Modules/webaudio/AudioBasicProcessorNode.cpp:

(WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):

  • Modules/webaudio/AudioBasicProcessorNode.h:
  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::AudioBufferSourceNode):

  • Modules/webaudio/AudioContext.cpp:
  • Modules/webaudio/AudioContext.h:
  • Modules/webaudio/AudioDestinationNode.cpp:

(WebCore::AudioDestinationNode::AudioDestinationNode):

  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::addInput):
(WebCore::AudioNode::addOutput):
(WebCore::AudioNode::checkNumberOfChannelsForInput):

  • Modules/webaudio/AudioNode.h:
  • Modules/webaudio/BiquadFilterNode.cpp:

(WebCore::BiquadFilterNode::BiquadFilterNode):

  • Modules/webaudio/BiquadProcessor.cpp:

(WebCore::BiquadProcessor::createKernel):
(WebCore::BiquadProcessor::getFrequencyResponse):

  • Modules/webaudio/BiquadProcessor.h:
  • Modules/webaudio/ChannelMergerNode.cpp:

(WebCore::ChannelMergerNode::ChannelMergerNode):

  • Modules/webaudio/ChannelSplitterNode.cpp:

(WebCore::ChannelSplitterNode::ChannelSplitterNode):

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::ConvolverNode):
(WebCore::ConvolverNode::uninitialize):
(WebCore::ConvolverNode::setBuffer):

  • Modules/webaudio/ConvolverNode.h:
  • Modules/webaudio/DefaultAudioDestinationNode.h:
  • Modules/webaudio/DelayNode.cpp:

(WebCore::DelayNode::DelayNode):

  • Modules/webaudio/DelayProcessor.cpp:

(WebCore::DelayProcessor::createKernel):

  • Modules/webaudio/DelayProcessor.h:
  • Modules/webaudio/DynamicsCompressorNode.cpp:

(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
(WebCore::DynamicsCompressorNode::initialize):
(WebCore::DynamicsCompressorNode::uninitialize):

  • Modules/webaudio/DynamicsCompressorNode.h:
  • Modules/webaudio/GainNode.cpp:

(WebCore::GainNode::GainNode):

  • Modules/webaudio/MediaElementAudioSourceNode.cpp:

(WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
(WebCore::MediaElementAudioSourceNode::setFormat):

  • Modules/webaudio/MediaElementAudioSourceNode.h:
  • Modules/webaudio/MediaStreamAudioDestinationNode.h:
  • Modules/webaudio/MediaStreamAudioSource.cpp:
  • Modules/webaudio/MediaStreamAudioSourceNode.cpp:

(WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):

  • Modules/webaudio/MediaStreamAudioSourceNode.h:
  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::OscillatorNode):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::PannerNode):
(WebCore::PannerNode::uninitialize):
(WebCore::PannerNode::setPanningModel):

  • Modules/webaudio/PannerNode.h:
  • Modules/webaudio/PeriodicWave.cpp:

(WebCore::PeriodicWave::createBandLimitedTables):

  • Modules/webaudio/PeriodicWave.h:
  • Modules/webaudio/RealtimeAnalyser.cpp:

(WebCore::RealtimeAnalyser::RealtimeAnalyser):
(WebCore::RealtimeAnalyser::setFftSize):

  • Modules/webaudio/RealtimeAnalyser.h:
  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::ScriptProcessorNode):

  • Modules/webaudio/WaveShaperDSPKernel.cpp:

(WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):

  • Modules/webaudio/WaveShaperDSPKernel.h:
  • Modules/webaudio/WaveShaperNode.cpp:

(WebCore::WaveShaperNode::WaveShaperNode):

  • Modules/webaudio/WaveShaperProcessor.cpp:

(WebCore::WaveShaperProcessor::createKernel):

  • Modules/webaudio/WaveShaperProcessor.h:
  • platform/audio/AudioBus.cpp:

(WebCore::AudioBus::AudioBus):
(WebCore::AudioBus::copyWithGainFrom):

  • platform/audio/AudioBus.h:
  • platform/audio/AudioChannel.cpp:
  • platform/audio/AudioChannel.h:

(WebCore::AudioChannel::AudioChannel):
(WebCore::AudioChannel::set):

  • platform/audio/AudioDSPKernelProcessor.h:
  • platform/audio/AudioDestination.h:
  • platform/audio/AudioResampler.cpp:

(WebCore::AudioResampler::AudioResampler):
(WebCore::AudioResampler::configureChannels):

  • platform/audio/AudioResampler.h:
  • platform/audio/AudioSession.h:
  • platform/audio/DynamicsCompressor.cpp:

(WebCore::DynamicsCompressor::setNumberOfChannels):

  • platform/audio/DynamicsCompressor.h:
  • platform/audio/DynamicsCompressorKernel.cpp:

(WebCore::DynamicsCompressorKernel::setNumberOfChannels):

  • platform/audio/DynamicsCompressorKernel.h:
  • platform/audio/FFTFrame.cpp:

(WebCore::FFTFrame::createInterpolatedFrame):

  • platform/audio/FFTFrame.h:
  • platform/audio/HRTFDatabase.cpp:

(WebCore::HRTFDatabase::HRTFDatabase):

  • platform/audio/HRTFDatabase.h:
  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
(WebCore::HRTFDatabaseLoader::load):

  • platform/audio/HRTFDatabaseLoader.h:
  • platform/audio/HRTFElevation.cpp:

(WebCore::HRTFElevation::createForSubject):
(WebCore::HRTFElevation::createByInterpolatingSlices):

  • platform/audio/HRTFElevation.h:

(WebCore::HRTFElevation::HRTFElevation):

  • platform/audio/HRTFKernel.cpp:

(WebCore::HRTFKernel::HRTFKernel):
(WebCore::HRTFKernel::createImpulseResponse):
(WebCore::HRTFKernel::createInterpolatedKernel):

  • platform/audio/HRTFKernel.h:

(WebCore::HRTFKernel::create):
(WebCore::HRTFKernel::HRTFKernel):

  • platform/audio/MultiChannelResampler.cpp:

(WebCore::MultiChannelResampler::MultiChannelResampler):

  • platform/audio/MultiChannelResampler.h:
  • platform/audio/Panner.cpp:

(WebCore::Panner::create):

  • platform/audio/Panner.h:
  • platform/audio/Reverb.cpp:

(WebCore::Reverb::initialize):

  • platform/audio/Reverb.h:
  • platform/audio/ReverbConvolver.h:
  • platform/audio/ReverbConvolverStage.cpp:

(WebCore::ReverbConvolverStage::ReverbConvolverStage):

  • platform/audio/ReverbConvolverStage.h:
  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::AudioDestination::create):

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
  • platform/audio/ios/AudioDestinationIOS.cpp:

(WebCore::AudioDestination::create):

  • platform/audio/ios/AudioSessionIOS.mm:

(WebCore::AudioSession::AudioSession):

  • platform/audio/mac/AudioDestinationMac.cpp:

(WebCore::AudioDestination::create):

  • platform/audio/mac/AudioDestinationMac.h:
  • platform/audio/mac/AudioSessionMac.cpp:

(WebCore::AudioSession::AudioSession):

12:26 PM Changeset in webkit [162367] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix build.

  • heap/BlockAllocator.h:
11:55 AM Changeset in webkit [162366] by commit-queue@webkit.org
  • 10 edits
    12 adds in trunk

Region based multicol: support explicit column breaks
https://bugs.webkit.org/show_bug.cgi?id=123993

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-01-20
Reviewed by David Hyatt.

Source/WebCore:

Merely supporting insertion of explicit (forced) column breaks in
the region based multicol implementation is really simple: just
hook up with what the CSS regions code is already doing.

However, there is one complication: column balancing. In order to
balance columns as nicely as possible when there are explicit
breaks, we need to figure out between which explicit breaks the
implicit breaks will occur (if there's room for any at all).

Tests: fast/multicol/newmulticol/break-after.html

fast/multicol/newmulticol/break-before.html
fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html
fast/multicol/newmulticol/breaks-2-columns-3.html
fast/multicol/newmulticol/breaks-3-columns-3.html
fast/multicol/newmulticol/fixed-height-fill-balance-2.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::applyBeforeBreak):
(WebCore::RenderBlockFlow::applyAfterBreak): Use the already
existing region breaking code when inserting breaks in region
based multicol.

  • rendering/RenderFlowThread.h:
  • rendering/RenderMultiColumnBlock.cpp:

(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::relayoutForPagination): Avoid
re-balancing if the multicol's contents were not laid out. Apart
from being good for performance, this is now necessary because of
how explicit breaks are implemented.
(WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
Detect if the contents are going to be laid out, or skipped, so
that we can tell if we need to (re-)balance the columns
afterwards.

  • rendering/RenderMultiColumnBlock.h:
  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
Locate the appropriate multi-column set and call its
addForcedBreak().

  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::findRunWithTallestColumns):
(WebCore::RenderMultiColumnSet::distributeImplicitBreaks): Figure
out how many implicit breaks each single "content run" should
contain. The taller the content run, the more implicit breaks.
(WebCore::RenderMultiColumnSet::calculateBalancedHeight): This is
now a const method that only does half of what the old
calculateBalancedHeight() did. The rest (such as actually storing
the new column height) is done by recalculateBalancedHeight().
(WebCore::RenderMultiColumnSet::clearForcedBreaks): Needs to be
called between each layout pass, to clear the list of "content
runs".
(WebCore::RenderMultiColumnSet::addForcedBreak): Only useful when
columns are to be balanced. It receives explicit (forced) breaks
and stores them as "content runs". When layout is done, we'll go
through the list of content runs, and see where implicit breaks
should be inserted (if there's room for any). The goal is to
insert implicit breaks in such a way that the final columns become
as short as possible.
(WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
Calculates and sets a new balanced column height. This used to be
done directly in calculateBalancedHeight(), but that method is now
const and it now only calculates the new height and returns it.
(WebCore::RenderMultiColumnSet::prepareForLayout):

  • rendering/RenderMultiColumnSet.h: Remove old data members

intended for forced breaks (they were unused), and introduce a
"content run" vector instead. A new content run is triggered by an
explicit break. This is only used when column balancing is
enabled. When not balanced, RenderMultiColumnSet doesn't need to
do anything when explicit breaks are inserted.

LayoutTests:

  • fast/multicol/newmulticol/break-after-expected.html: Added.
  • fast/multicol/newmulticol/break-after.html: Added.
  • fast/multicol/newmulticol/break-before-expected.html: Added.
  • fast/multicol/newmulticol/break-before.html: Added.
  • fast/multicol/newmulticol/breaks-2-columns-3-expected.html: Added.
  • fast/multicol/newmulticol/breaks-2-columns-3-no-balancing-expected.html: Added.
  • fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html: Added.
  • fast/multicol/newmulticol/breaks-2-columns-3.html: Added.
  • fast/multicol/newmulticol/breaks-3-columns-3-expected.html: Added.
  • fast/multicol/newmulticol/breaks-3-columns-3.html: Added.
  • fast/multicol/newmulticol/fixed-height-fill-balance-2-expected.html: Added.
  • fast/multicol/newmulticol/fixed-height-fill-balance-2.html: Added.
11:39 AM Changeset in webkit [162365] by Darin Adler
  • 3 edits in trunk/Tools

Update style checker and tests to deal with override instead of OVERRIDE
https://bugs.webkit.org/show_bug.cgi?id=127175

Reviewed by Anders Carlsson.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_braces): Use override instead of OVERRIDE.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_brace_at_begin_of_line): Ditto.

11:33 AM Changeset in webkit [162364] by Lucas Forschler
  • 5 edits in branches/safari-537.60-branch/Source

Versioning.

11:32 AM Changeset in webkit [162363] by Lucas Forschler
  • 1 copy in tags/Safari-537.60.14

New Tag.

11:31 AM Changeset in webkit [162362] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Stop using ThreadCondition in BlockAllocator
https://bugs.webkit.org/show_bug.cgi?id=126313

Reviewed by Sam Weinig.

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::~BlockAllocator):
(JSC::BlockAllocator::waitForDuration):
(JSC::BlockAllocator::blockFreeingThreadMain):

  • heap/BlockAllocator.h:

(JSC::BlockAllocator::deallocate):

11:25 AM Changeset in webkit [162361] by timothy@apple.com
  • 4 edits in trunk/Source/WebInspectorUI

Fix jumping to a text position when showing a resource.

https://bugs.webkit.org/show_bug.cgi?id=127271

Reviewed by Joseph Pecoraro.

  • UserInterface/FrameContentView.js:

(WebInspector.FrameContentView.prototype.showSourceCode): Just use showResponse's arguments
which already does the same logic to call revealPosition.

  • UserInterface/ResourceClusterContentView.js:

(WebInspector.ResourceClusterContentView.prototype.restoreFromCookie): This was the bug.
lineNumber and columnNumber need honored here. They were only honored by FrameContentView.

  • UserInterface/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Use showContentViewForRepresentedObject
which also accepts a cookie and handles creating the content view for us.

11:23 AM Changeset in webkit [162360] by eric.carlson@apple.com
  • 9 edits
    4 adds in trunk

Allow MediaSessionManager to restrict 'preload' behavior
https://bugs.webkit.org/show_bug.cgi?id=127297

Reviewed by Jer Noble.

Source/WebCore:

Tests: media/video-restricted-no-preload-auto.html

media/video-restricted-no-preload-metadata.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute): Apply restrictions to preload attribute before

passing to media engine.

(WebCore::HTMLMediaElement::loadResource): Ditto.

  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::effectivePreloadForElement): New, limit preload according to restrictions.

  • html/HTMLMediaSession.h:
  • platform/audio/MediaSessionManager.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::resetRestrictions): Limit preload to metadata only. Drive-by

static deviceClass initialization cleanup.

  • testing/Internals.cpp:

(WebCore::Internals::setMediaSessionRestrictions): Support MetadataPreloadingNotPermitted and

AutoPreloadingNotPermitted.

LayoutTests:

  • media/video-restricted-no-preload-auto-expected.txt: Added.
  • media/video-restricted-no-preload-auto.html: Added.
  • media/video-restricted-no-preload-metadata-expected.txt: Added.
  • media/video-restricted-no-preload-metadata.html: Added.
10:53 AM Changeset in webkit [162359] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Fix test expectations for css3/compositing/background-blend-mode-data-uri-svg-image.html
https://bugs.webkit.org/show_bug.cgi?id=127298

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-20
Reviewed by Mihnea Ovidenie.

  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
10:37 AM Changeset in webkit [162358] by ap@apple.com
  • 4 edits
    1 add in trunk/Tools

EWS should provide better information to Dashboard via JSON
https://bugs.webkit.org/show_bug.cgi?id=127265

Reviewed by Ryosuke Niwa.

  • QueueStatusServer/app.yaml: Updated version.
  • QueueStatusServer/main.py:
  • QueueStatusServer/handlers/queuelengthjson.py:

Added a way to cheaply get only the queue length, which is all the dashboard
needs unless a popover is opened.

  • QueueStatusServer/handlers/queuestatusjson.py: Updated to return more information

that we will need. Changed some field names to be more meaningful. Fixed bot listing
to understand that a bot can be reprurposed and used in a different queue.

10:24 AM Changeset in webkit [162357] by ap@apple.com
  • 3 edits in trunk/Tools

Make uploading results to EWS work despite robots.txt
https://bugs.webkit.org/show_bug.cgi?id=127296

Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/common/net/statusserver.py: (StatusServer.init): Disable

checking robots.txt.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py: (Bugzilla._get_browser):

Removed a comment saying that we would want to stop doing this. Not checking
robots.txt is more efficient than checking it.

9:27 AM Changeset in webkit [162356] by akling@apple.com
  • 19 edits in trunk/Source/WebCore

Let RenderImage construct its RenderImageResource.
<https://webkit.org/b/127290>

Everyone who creates a RenderImage immediately follows up with
creating a RenderImageResource and assigning it to the image.

Let the RenderImage constructor do this instead, and make the
imageResource() accessors return references. This exposed a
number of unnecessary null checks.

Also modernized the touched code with std::unique_ptr.

Reviewed by Antti Koivisto.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::createElementRenderer):
(WebCore::HTMLImageElement::didAttachRenderers):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::createElementRenderer):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::didAttachRenderers):
(WebCore::HTMLVideoElement::parseAttribute):

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::createInputRenderer):
(WebCore::ImageInputType::attach):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::renderImageResource):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::~RenderImage):
(WebCore::RenderImage::styleDidChange):
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::updateIntrinsicSizeIfNeeded):
(WebCore::RenderImage::updateInnerContentRect):
(WebCore::RenderImage::imageDimensionsChanged):
(WebCore::RenderImage::notifyFinished):
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
(WebCore::RenderImage::minimumReplacedHeight):
(WebCore::RenderImage::computeIntrinsicRatioInformation):
(WebCore::RenderImage::embeddedContentBox):

  • rendering/RenderImage.h:

(WebCore::RenderImage::imageResource):
(WebCore::RenderImage::cachedImage):

  • rendering/RenderImageResource.h:
  • rendering/RenderImageResourceStyleImage.h:
  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::RenderMedia):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):

  • rendering/RenderSnapshottedPlugIn.h:
  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::calculateIntrinsicSize):

  • rendering/style/ContentData.cpp:

(WebCore::ImageContentData::createContentRenderer):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::RenderSVGImage):
(WebCore::RenderSVGImage::~RenderSVGImage):
(WebCore::RenderSVGImage::updateImageViewport):
(WebCore::RenderSVGImage::paint):
(WebCore::RenderSVGImage::paintForeground):

  • rendering/svg/RenderSVGImage.h:
  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::didAttachRenderers):

9:25 AM Changeset in webkit [162355] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Remove an unused member variable
https://bugs.webkit.org/show_bug.cgi?id=127295

Reviewed by Antti Koivisto.

  • wtf/MainThread.cpp:

(WTF::FunctionWithContext::FunctionWithContext):
(WTF::FunctionWithContext::operator == ):
(WTF::dispatchFunctionsFromMainThread):

9:21 AM Changeset in webkit [162354] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Update overlay scrollbars in single pass
https://bugs.webkit.org/show_bug.cgi?id=127289

Reviewed by Anders Carlsson.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):

Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.

9:19 AM Changeset in webkit [162353] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Remove MutexTryLocker
https://bugs.webkit.org/show_bug.cgi?id=127294

Reviewed by Antti Koivisto.

MutexTryLocker has been replaced with std::unique_lock with std::try_to_lock everywhere now.

  • wtf/ThreadingPrimitives.h:
9:10 AM Changeset in webkit [162352] by andersca@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Convert GCThreadSharedData over to STL threading primitives
https://bugs.webkit.org/show_bug.cgi?id=127256

Reviewed by Andreas Kling.

  • heap/GCThread.cpp:

(JSC::GCThread::waitForNextPhase):
(JSC::GCThread::gcThreadMain):

  • heap/GCThreadSharedData.cpp:

(JSC::GCThreadSharedData::GCThreadSharedData):
(JSC::GCThreadSharedData::~GCThreadSharedData):
(JSC::GCThreadSharedData::startNextPhase):
(JSC::GCThreadSharedData::endCurrentPhase):
(JSC::GCThreadSharedData::didStartMarking):
(JSC::GCThreadSharedData::didFinishMarking):

  • heap/GCThreadSharedData.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::donateKnownParallel):
(JSC::SlotVisitor::drainFromShared):

9:02 AM Changeset in webkit [162351] by jochen@chromium.org
  • 2 edits in trunk/Source/WebCore

Never send a non-http(s) referrer header even with a referrer policy
https://bugs.webkit.org/show_bug.cgi?id=127172

Reviewed by Alexey Proskuryakov.

This mirrors the code SecurityPolicy::shouldHideReferrer which is used
for ReferrerPolicyDefault.

No new tests, only affects an embedder that registers other schemes,
e.g. chrome://

  • page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::generateReferrerHeader):

9:02 AM Changeset in webkit [162350] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WTF

Merge r162306 - [GLIB] GVariant floating references are not correctly handled by GRefPtr
https://bugs.webkit.org/show_bug.cgi?id=127246

Reviewed by Martin Robinson.

Source/WTF:

GRefPtr should always use g_variant_ref_sink to deal with GVariant
floating references. In case of full references,
g_variant_ref_sink calls g_variant_ref, so it's safe to use it always.

  • wtf/gobject/GRefPtr.cpp:

(WTF::refGPtr): Use g_variant_ref_sink().

8:43 AM Changeset in webkit [162349] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.2

Merge r162073 - [GTK] Web process sometimes crashes when printing in synchronous mode
https://bugs.webkit.org/show_bug.cgi?id=126979

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

When printing synchronously in GTK+ we need to make sure that we
have a list of Printers before starting the print operation. Getting
the list of printers is done synchronously by GTK+, but using a
nested main loop that might process IPC messages comming from the
UI process like EndPrinting. When the EndPrinting message is
received while the printer list is being populated, the print
operation is finished unexpectely and the web process crashes. The
PrinterListGtk class gets the list of printers in the constructor
so we just need to ensure there's an instance alive during the
synchronous print operation. In case of asynchronous printing the
printer list will be created during the print operation without
any risk, because the EndPrinting message is not sent until the
printing callback has been received in the UI process.

  • GNUmakefile.list.am: Add new files to compilation.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::print): Ensure PrinterListGtk is created
before the synchronous printing and destroyed afterwards.

  • WebProcess/WebPage/gtk/PrinterListGtk.cpp: Added.

(WebKit::PrinterListGtk::shared): Return the singleton.
(WebKit::PrinterListGtk::enumeratePrintersFunction): Callback
called by gtk_enumerate_printers() when a new printer is found.
(WebKit::PrinterListGtk::PrinterListGtk): Call
gtk_enumerate_printers() in syhchronous mode.
(WebKit::PrinterListGtk::~PrinterListGtk):
(WebKit::PrinterListGtk::addPrinter): Add the printer to the list
and set the default printer if needed.
(WebKit::PrinterListGtk::findPrinter): Find the printer for the
given name.

  • WebProcess/WebPage/gtk/PrinterListGtk.h: Added.
  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Use

PrinterListGtk class to find the printer instead of calling
gtk_enumerate_printers().

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Unskip
/webkit2/WebKitPrintOperation/close-after-print.

8:38 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
8:36 AM Changeset in webkit [162348] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Source/WebCore: [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
when having -webkit-background-blending applied. Turns out the problem was
the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw

https://bugs.webkit.org/show_bug.cgi?id=126887

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-20
Reviewed by Dirk Schulze.

Test: css3/compositing/background-blend-mode-crossfade-image.html

  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.

LayoutTests: Reapply:
[CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
when having -webkit-background-blending applied. Tests now use SVG rects, instead
of circles.

https://bugs.webkit.org/show_bug.cgi?id=126887
Patch by Mihai Tica <mitica@adobe.com> on 2014-01-20
Reviewed by Dirk Schulze.

  • css3/compositing/background-blend-mode-crossfade-image-expected.html:
  • css3/compositing/background-blend-mode-crossfade-image.html:
  • platform/efl/TestExpectations: Pass efl as blendMode is not implemented.
  • platform/mac/TestExpectations: Mark added test as ImageOnlyFailure due to slight differences between the result and the blending formula.
8:36 AM Changeset in webkit [162347] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r162188 - [GTK] Remove the weak pointer added to the web view in WebKitPrintOperation
https://bugs.webkit.org/show_bug.cgi?id=127098

Reviewed by Martin Robinson.

If the print operation finishes and the web view is still alive,
the weak pointer added to the view should be removed.

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:

(_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):

8:34 AM Changeset in webkit [162346] by svillar@igalia.com
  • 9 edits
    1 add in trunk/LayoutTests

[CSS Grid Layout] Simplify grid-columns-rows-get-set{-multiple}.html tests
https://bugs.webkit.org/show_bug.cgi?id=127055

Reviewed by Andreas Kling.

The testing code was refactored in 4 new functions that allow us
to write each test case in a single line significantly reducing
the amount of boilerplate and improving maintenance.

  • fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/grid-columns-rows-get-set.html:
  • fast/css-grid-layout/named-grid-line-get-set-expected.txt:
  • fast/css-grid-layout/named-grid-line-get-set.html:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:

(testInherit):
(testInitial):

  • fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
  • fast/css-grid-layout/resources/grid-definitions-parsing-utils.js: Added.

(testGridDefinitionsValues):
(testGridDefinitionsSetJSValues):
(testNonGridDefinitionsSetJSValues):
(checkGridDefinitionsSetJSValues): Helper function for testGridDefinitions*.
(testGridDefinitionsSetBadJSValues):

8:32 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
8:28 AM Changeset in webkit [162345] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r162057 - [GTK] UI process crashes when closing the window right after printing with javascript
https://bugs.webkit.org/show_bug.cgi?id=126981

Reviewed by Gustavo Noronha Silva.

The UI process crashes because when the page is closed, the web
view is destroyed before the print operation has actually
finished. Use a weak pointer to make sure the web view pointer is
set to NULL when the it's destroyed and emit the finished callback
always so that the user can clean up the operation even when the
web view has been closed.

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:

(drawPagesForPrintingCompleted):

8:28 AM Changeset in webkit [162344] by svillar@igalia.com
  • 3 edits
    2 adds in trunk

Null-pointer dereference in WebCore::CSSValue::isPrimitiveValue
https://bugs.webkit.org/show_bug.cgi?id=124769

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/gradients/crash-on-no-position-separator.html

The function parseFillPosition() may not return valid values for
centerX and centerY if the input data is malformed. We need to
check that we get a valid pair of positions before checking that
they're actually valid primitive values in the assertions.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseRadialGradient):

LayoutTests:

Checks that invalid position declarations (like skiping the comma
separator) do not make the engine crash.

  • fast/gradients/crash-on-no-position-separator-expected.txt: Added.
  • fast/gradients/crash-on-no-position-separator.html: Added.
8:25 AM Changeset in webkit [162343] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.2

Merge r162056 - [GTK] UI process crashes when the web process crashes while printing
https://bugs.webkit.org/show_bug.cgi?id=126977

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

When the web process crashes, the printing callback is
invalidated, so the function is called with a NULL error.

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:

(drawPagesForPrintingCompleted): Check wkError is not NULL before
trying to use it.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewPrintFrame): Set the print mode of the operation
before emitting the print signal.

Tools:

Add new test case to check that closing the window right after
printing works. It's skipped for now, because this patch only
fixes the UI process crash, but not the web process one.

  • Scripts/run-gtk-tests:

(TestRunner): Skip
/webkit2/WebKitPrintOperation/close-after-print.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:

(testPrintOperationPrintPrinter):
(findPrintToFilePrinter):
(testPrintOperationPrint):
(testPrintOperationErrors):
(testPrintOperationCloseAfterPrint):
(beforeAll):

8:20 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
8:18 AM Changeset in webkit [162342] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r162059 - [SOUP] [WK2] - Disable MemoryCache when the DOCUMENT_VIEWER cache model is set
https://bugs.webkit.org/show_bug.cgi?id=126577

Patch by Tomas Popela <tpopela@redhat.com> on 2014-01-15
Reviewed by Carlos Garcia Campos.

As in http://trac.webkit.org/changeset/152483, but this time for
WebKit2. When WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER is set we need to
disable the MemoryCache completely to prevent caching of the resources.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel):

8:15 AM Changeset in webkit [162341] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Source/WebCore: Background-blend-mode doesn't work for an element with an
SVG image as background and border-style or padding set.
The problem consisted in the drawing path using the default
blending parameter at all times.
https://bugs.webkit.org/show_bug.cgi?id=118894

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-20
Reviewed by Dirk Schulze.

Test: css3/compositing/background-blend-mode-data-uri-svg-image.html

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawPatternForContainer): Pass blendMode to Image::drawPattern.

  • svg/graphics/SVGImage.h: Add a blendMode parameter to drawPatternForContainer.
  • svg/graphics/SVGImageForContainer.cpp:

(WebCore::SVGImageForContainer::drawPattern): Pass blendMode to drawPatternForContainer call.

LayoutTests: Background-blend-mode doesn't work for an element with an
SVG image as background and border-style or padding set.
Tests now use rectangles instead of circles for SVGs.
https://bugs.webkit.org/show_bug.cgi?id=118894

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-20
Reviewed by Dirk Schulze.

  • css3/compositing/background-blend-mode-data-uri-svg-image-expected.html:
  • css3/compositing/background-blend-mode-data-uri-svg-image.html:
  • platform/efl/TestExpectations: pass tests for efl, blendMode is not implemented.
  • platform/mac/TestExpectations: marking test as ImageOnlyFailure due to slight pixel inconsistencies between the result and the formula.
8:13 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
7:42 AM Changeset in webkit [162340] by Alan Bujtas
  • 4 edits
    11 deletes in trunk

Subpixel layout: setSimpleLineLayoutEnabled() produces different layout when line position has CSS px fractions.
https://bugs.webkit.org/show_bug.cgi?id=126892

Reviewed by Antti Koivisto.

SimpleLineLayout needs to copy normal linebox layout's subpixel rounding strategy to produce
the same layout.

Source/WebCore:

Covered by existing tests.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

LayoutTests:

  • platform/mac/TestExpectations: Unskipping some SimpleLineLayout tests.
6:42 AM HackingGtk edited by Adrian Perez de Castro
Added link to GRefPtr (diff)
6:36 AM Changeset in webkit [162339] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2

Merge r161555 - [SOUP] Partial file left on disk after a download fails or is cancelled in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=126686

Reviewed by Martin Robinson.

Source/WebKit2:

We are currently writing the downloads directly into the
destination, and when a download fails or is cancelled after the
destination has been decided, the partial file is left on the
disk. Deleting the final file is not safe because there might be a
race condition, so we can use an intermediate file like other
browsers do, a file in the same directory than the target
destination but with .wkdownload suffix, that is removed when the
download fails or is cancelled. If the download finishes
successfully the intermediate file is renamed to the final
destination.

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::deleteIntermediateFileInNeeded): Delete
the intermdiate file if it's been created already.
(WebKit::DownloadClient::downloadFailed): Call deleteIntermediateFileInNeeded.
(WebKit::DownloadClient::didReceiveResponse): Do not create a
SoupMessage for the given ResourceResponse that is not used, cache
the ResourceResponse instead. Create the intermediate file and use
it instead of the final destination.
(WebKit::DownloadClient::didReceiveData): Use the cached
ResourceResponse directly.
(WebKit::DownloadClient::didFinishLoading): Rename the
intermediate file to the final destination and write the metadata
in the final target destination.
(WebKit::DownloadClient::cancel): Handle the download cancellation
here, removing the intermediate file is needed and cancelling the
ResourceHandle and the download.
(WebKit::DownloadClient::handleResponseLater):
(WebKit::Download::cancel): Let the client handle the cancellation.

Tools:

Test that partial files are not left on disk after a download has
been cancelled after the destination has been decided. To make
sure the download is cancelled after the destination has been
decided and before the operation finishes, we cancel the download
in the destination decided callback, and we use an infinite
resource that writes chunks to the response body and never
completes the body.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:

(addContentDispositionHTTPHeaderToResponse): Helper function to
add the Content-Disposition to the response headers.
(writeNextChunkIdle): Write next chunk to response body.
(writeNextChunk): Write next chunk in an idle to avoid flooding
the network with the inifnite resource.
(serverCallback): Add an inifinite resource.
(testDownloadRemoteFileError): Check that partial file is not
present after the download has been cancelled.

6:30 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
6:23 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
6:09 AM Changeset in webkit [162338] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
6:07 AM Changeset in webkit [162337] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2

Merge r161176 - [SOUP] willSendRequest doesn't work after a redirect
https://bugs.webkit.org/show_bug.cgi?id=126290

Reviewed by Martin Robinson.

Source/WebCore:

The problem is that we are creating the new soup request for the
redirect before calling ResourceHandleClient::willSendRequest() so
that any change made to the request by the client is ignored.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::doRedirect): Create the new soup request and soup
message for the redirect after calling willSendRequest() on the
client.

Source/WebKit2:

Add test cases to test send-request signal in case of
redirection.

  • UIProcess/API/gtk/tests/TestResources.cpp:

(testWebResourceSendRequest):
(serverCallback):

6:05 AM GRefPtr edited by Carlos Garcia Campos
(diff)
6:03 AM GRefPtr edited by Carlos Garcia Campos
(diff)
6:02 AM GRefPtr edited by Carlos Garcia Campos
(diff)
5:53 AM GRefPtr edited by Adrian Perez de Castro
(diff)
5:49 AM GRefPtr edited by Adrian Perez de Castro
Reword some parts, add when-to-use section (diff)
5:29 AM Changeset in webkit [162336] by Carlos Garcia Campos
  • 10 edits
    83 moves
    7 adds
    1 delete in releases/WebKitGTK/webkit-2.2

Merge r161366 - [GTK] Move all GTK/GObject unit tests to Tools/TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=126342

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2014-01-04
Reviewed by Gustavo Noronha Silva.

.:

  • GNUmakefile.am: Remove unused variable.

Source/WebKit/gtk:

  • tests/GNUmakefile.am: Removed.

Source/WebKit2:

  • UIProcess/API/gtk/tests/GNUmakefile.am: Removed.

Tools:

  • Scripts/run-gtk-tests: Update to refer to the new build locations.
  • Scripts/webkitpy/style/checker.py: Update the style checker.
  • Scripts/webkitpy/style/checker_unittest.py:
  • TestWebKitAPI/GNUmakefile.am:
  • TestWebKitAPI/Tests/WebKit2Gtk/AccessibilityTestServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/AccessibilityTestServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Added.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp: Added.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/DOMNodeTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/FrameTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/InspectorTestServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/LoadTrackingTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/LoadTrackingTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/LoadTrackingTest.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/LoadTrackingTest.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestAuthentication.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestBackForwardList.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestContextMenu.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestCookieManager.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMDOMWindow.cpp: Added.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestDOMNode.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestDownloads.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestFrame.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestInspector.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestLoaderClient.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestMain.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestMain.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestMain.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestMain.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestPrinting.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestResources.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestSSL.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestUIClient.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebExtensions.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFindController.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFindController.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitVersion.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitVersion.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebContext.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebViewEditor.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebExtensionTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestBus.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestBus.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestBus.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestBus.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestServer.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestServer.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTest.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTestRunner.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTestRunner.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTestRunner.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTestRunner.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebViewTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebViewTest.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/link-title.js: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/link-title.js.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/test-cert.pem: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/test-cert.pem.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/test-key.pem: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/test-key.pem.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/webkit2gtk-tests.gresource.xml: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml.
  • TestWebKitAPI/Tests/WebKitGtk/CMakeLists.txt: Added.
  • TestWebKitAPI/Tests/WebKitGtk/resources/blank.ico: Renamed from Source/WebKit/gtk/tests/resources/blank.ico.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.html: Renamed from Source/WebKit/gtk/tests/resources/test.html.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.ogg: Renamed from Source/WebKit/gtk/tests/resources/test.ogg.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.pdf: Renamed from Source/WebKit/gtk/tests/resources/test.pdf.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.txt: Renamed from Source/WebKit/gtk/tests/resources/test.txt.
  • TestWebKitAPI/Tests/WebKitGtk/test_utils.c: Renamed from Source/WebKit/gtk/tests/test_utils.c.
  • TestWebKitAPI/Tests/WebKitGtk/test_utils.h: Renamed from Source/WebKit/gtk/tests/test_utils.h.
  • TestWebKitAPI/Tests/WebKitGtk/testapplicationcache.c: Renamed from Source/WebKit/gtk/tests/testapplicationcache.c.
  • TestWebKitAPI/Tests/WebKitGtk/testatk.c: Renamed from Source/WebKit/gtk/tests/testatk.c.
  • TestWebKitAPI/Tests/WebKitGtk/testatkroles.c: Renamed from Source/WebKit/gtk/tests/testatkroles.c.
  • TestWebKitAPI/Tests/WebKitGtk/testcontextmenu.c: Renamed from Source/WebKit/gtk/tests/testcontextmenu.c.
  • TestWebKitAPI/Tests/WebKitGtk/testcopyandpaste.c: Renamed from Source/WebKit/gtk/tests/testcopyandpaste.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdomdocument.c: Renamed from Source/WebKit/gtk/tests/testdomdocument.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdomdomwindow.c: Renamed from Source/WebKit/gtk/tests/testdomdomwindow.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdomnode.c: Renamed from Source/WebKit/gtk/tests/testdomnode.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdownload.c: Renamed from Source/WebKit/gtk/tests/testdownload.c.
  • TestWebKitAPI/Tests/WebKitGtk/testfavicondatabase.c: Renamed from Source/WebKit/gtk/tests/testfavicondatabase.c.
  • TestWebKitAPI/Tests/WebKitGtk/testglobals.c: Renamed from Source/WebKit/gtk/tests/testglobals.c.
  • TestWebKitAPI/Tests/WebKitGtk/testhittestresult.c: Renamed from Source/WebKit/gtk/tests/testhittestresult.c.
  • TestWebKitAPI/Tests/WebKitGtk/testhttpbackend.c: Renamed from Source/WebKit/gtk/tests/testhttpbackend.c.
  • TestWebKitAPI/Tests/WebKitGtk/testkeyevents.c: Renamed from Source/WebKit/gtk/tests/testkeyevents.c.
  • TestWebKitAPI/Tests/WebKitGtk/testloading.c: Renamed from Source/WebKit/gtk/tests/testloading.c.
  • TestWebKitAPI/Tests/WebKitGtk/testmimehandling.c: Renamed from Source/WebKit/gtk/tests/testmimehandling.c.
  • TestWebKitAPI/Tests/WebKitGtk/testnetworkrequest.c: Renamed from Source/WebKit/gtk/tests/testnetworkrequest.c.
  • TestWebKitAPI/Tests/WebKitGtk/testnetworkresponse.c: Renamed from Source/WebKit/gtk/tests/testnetworkresponse.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebbackforwardlist.c: Renamed from Source/WebKit/gtk/tests/testwebbackforwardlist.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebdatasource.c: Renamed from Source/WebKit/gtk/tests/testwebdatasource.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebframe.c: Renamed from Source/WebKit/gtk/tests/testwebframe.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebhistoryitem.c: Renamed from Source/WebKit/gtk/tests/testwebhistoryitem.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebinspector.c: Renamed from Source/WebKit/gtk/tests/testwebinspector.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebplugindatabase.c: Renamed from Source/WebKit/gtk/tests/testwebplugindatabase.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebresource.c: Renamed from Source/WebKit/gtk/tests/testwebresource.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebsettings.c: Renamed from Source/WebKit/gtk/tests/testwebsettings.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebview.c: Renamed from Source/WebKit/gtk/tests/testwebview.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwindow.c: Renamed from Source/WebKit/gtk/tests/testwindow.c.
3:59 AM Changeset in webkit [162335] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2/Source

Merge r160270 - Fix API test expectation following 160220.

Rubber-stamped by Martin Robinson.

Source/WebKit/gtk:

  • tests/testatkroles.c:

(finish_loading): rename variable documentFrame -> document.
(test_webkit_atk_get_role_document_frame): check for ATK_ROLE_DOCUMENT_WEB instead of
ATK_ROLE_DOCUMENT_FRAME.
(test_webkit_atk_get_role_heading): rename variable documentFrame -> document.
(test_webkit_atk_get_role_image): ditto.
(test_webkit_atk_get_role_link): ditto.
(test_webkit_atk_get_role_list_and_item): ditto.
(test_webkit_atk_get_role_paragraph): ditto.
(test_webkit_atk_get_role_section): ditto.
(test_webkit_atk_get_role_table): ditto.
(test_webkit_atk_get_role_separator): ditto.
(test_webkit_atk_get_role_combobox): ditto.
(test_webkit_atk_get_role_form): ditto.
(test_webkit_atk_get_role_check_box): ditto.
(test_webkit_atk_get_role_entry): ditto.
(test_webkit_atk_get_role_label): ditto.
(test_webkit_atk_get_role_listbox): ditto.
(test_webkit_atk_get_role_password_text): ditto.
(test_webkit_atk_get_role_push_button): ditto.
(test_webkit_atk_get_role_radio_button): ditto.

Source/WebKit2:

  • UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:

(testAtspiBasicHierarchy): check for ATK_ROLE_DOCUMENT_WEB instead of ATK_ROLE_DOCUMENT_FRAME.

3:59 AM Changeset in webkit [162334] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Col width is not honored when dynamically updated and it would make table narrower
https://bugs.webkit.org/show_bug.cgi?id=104711

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-20
Reviewed by Antti Koivisto.

Source/WebCore:

Increasing the table width by increasing the colgroup width
was working but decreasing the table width by decreasing the
colgroup width is not working.

Test: fast/dom/HTMLTableColElement/resize-table-width-using-col-width.html

  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::styleDidChange):
When colgroup width is defined table cell should adjust according to
that. On decreasing colgroup width the cells maxPreferredLogicalWidth
was still set to the earlier value. Setting the
setPreferredLogicalWidthsDirty to true so that cells pref width is
calculated again.

LayoutTests:

  • fast/dom/HTMLTableColElement/resize-table-width-using-col-width-expected.txt: Added.
  • fast/dom/HTMLTableColElement/resize-table-width-using-col-width.html: Added.

Added new test case to verify that table cell width decreases by
decreasing the colgroup width.

3:58 AM Changeset in webkit [162333] by Carlos Garcia Campos
  • 6 edits
    3 adds in releases/WebKitGTK/webkit-2.2

Merge r160220 - [ATK] Missing aria roles mappings
https://bugs.webkit.org/show_bug.cgi?id=117729

Patch by Lukasz Gajowy <l.gajowy@samsung.com> on 2013-12-06
Reviewed by Mario Sanchez Prada.

Source/WebCore:

Added a few mappings from ARIA roles to ATK roles.

Test: accessibility/aria-mappings.html

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

Tools:

Added new mappings to AccessibilityUIElementAtk.cpp.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Added new test, checking whether ARIA roles to ATK roles mappings work properly.

  • accessibility/aria-mappings-expected.txt: Added.
  • accessibility/aria-mappings.html: Added.
  • platform/mac/accessibility/aria-mappings-expected.txt: Added.
3:43 AM Changeset in webkit [162332] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

Merge r160997 - webkit gtk 2.2.3 stable tarball compilation error
https://bugs.webkit.org/show_bug.cgi?id=125987

Reviewed by Gustavo Noronha Silva.

Only try including <gdk/gdkwayland.h> and using GDK_IS_WAYLAND_DISPLAY if the Wayland support has been
enabled and when not compiling with GTK+ 2 (which occurs when building for libPlatformGtk2).

  • platform/graphics/GLContext.cpp:

(WebCore::GLContext::createContextForWindow):

3:40 AM Changeset in webkit [162331] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.2

Merge r161138 - [GTK] Split WebKit2APITests/TestWebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=126284

Reviewed by Philippe Normand.

Source/WebKit2:

WebKitWebView test is too big already making more difficult to
handle timeouts and skipped tests. Split it in 3 by moving
UIClient and auth tests to their own files.

  • UIProcess/API/gtk/tests/GNUmakefile.am:
  • UIProcess/API/gtk/tests/TestAuthentication.cpp: Added.

(testWebViewAuthenticationRequest):
(testWebViewAuthenticationCancel):
(testWebViewAuthenticationLoadCancelled):
(testWebViewAuthenticationFailure):
(testWebViewAuthenticationNoCredential):
(testWebViewAuthenticationStorage):
(testWebViewAuthenticationSuccess):
(serverCallback):
(beforeAll):
(afterAll):

  • UIProcess/API/gtk/tests/TestUIClient.cpp: Added.

(testWebViewCreateReadyClose):
(checkMimeTypeForFilter):
(testWebViewAllowModalDialogs):
(testWebViewDisallowModalDialogs):
(testWebViewJavaScriptDialogs):
(testWebViewWindowProperties):
(testWebViewMouseTarget):
(testWebViewPermissionRequests):
(testWebViewFileChooserRequest):
(beforeAll):
(afterAll):

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(beforeAll):
(afterAll):

Tools:

Skip only WebKitWebView/mouse-target and all TestAuthentication
tests that are timing out when running under xvfb.

  • Scripts/run-gtk-tests:

(TestRunner):

3:31 AM Changeset in webkit [162330] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Tools

Merge r155605 - [GTK] run-gtk-tests option --skipped=ignore doesn't work when the entire suite is skipped
https://bugs.webkit.org/show_bug.cgi?id=121218

Reviewed by Philippe Normand.

Skipping the entire suite was added to skip tests when they can't
be run because of the environment, for example to skip the a11y
tests when the at-spi daemons fail to start. This is no longer
true for all the cases, so we can disable the tests that are
impossible to run instead of skipping them.

  • Scripts/run-gtk-tests:

(TestRunner.init): Initialize the skipped tests list.
(TestRunner._setup_testing_environment): Add
TestWebKitAccessibility path to the list of disabled tests when
at-spi daemon fail to start.
(TestRunner._should_run_test_program): Check first if the test
program is disabled and then whether it's skipped honoring the
skipped command line option.

3:18 AM GRefPtr edited by Adrian Perez de Castro
(diff)
3:14 AM Changeset in webkit [162329] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[CoordinatedGraphics] Segmentation fault at CoordinatedGraphicsScene::clearImageBackingContents

https://bugs.webkit.org/show_bug.cgi?id=125776

Patch by Edit Balint <edbalint@inf.u-szeged.hu> on 2014-01-20
Reviewed by Csaba Osztrogonác.

Unexpected behavior occurs in some test cases which leads to segmentation fault.

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::removeImageBacking):

3:09 AM Changeset in webkit [162328] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Tools

Merge r155038 - REGRESSION (r132328): /WebKit2APITests/TestWebKitAccessibility unit test is failing
https://bugs.webkit.org/show_bug.cgi?id=100408

Unreviewed gardening. Unskip TestWebKitAccessibility after
manually checking that it's running properly in the bot.

  • Scripts/run-gtk-tests:

(TestRunner): Unskipped TestWebKitAccessibility.

3:08 AM GRefPtr edited by Adrian Perez de Castro
Add page outline macro (diff)
3:07 AM Changeset in webkit [162327] by Carlos Garcia Campos
  • 7 edits
    3 adds in releases/WebKitGTK/webkit-2.2

Merge r155428 - [GTK] Test /webkit/atk/getTextInParagraphAndBodyModerate fails
https://bugs.webkit.org/show_bug.cgi?id=105538

Reviewed by Chris Fleizach.

Source/WebCore:

Expose '\n' for linebreaks when they were explicitly set by the
author of the web content with a <br> tag.

Tests: accessibility/paragraph-with-linebreaks.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::shouldAddSpaceBeforeAppendingNextElement): Helper
function to decide when to append spaces when building the text
under an element, considering line breaks.
(WebCore::AccessibilityNodeObject::textUnderElement): Use the
shouldAddSpaceBeforeAppendingNextElement() function here.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement): Return the
renderer's text for accessibility objects exposing <br> elements.

  • html/parser/HTMLParserIdioms.h:

(WebCore::isHTMLSpaceButNotLineBreak): New helper function, useful
to be passed to other functions like simplifyWhiteSpace().

Tools:

Unskip passing test getTextInParagraphAndBodyModerate.

  • Scripts/run-gtk-tests:

(TestRunner): Unskip pasing test.

LayoutTests:

Added new Layout test and platform specific expectations.

  • platform/efl/accessibility/paragraph-with-linebreaks-expected.txt: Added.
  • platform/gtk/accessibility/paragraph-with-linebreaks-expected.txt: Added.
  • accessibility/paragraph-with-linebreaks.html: Added.
3:03 AM GRefPtr created by Adrian Perez de Castro
Initial version
2:57 AM Changeset in webkit [162326] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Marked media/audio-concurrent-supported.html as flaky.
Marked js/dom/string-replacement-outofmemory.html as slow on the release configuration as well.

  • platform/gtk/TestExpectations:
2:53 AM Changeset in webkit [162325] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Tools

Merge r160987 - [GTK] run-gtk-tests should always run glib tests with -k option
https://bugs.webkit.org/show_bug.cgi?id=126132

Reviewed by Philippe Normand.

With -k command line option, gtester continues running all other
test cases after a failure.

  • Scripts/run-gtk-tests:

(TestRunner._run_test_glib): Use -k option when runing glib tests
to not stop on failure.

2:51 AM Changeset in webkit [162324] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2

Merge r158002 - [GTK] [WebKit2] CanHandleRequest API test fails
https://bugs.webkit.org/show_bug.cgi?id=88453

Patch by Anton Obzhirov <Anton Obzhirov> on 2013-10-25
Reviewed by Martin Robinson.

Source/WebKit2:

Make WebPage::platformCanHandleRequest return false by default
for unknown schemes.

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformCanHandleRequest):

Tools:

  • Scripts/run-gtk-tests:

(TestRunner):

2:37 AM Changeset in webkit [162323] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r160965 - [GTK] Test /webkit2/WebKitWebResource/mime-type fails when run after /webkit2/WebKitWebView/resources
https://bugs.webkit.org/show_bug.cgi?id=126119

Reviewed by Martin Robinson.

The problem is that when the blank.ico resource is loaded from the
disk cache, the mime type is null, because the soup cache doesn't
cache sniffed mime types. This doesn't happen when a resource is
loaded form the memory cache, because the ResourceResponse is
cached, not only the headers. I think the disk cache should also
cache the sniffed content type, but that needs to be done in
soup. For now we can workaround the issue in the unit test by
making sure that resources that can be cached, also include the
Content-Type header, this way the mime type won't be sniffed and
it will be cached as a HTTP header in the disk cache.

  • UIProcess/API/gtk/tests/TestResources.cpp:

(serverCallback): Add Content-Type header for resources that can
be cached.

2:35 AM Changeset in webkit [162322] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r160904 - [GTK] Some unit tests using web extensions fail when run alone
https://bugs.webkit.org/show_bug.cgi?id=126002

Reviewed by Gustavo Noronha Silva.

The problem is that the page is created before the dbus connection
has been established, and we are connecting to web-page-created
signal once we have a valid dbus connection. We should connect to
the signal before connecting to dbus and queue any request to emit
a dbus signal until the connection is set. This also fixes the
WebExtensions tests when using the network process because a new
web process is launched for every test case.

  • UIProcess/API/gtk/tests/WebExtensionTest.cpp:

(DelayedSignal::DelayedSignal): Helper struct to queue signal
emissions requested before the dbus connection has been
established.
(emitDocumentLoaded): Emit the dbus DocumentLoaded signal.
(documentLoadedCallback): Queue the signal emission if we still
don't have a connection or call emitDocumentLoaded otherwise.
(emitURIChanged): Emit the dbus URIChanged signal.
(uriChangedCallback): Queue the signal emission if we still don't
have a connection or call emitURIChanged otherwise.
(pageCreatedCallback): Pass the web extension as user data to
document-loaded and uri-changed callbacks.
(busAcquiredCallback): Set the connection as user data of the web
extension and process any delayed signal emission pending.
(webkit_web_extension_initialize): Connect to web-page-create
signal before connecting to dbus.

2:32 AM Changeset in webkit [162321] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r160540 - [GTK] Add a unit tests to WebKit2 to test node names
https://bugs.webkit.org/show_bug.cgi?id=125686

Reviewed by Gustavo Noronha Silva.

  • UIProcess/API/gtk/tests/DOMNodeTest.cpp:

(WebKitDOMNodeTest::testTagNames):
(WebKitDOMNodeTest::runTest):
(registerTests):

  • UIProcess/API/gtk/tests/TestDOMNode.cpp:

(testWebKitDOMNodeTagNames):
(beforeAll):

2:30 AM Changeset in webkit [162320] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r160481 - [GTK] WebProcess tests are failing with newer glib
https://bugs.webkit.org/show_bug.cgi?id=125621

Reviewed by Martin Robinson.

Newer versions of glib unset the DISPLAY env variable in
g_test_dbus_up(). The WebProcess needs the DISPLAY variable to
work, and it's important to keep its value when running the tests
under Xvfb.

  • UIProcess/API/gtk/tests/WebProcessTestRunner.cpp:

(WebProcessTestRunner::WebProcessTestRunner): Restore the DISPLAY
env variable after calling g_test_dbus_up().

2:26 AM Changeset in webkit [162319] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r160480 - [GTK] Make sure unit tests don't use GVFS and dconf
https://bugs.webkit.org/show_bug.cgi?id=125620

Reviewed by Martin Robinson.

They should use the local vfs and the gsettings memory backend.

  • UIProcess/API/gtk/tests/TestMain.cpp:

(main):

2:02 AM Changeset in webkit [162318] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/ThirdParty/ANGLE

Merge r160705 - [GTK] Some ANGLE headers missing from dist
https://bugs.webkit.org/show_bug.cgi?id=125782

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-12-17
Reviewed by Carlos Garcia Campos.

  • GNUmakefile.am: add a few headers that were missing from the build,

causing build failures when the system headers were incompatible.

1:57 AM Changeset in webkit [162317] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

Merge r160223 - Hook into some shader symbol logic following the ANGLE update in r159533.
https://bugs.webkit.org/show_bug.cgi?id=125332.

Reviewed by Brent Fulgham.

No new functionality added.

  • html/canvas/WebGLRenderingContext.cpp: Add some error checking for errors related to

shader symbols that exist across both vertex and fragment shaders.

(WebCore::WebGLRenderingContext::linkProgram):

  • platform/graphics/ANGLEWebKitBridge.cpp: Add logic for handling varyings

and add new fields to the ANGLEShaderSymbol struct.

(WebCore::getSymbolInfo):

  • platform/graphics/ANGLEWebKitBridge.h:
  • platform/graphics/GraphicsContext3D.h: Add those same fields to the SymbolInfo struct

as well so that we can access them from our shader source map.
Also add a map of varyings along side the uniforms and attributes.

(WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo):
(WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::areProgramSymbolsValid): Will be filled in later, this method

will use the shader source map to check for issues with unused varyings and precisions
mismatches of shader symbols that exist across both the vertex and fragment shaders.

1:57 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
1:53 AM Changeset in webkit [162316] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

Merge r156971 - [WebGL] program should not be able to link if a bad shader is attached
https://bugs.webkit.org/show_bug.cgi?id=94036

Reviewed by Darin Adler.

If you attempt to link a program when bad shaders are attached, the
link should fail. WebGL also requires that the previously linked
program should remain intact. We were doing the former, but not
the latter.

Fix this by not calling glLinkProgram if we know we have bad
shaders, and synthesize a bad link status instead.

Test: WebGL conformance test conformance/programs/program-test.html
(found in LayoutTests/webgl)

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::compileShader): Mark a shader as valid
if it compiled ok.
(WebCore::WebGLRenderingContext::linkProgram): Don't call into GraphicsContext3D::linkProgram
if we know that we don't have valid shaders.

  • html/canvas/WebGLShader.cpp:

(WebCore::WebGLShader::WebGLShader): Initialize m_isValid.

  • html/canvas/WebGLShader.h:

(WebCore::WebGLShader::isValid): New member variable getter and setter.
(WebCore::WebGLShader::setValid):

1:44 AM Changeset in webkit [162315] by Carlos Garcia Campos
  • 135 edits
    3 moves
    20 adds
    5 deletes in releases/WebKitGTK/webkit-2.2/Source

Merge r159533 - Update ANGLE sources.
https://bugs.webkit.org/show_bug.cgi?id=124615.

Reviewed by Dean Jackson.

Tests covered by Khronos WebGL conformance tests.

Update ANGLE to checkout a60e0805721f62c28a55faf2df74472cc5fc91fc.
Modify xcodeproj files as necessary, update plist.
Stop using DerivedSources.make and just use the generated sources that are checked into ANGLE.
Add a note to bison generated files indicating that Apple elects to distribute said files under the BSD license:
ExpressionParser.cpp, glslang_tab.cpp, glslang_tab.h.

  • ANGLE.plist:
  • ANGLE.xcodeproj/project.pbxproj:
  • DerivedSources.make: Removed.
  • platform/graphics/ANGLEWebKitBridge.cpp: Resolve a build error that resulted from updating ANGLE.

(WebCore::getSymbolInfo):
(WebCore::ANGLEWebKitBridge::compileShaderSource):

  • include/EGL/egl.h:
  • include/EGL/eglsoftlinking.h: Removed.
  • include/GLES2/gl2.h:
  • include/GLES2/gl2softlinking.h: Removed.
  • include/GLSLANG/ShaderLang.h:
  • include/KHR/khrplatform.h:
  • src/ANGLE.sln: Added.
  • src/build_angle.gypi:
  • src/common/debug.h:
  • src/common/event_tracer.cpp: Added.

(gl::TraceGetTraceCategoryEnabledFlag):
(gl::TraceAddTraceEvent):

  • src/common/event_tracer.h: Added.
  • src/common/version.h:
  • src/compiler/CodeGen.cpp: Added.

(ConstructCompiler):
(DeleteCompiler):

  • src/compiler/CodeGenGLSL.cpp: Removed.
  • src/compiler/CodeGenHLSL.cpp: Removed.
  • src/compiler/Common.h:

(NewPoolTString):

  • src/compiler/Compiler.cpp:

(TCompiler::Init):
(TCompiler::compile):
(TCompiler::InitBuiltInSymbolTable):
(TCompiler::clearResults):
(TCompiler::collectVariables):

  • src/compiler/ConstantUnion.h:
  • src/compiler/DetectDiscontinuity.cpp:
  • src/compiler/InfoSink.h:
  • src/compiler/InitializeDll.cpp:

(InitProcess):
(DetachProcess):

  • src/compiler/InitializeDll.h:
  • src/compiler/InitializeGLPosition.cpp: Added.

(InitializeGLPosition::visitAggregate):
(InitializeGLPosition::insertCode):

  • src/compiler/InitializeGLPosition.h: Added.

(InitializeGLPosition::InitializeGLPosition):
(InitializeGLPosition::visitBinary):
(InitializeGLPosition::visitUnary):
(InitializeGLPosition::visitSelection):
(InitializeGLPosition::visitLoop):
(InitializeGLPosition::visitBranch):

  • src/compiler/InitializeGlobals.h:
  • src/compiler/InitializeParseContext.cpp:

(InitializeParseContextIndex):
(FreeParseContextIndex):
(SetGlobalParseContext):
(GetGlobalParseContext):

  • src/compiler/InitializeParseContext.h:
  • src/compiler/IntermTraverse.cpp:

(TIntermSymbol::traverse):
(TIntermConstantUnion::traverse):
(TIntermBinary::traverse):
(TIntermUnary::traverse):
(TIntermAggregate::traverse):
(TIntermSelection::traverse):
(TIntermLoop::traverse):
(TIntermBranch::traverse):

  • src/compiler/Intermediate.cpp:

(GetHigherPrecision):
(getOperatorString):
(TIntermLoop::replaceChildNode):
(TIntermBranch::replaceChildNode):
(TIntermBinary::replaceChildNode):
(TIntermUnary::replaceChildNode):
(TIntermAggregate::replaceChildNode):
(TIntermSelection::replaceChildNode):
(TIntermOperator::isAssignment):
(TIntermediate::promoteConstantUnion):

  • src/compiler/MapLongVariableNames.cpp:
  • src/compiler/MapLongVariableNames.h:
  • src/compiler/NodeSearch.h: Added.

(sh::NodeSearchTraverser::NodeSearchTraverser):
(sh::NodeSearchTraverser::found):
(sh::NodeSearchTraverser::search):
(sh::FindDiscard::visitBranch):
(sh::FindSideEffectRewriting::visitBinary):

  • src/compiler/OutputGLSLBase.cpp:

(TOutputGLSLBase::visitSelection):
(TOutputGLSLBase::visitAggregate):
(TOutputGLSLBase::visitLoop):

  • src/compiler/OutputGLSLBase.h:
  • src/compiler/OutputHLSL.cpp:

(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitBranch):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::addConstructor):

  • src/compiler/OutputHLSL.h:
  • src/compiler/ParseContext.cpp: Added.

(TParseContext::parseVectorFields):
(TParseContext::parseMatrixFields):
(TParseContext::recover):
(TParseContext::error):
(TParseContext::warning):
(TParseContext::trace):
(TParseContext::assignError):
(TParseContext::unaryOpError):
(TParseContext::binaryOpError):
(TParseContext::precisionErrorCheck):
(TParseContext::lValueErrorCheck):
(TParseContext::constErrorCheck):
(TParseContext::integerErrorCheck):
(TParseContext::globalErrorCheck):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::voidErrorCheck):
(TParseContext::boolErrorCheck):
(TParseContext::samplerErrorCheck):
(TParseContext::structQualifierErrorCheck):
(TParseContext::parameterSamplerErrorCheck):
(TParseContext::containsSampler):
(TParseContext::arraySizeErrorCheck):
(TParseContext::arrayQualifierErrorCheck):
(TParseContext::arrayTypeErrorCheck):
(TParseContext::arrayErrorCheck):
(TParseContext::nonInitConstErrorCheck):
(TParseContext::nonInitErrorCheck):
(TParseContext::paramErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::supportsExtension):
(TParseContext::isExtensionEnabled):
(TParseContext::findFunction):
(TParseContext::executeInitializer):
(TParseContext::areAllChildConst):
(TParseContext::addConstructor):
(TParseContext::foldConstConstructor):
(TParseContext::constructBuiltIn):
(TParseContext::constructStruct):
(TParseContext::addConstVectorNode):
(TParseContext::addConstMatrixNode):
(TParseContext::addConstArrayNode):
(TParseContext::addConstStruct):
(TParseContext::enterStructDeclaration):
(TParseContext::exitStructDeclaration):
(TParseContext::structNestingErrorCheck):
(TParseContext::addIndexExpression):
(PaParseStrings):

  • src/compiler/ParseContext.h: Added.

(TParseContext::TParseContext):
(TParseContext::numErrors):
(TParseContext::infoSink):
(TParseContext::pragma):
(TParseContext::extensionBehavior):

  • src/compiler/ParseHelper.cpp: Removed.
  • src/compiler/ParseHelper.h: Removed.
  • src/compiler/PoolAlloc.cpp:

(InitializePoolIndex):
(FreePoolIndex):
(GetGlobalPoolAllocator):
(SetGlobalPoolAllocator):

  • src/compiler/PoolAlloc.h:

(pool_allocator::pool_allocator):

  • src/compiler/SearchSymbol.h:
  • src/compiler/ShHandle.h:

(TCompiler::getVaryings):

  • src/compiler/ShaderLang.cpp:

(checkVariableMaxLengths):
(ShInitialize):
(ShFinalize):
(ShConstructCompiler):
(ShCompile):
(ShGetInfo):
(ShGetVariableInfo):
(ShCheckVariablesWithinPackingLimits):

  • src/compiler/SymbolTable.cpp:

(TSymbolTable::~TSymbolTable):

  • src/compiler/SymbolTable.h:

(TSymbol::TSymbol):
(TSymbolTableLevel::insert):
(TSymbolTable::push):
(TSymbolTable::pop):
(TSymbolTable::findBuiltIn):
(TSymbolTable::relateToExtension):
(TSymbolTable::setDefaultPrecision):
(TSymbolTable::getDefaultPrecision):
(TSymbolTable::supportsPrecision):

  • src/compiler/Types.h:

(NewPoolTFieldList):
(TType::TType):
(TType::setNominalSize):
(TPublicType::setAggregate):

  • src/compiler/UnfoldShortCircuit.cpp:

(sh::UnfoldShortCircuit::visitBinary):
(sh::UnfoldShortCircuit::visitSelection):

  • src/compiler/UnfoldShortCircuit.h:
  • src/compiler/UnfoldShortCircuitAST.cpp: Added.

(UnfoldShortCircuitAST::visitBinary):
(UnfoldShortCircuitAST::updateTree):

  • src/compiler/UnfoldShortCircuitAST.h: Added.

(UnfoldShortCircuitAST::UnfoldShortCircuitAST):
(UnfoldShortCircuitAST::NodeUpdateEntry::NodeUpdateEntry):

  • src/compiler/Uniform.cpp:

(sh::Uniform::Uniform):

  • src/compiler/Uniform.h:
  • src/compiler/ValidateLimitations.cpp:

(ValidateLimitations::validateFunctionCall):
(ValidateLimitations::validateOperation):

  • src/compiler/VariableInfo.cpp:

(TVariableInfo::TVariableInfo):
(CollectVariables::CollectVariables):
(CollectVariables::visitSymbol):
(CollectVariables::visitAggregate):

  • src/compiler/VariableInfo.h:
  • src/compiler/debug.cpp:
  • src/compiler/depgraph/DependencyGraph.cpp:
  • src/compiler/depgraph/DependencyGraphBuilder.cpp:

(TDependencyGraphBuilder::visitBinary):

  • src/compiler/generate_parser.sh:
  • src/compiler/glslang.l:
  • src/compiler/glslang.y:
  • src/compiler/glslang_lex.cpp:

(input):
(yyerror):
(int_constant):
(float_constant):
(glslang_scan):

  • src/compiler/glslang_tab.cpp:

(yysyntax_error):
(glslang_parse):

  • src/compiler/glslang_tab.h:
  • src/compiler/intermediate.h:

(TIntermSymbol::hasSideEffects):
(TIntermSymbol::replaceChildNode):
(TIntermConstantUnion::hasSideEffects):
(TIntermConstantUnion::getIConst):
(TIntermConstantUnion::getFConst):
(TIntermConstantUnion::getBConst):
(TIntermConstantUnion::replaceChildNode):
(TIntermOperator::hasSideEffects):
(TIntermBinary::hasSideEffects):
(TIntermUnary::hasSideEffects):
(TIntermAggregate::hasSideEffects):
(TIntermSelection::hasSideEffects):
(TIntermTraverser::~TIntermTraverser):
(TIntermTraverser::incrementDepth):
(TIntermTraverser::decrementDepth):
(TIntermTraverser::getParentNode):

  • src/compiler/localintermediate.h:
  • src/compiler/parseConst.cpp:
  • src/compiler/preprocessor/ExpressionParser.cpp:

(yy_symbol_print):
(yy_stack_print):
(yy_reduce_print):
(yystrlen):
(yystpcpy):
(yytnamerr):
(yysyntax_error):
(yydestruct):
(yyparse):

  • src/compiler/preprocessor/ExpressionParser.y:
  • src/compiler/preprocessor/Preprocessor.cpp:

(pp::Preprocessor::setMaxTokenLength):
(pp::Preprocessor::lex):

  • src/compiler/preprocessor/Preprocessor.h:
  • src/compiler/preprocessor/Tokenizer.cpp:

(pp::Tokenizer::Tokenizer):
(pp::Tokenizer::lex):

  • src/compiler/preprocessor/Tokenizer.h:

(pp::Tokenizer::setMaxTokenLength):

  • src/compiler/preprocessor/Tokenizer.l:
  • src/compiler/preprocessor/generate_parser.sh:
  • src/compiler/preprocessor/preprocessor.vcxproj: Added.
  • src/compiler/preprocessor/preprocessor.vcxproj.filters: Added.
  • src/compiler/timing/RestrictFragmentShaderTiming.cpp:
  • src/compiler/translator.vcxproj: Added.
  • src/compiler/translator.vcxproj.filters: Added.
  • src/compiler/util.cpp:

(atof_clamp):
(atoi_clamp):

  • src/compiler/util.h:
  • src/libEGL/Surface.cpp:

(egl::Surface::checkForOutOfDateSwapChain):

  • src/libEGL/libEGL.cpp:
  • src/libEGL/libEGL.rc:
  • src/libEGL/libEGL.vcxproj: Added.
  • src/libEGL/libEGL.vcxproj.filters: Added.
  • src/libGLESv2/Buffer.cpp:

(gl::Buffer::bufferData):
(gl::Buffer::bufferSubData):
(gl::Buffer::size):
(gl::Buffer::getIndexRangeCache):

  • src/libGLESv2/Buffer.h:
  • src/libGLESv2/Context.cpp:

(gl::Context::applyTextures):
(gl::Context::getBoundFramebufferTextureSerials):

  • src/libGLESv2/Context.h:

(gl::Context::getRenderer):

  • src/libGLESv2/Framebuffer.h:
  • src/libGLESv2/ProgramBinary.cpp:

(gl::DiscardWorkaround):
(gl::ProgramBinary::load):
(gl::ProgramBinary::link):
(gl::ProgramBinary::linkAttributes):
(gl::AttributeSorter::AttributeSorter):
(gl::ProgramBinary::initAttributesByLayout):
(gl::ProgramBinary::sortAttributesByLayout):

  • src/libGLESv2/ProgramBinary.h:
  • src/libGLESv2/Renderbuffer.cpp:

(gl::RenderbufferTexture2D::getTextureSerial):
(gl::RenderbufferTextureCubeMap::getTextureSerial):
(gl::Renderbuffer::getTextureSerial):

  • src/libGLESv2/Renderbuffer.h:

(gl::RenderbufferStorage::getTextureSerial):

  • src/libGLESv2/Shader.cpp:

(gl::Shader::parseVaryings):
(gl::Shader::uncompile):

  • src/libGLESv2/Shader.h:
  • src/libGLESv2/Texture.cpp:

(gl::TextureCubeMap::storage):

  • src/libGLESv2/Uniform.cpp:

(gl::Uniform::Uniform):
(gl::Uniform::~Uniform):
(gl::Uniform::isArray):
(gl::Uniform::elementCount):

  • src/libGLESv2/Uniform.h:
  • src/libGLESv2/constants.h: Removed.
  • src/libGLESv2/libGLESv2.def:
  • src/libGLESv2/libGLESv2.rc:
  • src/libGLESv2/libGLESv2.vcxproj: Added.
  • src/libGLESv2/libGLESv2.vcxproj.filters: Added.
  • src/libGLESv2/precompiled.h:
  • src/libGLESv2/renderer/Image11.cpp:

(rx::Image11::generateMipmap):
(rx::Image11::loadData):
(rx::Image11::loadCompressedData):
(rx::Image11::copy):
(rx::Image11::createStagingTexture):
(rx::Image11::map):

  • src/libGLESv2/renderer/Image11.h:
  • src/libGLESv2/renderer/IndexBuffer.cpp:

(rx::IndexBufferInterface::mapBuffer):
(rx::StaticIndexBufferInterface::getIndexRangeCache):

  • src/libGLESv2/renderer/IndexBuffer.h:
  • src/libGLESv2/renderer/IndexBuffer11.cpp:

(rx::IndexBuffer11::mapBuffer):

  • src/libGLESv2/renderer/IndexDataManager.cpp:

(rx::IndexDataManager::prepareIndexData):
(rx::IndexDataManager::getCountingIndices):

  • src/libGLESv2/renderer/IndexRangeCache.cpp: Added.

(rx::IndexRangeCache::addRange):
(rx::IndexRangeCache::invalidateRange):
(rx::IndexRangeCache::findRange):
(rx::IndexRangeCache::clear):
(rx::IndexRangeCache::IndexRange::IndexRange):
(rx::IndexRangeCache::IndexRange::operator<):
(rx::IndexRangeCache::IndexBounds::IndexBounds):

  • src/libGLESv2/renderer/IndexRangeCache.h: Added.
  • src/libGLESv2/renderer/InputLayoutCache.cpp:

(rx::InputLayoutCache::InputLayoutCache):
(rx::InputLayoutCache::clear):
(rx::InputLayoutCache::markDirty):
(rx::InputLayoutCache::applyVertexBuffers):
(rx::InputLayoutCache::hashInputLayout):
(rx::InputLayoutCache::compareInputLayouts):

  • src/libGLESv2/renderer/InputLayoutCache.h:

(rx::InputLayoutCache::InputLayoutKey::begin):
(rx::InputLayoutCache::InputLayoutKey::end):

  • src/libGLESv2/renderer/RenderTarget11.cpp:

(rx::RenderTarget11::getTexture):
(rx::RenderTarget11::getRenderTargetView):
(rx::RenderTarget11::getDepthStencilView):
(rx::RenderTarget11::getShaderResourceView):

  • src/libGLESv2/renderer/RenderTarget11.h:
  • src/libGLESv2/renderer/Renderer.cpp:

(rx::Renderer::initializeCompiler):

  • src/libGLESv2/renderer/Renderer.h:
  • src/libGLESv2/renderer/Renderer11.cpp:

(rx::Renderer11::initialize):
(rx::Renderer11::applyPrimitiveType):
(rx::Renderer11::applyRenderTarget):
(rx::Renderer11::drawLineLoop):
(rx::Renderer11::drawTriangleFan):
(rx::Renderer11::applyUniforms):
(rx::Renderer11::clear):
(rx::Renderer11::markAllStateDirty):
(rx::Renderer11::copyImage):
(rx::Renderer11::compileToExecutable):
(rx::Renderer11::getRenderTargetResource):
(rx::Renderer11::blitRenderbufferRect):

  • src/libGLESv2/renderer/Renderer11.h:
  • src/libGLESv2/renderer/Renderer9.cpp:

(rx::Renderer9::initialize):
(rx::Renderer9::setViewport):
(rx::Renderer9::drawLineLoop):
(rx::Renderer9::compileToExecutable):

  • src/libGLESv2/renderer/Renderer9.h:
  • src/libGLESv2/renderer/SwapChain.h:
  • src/libGLESv2/renderer/SwapChain11.cpp:

(rx::SwapChain11::resetOffscreenTexture):
(rx::SwapChain11::reset):
(rx::SwapChain11::swapRect):

  • src/libGLESv2/renderer/SwapChain9.cpp:

(rx::convertInterval):

  • src/libGLESv2/renderer/TextureStorage11.cpp:

(rx::TextureStorage11::IsTextureFormatRenderable):
(rx::TextureStorage11::generateMipmapLayer):
(rx::TextureStorage11_Cube::getRenderTarget):

  • src/libGLESv2/renderer/VertexBuffer.cpp:

(rx::VertexBufferInterface::storeVertexAttributes):
(rx::VertexBufferInterface::storeRawData):
(rx::VertexBufferInterface::reserveVertexSpace):
(rx::StaticVertexBufferInterface::lookupAttribute):
(rx::StaticVertexBufferInterface::storeVertexAttributes):

  • src/libGLESv2/renderer/VertexBuffer.h:
  • src/libGLESv2/renderer/VertexBuffer11.cpp:

(rx::VertexBuffer11::getSpaceRequired):

  • src/libGLESv2/renderer/VertexBuffer11.h:
  • src/libGLESv2/renderer/VertexBuffer9.cpp:

(rx::VertexBuffer9::storeVertexAttributes):
(rx::VertexBuffer9::getSpaceRequired):
(rx::VertexBuffer9::requiresConversion):
(rx::VertexBuffer9::getVertexSize):
(rx::VertexBuffer9::spaceRequired):

  • src/libGLESv2/renderer/VertexBuffer9.h:
  • src/libGLESv2/renderer/VertexDataManager.cpp:

(rx::elementsInBuffer):
(rx::StreamingBufferElementCount):
(rx::VertexDataManager::prepareVertexData):

  • src/libGLESv2/renderer/VertexDataManager.h:
  • src/libGLESv2/renderer/renderer11_utils.cpp:

(gl_d3d11::ConvertTextureFormat):

  • src/libGLESv2/renderer/shaders/compiled/clear11vs.h:
  • src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/componentmaskps.h:
  • src/libGLESv2/renderer/shaders/compiled/flipyvs.h:
  • src/libGLESv2/renderer/shaders/compiled/luminanceps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/standardvs.h:
  • src/libGLESv2/renderer/shaders/generate_shaders.bat:
  • src/libGLESv2/utilities.cpp:

(gl::ComputeTypeSize):

  • src/libGLESv2/utilities.h:
  • src/third_party/murmurhash/MurmurHash3.cpp:

(rotl32):
(rotl64):
(getblock):
(fmix):
(MurmurHash3_x86_32):
(MurmurHash3_x86_128):
(MurmurHash3_x64_128):

  • src/third_party/murmurhash/MurmurHash3.h:
  • src/third_party/trace_event: Added.
  • src/third_party/trace_event/trace_event.h: Added.

(gl::TraceEvent::TraceID::TraceID):
(gl::TraceEvent::TraceID::data):
(gl::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
(gl::TraceEvent::TraceStringWithCopy::operator const char* ):
(gl::TraceEvent::setTraceValue):
(gl::TraceEvent::addTraceEvent):
(gl::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
(gl::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
(gl::TraceEvent::TraceEndOnScopeClose::initialize):
(gl::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
(gl::TraceEvent::SamplingStateScope::SamplingStateScope):
(gl::TraceEvent::SamplingStateScope::~SamplingStateScope):
(gl::TraceEvent::SamplingStateScope::current):
(gl::TraceEvent::SamplingStateScope::set):

1:12 AM Changeset in webkit [162314] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/ThirdParty/ANGLE

Merge r158807 - kTraceBufferLen is unused in default builds
https://bugs.webkit.org/show_bug.cgi?id=123941
<rdar://problem/15409804>

Reviewed by Tim Horton.

kTraceBufferLen is not used in debug.cpp if TRACE_ENABLED is
not defined. This causes a warning in newer builds of clang.
For now, skip warnings on unused variables until we
update from ANGLE.

  • src/compiler/debug.cpp: Add unused-variable ignore pragma.
1:02 AM Changeset in webkit [162313] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

Merge r160269 - ubuntu software center hits _XReadEvents() error
https://bugs.webkit.org/show_bug.cgi?id=123480

Reviewed by Martin Robinson.

  • platform/gtk/WidgetBackingStoreGtkX11.cpp:

(WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11): clear the surface
before freeing the associated pixmap.

12:58 AM Changeset in webkit [162312] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Region based multicol: tall line causes taller multicol container than necessary
https://bugs.webkit.org/show_bug.cgi?id=122550

Source/WebCore:

Detect and report all column breaks, also when there's no pagination strut involved.

This may end up becoming the overall smallest space shortage in some cases,
so we need to report it, to avoid column height over-stretching.

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-01-20
Reviewed by David Hyatt.

Test: fast/multicol/newmulticol/balance10.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustLinePositionForPagination):

LayoutTests:

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-01-20
Reviewed by David Hyatt.

  • fast/multicol/newmulticol/balance10-expected.txt: Added.
  • fast/multicol/newmulticol/balance10.html: Added.
12:57 AM Changeset in webkit [162311] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2

Merge r160215 - [GTK] Enable web audio by default
https://bugs.webkit.org/show_bug.cgi?id=124888

Reviewed by Martin Robinson.

When building with ./configure, enable_web_audio defaults to
"no". However the basic functionality has been working for months
so it's safe to enable it now.

  • Source/autotools/ReadCommandLineArguments.m4:
12:57 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
12:52 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
12:49 AM Changeset in webkit [162310] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Tools

Merge r158866 - [Gtk] Disable LTO when building cairo
https://bugs.webkit.org/show_bug.cgi?id=123954

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-07
Reviewed by Martin Robinson.

Cairo always uses LTO, when it detects compiler support.
LTO is buggy in many/all versions of GCC and shouldn't be enabled by
default. This patch disables LTO when building cairo library.

With gcc 4.7.3, for example, the build fails with the following message:
'lto1: fatal error: LTO_tags out of range: Range is 0 to 361, value is 15872'

  • gtk/jhbuild.modules:
12:46 AM Changeset in webkit [162309] by Carlos Garcia Campos
  • 3 edits
    1 move
    1 add in releases/WebKitGTK/webkit-2.2

Merge r154736 - Http tests fails on Debian with Apache 2.4
https://bugs.webkit.org/show_bug.cgi?id=120352

Reviewed by Andreas Kling.

Tools:

Select httpd.conf file for debian based on version, matching Fedora behavior.

  • Scripts/webkitpy/port/base.py:

(Port._apache_config_file_name_for_platform):

LayoutTests:

Added an apache 2.4 configuration file adapted from Fedora's,
and renamed the 2.2 file to have consistent naming.

  • http/conf/debian-httpd-2.2.conf: Renamed from LayoutTests/http/conf/apache2-debian-httpd.conf.
  • http/conf/debian-httpd-2.4.conf: Added.
12:43 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
12:40 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
12:38 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
12:37 AM Changeset in webkit [162308] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

Merge r160354 - [GTK] REGRESSION: www.yahoo.com redirects to the mobile version after UA change
https://bugs.webkit.org/show_bug.cgi?id=125444

Reviewed by Martin Robinson.

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::platformVersionForUAString): more correctly pretend we're Mac OS X.
(WebCore::standardUserAgent): ditto.

12:35 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
12:28 AM Changeset in webkit [162307] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed. Additional build fixes after r162276 and r163304.

  • Platform/WorkQueue.h:
  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::EventSource::EventSource):
(WorkQueue::dispatchOnSource):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):

12:01 AM Changeset in webkit [162306] by Carlos Garcia Campos
  • 4 edits in trunk/Source

[GLIB] GVariant floating references are not correctly handled by GRefPtr
https://bugs.webkit.org/show_bug.cgi?id=127246

Reviewed by Martin Robinson.

Source/WebCore:

Do not adopt GVariant floating references, they will be converted
to a full reference by GRefPtr.

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::fillSelectionData):
(WebCore::PasteboardHelper::fillDataObjectFromDropData):

Source/WTF:

GRefPtr should always use g_variant_ref_sink to deal with GVariant
floating references. In case of full references,
g_variant_ref_sink calls g_variant_ref, so it's safe to use it always.

  • wtf/gobject/GRefPtr.cpp:

(WTF::refGPtr): Use g_variant_ref_sink().

Jan 19, 2014:

11:25 PM Changeset in webkit [162305] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Use unsigned type for the size of CSSParserValueList
https://bugs.webkit.org/show_bug.cgi?id=127211

Reviewed by Andreas Kling.

  • css/CSSParser.cpp: Changed variable type from int to unsigned.

(WebCore::CSSParser::parseValue):

11:03 PM Changeset in webkit [162304] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r162276.

Updating the WorkQueue implementation to use std::function and std::chrono.

  • Platform/WorkQueue.h:
  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::dispatchOnSource):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):

10:44 PM Changeset in webkit [162303] by ryuan.choi@samsung.com
  • 8 edits in trunk

[EFL][WK1] Remove and refactor the APIs which use single and base keyword
https://bugs.webkit.org/show_bug.cgi?id=127214

Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

Since removed ewk_vie_tiled, we don't need to use single or base in the API name.
Removed them and clean up the code.

  • ewk/ewk_view.cpp:

(ewk_view_smart_set):
(_ewk_view_smart_class_new):
(ewk_view_add):

  • ewk/ewk_view.h:
  • ewk/ewk_view_private.h:

Removed the class names and macro to distinguish single or tiled.

  • tests/UnitTestUtils/EWKTestView.cpp:

(EWKUnitTests::EWKTestView::init):

Tools:

Followed the changes of API.

  • DumpRenderTree/efl/DumpRenderTreeView.cpp:

(drtViewAdd):

  • EWebLauncher/main.c:

(windowCreate):

10:34 PM Changeset in webkit [162302] by eunmi15.lee@samsung.com
  • 2 edits in trunk/Tools

[EFL][WK2] Add touch events option to MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=127262

Reviewed by Gyuyoung Kim.

As a default, touch events are disabled and mouse events are enabled.
If touch events option sets to true, touch events are enabled and mouse
events are disabled.

  • MiniBrowser/efl/main.c:

(window_create):
(elm_main):

8:42 PM Changeset in webkit [162301] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed debug build fix on EFL port after r162300.

  • Platform/efl/DispatchQueueWorkItemEfl.h:

(TimerWorkItem::create):

8:13 PM Changeset in webkit [162300] by jinwoo7.song@samsung.com
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] build fix after r162276
https://bugs.webkit.org/show_bug.cgi?id=127259

Reviewed by Anders Carlsson.

  • Platform/efl/DispatchQueueEfl.cpp:

(DispatchQueue::performTimerWork):
(DispatchQueue::getNextTimeOut):

  • Platform/efl/DispatchQueueWorkItemEfl.h:

(WorkItem::create):
(WorkItem::WorkItem):
(TimerWorkItem::create):
(TimerWorkItem::TimerWorkItem):

  • Platform/efl/WorkQueueEfl.cpp:

(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):

5:26 PM Changeset in webkit [162299] by fpizlo@apple.com
  • 6 edits
    2 adds in branches/jsCStack/Source/JavaScriptCore

FTL should ascribe range meta-data when loading array.length
https://bugs.webkit.org/show_bug.cgi?id=126543

Not yet reviewed.

The main thing this accomplishes is we now have Output::load32NonNegative() which is
a 32-bit integer load that promises that the value is not negative. We then use that
for all length loads.

But underneath that, we have the notion of ValueRange, which is a simplified
encapsulation of LLVM "range" metadata.

I considered making the range meta-data part of AbstractHeap. It would make sense
there. But considering that we just use this for basically one thing (the length), it
feels like conflating this with the AbstractHeap would result in some
overengineering. We should revisit this if we ever have other ranges.

(JSC::FTL::CommonValues::CommonValues):

  • ftl/FTLCommonValues.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::typedArrayLength):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::contiguousPutByValOutOfBounds):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::ascribeRange):
(JSC::FTL::Output::nonNegative32):
(JSC::FTL::Output::load32NonNegative):

  • ftl/FTLValueRange.cpp: Added.

(JSC::FTL::ValueRange::decorateInstruction):

  • ftl/FTLValueRange.h: Added.

(JSC::FTL::ValueRange::ValueRange):
(JSC::FTL::ValueRange::begin):
(JSC::FTL::ValueRange::end):

5:18 PM Changeset in webkit [162298] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r162293

Fix debug build.

[ 13%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o
/source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp: In member function ‘void WebCore::HTMLTreeBuilder::processStartTagForInTable(WebCore::AtomicHTMLToken*)’:
/source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: error: no match for ‘operator!’ in ‘!(WebCore::HTMLTreeBuilder::InsertionMode)12’
/source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: candidate is:
/source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: operator!(bool) <built-in>
/source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: no known conversion for argument 1 from ‘WebCore::HTMLTreeBuilder::InsertionMode’ to ‘bool’
make[2]: * [Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o] Error 1
make[1]:
* [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
make: * [all] Error 2

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInTable): Fix ASSERT.

4:07 PM Changeset in webkit [162297] by Alan Bujtas
  • 3 edits in trunk/Tools

Pretty print LayoutUnit, LayoutPoint, and LayoutSize in lldb and gdb.
https://bugs.webkit.org/show_bug.cgi?id=126080

Reviewed by Sam Weinig.

This changes the output of printing LayoutUnits to be in px but it also
preserves the original LayoutUnit value.

This will lead to lldb output like: (and it works even when subpixel is disabled)

(const WebCore::LayoutRect) $0 = {

m_location = { x = 2.25px (144), y = 1px (64)}
m_size = { width = 13.75px (880), height = 20px (1280) }

And gdb output like:

m_frameRect = {

m_location = LayoutPoint(0px (0), 0px(0)),
m_size = LayoutSize(8px (512), 5px (320))

}

This patch is based on patch by Bem Jones-Bey and for Blink by cbiesinger@chromium.org.

  • gdb/webkit.py:

(WebCoreLayoutUnitPrinter):
(WebCoreLayoutUnitPrinter.init):
(WebCoreLayoutUnitPrinter.to_string):
(WebCoreLayoutSizePrinter):
(WebCoreLayoutSizePrinter.init):
(WebCoreLayoutSizePrinter.to_string):
(WebCoreLayoutPointPrinter):
(WebCoreLayoutPointPrinter.init):
(WebCoreLayoutPointPrinter.to_string):
(add_pretty_printers):

  • lldb/lldb_webkit.py:

(lldb_init_module):
(WebCoreLayoutUnit_SummaryProvider):
(WebCoreLayoutSize_SummaryProvider):
(WebCoreLayoutPoint_SummaryProvider):
(WebCoreLayoutUnitProvider):
(WebCoreLayoutUnitProvider.
init):
(WebCoreLayoutUnitProvider.to_string):
(WebCoreLayoutSizeProvider):
(WebCoreLayoutSizeProvider.
init):
(WebCoreLayoutSizeProvider.get_width):
(WebCoreLayoutSizeProvider.get_height):
(WebCoreLayoutPointProvider):
(WebCoreLayoutPointProvider.
init):
(WebCoreLayoutPointProvider.get_x):
(WebCoreLayoutPointProvider.get_y):

12:37 PM Changeset in webkit [162296] by andersca@apple.com
  • 17 edits in trunk/Source/WebCore

Stop using MutexTryLocker in WebCore
https://bugs.webkit.org/show_bug.cgi?id=127254

Reviewed by Andreas Kling.

Instead use std::mutex and std::unique_lock with the std::try_to_lock constructor.

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::process):
(WebCore::AudioBufferSourceNode::setBuffer):

  • Modules/webaudio/AudioBufferSourceNode.h:
  • Modules/webaudio/AudioParamTimeline.cpp:

(WebCore::AudioParamTimeline::insertEvent):
(WebCore::AudioParamTimeline::cancelScheduledValues):
(WebCore::AudioParamTimeline::valueForContextTime):
(WebCore::AudioParamTimeline::valuesForTimeRange):
(WebCore::AudioParamTimeline::valuesForTimeRangeImpl):

  • Modules/webaudio/AudioParamTimeline.h:
  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::process):
(WebCore::ConvolverNode::reset):
(WebCore::ConvolverNode::setBuffer):

  • Modules/webaudio/ConvolverNode.h:
  • Modules/webaudio/MediaElementAudioSourceNode.cpp:

(WebCore::MediaElementAudioSourceNode::setFormat):
(WebCore::MediaElementAudioSourceNode::process):
(WebCore::MediaElementAudioSourceNode::lock):
(WebCore::MediaElementAudioSourceNode::unlock):

  • Modules/webaudio/MediaElementAudioSourceNode.h:
  • Modules/webaudio/MediaStreamAudioSourceNode.cpp:

(WebCore::MediaStreamAudioSourceNode::setFormat):
(WebCore::MediaStreamAudioSourceNode::process):

  • Modules/webaudio/MediaStreamAudioSourceNode.h:
  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::process):
(WebCore::OscillatorNode::setPeriodicWave):

  • Modules/webaudio/OscillatorNode.h:
  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::process):
(WebCore::PannerNode::setPanningModel):

  • Modules/webaudio/PannerNode.h:
  • Modules/webaudio/WaveShaperProcessor.cpp:

(WebCore::WaveShaperProcessor::setCurve):
(WebCore::WaveShaperProcessor::setOversample):
(WebCore::WaveShaperProcessor::process):

  • Modules/webaudio/WaveShaperProcessor.h:
11:13 AM Changeset in webkit [162295] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore

Does not build with SVG disabled
https://bugs.webkit.org/show_bug.cgi?id=127248

Reviewed by Sam Weinig.

Add missing #if ENABLE(SVG) guard.

  • dom/ElementData.h:
11:00 AM Changeset in webkit [162294] by Alan Bujtas
  • 3 edits in trunk/LayoutTests

Unreviewed Apple Windows port gardering.

A few more missing newlines.

  • platform/win/svg/batik/masking/maskRegions-expected.txt:
  • platform/win/svg/batik/text/textPosition-expected.txt:
11:00 AM Changeset in webkit [162293] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Use a strong enum for HTMLTreeBuilder::InsertionMode
https://bugs.webkit.org/show_bug.cgi?id=127252

Reviewed by Antti Koivisto.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::constructTree):
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processTemplateStartTag):
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
(WebCore::HTMLTreeBuilder::closeTheCell):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
(WebCore::HTMLTreeBuilder::processEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
(WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::defaultForInitial):
(WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):

  • html/parser/HTMLTreeBuilder.h:
10:42 AM Changeset in webkit [162292] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Convert LoaderRunLoopCF.cpp and WebCoreThreadRun.cpp over to modern threading primitives
https://bugs.webkit.org/show_bug.cgi?id=127251

Reviewed by Antti Koivisto.

Also add a condition to the loaderRunLoop() function to protect against spurious wake-ups.

  • platform/ios/wak/WebCoreThreadRun.cpp:
  • platform/network/cf/LoaderRunLoopCF.cpp:

(WebCore::loaderRunLoopMutex):
(WebCore::loaderRunLoopConditionVariable):
(WebCore::runLoaderThread):
(WebCore::loaderRunLoop):

10:20 AM Changeset in webkit [162291] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Modernize ReverbConvolver
https://bugs.webkit.org/show_bug.cgi?id=127250

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr and the STL threading primitives instead of the WTF ones.

  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::ReverbConvolver):
(WebCore::ReverbConvolver::~ReverbConvolver):
(WebCore::ReverbConvolver::backgroundThreadEntry):
(WebCore::ReverbConvolver::process):

  • platform/audio/ReverbConvolver.h:

Jan 18, 2014:

10:53 PM Changeset in webkit [162290] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Rename GestureEventIOS.{cpp,h} to GestureEvent.{cpp,h} to fix the build

InFilesCompiler.pm assumes that <interface name>.h exists for each
interface it processes. We renamed GestureEvent.h to GestureEventIOS.h
but kept the interface named GestureEvent, so a non-existant file was
being referenced by InFilesCompiler.pm (this was hard to detect since
GestureEvent.h still existed in the SDK due to not having submitted
WebKitAdditions recently).

Since we cannot rename the GestureEvent interface, and since there is
no conflicting GestureEvent in open source, we can just rename
GestureEventIOS.{cpp,h} back to GestureEvent.{cpp,h}.

  • dom/ios/TouchEvents.cpp: Updated to include GestureEvent.cpp.
10:47 PM Changeset in webkit [162289] by ap@apple.com
  • 2 edits in trunk/Tools

Add robots.txt to http://webkit-queues.appspot.com
https://bugs.webkit.org/show_bug.cgi?id=127240

  • QueueStatusServer/app.yaml: Added required "upload" attribute for robots.txt.
10:43 PM Changeset in webkit [162288] by ap@apple.com
  • 2 edits
    1 add in trunk/Tools

Add robots.txt to http://webkit-queues.appspot.com
https://bugs.webkit.org/show_bug.cgi?id=127240

Reviewed by Ryosuke Niwa.

  • QueueStatusServer/app.yaml: Added robots.txt as a static file. Updated version.
  • QueueStatusServer/robots.txt: Added.
10:39 PM Changeset in webkit [162287] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Memory leak in JSSubtleCrypto::wrapKey
https://bugs.webkit.org/show_bug.cgi?id=127241

Reviewed by Sam Weinig.

  • bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):

Delete algorithmPtr and parametersPtr that aren't smart pointers because of lambdas.

9:16 PM Changeset in webkit [162286] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS Production build.

  • Configurations/WebCore.xcconfig:
6:32 PM Changeset in webkit [162285] by Alan Bujtas
  • 48 edits in trunk/LayoutTests

Unreviewed Apple Windows port gardering.

Add missing newlines.

  • platform/win/css1/box_properties/margin_right-expected.txt:
  • platform/win/css1/box_properties/padding-expected.txt:
  • platform/win/css1/box_properties/padding_left-expected.txt:
  • platform/win/css1/box_properties/padding_right-expected.txt:
  • platform/win/css1/box_properties/padding_top-expected.txt:
  • platform/win/css1/font_properties/font-expected.txt:
  • platform/win/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/win/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
  • platform/win/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
  • platform/win/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
  • platform/win/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
  • platform/win/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/win/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
  • platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
  • platform/win/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
  • platform/win/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
  • platform/win/fast/borders/bidi-012-expected.txt:
  • platform/win/fast/css/empty-pseudo-class-expected.txt:
  • platform/win/fast/css/fieldset-display-row-expected.txt:
  • platform/win/fast/css/first-child-pseudo-class-expected.txt:
  • platform/win/fast/css/last-child-pseudo-class-expected.txt:
  • platform/win/fast/css/only-child-pseudo-class-expected.txt:
  • platform/win/fast/forms/file/file-input-disabled-expected.txt:
  • platform/win/fast/inline/inline-box-background-expected.txt:
  • platform/win/fast/inline/inline-box-background-long-image-expected.txt:
  • platform/win/fast/inline/inline-box-background-repeat-x-expected.txt:
  • platform/win/fast/inline/inline-box-background-repeat-y-expected.txt:
  • platform/win/fast/lists/003-vertical-expected.txt:
  • platform/win/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/win/fast/multicol/vertical-rl/nested-columns-expected.txt:
  • platform/win/scrollbars/custom-scrollbar-with-incomplete-style-expected.txt:
  • platform/win/svg/batik/filters/feTile-expected.txt:
  • platform/win/svg/batik/masking/maskRegions-expected.txt:
  • platform/win/svg/batik/paints/gradientLimit-expected.txt:
  • platform/win/svg/batik/text/textDecoration-expected.txt:
  • platform/win/svg/batik/text/textEffect-expected.txt:
  • platform/win/svg/batik/text/textLength-expected.txt:
  • platform/win/svg/batik/text/textPosition-expected.txt:
  • platform/win/svg/batik/text/verticalText-expected.txt:
  • platform/win/transforms/2d/hindi-rotated-expected.txt:
5:11 PM Changeset in webkit [162284] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CodeBlock: Size m_callLinkInfos and m_byValInfos to fit earlier.
<https://webkit.org/b/127239>

Reviewed by Anders Carlsson.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::setNumberOfByValInfos):
(JSC::CodeBlock::setNumberOfCallLinkInfos):

Use resizeToFit() instead of grow() for these vectors, since
we know the final size here.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::shrinkToFit):

No need to shrink here anymore. We were not even shrinking
m_byValInfo before!

3:59 PM Changeset in webkit [162283] by berto@igalia.com
  • 2 edits in trunk/Tools

Tools/Scripts/test-webkitperl fails: 'tempdir' can't be called as a method
https://bugs.webkit.org/show_bug.cgi?id=127217

Reviewed by Daniel Bates.

The syntax File::Temp->tempdir() was explicitly made invalid
following <https://github.com/Perl-Toolchain-Gang/File-Temp/commit/c8920b2161ab6900a09e02b9410e0e4c3d74f565>
which was included in File::Temp v2.30, shipped with Perl v5.18.0.

Use File::Temp::tempdir() instead.

  • Scripts/webkitperl/VCSUtils_unittest/parseDiffWithMockFiles.pl:
3:55 PM Changeset in webkit [162282] by Alan Bujtas
  • 27 edits
    26 adds in trunk/LayoutTests

Unreviewed Apple Windows port gardering.

Rebaseline subpixel layout results.

  • platform/win/TestExpectations:
  • platform/win/css1/box_properties/margin_right-expected.txt: Added.
  • platform/win/css1/box_properties/padding-expected.txt: Added.
  • platform/win/css1/box_properties/padding_left-expected.txt: Added.
  • platform/win/css1/box_properties/padding_right-expected.txt: Added.
  • platform/win/css1/box_properties/padding_top-expected.txt: Added.
  • platform/win/css1/font_properties/font-expected.txt:
  • platform/win/css1/formatting_model/vertical_formatting-expected.txt: Added.
  • platform/win/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt: Added.
  • platform/win/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt: Added.
  • platform/win/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt: Added.
  • platform/win/css2.1/t0804-c5510-padn-00-b-ag-expected.txt: Added.
  • platform/win/css2.1/t0905-c414-flt-wrap-00-e-expected.txt: Added.
  • platform/win/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
  • platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
  • platform/win/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
  • platform/win/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
  • platform/win/fast/borders/bidi-012-expected.txt:
  • platform/win/fast/css/empty-pseudo-class-expected.txt: Added.
  • platform/win/fast/css/fieldset-display-row-expected.txt: Added.
  • platform/win/fast/css/first-child-pseudo-class-expected.txt: Added.
  • platform/win/fast/css/last-child-pseudo-class-expected.txt: Added.
  • platform/win/fast/css/only-child-pseudo-class-expected.txt: Added.
  • platform/win/fast/forms/file/file-input-disabled-expected.txt:
  • platform/win/fast/forms/range/slider-mouse-events-expected.txt:
  • platform/win/fast/inline/inline-box-background-expected.txt:
  • platform/win/fast/inline/inline-box-background-long-image-expected.txt:
  • platform/win/fast/inline/inline-box-background-repeat-x-expected.txt:
  • platform/win/fast/inline/inline-box-background-repeat-y-expected.txt:
  • platform/win/fast/lists/003-vertical-expected.txt:
  • platform/win/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/win/fast/multicol/vertical-rl/nested-columns-expected.txt:
  • platform/win/scrollbars/custom-scrollbar-with-incomplete-style-expected.txt:
  • platform/win/svg/batik/filters/feTile-expected.txt: Added.
  • platform/win/svg/batik/masking/maskRegions-expected.txt: Added.
  • platform/win/svg/batik/paints/gradientLimit-expected.txt:
  • platform/win/svg/batik/text/textDecoration-expected.txt: Added.
  • platform/win/svg/batik/text/textEffect-expected.txt: Added.
  • platform/win/svg/batik/text/textLength-expected.txt: Added.
  • platform/win/svg/batik/text/textPosition-expected.txt: Added.
  • platform/win/svg/batik/text/verticalText-expected.txt: Added.
  • platform/win/transforms/2d/hindi-rotated-expected.txt:
3:35 PM Changeset in webkit [162281] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CodeBlock: Size m_function{Exprs,Decls} to fit from creation.
<https://webkit.org/b/127238>

Reviewed by Anders Carlsson.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

Use resizeToFit() instead of grow() for m_functionExprs and
m_functionDecls since we know they will never change size.

(JSC::CodeBlock::shrinkToFit):

No need to shrink them here anymore.

3:31 PM Changeset in webkit [162280] by berto@igalia.com
  • 19 edits in trunk/Source/WebCore

[CodeGeneratorJS] Sort output of StructureFlags and function parameters

https://bugs.webkit.org/show_bug.cgi?id=127226

Reviewed by Alexey Proskuryakov.

The order of the keys in a hash is undefined and subject to change
between different Perl versions, so we have to sort them to make
sure that the output is always the same.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateParametersCheckExpression):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNode.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):

  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.h:
3:20 PM Changeset in webkit [162279] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove unused CodeBlock::m_additionalIdentifiers member.
<https://webkit.org/b/127237>

Reviewed by Anders Carlsson.

  • bytecode/CodeBlock.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::shrinkToFit):

Remove m_additionalIdentifiers, nothing uses it.

3:10 PM Changeset in webkit [162278] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove two unused CodeBlock functions.
<https://webkit.org/b/127235>

Kill copyPostParseDataFrom() and copyPostParseDataFromAlternative()
since they are not used.

Reviewed by Anders Carlsson.

  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:
3:09 PM Changeset in webkit [162277] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CodeBlock: Size m_exceptionHandlers to fit from creation.
<https://webkit.org/b/127234>

Avoid allocation churn for CodeBlock::m_exceptionHandlers.

Reviewed by Anders Carlsson.

  • bytecode/CodeBlock.h:

Removed unused CodeBlock::allocateHandlers() function.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

Use resizeToFit() instead of grow() for m_exceptionHandlers
since we know it's never going to change size.

(JSC::CodeBlock::shrinkToFit):

No need to shrink m_exceptionHandlers here since it's already
the perfect size.

3:00 PM Changeset in webkit [162276] by andersca@apple.com
  • 15 edits in trunk/Source

Replace a couple of uses of WTF::Function with std::function
https://bugs.webkit.org/show_bug.cgi?id=127218

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in:
  • page/scrolling/ScrollingThread.cpp:

(WebCore::ScrollingThread::dispatch):
(WebCore::ScrollingThread::dispatchBarrier):
(WebCore::ScrollingThread::shared):
(WebCore::ScrollingThread::createThreadIfNeeded):
(WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):

  • page/scrolling/ScrollingThread.h:
  • page/scrolling/mac/ScrollingThreadMac.mm:

(WebCore::ScrollingThread::initializeRunLoop):

Source/WebKit2:

  • Platform/IPC/mac/ConnectionMac.cpp:

(IPC::createDataAvailableSource):

  • Platform/WorkQueue.h:
  • Platform/mac/WorkQueueMac.cpp:

(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):

  • Shared/ChildProcess.cpp:

(WebKit::didCloseOnConnectionWorkQueue):

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):

  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):

2:48 PM Changeset in webkit [162275] by andersca@apple.com
  • 25 edits in trunk/Source/WebCore

Modernize HTML parser code
https://bugs.webkit.org/show_bug.cgi?id=127236

Reviewed by Andreas Kling.

  • html/parser/AtomicHTMLToken.h:
  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::emitRule):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::detach):
(WebCore::HTMLDocumentParser::stopParsing):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):

  • html/parser/HTMLDocumentParser.h:
  • html/parser/HTMLElementStack.cpp:

(WebCore::HTMLElementStack::ElementRecord::ElementRecord):
(WebCore::HTMLElementStack::insertAbove):
(WebCore::HTMLElementStack::pushCommon):

  • html/parser/HTMLElementStack.h:

(WebCore::HTMLElementStack::ElementRecord::releaseNext):
(WebCore::HTMLElementStack::ElementRecord::setNext):

  • html/parser/HTMLMetaCharsetParser.cpp:

(WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):

  • html/parser/HTMLMetaCharsetParser.h:
  • html/parser/HTMLParserScheduler.h:
  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):

  • html/parser/HTMLPreloadScanner.h:
  • html/parser/HTMLResourcePreloader.cpp:

(WebCore::HTMLResourcePreloader::takeAndPreload):
(WebCore::HTMLResourcePreloader::preload):

  • html/parser/HTMLResourcePreloader.h:

(WebCore::PreloadRequest::PreloadRequest):

  • html/parser/HTMLScriptRunner.h:
  • html/parser/HTMLToken.h:

(WebCore::HTMLToken::beginDOCTYPE):
(WebCore::HTMLToken::releaseDoctypeData):

  • html/parser/HTMLTokenizer.h:
  • html/parser/HTMLTreeBuilder.h:
  • html/parser/HTMLViewSourceParser.cpp:

(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):

  • html/parser/HTMLViewSourceParser.h:
  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::filterToken):

  • html/parser/XSSAuditor.h:
  • html/parser/XSSAuditorDelegate.h:

(WebCore::XSSInfo::XSSInfo):

  • loader/TextResourceDecoder.cpp:

(WebCore::TextResourceDecoder::checkForHeadCharset):
(WebCore::TextResourceDecoder::checkForMetaCharset):

  • loader/TextResourceDecoder.h:
2:17 PM Changeset in webkit [162274] by benjamin@webkit.org
  • 8 edits in trunk/Source/WebCore

Make ElementData JIT friendly
https://bugs.webkit.org/show_bug.cgi?id=127209

Reviewed by Geoffrey Garen.

The offsets of ElementData's flags were not accessible by the JIT. This patch
refactor ElementData to use explicit flags so that they can be used from
the code generators.

  • dom/Element.cpp:

(WebCore::Element::synchronizeAllAttributes):
(WebCore::Element::synchronizeAttribute):
(WebCore::Element::attributeChanged):
(WebCore::Element::removeAttribute):

  • dom/ElementData.cpp:

(WebCore::ElementData::destroy):
(WebCore::ElementData::ElementData):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::ShareableElementData::~ShareableElementData):
(WebCore::ElementData::arraySizeAndFlagsFromOther):

  • dom/ElementData.h:

(WebCore::ElementData::hasName):
(WebCore::ElementData::isUnique):
(WebCore::ElementData::updateFlag):
(WebCore::ElementData::arraySize):
(WebCore::ElementData::setHasNameAttribute):
(WebCore::ElementData::styleAttributeIsDirty):
(WebCore::ElementData::setStyleAttributeIsDirty):
(WebCore::ElementData::presentationAttributeStyleIsDirty):
(WebCore::ElementData::setPresentationAttributeStyleIsDirty):
(WebCore::ElementData::animatedSVGAttributesAreDirty):
(WebCore::ElementData::setAnimatedSVGAttributesAreDirty):
(WebCore::ElementData::length):
(WebCore::ElementData::attributeBase):
(WebCore::ElementData::presentationAttributeStyle):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::synchronizeStyleAttributeInternal):
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::styleAttributeChanged):
(WebCore::StyledElement::inlineStyleChanged):
(WebCore::StyledElement::rebuildPresentationAttributeStyle):

  • dom/StyledElement.h:

(WebCore::StyledElement::invalidateStyleAttribute):
(WebCore::StyledElement::presentationAttributeStyle):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::synchronizeAnimatedSVGAttribute):

  • svg/SVGElement.h:

(WebCore::SVGElement::invalidateSVGAttributes):

1:24 PM Changeset in webkit [162273] by Alan Bujtas
  • 4 edits in trunk

Subpixel layout: IntRect::infiniteRect() overflows when subpixel layout is enabled.
https://bugs.webkit.org/show_bug.cgi?id=126899

Reviewed by Tim Horton.

Use LayoutUnits when setting the infinite values on IntRect::infiniteRect() to ensure
it won't overflow later when the IntRect gets converted to LayoutRect.

Source/WebCore:

Covered by existing tests.

  • platform/graphics/IntRect.h:

(WebCore::IntRect::infiniteRect):

LayoutTests:

  • platform/mac/TestExpectations: Unskipping svg test (failed with subpixel on)
1:15 PM Changeset in webkit [162272] by andersca@apple.com
  • 7 edits
    37 deletes in trunk

Remove support for the viewsource attribute
https://bugs.webkit.org/show_bug.cgi?id=127232

Reviewed by Andreas Kling.

Source/WebCore:

The 'viewsource' attribute on frames is nonstandard, not used by anyone (the inspector has
its own syntax highlighting) and not audited.

This patch removes parsing of the viewsource attribute and the associated tests. A subsequent
patch will remove the code as well.

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::parseAttribute):

Source/WTF:

  • wtf/FeatureDefines.h:

LayoutTests:

  • .gitattributes:
  • fast/frames/resources/viewsource-fake-image-file.png: Removed.
  • fast/frames/resources/viewsource-frame-1.html: Removed.
  • fast/frames/resources/viewsource-frame-2.html: Removed.
  • fast/frames/resources/viewsource-frame-3.html: Removed.
  • fast/frames/resources/viewsource-frame-4.html: Removed.
  • fast/frames/resources/viewsource-frame-5.html: Removed.
  • fast/frames/resources/viewsource-frame-unfinished-script.html: Removed.
  • fast/frames/resources/viewsource-frame-unfinished-textarea.html: Removed.
  • fast/frames/viewsource-attribute.html: Removed.
  • fast/frames/viewsource-empty-attribute-value-expected.txt: Removed.
  • fast/frames/viewsource-empty-attribute-value.html: Removed.
  • fast/frames/viewsource-linebreak-expected.txt: Removed.
  • fast/frames/viewsource-linebreak.html: Removed.
  • fast/frames/viewsource-link-on-href-value-expected.txt: Removed.
  • fast/frames/viewsource-link-on-href-value.html: Removed.
  • fast/frames/viewsource-on-image-file.html: Removed.
  • fast/frames/viewsource-plain-text-tags-expected.txt: Removed.
  • fast/frames/viewsource-plain-text-tags.html: Removed.
  • fast/frames/viewsource-unfinished-tags-expected.txt: Removed.
  • fast/frames/viewsource-unfinished-tags.html: Removed.
  • fast/frames/viewsource-xml-expected.txt: Removed.
  • fast/frames/viewsource-xml.html: Removed.
  • http/tests/security/resources/view-source-no-refresh.php: Removed.
  • http/tests/security/view-source-javascript-url-in-document-expected.txt: Removed.
  • http/tests/security/view-source-javascript-url-in-document.html: Removed.
  • http/tests/security/view-source-no-javascript-url-expected.txt: Removed.
  • http/tests/security/view-source-no-javascript-url.html: Removed.
  • http/tests/security/view-source-no-refresh-expected.txt: Removed.
  • http/tests/security/view-source-no-refresh.html: Removed.
  • platform/efl/fast/frames/viewsource-attribute-expected.png: Removed.
  • platform/efl/fast/frames/viewsource-attribute-expected.txt: Removed.
  • platform/efl/fast/frames/viewsource-on-image-file-expected.png: Removed.
  • platform/efl/fast/frames/viewsource-on-image-file-expected.txt: Removed.
  • platform/mac/fast/frames/viewsource-attribute-expected.png: Removed.
  • platform/mac/fast/frames/viewsource-attribute-expected.txt: Removed.
  • platform/mac/fast/frames/viewsource-on-image-file-expected.png: Removed.
  • platform/mac/fast/frames/viewsource-on-image-file-expected.txt: Removed.
  • platform/win/TestExpectations:
1:14 PM Changeset in webkit [162271] by commit-queue@webkit.org
  • 31 edits
    2 copies in trunk/Source/WebKit2

Flesh out session APIs (still not enabled at API level).
https://bugs.webkit.org/show_bug.cgi?id=126918

Patch by Martin Hock <mhock@apple.com> on 2014-01-18
Reviewed by Alexey Proskuryakov.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::storageSession):
(WebKit::NetworkConnectionToWebProcess::startDownload):
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookie):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::ensurePrivateBrowsingSession):
(WebKit::NetworkProcess::destroyPrivateBrowsingSession):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/RemoteNetworkingContext.h:
  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::storageSession):
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):

  • NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:

(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):

  • Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.

(WebKit::sessionMap):
(WebKit::identifierBase):
(WebKit::SessionTracker::getSessionMap):
(WebKit::SessionTracker::getIdentifierBase):
(WebKit::SessionTracker::session):
(WebKit::SessionTracker::destroySession):
(WebKit::SessionTracker::setIdentifierBase):

  • Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.

(WebKit::SessionTracker::isEphemeralID):

  • Shared/mac/CookieStorageShim.cpp:

(WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):

  • UIProcess/APISession.cpp:

(API::generateID):
(API::Session::defaultSession):
(API::Session::legacyPrivateSession):
(API::Session::Session):
(API::Session::create):
(API::Session::isEphemeral):
(API::Session::getID):

  • UIProcess/APISession.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::createWebPage):

  • UIProcess/WebContext.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::create):
(WebKit::WebPageProxy::WebPageProxy):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::sessionID):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createWebPage):

  • UIProcess/WebProcessProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setPrivateBrowsingEnabled):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::legacySessionID):
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
(WebKit::WebFrameNetworkingContext::storageSession):

  • WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::storageSession):

  • WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensurePrivateBrowsingSession):
(WebKit::WebProcess::destroyPrivateBrowsingSession):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
1:11 PM Changeset in webkit [162270] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Add a hasBreakpointFlag arg to the op_debug bytecode.
https://bugs.webkit.org/show_bug.cgi?id=127230.

Reviewed by Geoffrey Garen.

This is in anticipation of upcoming changes to support bytecode level
breakpoints. This patch adds the flag to the op_debug bytecode and
initializes it, but does not use it yet.

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitDebugHook):

  • llint/LowLevelInterpreter.asm:
12:35 PM Changeset in webkit [162269] by andersca@apple.com
  • 6 edits in trunk/Source/WebCore

XMLTreeViewer shouldn't use the view source mode
https://bugs.webkit.org/show_bug.cgi?id=127229

Reviewed by Andreas Kling.

Add the relevant styles from view-source.css to XMLViewer.css.

  • xml/XMLTreeViewer.cpp:

(WebCore::XMLTreeViewer::transformDocumentToTreeView):

  • xml/XMLViewer.css:

(body):
(.comment):
(.tag):
(.attribute-name):
(.attribute-value):

  • xml/XMLViewer.js:

(createComment):
(createTag):
(createAttribute):

12:32 PM Changeset in webkit [162268] by BJ Burg
  • 5 edits in trunk/Source/WebKit

Another build fix attempt for Windows and EFL WebKit1.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/efl:

  • ewk/ewk_paint_context.cpp:

(ewk_paint_context_paint_contents):

  • ewk/ewk_view.cpp:

(_ewk_view_smart_repaints_process):

12:19 PM Changeset in webkit [162267] by BJ Burg
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix attempt for Windows.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
11:41 AM Changeset in webkit [162266] by berto@igalia.com
  • 3 edits in trunk/Source/JavaScriptCore

JavaScriptCore uses PLATFORM(MAC) when it means OS(DARWIN)
https://bugs.webkit.org/show_bug.cgi?id=99683

Reviewed by Anders Carlsson.

  • jit/ThunkGenerators.cpp:
  • tools/CodeProfile.cpp:

(JSC::symbolName):
(JSC::CodeProfile::sample):

11:16 AM Changeset in webkit [162265] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Remove unused "touchDragDropEnabled" setting.
<https://webkit.org/b/127227>

Reviewed by Sam Weinig.

  • page/Settings.in:
11:15 AM Changeset in webkit [162264] by BJ Burg
  • 44 edits in trunk/Source

Web Inspector: Page should use std::unique_ptr for InspectorController
https://bugs.webkit.org/show_bug.cgi?id=127068

Reviewed by Joseph Pecoraro.

Source/WebCore:

Make Page and WorkerGlobalScope keep a std::unique_ptr to InspectorController
and WorkerInspectorController. Store page references and return controller
references where possible.

Convert call sites to use an InspectorController reference.
Convert instantiations of InspectorFrontendClient to use std::unique_ptr.
Convert InspectorOverlay to keep Page references.

  • WebCore.exp.in:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::supportsProfiling):
(WebCore::JSDOMWindowBase::supportsRichSourceInfo):

  • dom/Node.cpp:

(WebCore::Node::inspect):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::setInspectorFrontendClient):
(WebCore::InspectorController::hasInspectorFrontendClient):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::inspectedPage):
(WebCore::InspectorController::developerExtrasEnabled):

  • inspector/InspectorController.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::canAttachWindow):
(WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
(WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth):
(WebCore::InspectorFrontendClientLocal::openInNewTab):
(WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::getHighlight):
(WebCore::InspectorOverlay::highlightQuad):
(WebCore::InspectorOverlay::update):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::drawQuadHighlight):
(WebCore::InspectorOverlay::overlayPage):
(WebCore::InspectorOverlay::reset):

  • inspector/InspectorOverlay.h:
  • inspector/InstrumentingAgents.cpp:

(WebCore::instrumentationForPage): remove null checks.
(WebCore::instrumentationForWorkerGlobalScope): remove null checks.

  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::connectFrontend):
(WebCore::WorkerInspectorController::disconnectFrontend):

  • inspector/WorkerInspectorController.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::showContextMenu):
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::addInspectElementItem):

  • page/FrameView.cpp:

(WebCore::FrameView::sendResizeEventIfNeeded):

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::inspectorController):

  • page/PageDebuggable.cpp:

(WebCore::PageDebuggable::hasLocalDebugger):
(WebCore::PageDebuggable::parentProcessIdentifier):
(WebCore::PageDebuggable::connect):
(WebCore::PageDebuggable::disconnect):
(WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
(WebCore::PageDebuggable::setIndicating):

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::syncDisplayState):

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::inspectorHighlightRects):
(WebCore::Internals::inspectorHighlightObject):
(WebCore::Internals::emitInspectorDidBeginFrame):
(WebCore::Internals::emitInspectorDidCancelFrame):
(WebCore::Internals::openDummyInspectorFrontend):
(WebCore::Internals::closeDummyInspectorFrontend):
(WebCore::Internals::setInspectorResourcesDataSizeLimits):
(WebCore::Internals::setJavaScriptProfilingEnabled):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):

  • workers/WorkerGlobalScope.h: remove clearInspector().

(WebCore::WorkerGlobalScope::workerInspectorController):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::connectToWorkerGlobalScopeInspectorTask):
(WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
(WebCore::dispatchOnInspectorBackendTask):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThreadShutdownFinishTask::performTask):

Source/WebKit/efl:

Convert call sites to use a InspectorController reference.
Convert instantiations of InspectorFrontendClient to use std::unique_ptr.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::evaluateInWebInspector):

  • WebCoreSupport/InspectorClientEfl.cpp:

(WebCore::InspectorClientEfl::openInspectorFrontend):

  • ewk/ewk_view.cpp:

(ewk_view_inspector_show):
(ewk_view_inspector_close):

Source/WebKit/gtk:

Convert call sites to use a InspectorController reference.
Convert instantiations of InspectorFrontendClient to use std::unique_ptr.

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::paintWebView):

  • WebCoreSupport/InspectorClientGtk.cpp:

(WebKit::InspectorClient::openInspectorFrontend):

  • webkit/webkitwebinspector.cpp:

(webkit_web_inspector_set_property):
(webkit_web_inspector_get_property):
(webkit_web_inspector_show):
(webkit_web_inspector_inspect_node):
(webkit_web_inspector_inspect_coordinates):
(webkit_web_inspector_close):
(webkit_web_inspector_execute_script):

Source/WebKit/mac:

Convert call sites to use a InspectorController reference.
Convert instantiations of InspectorFrontendClient to use std::unique_ptr.

  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::openInspectorFrontend):
(-[WebInspectorWindowController destroyInspectorView:]):

  • WebInspector/WebInspector.mm:

(-showWindow):
(-isJavaScriptProfilingEnabled):
(-setJavaScriptProfilingEnabled:):
(-close:):
(-evaluateInFrontend:callId:script:):

  • WebInspector/WebNodeHighlighter.mm:

(-[WebNodeHighlighter highlight]):

Source/WebKit/win:

Convert call sites to use a InspectorController reference.

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorClient::openInspectorFrontend):
(WebInspectorFrontendClient::destroyInspectorView):
(WebInspectorFrontendClient::onClose):

(WebInspector::show):
(WebInspector::close):
(WebInspector::isJavaScriptProfilingEnabled):
(WebInspector::setJavaScriptProfilingEnabled):
(WebInspector::evaluateInFrontend):

  • WebNodeHighlight.cpp:

(WebNodeHighlight::update):

Source/WebKit2:

Convert call sites to use a InspectorController reference.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::drawRect):

  • WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:

(WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
(WebKit::WebInspectorFrontendClient::closeWindow):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::createInspectorPage):
(WebKit::WebInspector::show):
(WebKit::WebInspector::close):
(WebKit::WebInspector::evaluateScriptForTest):
(WebKit::WebInspector::showConsole):
(WebKit::WebInspector::showResources):
(WebKit::WebInspector::showMainResourceForFrame):
(WebKit::WebInspector::startJavaScriptDebugging):
(WebKit::WebInspector::stopJavaScriptDebugging):
(WebKit::WebInspector::setJavaScriptProfilingEnabled):
(WebKit::WebInspector::startJavaScriptProfiling):
(WebKit::WebInspector::stopJavaScriptProfiling):
(WebKit::WebInspector::startPageProfiling):
(WebKit::WebInspector::stopPageProfiling):
(WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
(WebKit::WebInspector::remoteFrontendConnected):
(WebKit::WebInspector::remoteFrontendDisconnected):

10:57 AM Changeset in webkit [162263] by ap@apple.com
  • 4 edits in trunk/Tools

build.webkit.org/dashboard should have image diff links in test results popovers
https://bugs.webkit.org/show_bug.cgi?id=127188

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:

(Buildbot.prototype.layoutTestImagesURLForIteration):
(Buildbot.prototype.layoutTestImageDiffURLForIteration):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.loadLayoutTestResults):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype._popoverContentForLayoutTestRegressions.addFailureInfoLink):
(BuildbotTesterQueueView.prototype._popoverContentForLayoutTestRegressions.addFailureInfoText):
(BuildbotTesterQueueView.prototype._popoverContentForLayoutTestRegressions):

10:50 AM Changeset in webkit [162262] by ap@apple.com
  • 3 edits in trunk/LayoutTests

media/video-size.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=124932

  • platform/efl/TestExpectations:
  • platform/TestExpectations:

Moving flakiness expectation to cross-platform file, as it also fails on Mac in the same way.

10:43 AM Changeset in webkit [162261] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/video-display-aspect-ratio.html fails
https://bugs.webkit.org/show_bug.cgi?id=35297

  • platform/mac/TestExpectations: Marking as flaky.
10:42 AM Changeset in webkit [162260] by andersca@apple.com
  • 16 edits in trunk

Remove ENABLE_THREADED_HTML_PARSER defines everywhere
https://bugs.webkit.org/show_bug.cgi?id=127225

Reviewed by Andreas Kling.

This concludes the removal of over 8.8 million lines of threaded parser code.

.:

  • Source/autotools/SetupWebKitFeatures.m4:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.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:
10:30 AM Changeset in webkit [162259] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk/Source/WebKit2

Make WKRenderingProgressEvents a shareable API.
https://bugs.webkit.org/show_bug.cgi?id=127213

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-01-18
Reviewed by Dan Bernstein.

Move WKRenderingProgressEvents from UIProcess to Shared, so that an inject bundle
could also use this enum when listening to layout milestones.

  • Shared/API/Cocoa/WKRenderingProgressEvents.h: Added.

(NS_OPTIONS):

  • Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Added.

(renderingProgressEvents):

  • UIProcess/API/Cocoa/WKBrowsingContextController.h: Move WKRenderingProgressEvents to Shared/API/Cocoa/WKRenderingProgressEvents.h.
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm: Move renderingProgressEvents() to WKRenderingProgressEventsInternal.h.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add

webProcessPlugInBrowserContextController:renderingProgressDidChange: to load delegate.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didLayout):
(setUpPageLoaderClient): Also listen to didLayout callback for layout milestones.

10:25 AM Changeset in webkit [162258] by andersca@apple.com
  • 11 edits in trunk/Source/WebCore

Remove the remaining threaded parser code
https://bugs.webkit.org/show_bug.cgi?id=127224

Reviewed by Andreas Kling.

  • dom/Document.cpp:

(WebCore::Document::decrementActiveParserCount):

  • html/parser/AtomicHTMLToken.h:
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::detach):
(WebCore::HTMLDocumentParser::stopParsing):
(WebCore::HTMLDocumentParser::prepareToStopParsing):
(WebCore::HTMLDocumentParser::resumeParsingAfterYield):
(WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::finish):
(WebCore::HTMLDocumentParser::textPosition):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):

  • html/parser/HTMLDocumentParser.h:
  • html/parser/HTMLParserIdioms.cpp:
  • html/parser/HTMLParserIdioms.h:
  • html/parser/HTMLTokenizer.cpp:
  • html/parser/HTMLTokenizer.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::isLoading):
(WebCore::DocumentLoader::checkLoadComplete):

  • page/Settings.in:
10:06 AM Changeset in webkit [162257] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Remove threaded parser code from the preload scanners
https://bugs.webkit.org/show_bug.cgi?id=127222

Reviewed by Andreas Kling.

  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::CSSPreloadScanner):
Use nullptr.

(WebCore::CSSPreloadScanner::scan):
Move scanCommon here and simplify the code.

  • html/parser/CSSPreloadScanner.h:

Remove scanCommon.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::tagIdFor):
TagId is a strong enum now, update enum values.

(WebCore::TokenPreloadScanner::initiatorFor):
Ditto.

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
Ditto.

(WebCore::TokenPreloadScanner::StartTagScanner::match):
Indent this.

(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
TagId is a strong enum now, update enum values.

(WebCore::TokenPreloadScanner::StartTagScanner::charset):
Ditto.

(WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
Ditto.

(WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
Ditto.

(WebCore::TokenPreloadScanner::scan):
Merge scan and scanCommon.

  • html/parser/HTMLPreloadScanner.h:
9:55 AM Changeset in webkit [162256] by mark.lam@apple.com
  • 9 edits
    1 add
    1 delete in trunk/Source/JavaScriptCore

Adding UnlinkedCodeBlock::opDebugBytecodeOffsetForLineAndColumn()..
https://bugs.webkit.org/show_bug.cgi?id=127127.

Reviewed by Geoffrey Garen.

In order to implement bytecode level breakpoints, we need a mechanism
for computing the best fit op_debug bytecode offset for any valid given
line and column value in the source. The "best fit" op_debug bytecode
in this case is defined below in the comment for
UnlinkedCodeBlock::opDebugBytecodeOffsetForLineAndColumn().

(JSC::CodeBlock::opDebugBytecodeOffsetForLineAndColumn):

  • Convert the line and column to unlinked line and column values and pass them to UnlinkedCodeBlock::opDebugBytecodeOffsetForLineAndColumn() to do the real work.
  • bytecode/CodeBlock.h:
  • bytecode/LineColumnInfo.h: Added.

(JSC::LineColumnInfo::operator <):
(JSC::LineColumnInfo::LineColumnPair::LineColumnPair):
(JSC::LineColumnInfo::operator ==):
(JSC::LineColumnInfo::operator !=):
(JSC::LineColumnInfo::operator <=):
(JSC::LineColumnInfo::operator >):
(JSC::LineColumnInfo::operator >=):

  • bytecode/LineInfo.h: Removed.
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::decodeExpressionRangeLineAndColumn):

  • Factored this out of expressionRangeForBytecodeOffset() so that it can be called from multiple places.

(JSC::dumpLineColumnEntry):
(JSC::UnlinkedCodeBlock::dumpExpressionRangeInfo):
(JSC::UnlinkedCodeBlock::dumpOpDebugLineColumnInfoList):

  • Some dumpers for debugging use only.

(JSC::UnlinkedCodeBlock::expressionRangeForBytecodeOffset):
(JSC::UnlinkedCodeBlock::opDebugBytecodeOffsetForLineAndColumn):

  • Finds the earliest op_debug bytecode whose line and column matches the specified line and column values. If an exact match is not found, then finds the nearest op_debug bytecode that precedes the specified line and column values. If there are more than one op_debug at that preceding line and column value, then the earliest of those op_debug bytecodes will be be selected. The offset of the selected bytecode will be returned.

We want the earliest one because when we have multiple op_debug bytecodes
that map to a given line and column, a debugger user would expect to break
on the first one and step through the rest thereafter if needed.

(JSC::compareLineColumnInfo):
(JSC::UnlinkedCodeBlock::opDebugLineColumnInfoList):

  • Creates the sorted opDebugLineColumnInfoList on demand. This list is stored in the UnlinkedCodeBlock's rareData.
  • bytecode/UnlinkedCodeBlock.h:
9:19 AM Changeset in webkit [162255] by akling@apple.com
  • 2 edits
    10 deletes in trunk

Remove Nix files from WebCore
https://bugs.webkit.org/show_bug.cgi?id=127176

Patch by Lauro Neto <lauro.neto@openbossa.org> on 2014-01-18
Reviewed by Anders Carlsson.

.:

  • Source/cmake/OptionsNix.cmake: Removed.

Source/WebCore:

  • PlatformNix.cmake: Removed.
  • css/mediaControlsNix.css: Removed.
  • css/mediaControlsNixFullscreen.css: Removed.
  • editing/nix/EditorNix.cpp: Removed.
  • page/nix/EventHandlerNix.cpp: Removed.
  • platform/audio/nix/AudioBusNix.cpp: Removed.
  • platform/audio/nix/AudioDestinationNix.cpp: Removed.
  • platform/audio/nix/AudioDestinationNix.h: Removed.
  • platform/audio/nix/FFTFrameNix.cpp: Removed.
  • platform/graphics/nix/IconNix.cpp: Removed.
  • platform/graphics/nix/ImageNix.cpp: Removed.
  • platform/nix/CursorNix.cpp: Removed.
  • platform/nix/DragDataNix.cpp: Removed.
  • platform/nix/DragImageNix.cpp: Removed.
  • platform/nix/ErrorsNix.cpp: Removed.
  • platform/nix/ErrorsNix.h: Removed.
  • platform/nix/FileSystemNix.cpp: Removed.
  • platform/nix/GamepadsNix.cpp: Removed.
  • platform/nix/LanguageNix.cpp: Removed.
  • platform/nix/LocalizedStringsNix.cpp: Removed.
  • platform/nix/MIMETypeRegistryNix.cpp: Removed.
  • platform/nix/NixKeyboardUtilities.cpp: Removed.
  • platform/nix/NixKeyboardUtilities.h: Removed.
  • platform/nix/PasteboardNix.cpp: Removed.
  • platform/nix/PlatformKeyboardEventNix.cpp: Removed.
  • platform/nix/PlatformScreenNix.cpp: Removed.
  • platform/nix/RenderThemeNix.cpp: Removed.
  • platform/nix/RenderThemeNix.h: Removed.
  • platform/nix/ScrollbarThemeNix.cpp: Removed.
  • platform/nix/ScrollbarThemeNix.h: Removed.
  • platform/nix/SharedTimerNix.cpp: Removed.
  • platform/nix/SoundNix.cpp: Removed.
  • platform/nix/TemporaryLinkStubs.cpp: Removed.
  • platform/nix/WidgetNix.cpp: Removed.
  • platform/nix/support/MultiChannelPCMData.cpp: Removed.
  • platform/text/nix/TextBreakIteratorInternalICUNix.cpp: Removed.
9:11 AM Changeset in webkit [162254] by andersca@apple.com
  • 9 edits in trunk/Source/WebCore

Remove DocumentParser::pinToMainThread() and related code
https://bugs.webkit.org/show_bug.cgi?id=127221

Reviewed by Andreas Kling.

  • dom/Document.cpp:

(WebCore::Document::setContent):

  • dom/DocumentParser.h:
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser):

  • html/parser/HTMLDocumentParser.h:
  • html/parser/HTMLParserOptions.cpp:

(WebCore::HTMLParserOptions::HTMLParserOptions):

  • html/parser/HTMLParserOptions.h:
  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processEndTag):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::replaceDocument):

9:00 AM Changeset in webkit [162253] by andersca@apple.com
  • 7 edits
    2 deletes in trunk/Source/WebCore

Remove HTMLParserThread
https://bugs.webkit.org/show_bug.cgi?id=127220

Reviewed by Andreas Kling.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/parser/HTMLDocumentParser.cpp:
  • html/parser/HTMLParserThread.cpp: Removed.
  • html/parser/HTMLParserThread.h: Removed.
8:50 AM Changeset in webkit [162252] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

GC soon after responding to fake memory pressure.
<https://webkit.org/b/127210>

Ask JSC to garbage collect "soon" after handling the fake memory
pressure signal on Mac. This seems to stabilize the post-pressure
numbers on Membuster3 a bit on my laptop. The difference is mostly
made up of JSC::CodeBlock objects.

Reviewed by Geoffrey Garen.

  • platform/mac/MemoryPressureHandlerMac.mm:

(WebCore::MemoryPressureHandler::install):

8:48 AM Changeset in webkit [162251] by andersca@apple.com
  • 11 edits
    10 deletes in trunk/Source/WebCore

Remove files only used by the threaded HTML parser
https://bugs.webkit.org/show_bug.cgi?id=127219
<rdar://problem/13331277>

Reviewed by Andreas Kling.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/parser/AtomicHTMLToken.h:
  • html/parser/BackgroundHTMLInputStream.cpp: Removed.
  • html/parser/BackgroundHTMLInputStream.h: Removed.
  • html/parser/BackgroundHTMLParser.cpp: Removed.
  • html/parser/BackgroundHTMLParser.h: Removed.
  • html/parser/CompactHTMLToken.cpp: Removed.
  • html/parser/CompactHTMLToken.h: Removed.
  • html/parser/HTMLDocumentParser.cpp:
  • html/parser/HTMLDocumentParser.h:
  • html/parser/HTMLIdentifier.cpp: Removed.
  • html/parser/HTMLIdentifier.h: Removed.
  • html/parser/HTMLParserIdioms.h:
  • html/parser/HTMLPreloadScanner.h:
  • html/parser/HTMLTreeBuilderSimulator.cpp: Removed.
  • html/parser/HTMLTreeBuilderSimulator.h: Removed.
1:04 AM Changeset in webkit [162250] by zandobersek@gmail.com
  • 3 edits in trunk/Source/JavaScriptCore

Inspector scripts are not compatible with Python v3
https://bugs.webkit.org/show_bug.cgi?id=127128

Reviewed by Benjamin Poulain.

  • inspector/scripts/generate-combined-inspector-json.py: Turn print statements into print function calls.
  • inspector/scripts/jsmin.py: Try importing the StringIO class from the StringIO module (which will work for

Python v2) or, on import error, import the class from the io module (which will work for Python v3).

12:22 AM Changeset in webkit [162249] by zandobersek@gmail.com
  • 2 edits in trunk

[GTK] Bump the minimum required Clang version to 3.3
https://bugs.webkit.org/show_bug.cgi?id=127178

Reviewed by Martin Robinson.

  • Source/autotools/CheckSystemAndBasicDependencies.m4: Require Clang 3.3 or later when using the Clang compiler to

build the GTK port. Building with Clang 3.2 doesn't work anymore and there's no point in fixing that, as we should
support the latest two versions of Clang (3.3 and 3.4), just like we do with GCC (4.7 and 4.8).

Note: See TracTimeline for information about the timeline view.