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

Timeline



Jun 23, 2012:

11:49 PM Changeset in webkit [121111] by vangelis@chromium.org
  • 4 edits in branches/chromium/1132/Source/WebCore

Revert 121000 - [chromium] LayerRendererChromium is not getting visibility messages in single threaded compositing mode.

This is an emergency fix for the 1132 chromium branch. A more correct fix is in bug 89045.

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

Reviewed by James Robinson.

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::compositeAndReadback):
(WebCore::CCLayerTreeHost::setVisible):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::commitComplete):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::setNeedsForcedCommit):

TBR=vangelis@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10658010

10:51 PM Changeset in webkit [121110] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening, skip the auto-hyphenation test
added in r121102 as the GTK port does not support the feature.

  • platform/gtk/TestExpectations:
10:32 PM Changeset in webkit [121109] by zandobersek@gmail.com
  • 4 edits in trunk

[Gtk] REGRESSION(r120918): Causes flaky DND tests
https://bugs.webkit.org/show_bug.cgi?id=89770

Reviewed by Martin Robinson.

Tools:

Connect to the run-file-chooser signal of the WebKitWebView and
return TRUE so no file chooser dialog is run. This prevents certain
test failures.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(webViewRunFileChooser):
(createWebView):

LayoutTests:

Remove test expectations for fast/events/domactivate-sets-underlying-click-event-as-handled.html
as the test now passes since the file chooser dialog is no longer run.

  • platform/gtk/TestExpectations:
10:29 PM Changeset in webkit [121108] by kseo@webkit.org
  • 5 edits in trunk/Source/WebKit/chromium

[chromium] Return has value, in function returning void
https://bugs.webkit.org/show_bug.cgi?id=89822

Reviewed by Adam Barth.

A followup for r121091.

  • src/WebHistoryItem.cpp:

(WebKit::WebHistoryItem::setPageScaleFactor):

  • src/WebImageLayer.cpp:

(WebKit::WebImageLayer::setBitmap):

  • src/WebLayer.cpp:

(WebKit::WebLayer::setMaskLayer):

  • src/WebOptionElement.cpp:

(WebKit::WebOptionElement::setValue):
(WebKit::WebOptionElement::setDefaultSelected):

8:47 PM Changeset in webkit [121107] by kbr@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Layout Test fast/text/hyphen-min-preferred-width.html is failing
https://bugs.webkit.org/show_bug.cgi?id=89820

Unreviewed gardening; marked test as known failure.

  • platform/chromium/TestExpectations:
8:13 PM Changeset in webkit [121106] by rniwa@webkit.org
  • 13 edits in trunk/Source/WebCore

Inserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+)
https://bugs.webkit.org/show_bug.cgi?id=73853

Reviewed by Anders Carlsson and Ojan Vafai.

Invalidate all node lists at document level to avoid having to walk up the DOM tree in the invalidation.
In particular, this makes appending node O(1) with respect to the depth of the tree in common cases when
we have node lists somewhere in the tree scope.

We now invalidate more node lists than we used to but it shouldn't matter much in practice because
most websites don't add or remove nodes or modify relevant attributes while iterating through node lists.
The change would also register each node list to document thereby consuming one extra pointer, however,
this should not have a significant memory impact given we used to do it unintentionally until I fixed it in
r110797 three months ago.

Also, RadioNodeList and LabelsNodeList had always been invalidated at document level so this refactoring
also allows us to move calls to registerDynamicSubtreeNodeList and unregisterDynamicSubtreeNodeList in
those node lists to DynamicSubtreeNodeList, and even delete NodeListsNodeData::invalidateCaches().

In addition, removed m_numNodeListCaches from TreeScope since it was only used to avoid walking up
the ancestors in invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged
but we don't walk up the ancestors any more. Also note that m_listsInvalidatedAtDocument tells us exactly
how many node lists are present for each document.

  • dom/Document.cpp:

(WebCore::Document::clearNodeListCaches): Optionally takes a qualified attribute name so that we don't
have to invalidate tag node lists when only attributes are modified.

  • dom/Document.h:

(Document):

  • dom/DynamicNodeList.cpp:

(WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Calls unregisterDynamicSubtreeNodeList.

  • dom/DynamicNodeList.h:

(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Calls registerDynamicSubtreeNodeList.

  • dom/Node.cpp:

(WebCore::Node::clearRareData):
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): No longer walks up the tree to invalidate
node list caches. All invalidations are done in Document::clearNodeListCaches.
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Ditto.
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::Node::radioNodeList):
(WebCore):
(WebCore::NodeRareData::createNodeLists):

  • dom/NodeRareData.h:

(NodeListsNodeData):
(WebCore::NodeListsNodeData::adoptTreeScope): Invalidate node list caches while registering and
unregistering node lists from old and new documents respectively now that invalidateCaches() has been
(WebCore::NodeRareData::ensureNodeLists):
(NodeRareData):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):

  • dom/TreeScope.h:

(TreeScope):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):

  • html/LabelableElement.cpp:

(WebCore::LabelableElement::labels):

  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::LabelsNodeList):
(WebCore::LabelsNodeList::~LabelsNodeList):

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::RadioNodeList):
(WebCore::RadioNodeList::~RadioNodeList):

4:00 PM Changeset in webkit [121105] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Clang and cl.exe build fix after r121103. Don't inherit from WTF::PairHash<unsigned char, StringType>.

  • dom/NodeRareData.h:
2:34 PM Changeset in webkit [121104] by mitz@apple.com
  • 2 edits in trunk/Tools

debug-{minibrowser,safari,test-runner} fail when gdb is not installed in /usr/bin.

Reviewed by Sam Weinig.

  • Scripts/webkitdirs.pm:

(execMacWebKitAppForDebugging): Use xcrun to locate gdb.

2:30 PM Changeset in webkit [121103] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r120979): getElementsByTagName is 12% slower
https://bugs.webkit.org/show_bug.cgi?id=89783

Reviewed by Darin Adler.

The problem is that hashing std::pair<unsigned short, AtomicString> is very slow compared to just hashing AtomicString,
which internally holds a hash already. Fixed the regression by replacing the default hash function by the one that
computes AtomicString's hash + list type. This is okay because we only have 7 node list types at the moment.

  • dom/NodeRareData.h:

(NodeListsNodeData):
(WebCore::NodeListsNodeData::NodeListCacheMapEntryHash::hash):
(NodeListCacheMapEntryHash):
(WebCore::NodeListsNodeData::NodeListCacheMapEntryHash::equal):
(WebCore::NodeListsNodeData::namedNodeListKey):

2:23 PM Changeset in webkit [121102] by mitz@apple.com
  • 3 edits
    2 adds in trunk

RenderText’s minimum preferred width is incorrect automatic hyphenation is used
https://bugs.webkit.org/show_bug.cgi?id=89814

Reviewed by Sam Weinig.

Source/WebCore:

Test: fast/text/hyphen-min-preferred-width.html

  • rendering/RenderText.cpp:

(WebCore::maxWordFragmentWidth): Added this helper function. It returns the width of the
widest hyphenated fragment of the word (except for the suffix after the last hyphen) and
the offset of the last hyphenation opportunity.
(WebCore::RenderText::computePreferredLogicalWidths): Changed this function to consider the
widths of hyphenated word fragments rather than entire words when computing the minimum
width. Because hyphenating and measuring all fragments is expensive, hyphenation is only
attempted if the unhyphenated word is wider than the current minimum width.

LayoutTests:

  • fast/text/hyphen-min-preferred-width-expected.html: Added.
  • fast/text/hyphen-min-preferred-width.html: Added.
12:28 PM Changeset in webkit [121101] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium gardening. Marked tests flaky per bugs 89812
and 89813.

  • platform/chromium/TestExpectations:
8:36 AM Changeset in webkit [121100] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening, adding test expectations for two
flaky media tests.

  • platform/gtk/TestExpectations:
6:43 AM Changeset in webkit [121099] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Skip GTK+ unit test /webkit2/WebKitFindController/hide.

It fails always when running it in Xvfb.

  • gtk/run-api-tests:

(TestRunner):

6:41 AM Changeset in webkit [121098] by zandobersek@gmail.com
  • 121 edits in trunk/Source

Unreviewed, rolling out r121058.
http://trac.webkit.org/changeset/121058
https://bugs.webkit.org/show_bug.cgi?id=89809

Patch causes plugins tests to crash in GTK debug builds
(Requested by zdobersek on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-23

Source/JavaScriptCore:

  • API/APIShims.h:

(JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
(JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
(APIEntryShimWithoutLock):
(JSC::APIEntryShim::APIEntryShim):
(APIEntryShim):
(JSC::APICallbackShim::~APICallbackShim):

  • API/JSContextRef.cpp:

(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):
(JSGlobalContextRelease):
(JSContextCreateBacktrace):

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::tryAllocateSlowCase):

  • heap/Heap.cpp:

(JSC::Heap::protect):
(JSC::Heap::unprotect):
(JSC::Heap::collect):
(JSC::Heap::setActivityCallback):
(JSC::Heap::activityCallback):
(JSC::Heap::sweeper):

  • heap/Heap.h:

(Heap):

  • heap/HeapTimer.cpp:

(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::invalidate):
(JSC::HeapTimer::timerDidFire):
(JSC):

  • heap/HeapTimer.h:

(HeapTimer):

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doWork):
(JSC::IncrementalSweeper::create):

  • heap/IncrementalSweeper.h:

(IncrementalSweeper):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase):

  • heap/WeakBlock.cpp:

(JSC::WeakBlock::reap):

  • jsc.cpp:

(functionGC):
(functionReleaseExecutableMemory):
(jscmain):

  • runtime/Completion.cpp:

(JSC::checkSyntax):
(JSC::evaluate):

  • runtime/GCActivityCallback.h:

(DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::create):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData):
(JSC::JSGlobalData::sharedInstance):
(JSC::JSGlobalData::sharedInstanceInternal):

  • runtime/JSGlobalData.h:

(JSGlobalData):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::init):

  • runtime/JSLock.cpp:

(JSC):
(JSC::createJSLockCount):
(JSC::JSLock::lockCount):
(JSC::setLockCount):
(JSC::JSLock::JSLock):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:

(JSC):
(JSLock):
(JSC::JSLock::JSLock):
(JSC::JSLock::~JSLock):
(DropAllLocks):

  • runtime/WeakGCMap.h:

(JSC::WeakGCMap::set):

  • testRegExp.cpp:

(realMain):

Source/WebCore:

  • bindings/js/GCController.cpp:

(WebCore::collect):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectNow):
(WebCore::GCController::discardAllCompiledCode):

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:

(WebCore::JSSQLStatementErrorCallback::handleEvent):

  • bindings/js/JSCustomVoidCallback.cpp:

(WebCore::JSCustomVoidCallback::handleEvent):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::inspectedObject):

  • bindings/js/JSInjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::createInjectedScript):
(WebCore::InjectedScriptManager::canAccessInspectedWindow):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::evaluate):

  • bindings/js/JSMutationCallbackCustom.cpp:

(WebCore::JSMutationCallback::handleEvent):

  • bindings/js/JSNodeFilterCondition.cpp:

(WebCore::JSNodeFilterCondition::acceptNode):

  • bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:

(WebCore::JSRequestAnimationFrameCallback::handleEvent):

  • bindings/js/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::evaluate):

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::recompileAllJSFunctions):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
(WebCore::ScriptCachedFrameData::clear):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::cacheableBindingRootObject):
(WebCore::ScriptController::bindingRootObject):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::jsObjectForPluginElement):
(WebCore::ScriptController::clearScriptObjects):

  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::windowScriptObject):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::dispatchDidPause):

  • bindings/js/ScriptEventListener.cpp:

(WebCore::eventListenerHandlerBody):
(WebCore::eventListenerHandlerLocation):

  • bindings/js/ScriptFunctionCall.cpp:

(WebCore::ScriptCallArgumentHandler::appendArgument):
(WebCore::ScriptFunctionCall::call):
(WebCore::ScriptFunctionCall::construct):
(WebCore::ScriptCallback::call):

  • bindings/js/ScriptObject.cpp:

(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):

  • bindings/js/ScriptValue.cpp:

(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toInspectorValue):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController):
(WebCore::WorkerScriptController::initScript):
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::disableEval):

  • bindings/objc/WebScriptObject.mm:

(_didExecute):
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject _setOriginRootObject:andRootObject:]):
(-[WebScriptObject dealloc]):
(-[WebScriptObject finalize]):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject stringRepresentation]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackImplementation):

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::callbackWithNoParam):
(WebCore::JSTestCallback::callbackWithClass1Param):
(WebCore::JSTestCallback::callbackWithClass2Param):
(WebCore::JSTestCallback::callbackWithStringList):
(WebCore::JSTestCallback::callbackWithBoolean):
(WebCore::JSTestCallback::callbackRequiresThisToPass):

  • bridge/NP_jsobject.cpp:

(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):

  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::~CClass):
(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::getPropertyNames):

  • bridge/c/c_runtime.cpp:

(JSC::Bindings::CField::valueFromInstance):
(JSC::Bindings::CField::setValueToInstance):

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertValueToNPVariant):
(JSC::Bindings::convertNPVariantToValue):

  • bridge/jni/jni_jsobject.mm:

(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::getSlot):
(JavaJSObject::setSlot):
(JavaJSObject::toString):
(JavaJSObject::convertValueToJObject):
(JavaJSObject::convertJObjectToValue):

  • bridge/jni/jni_objc.mm:

(JSC::Bindings::dispatchJNICall):

  • bridge/jni/jsc/JNIUtilityPrivate.cpp:

(JSC::Bindings::convertValueToJValue):

  • bridge/jni/jsc/JavaClassJSC.cpp:

(JavaClass::JavaClass):
(JavaClass::~JavaClass):

  • bridge/jni/jsc/JavaInstanceJSC.cpp:

(JavaInstance::stringValue):

  • bridge/jni/jsc/JavaMethodJSC.cpp:

(appendClassName):
(JavaMethod::signature):

  • bridge/jni/jsc/JavaStringJSC.h:

(JSC::Bindings::JavaString::JavaString):
(JSC::Bindings::JavaString::~JavaString):
(JSC::Bindings::JavaString::utf8):
(JSC::Bindings::JavaString::init):

  • bridge/jsc/BridgeJSC.cpp:

(JSC::Bindings::Instance::createRuntimeObject):
(JSC::Bindings::Instance::newRuntimeObject):

  • bridge/objc/objc_instance.mm:

(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):
(ObjcInstance::setValueOfUndefinedField):
(ObjcInstance::getValueOfUndefinedField):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertValueToObjcValue):
(JSC::Bindings::convertNSStringToString):
(JSC::Bindings::convertObjcValueToValue):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::getQtInstance):
(JSC::Bindings::QtInstance::newRuntimeObject):

  • bridge/qt/qt_pixmapruntime.cpp:

(JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):

  • bridge/qt/qt_runtime_qt4.cpp:

(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::notifyFinished):

  • plugins/PluginView.cpp:

(WebCore::PluginView::start):
(WebCore::PluginView::stop):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::npObject):
(WebCore::PluginView::privateBrowsingStateChanged):

  • plugins/blackberry/PluginViewBlackBerry.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::getWindowInfo):

  • plugins/efl/PluginViewEfl.cpp:

(WebCore::PluginView::dispatchNPEvent):

  • plugins/gtk/PluginViewGtk.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/mac/PluginViewMac.mm:

(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::dispatchNPEvent):

  • plugins/qt/PluginViewQt.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/win/PluginViewWin.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

Source/WebKit/blackberry:

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::clearMemoryCaches):

  • WebCoreSupport/ClientExtension.cpp:
  • WebCoreSupport/PagePopupBlackBerry.cpp:

(WebCore::PagePopupBlackBerry::installDomFunction):

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):

Source/WebKit/efl:

  • ewk/ewk_frame.cpp:

(ewk_frame_script_execute):

  • ewk/ewk_view.cpp:

(ewk_view_js_object_add):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::gcCountJavascriptObjects):

Source/WebKit/mac:

  • DOM/WebDOMOperations.mm:

(JSC):

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics memoryStatistics]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::wantsAllStreams):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView privateBrowsingModeDidChange]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView getFormValue:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView _printedPluginBitmap]):

  • Plugins/WebPluginController.mm:

(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController stopOnePlugin:]):
(-[WebPluginController destroyOnePlugin:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController addPlugin:]):

  • WebView/WebFrame.mm:

(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):

  • WebView/WebScriptDebugDelegate.mm:

(-[WebScriptCallFrame scopeChain]):
(-[WebScriptCallFrame evaluateWebScript:]):

  • WebView/WebView.mm:

(+[WebView _reportException:inContext:]):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView _computedStyleIncludingVisitedInfo:forElement:]):

Source/WebKit/qt:

  • Api/qwebframe.cpp:

(QWebFramePrivate::addQtSenderToGlobalObject):
(QWebFrame::addToJavaScriptWindowObject):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::injectInternalsObject):
(DumpRenderTreeSupportQt::resetInternalsObject):

Source/WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::javaScriptObjectsCount):
(WebCoreStatistics::javaScriptGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectsCount):
(WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectTypeCounts):

  • WebFrame.cpp:

(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):

  • WebJavaScriptCollector.cpp:

(WebJavaScriptCollector::objectCount):

  • WebView.cpp:

(WebView::stringByEvaluatingJavaScriptFromString):
(WebView::reportException):
(WebView::elementFromJS):

Source/WebKit2:

  • Shared/mac/WebMemorySampler.mac.mm:

(WebKit::WebMemorySampler::sampleWebKit):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::javaScriptObjectsCount):
(WebKit::InjectedBundle::reportException):

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
(WebKit::NPJSObject::construct):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::jsWrapperForWorld):
(WebKit::WebFrame::computedStyleIncludingVisitedInfo):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::getWebCoreStatistics):

5:31 AM Changeset in webkit [121097] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix for GTK's WebKit2 build after r121093.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewPopulateContextMenu):

5:21 AM Changeset in webkit [121096] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Store hit-test rect in HitTestPoint as Rect.
https://bugs.webkit.org/show_bug.cgi?id=89454

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-06-23
Reviewed by Darin Adler.

Calculate the rectangle early and store that instead of padding
to avoid recalculating the rectangle for every single element
hit tested.

No change in functionality. No new tests.

  • page/EventHandler.cpp:

(WebCore::EventHandler::bestClickableNodeForTouchPoint):
(WebCore::EventHandler::bestZoomableAreaForTouchPoint):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestPoint::HitTestPoint):
(WebCore::HitTestPoint::operator=):
(WebCore::HitTestPoint::setPoint):
(WebCore::hitTestPointIntersects):
(WebCore::HitTestPoint::intersects):
(WebCore::HitTestResult::addNodeToRectBasedTestResult):

  • rendering/HitTestResult.h:

(HitTestPoint):
(WebCore::HitTestPoint::boundingBox):
(WebCore::HitTestPoint::topPadding):
(WebCore::HitTestPoint::rightPadding):
(WebCore::HitTestPoint::bottomPadding):
(WebCore::HitTestPoint::leftPadding):
(HitTestResult):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::hitTestColumns):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::nodeAtPoint):

5:13 AM Changeset in webkit [121095] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK][WK2]Mis-spelt defaultWindowTitle
https://bugs.webkit.org/show_bug.cgi?id=89808

Patch by Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com> on 2012-06-23
Reviewed by Carlos Garcia Campos.

  • MiniBrowser/gtk/BrowserWindow.c:
4:29 AM Changeset in webkit [121094] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix several GTK+ unit tests.

GTK+ unit tests using WebViewTest::wait() started to fail due to a
bug introduced in r121093.

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::wait): Use this instead of m_mainLoop as user data
for the idle callback.

3:55 AM Changeset in webkit [121093] by Carlos Garcia Campos
  • 17 edits
    10 adds in trunk/Source/WebKit2

[GTK] Add ContextMenu API to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=81011

Reviewed by Martin Robinson.

Add WebKitWebView::context-menu signal and WebKitContextMenu and
WebKitContextMenuItem objects to customize the default menu or
buils new menus.

  • GNUmakefile.list.am: Add new files to destination.
  • UIProcess/API/gtk/WebKitContextMenu.cpp: Added.

(webkitContextMenuFinalize):
(webkit_context_menu_init):
(webkit_context_menu_class_init):
(webkitContextMenuPopulate): Populate the given vector of
ContextMenuItems with the WebKitContextMenu items releasing the
items added to the vector.
(webkitContextMenuCreate): Create a new WebKitContextMenu for the
given WKArrayRef of WKContextMenuItemRef.
(webkitContextMenuSetParentItem): Set the parent menu item of the
menu. Used when a menu is added as a submenu of a menu item.
(webkitContextMenuGetParentItem): Return the parent menu item of
the menu.
(webkit_context_menu_new): Create a new WebKitContextMenu.
(webkit_context_menu_new_with_items): Create a new
WebKitContextMenu using the given list of WebKitContextMenuItem.
(webkit_context_menu_prepend): Add item at the beginning.
(webkit_context_menu_append): Add item at the end.
(webkit_context_menu_insert): Insert item at a random position.
(webkit_context_menu_move_item): Move an existing item to a new
position.
(webkit_context_menu_get_items): Get the list of items.
(webkit_context_menu_get_n_items): Get the number of items.
(webkit_context_menu_first): Get the first item.
(webkit_context_menu_last): Get the last item.
(webkit_context_menu_get_item_at_position): Get the item at the
given position.
(webkit_context_menu_remove): Remove the given item.
(webkit_context_menu_remove_all): Remove all items.

  • UIProcess/API/gtk/WebKitContextMenu.h: Added.
  • UIProcess/API/gtk/WebKitContextMenuActions.cpp: Added.

(webkitContextMenuActionIsCheckable): Check if the given stock
action is a toggle action.
(webkitContextMenuActionGetActionTag): Get the WebCore
ContextMenuAction corresponding to the given stock action.
(webkitContextMenuActionGetForContextMenuItem): Get the stock
action corresponding to the given WebCore ContextMenuAction.
(webkitContextMenuActionGetLabel): Get the label string of the
given stock action.

  • UIProcess/API/gtk/WebKitContextMenuActions.h: Added.
  • UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h: Added.
  • UIProcess/API/gtk/WebKitContextMenuItem.cpp: Added.

(webkitContextMenuItemFinalize):
(webkit_context_menu_item_init):
(webkit_context_menu_item_class_init):
(checkAndWarnIfMenuHasParentItem): Check whether the given menu
is already inside another menu showing a warning in such case.
(webkitContextMenuItemSetSubMenu): Set the submenu of a menu item,
checking that the menu is not part of another menu and setting the
item as the parent of the submenu.
(webkitContextMenuItemCreate): Create a new WebKitContextMenuItem
for the given WKContextMenuItemRef.
(webkitContextMenuItemCreateForGtkItem): Create a new
WebKitContextMenuItem using the given GtkMenuItem.
(webkitContextMenuItemSetSubMenuFromGtkMenu): Set the given
GtkMenu as submenu of the item. This is used only to add Input
Methods submenu that is created by GTK.
(webkitContextMenuItemRelease): Release the WebCore
ContextMenuItem associated to the item.
(webkit_context_menu_item_new): Create a new WebKitContextMenuItem
for the given GtkAction.
(webkit_context_menu_item_new_from_stock_action): Create a new
WebKitContextMenuItem for a stock action.
(webkit_context_menu_item_new_from_stock_action_with_label):
Create a new WebKitContextMenuItem for a stock action using a
custom label.
(webkit_context_menu_item_new_with_submenu): Create a new
WebKitContextMenuItem with a submenu.
(webkit_context_menu_item_new_separator): Create a new separator
menu item.
(webkit_context_menu_item_get_action): Get the GtkAction of the item.
(webkit_context_menu_item_get_stock_action): Get the stock action
of the item.
(webkit_context_menu_item_is_separator): Whether item is a separator.
(webkit_context_menu_item_set_submenu): Set or replace the
submenu of the item.
(webkit_context_menu_item_get_submenu): Get the submenu of the item.

  • UIProcess/API/gtk/WebKitContextMenuItem.h: Added.
  • UIProcess/API/gtk/WebKitContextMenuItemPrivate.h: Added.
  • UIProcess/API/gtk/WebKitContextMenuPrivate.h: Added.
  • UIProcess/API/gtk/WebKitDefines.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_class_init): Add WebKitWebView::context-menu signal.
(getUnicodeMenuItemPosition): Helper function that returns the
position of the unicode menu item in the proposed context menu.
(webkitWebViewCreateAndAppendInputMethodsMenuItem): Use
WebKitContextMenu API to add the input methods submenu to the
default context menu.
(webkitWebViewPopulateContextMenu): Create a WebKitContextMenu for
the default context menu and emit WebKitWebView::context-menu
signal. Then populate the context menu proxy with the resulting
WebKitContextMenu.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseButtonPressEvent): In case of right click save
the event to be used by context menu signal.
(webkitWebViewBaseTakeContextMenuEvent): Return and release the
saved button event.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for

WebKitContextMenu and WebKitContextMenuItem.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  • UIProcess/API/gtk/docs/webkit2gtk.types: Add

webkit_context_menu_get_type and webkit_context_menu_item_get_type.

  • UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for context menu.
  • UIProcess/API/gtk/tests/TestContextMenu.cpp: Added.

(testContextMenuDefaultMenu):
(testContextMenuPopulateMenu):
(testContextMenuCustomMenu):
(testContextMenuDisableMenu):
(testContextMenuSubMenu):
(beforeAll):
(afterAll):

  • UIProcess/API/gtk/tests/TestMain.h:

(Test::addLogFatalFlag): Add a log level flag to the mask of flags
causing the program to abort.
(Test::removeLogFatalFlag): Remove a log level flag to the mask of
flags causing the program to abort.

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::quitMainLoop): Finish the main loop.
(WebViewTest::quitMainLoopAfterProcessingPendingEvents): Finish
the main loop when all pending events have been processed.
(quitMainLoopIdleCallback):
(WebViewTest::wait):

  • UIProcess/API/gtk/tests/WebViewTest.h:
  • UIProcess/API/gtk/webkit2.h: Include WebKitContextMenu.h,

WebKitContextMenuItem.h and WebKitContextMenuActions.h.

  • UIProcess/API/gtk/webkit2marshal.list:
  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::WebContextMenuProxyGtk::showContextMenu): Attach the
popup menu to the view widget before showing it.

3:50 AM Changeset in webkit [121092] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Fix chromium test expectations

  • platform/chromium/TestExpectations:
2:50 AM Changeset in webkit [121091] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Return has value, in function returning void
https://bugs.webkit.org/show_bug.cgi?id=89805

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-23
Reviewed by Adam Barth.

Make WebFrameImpl::replaceSelection not return a value because it is a function returning void.

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::replaceSelection):

1:26 AM Changeset in webkit [121090] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening after 121063, adding IMAGE test expectation
for tests in fast/css-grid-layout now that some reftests are working
properly and causing failures for platforms that don't support the
feature yet.

  • platform/gtk/TestExpectations:
12:49 AM Changeset in webkit [121089] by sergio@webkit.org
  • 3 edits in trunk/Tools

[GTK] Add a new webkit2 tests slave bot
https://bugs.webkit.org/show_bug.cgi?id=89336

Reviewed by Csaba Osztrogonác.

Slave configuration for a new GTK 64 bit release bot that will run
WebKit2 tests.

Also BuildAndTest now accepts the "triggers" parametter,
this means that apart from building and testing it can trigger
some other build/test sequences in other slaves.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(BuildAndTestFactory.init):

12:18 AM Changeset in webkit [121088] by kseo@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Update my email.

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

Jun 22, 2012:

10:55 PM Changeset in webkit [121087] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-22

  • DEPS:
7:32 PM Changeset in webkit [121086] by abarth@webkit.org
  • 4 edits
    2 adds in trunk/Tools

[Chromium] DumpRenderTree on Android needs to configure fonts for testing
https://bugs.webkit.org/show_bug.cgi?id=89721

Reviewed by Nate Chapin.

This patch teaches DumpRenderTree to configure Skia to use the fallback
fonts that the LayoutTests assume. This patch reduces the number result
differences between chromium-android and chromium-linux.

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
  • DumpRenderTree/chromium/TestShellAndroid.cpp:

(platformInit):

  • DumpRenderTree/chromium/android_fallback_fonts.xml: Added.
  • DumpRenderTree/chromium/android_main_fonts.xml: Added.
  • Scripts/webkitpy/layout_tests/port/chromium_android.py:
7:02 PM Changeset in webkit [121085] by benjamin@webkit.org
  • 13 edits
    16 adds in trunk

Text with text-overflow:ellipsis and text-align:right is left aligned
https://bugs.webkit.org/show_bug.cgi?id=88705

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-06-22
Reviewed by Dan Bernstein.

Source/WebCore:

When building the line of a text with overflow, we do not know if we can place
an ellipsis and where it should be. Because of that, text is laid out as if it does
not have text-overflow: ellipsis.

This causes problems with text-alignement right in LTR and left in RTL. The shortened text
did not follow the allignment.

This patch changes the position of lines with ellipsis after layout to follow the allignment.
In RenderBlock::checkLinesForTextOverflow(), the call to RootInlineBox::placeEllipsis() now
also gives the width of the truncated text. We use this width to re-compute the alignement and
shift the box if necessary.

In RenderBlock::deleteEllipsisLineBoxes() we revert the text to the position computed with the
total width. This way all layout computation is done as usual.

Tests: fast/css/text-overflow-ellipsis-text-align-left.html

fast/css/text-overflow-ellipsis-text-align-right.html

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::canAccommodateEllipsis): Make the method const for readability, truncating is
done later in placeEllipsisBox().
(WebCore::InlineBox::placeEllipsisBox): Add an output argument, truncatedWidth, giving the width
of the text + ellipsis after truncation (if any truncation can be done).

  • rendering/InlineBox.h:

(InlineBox):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineBox::adjustLogicalPosition): adjustPosition() logical coordinates.
(WebCore::InlineFlowBox::canAccommodateEllipsis):
(WebCore::InlineFlowBox::placeEllipsisBox):

  • rendering/InlineFlowBox.h:

(InlineFlowBox):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::placeEllipsisBox):

  • rendering/InlineTextBox.h:

(InlineTextBox):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::deleteEllipsisLineBoxes): In addition to removing the truncation, we
need to revert the shift introduced by checkLinesForTextOverflow(). This restore the lines
to its original, untruncated position in order to layout the block correctly in RenderBlock::layoutInlineChildren().
(WebCore::RenderBlock::checkLinesForTextOverflow): After we truncate the text, we now recompute the shift we need
for alignment, and move the line accordingly.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::placeEllipsis): Return the width of the truncated text + the width of the ellipsis.
(WebCore::RootInlineBox::placeEllipsisBox):
(WebCore::RootInlineBox::adjustPosition):

  • rendering/RootInlineBox.h:

(RootInlineBox):

LayoutTests:

  • fast/css/text-overflow-ellipsis-text-align-center.html: Added.
  • fast/css/text-overflow-ellipsis-text-align-justify.html: Added.
  • fast/css/text-overflow-ellipsis-text-align-left.html: Added.
  • fast/css/text-overflow-ellipsis-text-align-right.html: Added.
  • fast/css/vertical-text-overflow-ellipsis-text-align-center.html: Added.
  • fast/css/vertical-text-overflow-ellipsis-text-align-justify.html: Added.
  • fast/css/vertical-text-overflow-ellipsis-text-align-left.html: Added.
  • fast/css/vertical-text-overflow-ellipsis-text-align-right.html: Added.

The vertical-text tests are incorrect due to other bugs. Add they to track regressions/progressions
going forward.

  • platform/chromium/TestExpectations: The tests need platform specific results.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt: Added.
6:35 PM Changeset in webkit [121084] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Fix negative time interval on zoom-in
https://bugs.webkit.org/show_bug.cgi?id=89798

Patch by Eugene Klyuchnikov <eustas.big@gmail.com> on 2012-06-22
Reviewed by Pavel Feldman.

Steps to reproduce:
1) Record timeline
2) Select small range with left tick close to zero
3) Move pointer to the right end of the ruler
4) Zoom-in with mouse-wheel

Result: right tick goes below the zero.

  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewWindow.prototype._zoom):

6:23 PM Changeset in webkit [121083] by Alexandru Chiculita
  • 13 edits in trunk

[CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac
https://bugs.webkit.org/show_bug.cgi?id=89781

Reviewed by Dean Jackson.

Source/JavaScriptCore:

Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.

No new tests, just re-enabled existing tests.

  • css/CSSValueKeywords.in: Added empty line to force a rebuild of the file on the EWS.
  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.

  • Configurations/FeatureDefines.xcconfig:

Tools:

Added CSS Shaders as enabled by default on Safari for Mac.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Renabled CSS Shaders tests on Safari for Mac.

  • platform/mac/Skipped:
6:16 PM Changeset in webkit [121082] by dgrogan@chromium.org
  • 5 edits in trunk/Source

IndexedDB: Avoid infinite loop if we try to encode -1 for leveldb
https://bugs.webkit.org/show_bug.cgi?id=89625

Source/WebCore:

It gets worse, memory is allocated inside the loop so the process is
eventually killed by the OS.

Reviewed by Tony Chang.

Added tests to Source/WebKit/chromium/tests/IDBLevelDBCodingTest.cpp

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::encodeInt):
(WebCore::IDBLevelDBCoding::encodeVarInt):

Source/WebKit/chromium:

Reviewed by Tony Chang.

  • tests/IDBLevelDBCodingTest.cpp:

(IDBLevelDBCoding::TEST):

5:56 PM Changeset in webkit [121081] by jchaffraix@webkit.org
  • 1 edit
    2 copies in branches/chromium/1180

Merge 121072 - REGRESSION(r116446): Crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent
https://bugs.webkit.org/show_bug.cgi?id=89785

Reviewed by Abhishek Arya.

Source/WebCore:

Test: fullscreen/full-screen-crash-offsetLeft.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
Added a NULL-check for parent() as it can be NULL in fullscreen mode. Also updated a stale
comment while touching the code.

LayoutTests:

  • fullscreen/full-screen-crash-offsetLeft-expected.html: Added.
  • fullscreen/full-screen-crash-offsetLeft.html: Added.

TBR=jchaffraix@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10659009

5:36 PM Changeset in webkit [121080] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium gardening. Marked test as needing rebaseline
after http://trac.webkit.org/changeset/121076 per jamesr.

  • platform/chromium/TestExpectations:
5:31 PM Changeset in webkit [121079] by hayato@chromium.org
  • 7 edits in trunk

[Shadow] ShadowRoot.activeElement should use the result of re-targeting algorithm.
https://bugs.webkit.org/show_bug.cgi?id=89763

Reviewed by Dimitri Glazkov.

Source/WebCore:

Use the result of the re-targeting algorithm in calculating
shadow root's activeElement so that ShadowRoot.activeElement returns
a focused distributed node correctly as the algorithm says.

The spec is:
https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#active-element

Tests: fast/dom/shadow/shadow-root-activeElement.html

  • dom/EventDispatcher.cpp:

(WebCore):
(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventDispatcher::ensureEventAncestors):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::focusedNode):

  • html/shadow/InsertionPoint.h:

(WebCore::InsertionPoint::contains):

LayoutTests:

  • fast/dom/shadow/shadow-root-activeElement-expected.txt:
  • fast/dom/shadow/shadow-root-activeElement.html:
5:23 PM Changeset in webkit [121078] by Michael Nordman
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] WebKit API plumbing for applicationCache.abort()
https://bugs.webkit.org/show_bug.cgi?id=89792

Reviewed by Darin Fisher.

  • public/WebApplicationCacheHost.h:

(WebKit::WebApplicationCacheHost::abort):

  • src/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::abort):

5:03 PM Changeset in webkit [121077] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium gardening. Suppressed additional test failures
tracked in bugs 73692 and 89789.

  • platform/chromium/TestExpectations:
4:57 PM Changeset in webkit [121076] by jamesr@google.com
  • 31 edits in trunk/Source

[chromium] LayerRendererChromium is not getting visibility messages in single threaded compositing mode.
https://bugs.webkit.org/show_bug.cgi?id=89045

Reviewed by Adrienne Walker.

Based on patch by Michal Mocny <mmocny@google.com>.

Source/WebCore:

Invariants:

1.) We never commit (paint, animate, any of it) when not visible on the main thread -except- for
compositeAndReadback, regardless of threaded vs non-threaded mode
2.) CCLayerTreeHost::m_contentsTextureManager's memory budget is only set by updateLayers() when we are going to
make a frame and is always set to a non-zero value
3.) Zero-sized allocations from the GPU process are always serviced immediately on the impl thread. Non-zero
allocations are met in the next frame, whenever we would produce that frame according to our usual frame
scheduling logic.
4.) The impl thread always knows the set of currently-allocated managed texture IDs and can delete them all
whenever it likes without needing the main thread to be responsive.

Details:

There are two main changes - tweaking how the contents texture manager's budget is handled and tweaking frame
scheduling for the !visible case.

The scheduling change is a bit more subtle but it unifies the single and multi threaded paths and is really
important. Except for compositeAndReadback (which I'll talk about below), we simply won't produce frames when
not visible. This already happens in the single threaded path thanks to render_widget so the only change is to
the threaded path. The difficulty here is we might post a beginFrame task from the impl thread and then get a
setVisible(false) call on the main thread before the beginFrame task runs. Since I'm making the setVisible()
call a blocking call from main thread -> impl thread, when the beginFrame task eventually does run on the main
thread we can know that the impl thread's notion of visibility is in sync with the main threads. Thus I'm
planning to simply abort the frame before doing any processing on the main thread. The scheduler will know if
it gets a beginFrameAborted and COMMIT_STATE_IDLE.

compositeAndReadback is special - this call currently does come in when we aren't visible (in single and
threaded mode) and we need to service it. In particular, we need to send a beginFrame over and have it
not be ignored on the main thread. For this I'm thinking of having the proxy keep track of whether it's
servicing a compositeAndReadback() and use that bit on the main thread to know to process the beginFrame
normally. On the impl side, we need a few changes. First, we have to allocate a default framebuffer
(ensureFramebufferCHROMIUM) even if we've dropped it previously and remember to discard it after the
readPixels(). Second, we have to provide a non-zero contents texture allocation on the beginFrame message, and
again remember to delete the textures after the readPixels(). Third, we have to know that the beginFrame is a
forced frame so when we get the beginFrameComplete we go ahead with the rest of the frame. For this, I think
I'll have to add ACTION_BEGIN_FORCED_FRAME and a corresponding COMMIT_STATE_FORCED_FRAME_IN_PROGRESS so the
scheduler can keep track of the magicness of this frame, and then add some logic after the readpixels call to
drop resources after the readback. It's probably a good time to stop swapping on readbacks too....

The contents texture manager's budget is only relevant when we want to make a frame, so it's now passed in on
the updateLayers(). Since we only make frames when we are visible and we never have a zero allocation when
visible (thanks to the frame scheduling changes above), this value is always non-zero. The other thing the
texture manager needs to know about is if we've killed all of the underlying textures from the impl thread -
this bit is passed in by the proxy before the updateLayers() call. This means if we're running while visible
and the manager wants to decrease our budget to something other than zero, we'll get a new (non-zero) allocation
on the impl thread, schedule a frame, then when it's time to make the frame pass the new lower limit in to
updateLayers(), then have the contents texture manager evict down to our new limit and make a frame with the new
budget. When the commit completes we'll get notified on the impl thread of which textures the contents texture
manager decided to evict and issue the deleteTexture() calls on them.

The texture budget we pass in will be based on the most recent non-zero memory allocation we received from the
GPU memory manager, or some default value I'll pull out my ass if we haven't heard anything yet. On compositor
initialization, we can't afford to wait for a round-trip through the GPU process to get a budget for the first
frame. I don't think handling a decrease to a non-zero budget on a visible tab needs to be terribly urgent - we
can get to it when we get to making the next frame. If we wanted to satisfy reduced texture budgets directly
from the impl thread, we could keep a priority-list ordered set of textures once we have priorities and delete
based on that. Let's worry about that later.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChangedOnImpl):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::setVisible):
(WebCore::LayerRendererChromium::setGpuMemoryAllocation):
(WebCore):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::getFramebufferPixels):

  • platform/graphics/chromium/LayerRendererChromium.h:

(WebCore):
(LayerRendererChromium):

  • platform/graphics/chromium/TextureManager.cpp:

(WebCore::TextureManager::evictAndRemoveAllDeletedTextures):
(WebCore):

  • platform/graphics/chromium/TextureManager.h:

(TextureAllocator):
(TextureManager):

  • platform/graphics/chromium/TrackingTextureAllocator.cpp:

(WebCore::TrackingTextureAllocator::createTexture):
(WebCore::TrackingTextureAllocator::deleteTexture):
(WebCore):
(WebCore::TrackingTextureAllocator::deleteAllTextures):

  • platform/graphics/chromium/TrackingTextureAllocator.h:

(TrackingTextureAllocator):

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::evictAllContentTextures):
(WebCore::CCLayerTreeHost::updateLayers):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(CCLayerTreeHost):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::commitComplete):
(WebCore::CCLayerTreeHostImpl::canDraw):
(WebCore::CCLayerTreeHostImpl::context):
(WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
(WebCore):
(WebCore::CCLayerTreeHostImpl::setMemoryAllocationLimitBytes):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

(CCLayerTreeHostImplClient):
(WebCore::CCLayerTreeHostImpl::contentsTexturesWerePurgedSinceLastCommit):
(WebCore::CCLayerTreeHostImpl::memoryAllocationLimitBytes):
(CCLayerTreeHostImpl):

  • platform/graphics/chromium/cc/CCProxy.h:

(CCProxy):

  • platform/graphics/chromium/cc/CCRenderer.h:

(CCRendererClient):

  • platform/graphics/chromium/cc/CCScheduler.cpp:

(WebCore::CCScheduler::beginFrameComplete):
(WebCore::CCScheduler::beginFrameAborted):
(WebCore):
(WebCore::CCScheduler::didSwapBuffersComplete):
(WebCore::CCScheduler::didLoseContext):
(WebCore::CCScheduler::didRecreateContext):
(WebCore::CCScheduler::vsyncTick):

  • platform/graphics/chromium/cc/CCScheduler.h:

(CCScheduler):

  • platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:

(WebCore::CCSchedulerStateMachine::beginFrameAborted):
(WebCore):

  • platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::setVisible):
(WebCore):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::commitAndComposite):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:

(CCSingleThreadProxy):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::setVisible):
(WebCore):
(WebCore::CCThreadProxy::setVisibleOnImplThread):
(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::beginFrameAbortedOnImplThread):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):

  • platform/graphics/chromium/cc/CCThreadProxy.h:

(CCThreadProxy):
(BeginFrameAndCommitState):

  • platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:

(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore::CCVideoLayerImpl::willDrawInternal):
(WebCore::CCVideoLayerImpl::FramePlane::allocateData):
(WebCore::CCVideoLayerImpl::FramePlane::freeData):
(WebCore::CCVideoLayerImpl::allocatePlaneData):
(WebCore::CCVideoLayerImpl::freePlaneData):
(WebCore::CCVideoLayerImpl::freeUnusedPlaneData):
(WebCore::CCVideoLayerImpl::didLoseContext):

  • platform/graphics/chromium/cc/CCVideoLayerImpl.h:

(FramePlane):

Source/WebKit/chromium:

Update various test fixtures and tests to cover scheduling, visibility, and resource allocation changes.

  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:

(CCLayerTreeHostTestAbortFrameWhenInvisible):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::CCLayerTreeHostTestAbortFrameWhenInvisible):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::beginTest):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::afterTest):
(WTF):
(WTF::TEST_F):
(WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
(WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
(WTF::CCLayerTreeHostTestManySurfaces::beginTest):

  • tests/CCSchedulerStateMachineTest.cpp:

(WebCore::TEST):

  • tests/CCTiledLayerTestCommon.h:
  • tests/FakeWebGraphicsContext3D.h:

(WebKit::FakeWebGraphicsContext3D::FakeWebGraphicsContext3D):
(FakeWebGraphicsContext3D):
(WebKit::FakeWebGraphicsContext3D::createTexture):

  • tests/LayerRendererChromiumTest.cpp:

(TEST_F):

  • tests/TiledLayerChromiumTest.cpp:
4:41 PM Changeset in webkit [121075] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Layout test fast/regions/get-regions-by-content-node2.html crashing intermittently
https://bugs.webkit.org/show_bug.cgi?id=89794

Unreviewed; suppressed test failure.

  • platform/chromium/TestExpectations:
4:40 PM Changeset in webkit [121074] by abarth@webkit.org
  • 2 edits
    1 add in trunk

Add support for test_expectations_android.txt for overriding test expecations on the chromium-android branch
https://bugs.webkit.org/show_bug.cgi?id=89791

Reviewed by Dirk Pranke.

Downstream, the chromium-android port maintains a test expectations
file to keep track of which tests pass or fail. That causes them to
keep a patch in chromium_android.py in their branch.

This patch teaches chromium_android.py to use test_expectations_android.txt.
We don't intend to use this file upstream, but having this code patch
upstream lets us unfork webkitpy.

  • Scripts/webkitpy/layout_tests/port/chromium_android.py:

(ChromiumAndroidPort.expectations_files):

4:32 PM Changeset in webkit [121073] by fpizlo@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

DFG tier-up should happen in prologues, not epilogues
https://bugs.webkit.org/show_bug.cgi?id=89752

Reviewed by Geoffrey Garen.

This change has two outcomes:

1) Slightly reduces the likelihood that a function will be optimized both
standalone and via inlining. Previously, if you had a call sequence like foo()
calls bar() exactly once, and nobody else calls bar(), then bar() would get
optimized first (because it returns first) and then foo() gets optimized. If foo()
can inline bar() then that means that bar() gets optimized twice. But now, if we
optimize in prologues, then foo() will be optimized first. If it inlines bar(),
that means that there will no longer be any calls to bar().

2) It lets us kill some code in JITStubs. Epilogue tier-up was very different from
loop tier-up, since epilogue tier-up should not attempt OSR. But prologue tier-up
requires OSR (albeit really easy OSR since it's the top of the compilation unit),
so it becomes just like loop tier-up. As a result, we now have one optimization
hook (cti_optimize) instead of two (cti_optimize_from_loop and
cti_optimize_from_ret).

As a consequence of not having an optimization check in epilogues, the OSR exit
code must now trigger reoptimization itself instead of just signaling the epilogue
check to fire.

This also adds the ability to count the number of DFG compilations, which was
useful for debugging this patch and might be useful for other things in the future.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::reoptimize):
(JSC):

  • bytecode/CodeBlock.h:

(CodeBlock):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGDriver.cpp:

(DFG):
(JSC::DFG::getNumCompilations):
(JSC::DFG::compile):

  • dfg/DFGDriver.h:

(DFG):

  • dfg/DFGOSRExitCompiler.cpp:

(JSC::DFG::OSRExitCompiler::handleExitCounts):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • jit/JIT.cpp:

(JSC::JIT::emitOptimizationCheck):

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

(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_ret_object_or_this):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_ret_object_or_this):
(JSC::JIT::emit_op_enter):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_enter):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jit/JITStubs.h:
4:29 PM Changeset in webkit [121072] by jchaffraix@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r116446): Crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent
https://bugs.webkit.org/show_bug.cgi?id=89785

Reviewed by Abhishek Arya.

Source/WebCore:

Test: fullscreen/full-screen-crash-offsetLeft.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
Added a NULL-check for parent() as it can be NULL in fullscreen mode. Also updated a stale
comment while touching the code.

LayoutTests:

  • fullscreen/full-screen-crash-offsetLeft-expected.html: Added.
  • fullscreen/full-screen-crash-offsetLeft.html: Added.
4:26 PM Changeset in webkit [121071] by pdr@google.com
  • 2 edits in trunk/PerformanceTests

Make SvgCubics performance test more consistent
https://bugs.webkit.org/show_bug.cgi?id=89778

Reviewed by Ryosuke Niwa.

Previously this test ran twice for each iteration, but this led to inconsistent repaints.
This change updates the test to only run once per iteration, and adds even more cubics
so that the test runs consistently in the 80ms range on my Linux desktop.

Performance results on my desktop:

RESULT SVG: SvgCubics= 80.5 ms
median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms

RESULT SVG: SvgCubics= 80.1 ms
median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms

RESULT SVG: SvgCubics= 81.45 ms
median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms

RESULT SVG: SvgCubics= 78.9 ms
median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms

  • SVG/SvgCubics.html:
4:24 PM Changeset in webkit [121070] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Notify the document if a plugin accepts touch input events
https://bugs.webkit.org/show_bug.cgi?id=89769

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-06-22
Reviewed by Adam Barth.

The browser sends touch events to webkit only if webkit has any touch-event handlers. So it is
necessary to notify the document when a plugin starts accepting touch-events so that it can in
turn tell the browser to send it touch events.

  • public/WebPluginContainer.h:

(WebPluginContainer):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::setIsAcceptingTouchEvents):
(WebKit):
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

4:16 PM Changeset in webkit [121069] by kbr@google.com
  • 20 edits
    2 deletes in trunk/Source

Unreviewed, rolling out r121064.
http://trac.webkit.org/changeset/121064
https://bugs.webkit.org/show_bug.cgi?id=88268

Broke Chromium Mac build.

Source/Platform:

  • Platform.gypi:
  • chromium/public/WebLayerTreeView.h:

(WebKit):
(WebLayerTreeView):

  • chromium/public/WebRenderingStats.h: Removed.

Source/WebCore:

  • WebCore.gypi:
  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::updateAnimations):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(WebCore):
(WebCore::CCLayerTreeHost::frameNumber):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::drawLayers):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

(WebCore::CCLayerTreeHostImpl::frameNumber):
(CCLayerTreeHostImpl):

  • platform/graphics/chromium/cc/CCProxy.h:

(WebCore):
(CCProxy):

  • platform/graphics/chromium/cc/CCRenderingStats.h: Removed.
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCThreadProxy.h:

(CCThreadProxy):

Source/WebKit/chromium:

  • public/WebView.h:

(WebKit):
(WebView):

  • src/WebLayerTreeView.cpp:
  • src/WebViewImpl.cpp:
  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestScrollSimple::layout):
(WTF::CCLayerTreeHostTestScrollMultipleRedraw::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommitAndDrawFrame):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommit):

4:13 PM Changeset in webkit [121068] by ryuan.choi@samsung.com
  • 8 edits in trunk/Source

[EFL][WK2] Support keyboard event
https://bugs.webkit.org/show_bug.cgi?id=89268

Reviewed by Chang Shu.

Source/WebCore:

Extract keyDownCommandsMap and keyPressCommandsMap to share WebKit1/Efl and WebKit2/Efl.

  • platform/efl/EflKeyboardUtilities.cpp:

(WebCore):
(WebCore::keyDownCommandsMap):
(WebCore::keyPressCommandsMap):
(KeyDownEntry):
(KeyPressEntry):
(WebCore::createKeyDownCommandMap):
(WebCore::createKeyPressCommandMap):
(WebCore::getKeyDownCommandName):
(WebCore::getKeyPressCommandName):

  • platform/efl/EflKeyboardUtilities.h:

(WebCore):

Source/WebKit/efl:

Extract keyDownCommandsMap and keyPressCommandsMap to share WebKit1/Efl and WebKit2/Efl.

  • WebCoreSupport/EditorClientEfl.cpp:

(WebCore::EditorClientEfl::interpretKeyEvent):

Source/WebKit2:

  • WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:

(WebKit::WebEditorClient::handleKeyboardEvent): Implemented default behavior.

  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::WebPage::interpretKeyEvent): Implemented like WebKit1/Efl did.

4:09 PM Changeset in webkit [121067] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Skipping this test because it's failing most of the time since
recent modifications.
https://bugs.webkit.org/show_bug.cgi?id=89790 will be used to
track fixing the real issue.

  • platform/mac/Skipped:
4:06 PM Changeset in webkit [121066] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: refactor index-writing to be more self-contained
https://bugs.webkit.org/show_bug.cgi?id=89607

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-22
Reviewed by Tony Chang.

Refactor index-writing into the IndexWriter class. Does not change
existing behavior but begins migrating index-writing logic into a
self-contained class that can eventually be used in the
frontend (renderer) side of IndexedDB.

No new tests, behavior is unchanged.

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::populateIndex):

3:58 PM Changeset in webkit [121065] by kbr@google.com
  • 2 edits in trunk/LayoutTests

[Chromium] Layout test plugins/embed-attributes-style.html failing on Mac
https://bugs.webkit.org/show_bug.cgi?id=89789

Unreviewed; disabled now-failing test.

  • platform/chromium/TestExpectations:
3:44 PM Changeset in webkit [121064] by commit-queue@webkit.org
  • 20 edits
    2 adds in trunk/Source

[chromium] Expose rendering statistics to WebWidget.
https://bugs.webkit.org/show_bug.cgi?id=88268

Patch by Dave Tu <dtu@chromium.org> on 2012-06-22
Reviewed by James Robinson.

The WebKit side of a basic framework for exposing rendering statistics
to Chromium's --enable-benchmarking extension.

Source/Platform:

  • chromium/public/WebLayerTreeView.h:

(WebRenderingStatistics):
(WebKit):
(WebLayerTreeView):

Source/WebCore:

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(WebCore::CCLayerTreeHost::implFrameNumber):

  • platform/graphics/chromium/cc/CCProxy.h:

(CCProxy):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::implFrameNumber):
(WebCore):
(WebCore::CCThreadProxy::implFrameNumberOnImplThread):

  • platform/graphics/chromium/cc/CCThreadProxy.h:

(CCThreadProxy):

Source/WebKit/chromium:

  • src/WebLayerTreeView.cpp:

(WebKit::WebLayerTreeView::renderingStatistics):
(WebKit):

3:37 PM Changeset in webkit [121063] by tony@chromium.org
  • 5 edits in trunk/LayoutTests

Fix the CSS grid layout tests added in r120984
https://bugs.webkit.org/show_bug.cgi?id=89782

Reviewed by Julien Chaffraix.

We need to call testRunner.overridePreference("WebKitCSSGridLayoutEnabled", true)
to enable grid layout in tests. These tests were passing due to other bugs in the tests.

  • fast/css-grid-layout/containing-block-grids-expected.html: Simplify expected results.
  • fast/css-grid-layout/containing-block-grids.html: Set the display to none and override it with grid/inline-grid to make sure it's applying.

The default display of block would also produce the correct results.

  • fast/css-grid-layout/floating-empty-grids-expected.html: Fix a missing close } which was causing the

other styles to be ignored. Also, one of the boxes wasn't showing up because it was a div instead of a span.

  • fast/css-grid-layout/floating-empty-grids.html: Same fixes as for expected.
3:30 PM Changeset in webkit [121062] by Michael Nordman
  • 2 edits in trunk/LayoutTests

ApplicationCache - verify that an open network whitelist doesn't break online vs fallback layering.
https://bugs.webkit.org/show_bug.cgi?id=89714

An explicit online network namespace should trump a fallback namespace, the fallback should not be used.
Chrome had a bug where if a '*' was in the NETWORK section, explicit entries got ignored, and that
expected behavior was botched. See http://code.google.com/p/chromium/issues/detail?id=133816 for more
details about the chrome bug and code change this LayoutTest aims to verify.

Reviewed by Tony Chang.

  • http/tests/appcache/resources/online-fallback-layering.manifest:
3:25 PM Changeset in webkit [121061] by dpranke@chromium.org
  • 3 edits in trunk/Tools

run_webkit_tests.py failed with AttributeError(NoneType' object has no attribute 'pid)
https://bugs.webkit.org/show_bug.cgi?id=89734

Reviewed by Ryosuke Niwa.

Fix a crash in ServerProcess if you called .pid() after it
crashed during a write(). We had a test for this case but the
test wasn't calling pid(), just has_crashed(). Fixed the problem
and the test.

  • Scripts/webkitpy/layout_tests/port/server_process.py:

(ServerProcess.init):
(ServerProcess.pid):
(ServerProcess._start):
(ServerProcess.stop):

  • Scripts/webkitpy/layout_tests/port/server_process_unittest.py:

(FakeServerProcess._start):
(TestServerProcess.test_broken_pipe):

3:24 PM Changeset in webkit [121060] by shawnsingh@chromium.org
  • 4 edits in trunk/Source

[chromium] Do not accumulate occlusion from 3d layers on the main thread
https://bugs.webkit.org/show_bug.cgi?id=89704

Reviewed by James Robinson.

Source/WebCore:

Layer iterators on the main thread may not iterate over 3d layers
in correct front-to-back or back-to-front order, because layer
sorting is not performed on the main thread. As a result,
occlusion tracking can accidentally think something is occluded if
a 3d layer is processed out of order. This patch choses to solve
this by avoiding accumulating occlusion for 3d layers. It may be
appropriate later to consider adding layer sorting on the main
thread, but for now that seemed like an unnecessary heavy-handed
approach.

In addition to a new unit test that covers this, other unit tests
were changed to work on the impl thread, so that the 3d layers
still accumulate occlusion as required.

Unit test added to CCOcclusionTrackerTest:

CCOcclusionTrackerTestUnsorted3dLayers

  • platform/graphics/chromium/cc/CCOcclusionTracker.cpp:

(WebCore::layerIsInUnsorted3dRenderingContext):
(WebCore):
(WebCore::::markOccludedBehindLayer):

Source/WebKit/chromium:

  • tests/CCOcclusionTrackerTest.cpp:

(WebKitTests::CCOcclusionTrackerTest::calcDrawEtc):
(WebKitTests):
(CCOcclusionTrackerTestUnsorted3dLayers):
(WebKitTests::CCOcclusionTrackerTestUnsorted3dLayers::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect::runMyTest):

3:09 PM Changeset in webkit [121059] by jsbell@chromium.org
  • 26 edits
    5 adds in trunk

IndexedDB: Snapshot metadata in front end to avoid IPC round-trips
https://bugs.webkit.org/show_bug.cgi?id=88467

Reviewed by Tony Chang.

Source/WebCore:

Define a new type (IDBDatabaseMetadata) that captures the "schema" of an
IDB database (name, version, properties of stores, properties of indexes).
Add a method for the front end to request this from the back end once up
front to avoid later calls (which may be slow IPC calls in ports). Implement
IDB spec logic that the metadata should be frozen for a particular IDBDatabase
connection, and only change within a version change transaction, and the spec's
funky requirement for aborted version change transactions.

Test: storage/indexeddb/metadata.html

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::IDBDatabase): Fetch metadata from back end when connection is created.
(WebCore::IDBDatabase::transactionCreated):
(WebCore::IDBDatabase::transactionFinished): Update metadata at the end of a transaction in
case it was rolled back.
(WebCore::IDBDatabase::objectStoreNames): Move implementation to front-end.
(WebCore):
(WebCore::IDBDatabase::createObjectStore): Update local copy of metadata.
(WebCore::IDBDatabase::deleteObjectStore): Update local copy of metadata.

  • Modules/indexeddb/IDBDatabase.h:

(WebCore::IDBDatabase::name): Move implementation to front-end.
(WebCore::IDBDatabase::version): Move implementation to front-end.
(IDBDatabase):
(WebCore::IDBDatabase::metadata):

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::metadata): Construct a metadata snapshot.
(WebCore):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h:

(WebCore):
(IDBDatabaseBackendInterface):

  • Modules/indexeddb/IDBIndex.cpp: Store a copy of the metadata, which will never

change during the lifetime of the index.
(WebCore::IDBIndex::IDBIndex):

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::create):
(WebCore::IDBIndex::name): Move implementation to front-end.
(WebCore::IDBIndex::objectStore): Return RefPtr (unrelated tidying).
(WebCore::IDBIndex::keyPath): Move implementation to front-end.
(WebCore::IDBIndex::unique): Move implementation to front-end.
(WebCore::IDBIndex::multiEntry): Move implementation to front-end.
(IDBIndex):

  • Modules/indexeddb/IDBIndexBackendImpl.cpp:

(WebCore::IDBIndexBackendImpl::metadata): Construct a metadata snapshot.
(WebCore):

  • Modules/indexeddb/IDBIndexBackendImpl.h:

(IDBIndexBackendImpl):

  • Modules/indexeddb/IDBMetadata.h: Added new structs.

(WebCore):
(WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
(IDBDatabaseMetadata):
(WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
(IDBObjectStoreMetadata):
(WebCore::IDBIndexMetadata::IDBIndexMetadata):
(IDBIndexMetadata):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::IDBObjectStore): Store a "live" copy of the metadata, and
and copy in case of an aborted version change transaction.
(WebCore::IDBObjectStore::indexNames): Move implementation to front-end.
(WebCore::IDBObjectStore::createIndex): Update metadata to include new index.
(WebCore::IDBObjectStore::index): Pass along metadata to instance constructor.
(WebCore::IDBObjectStore::deleteIndex): Delete index from metadata.

  • Modules/indexeddb/IDBObjectStore.h:

(WebCore::IDBObjectStore::create):
(WebCore::IDBObjectStore::name): Move implementation to front-end.
(WebCore::IDBObjectStore::keyPath): Move implementation to front-end.
(WebCore::IDBObjectStore::transaction): Return RefPtr (unrelated tidying).
(WebCore::IDBObjectStore::autoIncrement): Move implementation to front-end.
(WebCore::IDBObjectStore::metadata): Allow copying the metadata, in case of abort.
(WebCore::IDBObjectStore::resetMetadata): Allow setting the metadata, in case of abort.
(IDBObjectStore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::metadata): Construct a metadata snapshot.
(WebCore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.h:

(WebCore):
(IDBObjectStoreBackendImpl):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::objectStore): Pass along metadata to instance constructor.
(WebCore::IDBTransaction::objectStoreCreated): Track stores changed during transaction.
(WebCore::IDBTransaction::objectStoreDeleted):Track stores changed during transaction.
(WebCore::IDBTransaction::onAbort): Revert stores metadata potentially changed during transaction.

  • Modules/indexeddb/IDBTransaction.h:

(IDBTransaction):

  • WebCore.gypi:

Source/WebKit/chromium:

Add conversions to/from WebCore IDB metadata type and plumbing for routing the
IDBDatabaseBackendInterface::metadata() call through the public API..

  • WebKit.gyp: New file added.
  • public/WebIDBMetadata.h: Conversion functions.

(WebCore):
(WebIDBMetadata):

  • src/IDBDatabaseBackendProxy.cpp: Plumbing.

(WebKit::IDBDatabaseBackendProxy::metadata):
(WebKit):

  • src/IDBDatabaseBackendProxy.h: Plumbing.

(IDBDatabaseBackendProxy):

  • src/WebIDBDatabaseImpl.cpp: Plumbing.

(WebKit::WebIDBDatabaseImpl::metadata):
(WebKit):

  • src/WebIDBDatabaseImpl.h: Plumbing.

(WebKit):
(WebIDBDatabaseImpl):

  • src/WebIDBMetadata.cpp: Added - conversion functions.

(WebKit):
(WebKit::WebIDBMetadata::WebIDBMetadata):
(WebKit::WebIDBMetadata::operator IDBDatabaseMetadata):

LayoutTests:

  • storage/indexeddb/metadata-expected.txt: Added.
  • storage/indexeddb/metadata.html: Added.
  • storage/indexeddb/resources/metadata.js: Added.

(test):
(firstOpen.request.onsuccess.request.onsuccess.trans.oncomplete):
(firstOpen.request.onsuccess.request.onsuccess):
(firstOpen.request.onsuccess):
(firstOpen):
(secondOpen.request.onsuccess.request.onsuccess.trans.oncomplete):
(secondOpen.request.onsuccess.request.onsuccess):
(secondOpen.request.onsuccess):
(secondOpen):
(thirdOpen.request.onsuccess.request.onsuccess.trans.onabort):
(thirdOpen.request.onsuccess.request.onsuccess):
(thirdOpen.request.onsuccess):
(thirdOpen):
(fourthOpen.request.onsuccess.request.onsuccess.trans.oncomplete):
(fourthOpen.request.onsuccess.request.onsuccess):
(fourthOpen.request.onsuccess):
(fourthOpen):
(checkState):

2:42 PM Changeset in webkit [121058] by mhahnenberg@apple.com
  • 121 edits in trunk/Source

JSLock should be per-JSGlobalData
https://bugs.webkit.org/show_bug.cgi?id=89123

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • API/APIShims.h:

(APIEntryShimWithoutLock):
(JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): Added an extra parameter to the constructor to
determine whether we should ref the JSGlobalData or not. We want to ref all the time except for in the
HeapTimer class because timerDidFire could run after somebody has started to tear down that particular
JSGlobalData, so we wouldn't want to resurrect the ref count of that JSGlobalData from 0 back to 1 after
its destruction has begun.
(JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock): Now derefs if it also refed.
(JSC::APIEntryShim::APIEntryShim):
(APIEntryShim):
(JSC::APIEntryShim::~APIEntryShim):
(JSC::APIEntryShim::init): Factored out common initialization code for the various APIEntryShim constructors.
Also moved the timeoutChecker stop and start here because we need to start after we've grabbed the API lock
and before we've released it, which can only done in APIEntryShim.
(JSC::APICallbackShim::~APICallbackShim): We no longer need to synchronize here.

  • API/JSContextRef.cpp:

(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):
(JSGlobalContextRelease):
(JSContextCreateBacktrace):

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::tryAllocateSlowCase):

  • heap/Heap.cpp:

(JSC::Heap::protect):
(JSC::Heap::unprotect):
(JSC::Heap::collect):
(JSC::Heap::setActivityCallback):
(JSC::Heap::activityCallback):
(JSC::Heap::sweeper):

  • heap/Heap.h: Changed m_activityCallback and m_sweeper to be raw pointers rather than OwnPtrs because they

are now responsible for their own lifetime. Also changed the order of declaration of the GCActivityCallback
and the IncrementalSweeper to make sure they're the last things that get initialized during construction to
prevent any issues with uninitialized memory in the JSGlobalData/Heap they might care about.
(Heap):

  • heap/HeapTimer.cpp: Refactored to allow for thread-safe operation and shutdown.

(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::invalidate):
(JSC):
(JSC::HeapTimer::didStartVMShutdown): Called at the beginning of ~JSGlobalData. If we're on the same thread
that the HeapTimer is running on, we kill the HeapTimer ourselves. If not, then we set some state in the
HeapTimer and schedule it to fire immediately so that it can notice and kill itself.
(JSC::HeapTimer::timerDidFire): We grab our mutex and check our JSGlobalData pointer. If it has been zero-ed
out, then we know the VM has started to shutdown and we should kill ourselves. Otherwise, grab the APIEntryShim,
but without ref-ing the JSGlobalData (we don't want to bring the JSGlobalData's ref-count from 0 to 1) in case
we were interrupted between releasing our mutex and trying to grab the APILock.

  • heap/HeapTimer.h:

(HeapTimer):

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doWork): We no longer need the API shim here since HeapTimer::timerDidFire handles
all of that for us.
(JSC::IncrementalSweeper::create):

  • heap/IncrementalSweeper.h:

(IncrementalSweeper):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase):

  • heap/WeakBlock.cpp:

(JSC::WeakBlock::reap):

  • jsc.cpp:

(functionGC):
(functionReleaseExecutableMemory):
(jscmain):

  • runtime/Completion.cpp:

(JSC::checkSyntax):
(JSC::evaluate):

  • runtime/GCActivityCallback.h:

(DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::create):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData): Signals to the two HeapTimers (GCActivityCallback and IncrementalSweeper)
that the VM has started shutting down. It then waits until the HeapTimer is done with whatever activity
it needs to do before continuing with any further destruction. Also asserts that we do not currently hold the
APILock because this could potentially cause deadlock when we try to signal to the HeapTimers using their mutexes.
(JSC::JSGlobalData::sharedInstance): Protect the initialization for the shared instance with the GlobalJSLock.
(JSC::JSGlobalData::sharedInstanceInternal):

  • runtime/JSGlobalData.h: Change to be ThreadSafeRefCounted so that we don't have to worry about refing and

de-refing JSGlobalDatas on separate threads since we don't do it that often anyways.
(JSGlobalData):
(JSC::JSGlobalData::apiLock):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::init):

  • runtime/JSLock.cpp:

(JSC):
(JSC::GlobalJSLock::GlobalJSLock): For accessing the shared instance.
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::JSLockHolder::JSLockHolder): MutexLocker for JSLock. Also refs the JSGlobalData to keep it alive so that
it can successfully unlock it later without it disappearing from underneath it.
(JSC::JSLockHolder::~JSLockHolder):
(JSC::JSLock::JSLock):
(JSC::JSLock::~JSLock):
(JSC::JSLock::lock): Uses the spin lock for guarding the lock count and owner thread fields. Uses the mutex for
actually waiting for long periods.
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:

(JSC):
(GlobalJSLock):
(JSLockHolder):
(JSLock):
(DropAllLocks):

  • runtime/WeakGCMap.h:

(JSC::WeakGCMap::set):

  • testRegExp.cpp:

(realMain):

Source/WebCore:

No new tests. Current regression tests are sufficient.

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • bindings/js/GCController.cpp:

(WebCore::collect):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectNow):
(WebCore::GCController::discardAllCompiledCode):

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:

(WebCore::JSSQLStatementErrorCallback::handleEvent):

  • bindings/js/JSCustomVoidCallback.cpp:

(WebCore::JSCustomVoidCallback::handleEvent):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::inspectedObject):

  • bindings/js/JSInjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::createInjectedScript):
(WebCore::InjectedScriptManager::canAccessInspectedWindow):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::evaluate):

  • bindings/js/JSMutationCallbackCustom.cpp:

(WebCore::JSMutationCallback::handleEvent):

  • bindings/js/JSNodeFilterCondition.cpp:

(WebCore::JSNodeFilterCondition::acceptNode):

  • bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:

(WebCore::JSRequestAnimationFrameCallback::handleEvent):

  • bindings/js/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::evaluate):

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::recompileAllJSFunctions):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
(WebCore::ScriptCachedFrameData::clear):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::cacheableBindingRootObject):
(WebCore::ScriptController::bindingRootObject):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::jsObjectForPluginElement):
(WebCore::ScriptController::clearScriptObjects):

  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::windowScriptObject):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::dispatchDidPause):

  • bindings/js/ScriptEventListener.cpp:

(WebCore::eventListenerHandlerBody):
(WebCore::eventListenerHandlerLocation):

  • bindings/js/ScriptFunctionCall.cpp:

(WebCore::ScriptCallArgumentHandler::appendArgument):
(WebCore::ScriptFunctionCall::call):
(WebCore::ScriptFunctionCall::construct):
(WebCore::ScriptCallback::call):

  • bindings/js/ScriptObject.cpp:

(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):

  • bindings/js/ScriptValue.cpp:

(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toInspectorValue):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController):
(WebCore::WorkerScriptController::initScript):
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::disableEval):

  • bindings/objc/WebScriptObject.mm:

(_didExecute):
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject _setOriginRootObject:andRootObject:]):
(-[WebScriptObject dealloc]):
(-[WebScriptObject finalize]):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject stringRepresentation]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackImplementation):

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::callbackWithNoParam):
(WebCore::JSTestCallback::callbackWithClass1Param):
(WebCore::JSTestCallback::callbackWithClass2Param):
(WebCore::JSTestCallback::callbackWithStringList):
(WebCore::JSTestCallback::callbackWithBoolean):
(WebCore::JSTestCallback::callbackRequiresThisToPass):

  • bridge/NP_jsobject.cpp:

(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):

  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::~CClass):
(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::getPropertyNames):

  • bridge/c/c_runtime.cpp:

(JSC::Bindings::CField::valueFromInstance):
(JSC::Bindings::CField::setValueToInstance):

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertValueToNPVariant):
(JSC::Bindings::convertNPVariantToValue):

  • bridge/jni/jni_jsobject.mm:

(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::getSlot):
(JavaJSObject::setSlot):
(JavaJSObject::toString):
(JavaJSObject::convertValueToJObject):
(JavaJSObject::convertJObjectToValue):

  • bridge/jni/jni_objc.mm:

(JSC::Bindings::dispatchJNICall):

  • bridge/jni/jsc/JNIUtilityPrivate.cpp:

(JSC::Bindings::convertValueToJValue):

  • bridge/jni/jsc/JavaClassJSC.cpp:

(JavaClass::JavaClass):
(JavaClass::~JavaClass):

  • bridge/jni/jsc/JavaInstanceJSC.cpp:

(JavaInstance::stringValue):

  • bridge/jni/jsc/JavaMethodJSC.cpp:

(appendClassName):
(JavaMethod::signature):

  • bridge/jni/jsc/JavaStringJSC.h:

(JSC::Bindings::JavaString::JavaString):
(JSC::Bindings::JavaString::~JavaString):
(JSC::Bindings::JavaString::utf8):
(JSC::Bindings::JavaString::init):

  • bridge/jsc/BridgeJSC.cpp:

(JSC::Bindings::Instance::createRuntimeObject):
(JSC::Bindings::Instance::newRuntimeObject):

  • bridge/objc/objc_instance.mm:

(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):
(ObjcInstance::setValueOfUndefinedField):
(ObjcInstance::getValueOfUndefinedField):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertValueToObjcValue):
(JSC::Bindings::convertNSStringToString):
(JSC::Bindings::convertObjcValueToValue):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::getQtInstance):
(JSC::Bindings::QtInstance::newRuntimeObject):

  • bridge/qt/qt_pixmapruntime.cpp:

(JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):

  • bridge/qt/qt_runtime_qt4.cpp:

(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::notifyFinished):

  • plugins/PluginView.cpp:

(WebCore::PluginView::start):
(WebCore::PluginView::stop):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::npObject):
(WebCore::PluginView::privateBrowsingStateChanged):

  • plugins/blackberry/PluginViewBlackBerry.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::getWindowInfo):

  • plugins/efl/PluginViewEfl.cpp:

(WebCore::PluginView::dispatchNPEvent):

  • plugins/gtk/PluginViewGtk.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/mac/PluginViewMac.mm:

(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::dispatchNPEvent):

  • plugins/qt/PluginViewQt.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/win/PluginViewWin.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

Source/WebKit/blackberry:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::clearMemoryCaches):

  • WebCoreSupport/ClientExtension.cpp:
  • WebCoreSupport/PagePopupBlackBerry.cpp:

(WebCore::PagePopupBlackBerry::installDomFunction):

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):

Source/WebKit/efl:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • ewk/ewk_frame.cpp:

(ewk_frame_script_execute):

  • ewk/ewk_view.cpp:

(ewk_view_js_object_add):

Source/WebKit/gtk:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::gcCountJavascriptObjects):

Source/WebKit/mac:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • DOM/WebDOMOperations.mm:

(JSC):

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics memoryStatistics]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::wantsAllStreams):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView privateBrowsingModeDidChange]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView getFormValue:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView _printedPluginBitmap]):

  • Plugins/WebPluginController.mm:

(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController stopOnePlugin:]):
(-[WebPluginController destroyOnePlugin:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController addPlugin:]):

  • WebView/WebFrame.mm:

(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):

  • WebView/WebScriptDebugDelegate.mm:

(-[WebScriptCallFrame scopeChain]):
(-[WebScriptCallFrame evaluateWebScript:]):

  • WebView/WebView.mm:

(+[WebView _reportException:inContext:]):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView _computedStyleIncludingVisitedInfo:forElement:]):

Source/WebKit/qt:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • Api/qwebframe.cpp:

(QWebFramePrivate::addQtSenderToGlobalObject):
(QWebFrame::addToJavaScriptWindowObject):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::injectInternalsObject):
(DumpRenderTreeSupportQt::resetInternalsObject):

Source/WebKit/win:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • WebCoreStatistics.cpp:

(WebCoreStatistics::javaScriptObjectsCount):
(WebCoreStatistics::javaScriptGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectsCount):
(WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectTypeCounts):

  • WebFrame.cpp:

(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):

  • WebJavaScriptCollector.cpp:

(WebJavaScriptCollector::objectCount):

  • WebView.cpp:

(WebView::stringByEvaluatingJavaScriptFromString):
(WebView::reportException):
(WebView::elementFromJS):

Source/WebKit2:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • Shared/mac/WebMemorySampler.mac.mm:

(WebKit::WebMemorySampler::sampleWebKit):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::javaScriptObjectsCount):
(WebKit::InjectedBundle::reportException):

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
(WebKit::NPJSObject::construct):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::jsWrapperForWorld):
(WebKit::WebFrame::computedStyleIncludingVisitedInfo):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::getWebCoreStatistics):

2:28 PM Changeset in webkit [121057] by fsamuel@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[Chromium] Browser Plugin: Expose advanceFocus to WebKit API so that guests can advance focus of theirs embedders
https://bugs.webkit.org/show_bug.cgi?id=88827

Reviewed by Darin Fisher.

A browser plugin needs to be able to tells its embedder when the guest
is done tabbing through controls and wants its embedder to advance its
tab position.

  • public/WebView.h:

(WebView):
(WebKit::WebView::advanceFocus):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::advanceFocus):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

1:59 PM Changeset in webkit [121056] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

editing/spelling/grammar-edit-word.html fails on WK2 bots
https://bugs.webkit.org/show_bug.cgi?id=89199

  • platform/mac-wk2/Skipped:
1:45 PM Changeset in webkit [121055] by commit-queue@webkit.org
  • 20 edits in trunk

[Chromium] Change implementing a fast-path for copying GPU-accelerated Canvas2D instances to WebGL textures.
https://bugs.webkit.org/show_bug.cgi?id=86275

This change adds the necessary plumbing to the various rendering contexts to copy the backing store texture of
a Canvas2D instance to be copied to a WebGL texture. The GL_CHROMIUM_copy_texture extension is necessary
because the backing-store for a GPU-accelerated skia Canvas2D is normally in BGRA format, which is not supported
by glCopyTexImage.

Patch by Jeff Timanus <twiz@chromium.org> on 2012-06-22
Reviewed by Kenneth Russell.

Source/Platform:

  • chromium/public/WebGraphicsContext3D.h:

(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::copyTextureCHROMIUM):

Source/WebCore:

Test: fast/canvas/webgl/*

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::texImage2D):

  • platform/chromium/support/Extensions3DChromium.cpp:

(WebCore::Extensions3DChromium::copyTextureCHROMIUM):
(WebCore):

  • platform/graphics/Extensions3D.h:

(Extensions3D):

  • platform/graphics/ImageBuffer.cpp:

(WebCore):
(WebCore::ImageBuffer::copyToPlatformTexture):

  • platform/graphics/ImageBuffer.h:

(WebCore):
(ImageBuffer):

  • platform/graphics/chromium/Canvas2DLayerBridge.cpp:

(WebCore::Canvas2DLayerBridge::backBufferTexture):
(WebCore):

  • platform/graphics/chromium/Canvas2DLayerBridge.h:

(Canvas2DLayerBridge):

  • platform/graphics/chromium/Extensions3DChromium.h:

(Extensions3DChromium):

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::copyTextureCHROMIUM):
(WebCore):

  • platform/graphics/opengl/Extensions3DOpenGL.h:

(Extensions3DOpenGL):

  • platform/graphics/qt/Extensions3DQt.cpp:

(WebCore::Extensions3DQt::copyTextureCHROMIUM):
(WebCore):

  • platform/graphics/qt/Extensions3DQt.h:

(Extensions3DQt):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::ImageBuffer::copyToPlatformTexture):
(WebCore):

Source/WebKit/chromium:

  • DEPS: Rolled chromium to 143630 to fix chromium-linux ews failures.

LayoutTests:

  • platform/chromium/TestExpectations: Temporarily suppressed layout test, fast/canvas/webgl/gl-teximage.html until a rebaseline can be submitted.
1:37 PM Changeset in webkit [121054] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Layout Test media/event-attributes.html is failing
https://bugs.webkit.org/show_bug.cgi?id=73692

Unreviewed test expectations update; mark test as occasionally
crashing as well.

  • platform/chromium/TestExpectations:
1:28 PM Changeset in webkit [121053] by commit-queue@webkit.org
  • 23 edits in trunk/Source

Add url to supportsType
https://bugs.webkit.org/show_bug.cgi?id=89514

Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2012-06-22
Reviewed by Eric Carlson.

No new tests since there's no change on code behavior.

When a blob is created as the address for a Media Stream, the MediaEngine
will ask it's players if they support that media. However, a player built
for MediaStream needs to know to URL to decide if it's supported or not.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::canPlayType):
(WebCore::HTMLMediaElement::selectNextSourceChild):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(MediaPlayerFactory):
(WebCore::MediaPlayerFactory::MediaPlayerFactory):
(WebCore):
(WebCore::textPlain):
(WebCore::bestMediaEngineForTypeAndCodecs):
(WebCore::MediaPlayer::load):
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::paint):
(WebCore::MediaPlayer::supportsType):

  • platform/graphics/MediaPlayer.h:

(WebCore):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::supportsType):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:

(MediaPlayerPrivateAVFoundationCF):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:

(MediaPlayerPrivateAVFoundationObjC):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::supportsType):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:

(MediaPlayerPrivate):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:

(MediaPlayerPrivateQTKit):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::supportsType):

  • platform/graphics/qt/MediaPlayerPrivateQt.cpp:

(WebCore::MediaPlayerPrivateQt::supportsType):

  • platform/graphics/qt/MediaPlayerPrivateQt.h:

(MediaPlayerPrivateQt):

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsType):

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:

(MediaPlayerPrivateQuickTimeVisualContext):

  • platform/graphics/wince/MediaPlayerPrivateWinCE.h:

(MediaPlayerPrivate):

1:26 PM Changeset in webkit [121052] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

fast/canvas/canvas-createImageData.html crashes on Lion WK2 Debug bot
https://bugs.webkit.org/show_bug.cgi?id=89780

  • platform/mac-wk2/Skipped: Add to skipped list for wk2.
1:10 PM Changeset in webkit [121051] by commit-queue@webkit.org
  • 10 edits in trunk

[BlackBerry] Sanitize GLSL code using ANGLE.

BlackBerry port does not sanitize GLSL code with ANGLE
https://bugs.webkit.org/show_bug.cgi?id=89583

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-06-22
Reviewed by Rob Buis.

.:

  • Source/cmake/OptionsBlackBerry.cmake: Include ANGLE openGL headers as system headers in BlackBerry port.

Source/ThirdParty/ANGLE:

  • src/compiler/osinclude.h: Recognises QNX as POSIX

Source/WebCore:

No new tests are required.

  • CMakeLists.txt: Added ANGLE requirment for CMake builds with WEBGL
  • platform/graphics/ANGLEWebKitBridge.h: Added include for ANGLE/ShaderLang.h in BlackBerry platform.
  • platform/graphics/GraphicsContext3D.h: Added include for ANGLEWebKitBridge.h in BlackBerry platform.

Source/WebKit:

  • PlatformBlackBerry.cmake: Add ANGLE sources to BlackBerry builds.
1:06 PM Changeset in webkit [121050] by mitz@apple.com
  • 3 edits
    2 adds in trunk

RenderText’s minimum preferred width is incorrect when soft hyphens are used
https://bugs.webkit.org/show_bug.cgi?id=89775

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/text/soft-hyphen-min-preferred-width.html

  • rendering/RenderText.cpp:

(WebCore::hyphenWidth): Added this helper function.
(WebCore::RenderText::computePreferredLogicalWidths): In places where this function tests
for the soft hyphen character, added a check that the 'hyphens' style property is not set
to 'none', because in that case soft hyphens are not break opportunities. Also added an
explicit check to suppress break opportunities from isBreakable() if the occur after a
soft hyphen and 'hyphens' is set to 'none'. Finally, when measuring text up to a potential
line break, added the width of the hyphen string when needed.

LayoutTests:

  • fast/text/soft-hyphen-min-preferred-width-expected.html: Added.
  • fast/text/soft-hyphen-min-preferred-width.html: Added.
12:16 PM Changeset in webkit [121049] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Tap highlight fade animations are added to overlay continuously during pinch zoom.
https://bugs.webkit.org/show_bug.cgi?id=89772

Patch by Andrew Lo <anlo@rim.com> on 2012-06-22
Reviewed by Antonio Gomes.

When pinch zooming, DefaultTapHighlight::hide is continuously
called from the UI thread. This resulted in fade animations being
created and added to the override overlay continuously.

This patch moves the m_visible check so that it applies for both
threads.

Internal PR164183

  • WebKitSupport/DefaultTapHighlight.cpp:

(BlackBerry::WebKit::DefaultTapHighlight::draw):
(BlackBerry::WebKit::DefaultTapHighlight::hide):

  • WebKitSupport/DefaultTapHighlight.h:

(DefaultTapHighlight):

12:10 PM Changeset in webkit [121048] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

BitmapImage duplicates code to calculate size
https://bugs.webkit.org/show_bug.cgi?id=89728
<rdar://problem/11724321>

Reviewed by Darin Adler.

Add a new updateSize method to BitmapImage that
avoids duplication in the size and
sizeRespectingOrientation methods.

No new tests needed.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::updateSize): new method that will set
m_size and m_sizeRespectingOrientation if necessary.
(WebCore):
(WebCore::BitmapImage::size):
(WebCore::BitmapImage::sizeRespectingOrientation): these each
now call updateSize rather than duplicate the update code.

  • platform/graphics/BitmapImage.h:

(BitmapImage):

11:55 AM Changeset in webkit [121047] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

[V8] Clean up visitDOMWrapper code
https://bugs.webkit.org/show_bug.cgi?id=89774

Reviewed by Tony Chang.

This moves the check if domWrapperVisitorFunction is null into a function of the WrapperTypeInfo struct.
This is so that users of WrapperTypeInfo does not need to know about the inner details of the struct.
It also makes things more consistent since the other fields in the struct have these kind of functions.

This is a follow up change to http://trac.webkit.org/changeset/120854.

No new tests. Covered by existing tests.

  • bindings/v8/V8GCController.cpp:

(WebCore::GrouperVisitor::visitDOMWrapper): Call WrapperTypeInfo::visitDOMWrapper instead.

  • bindings/v8/WrapperTypeInfo.h:

(WrapperTypeInfo):
(WebCore::WrapperTypeInfo::visitDOMWrapper): If domWrapperVisitorFunction is non null call it.

11:47 AM Changeset in webkit [121046] by caseq@chromium.org
  • 5 edits in trunk

Web Inspector: ExtensionPanel.onSearch listener doesn't work
https://bugs.webkit.org/show_bug.cgi?id=89517

Patch by Jan Keromnes <janx@linux.com> on 2012-06-22
Reviewed by Yury Semikhatsky.

Source/WebCore:

Added a test to see if listener fires on search:
LayoutTests/inspector/extensions/extensions-panel.html

  • inspector/front-end/ExtensionPanel.js:

(WebInspector.ExtensionPanel.prototype.searchCanceled):
(WebInspector.ExtensionPanel.prototype.performSearch):
(WebInspector.ExtensionPanel.prototype.jumpToNextSearchResult):
(WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):

LayoutTests:

  • inspector/extensions/extensions-panel-expected.txt:
  • inspector/extensions/extensions-panel.html:
11:40 AM Changeset in webkit [121045] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Set WebSecurityEnabled flag accordingly.
https://bugs.webkit.org/show_bug.cgi?id=89602

Patch by Yong Li <yoli@rim.com> on 2012-06-22
Reviewed by Rob Buis.

Disable web security checks if needed.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::init):
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

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

Increase the GrContext texture cache count cap to 2K
https://bugs.webkit.org/show_bug.cgi?id=89761

Patch by Brian Salomon <bsalomon@google.com> on 2012-06-22
Reviewed by Stephen White.

Tests: The change is for performance. The code is exercised by all the canvas 2d layout tests.

  • platform/chromium/support/GraphicsContext3DPrivate.cpp:
11:25 AM Changeset in webkit [121043] by commit-queue@webkit.org
  • 18 edits in trunk

[Chromium] Adjust the displayed elements of the new Chrome media controls.
https://bugs.webkit.org/show_bug.cgi?id=89416

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-22
Reviewed by Eric Carlson.

Source/WebCore:

No new tests - existing media tests cover these cases.

Remove the volume slider for videos without audio or media resource.
Display the transport bar for videos without a media resource.
Don't show the fullscreen button for

  • html/shadow/MediaControlRootElementChromium.cpp:

(WebCore::MediaControlRootElementChromium::reset):
Don't display volume slider if media controller has no audio.
Don't display fullscreen button if media controller supportsFullscreen().
(WebCore::MediaControlRootElementChromium::reportedError):
Don't hide the timeline for failed videos, e.g. where the resource doesn't load.

LayoutTests:

  • platform/chromium/TestExpectations:

Skipping a test temporarily for win and mac until rebaseline.

11:22 AM Changeset in webkit [121042] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Elements] Right-clicking on whitespace should show the same context menu as right-clicking on the tag text
https://bugs.webkit.org/show_bug.cgi?id=89766

Reviewed by Vsevolod Vlasov.

Explicitly check for the TreeElement.representedObject's nodeType()
rather than for the event target's enclosing element class.
Drive-by: do not consider the "collapsed node has children" ellipsis as a text node.

  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeOutline.prototype.populateContextMenu):

11:19 AM Changeset in webkit [121041] by fmalita@chromium.org
  • 3 edits
    2 adds in trunk

REGRESSION (Safari 5.1.5 - ToT): Crash in RenderSVGRoot::computeReplacedLogicalWidth
https://bugs.webkit.org/show_bug.cgi?id=85797

Reviewed by Darin Adler.

Source/WebCore:

Test: svg/custom/svg-width-intrinsic-crash.html

RenderSVGRoot::computeReplacedLogicalWidth assumes that if
SVGSVGElement::widthAttributeEstablishesViewport returns false, the
SVG must be embedded via <object>. This is not always the case, though:
widthAttributeEstablishesViewport can also return false for inline
SVG if it doesn't have a replaced logical width.

Updated computeReplacedLogical{Width,Height} to handle the
!widthAttributeEstablishesViewport && !isEmbeddedThroughFrameContainingSVGDocument
case gracefully.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):

LayoutTests:

  • svg/custom/svg-width-intrinsic-crash-expected.txt: Added.
  • svg/custom/svg-width-intrinsic-crash.html: Added.
11:10 AM Changeset in webkit [121040] by hayato@chromium.org
  • 4 edits in trunk

Modify event re-targeting algorithm so that we can tell which distributed node is clicked.
https://bugs.webkit.org/show_bug.cgi?id=89073

Reviewed by Dimitri Glazkov.

Source/WebCore:

Re-landing r120945 since bug 89172 was resolved.

Adopt a new event re-targeting algorithm in the latest Shadow DOM spec.
The corresponding bug in the shadow DOM spec is:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17090

This change is introduced to handle the following use case:

  1. There is an insertion point, with zero or more nodes distributed into it.
  2. User clicks on one of the items.
  3. The event handler in shadow DOM subtree wants to know which item was clicked on.

The new re-targeting algorithm sets an event's target to a
distributed node where an event was originally fired, instead of
an insertion point to where the node is distributed.

The similar re-targeting algorithm also applies to an event's
relatedTarget.

Test: fast/dom/shadow/shadow-dom-event-dispatching.html

  • dom/EventDispatcher.cpp:

(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventDispatcher::ensureEventAncestors):

LayoutTests:

  • fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
11:07 AM Changeset in webkit [121039] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed follow-up to r121030, fix display of "Duration" in timeline event details popup.

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):

10:50 AM Changeset in webkit [121038] by Lucas Forschler
  • 4 edits in branches/safari-536-branch/Source

Versioning.

10:47 AM Changeset in webkit [121037] by Lucas Forschler
  • 1 copy in tags/Safari-536.23

New Tag.

10:42 AM Changeset in webkit [121036] by kbr@google.com
  • 7 edits
    1 delete in trunk/Source

Unreviewed, rolling out r121025.
http://trac.webkit.org/changeset/121025
https://bugs.webkit.org/show_bug.cgi?id=89580

Caused crash in
EventHandler.shouldTurnVerticalTicksIntoHorizontal webkit unit
test on 10.7

Source/WebCore:

  • page/EventHandler.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:

(EventHandler):

  • page/chromium/EventHandlerChromium.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/EventHandlerTest.cpp: Removed.
10:40 AM Changeset in webkit [121035] by apavlov@chromium.org
  • 2 edits in branches/chromium/1180/Source/WebCore/platform

Merge 120850 - Regression(r116408): Ctrl-A (select all) on large text file hangs the tab with high CPU usage
https://bugs.webkit.org/show_bug.cgi?id=89562

Reviewed by Ryosuke Niwa.

Rather than replace the newlines in-place (in O(n2)), build a new string using StringBuilder, which takes O(n).

No new tests, this is a perf improvement.

  • platform/chromium/ClipboardUtilitiesChromium.cpp:

(WebCore::replaceNewlinesWithWindowsStyleNewlines):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::replaceNewlinesWithWindowsStyleNewlines):

TBR=tony@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10626020

10:11 AM Changeset in webkit [121034] by Lucas Forschler
  • 2 edits in branches/safari-536-branch/Source/WebCore

Merged r120954 <rdar://problem/11718988>

9:55 AM Changeset in webkit [121033] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: only increase length for timeline bars below minimal width
https://bugs.webkit.org/show_bug.cgi?id=89727

Reviewed by Pavel Feldman.

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineCalculator.prototype.setDisplayWindow):
(WebInspector.TimelineRecordGraphRow.prototype.update):

9:49 AM Changeset in webkit [121032] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX: FormController.cpp fails to build on 32-bit architectures

This fixes the following build failure introduced in r121004 for
Bug 89628:

FormController.cpp:62:36: error: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'size_t' (aka 'unsigned long') [-Werror,-Wshorten-64-to-32]

state.m_values.reserveCapacity(valueSize);
~

  • html/FormController.cpp:

(WebCore::FormControlState::deserialize): Change type of
valueSize from uint64_t to size_t.

9:48 AM Changeset in webkit [121031] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in DragController::concludeEditDrag.
https://bugs.webkit.org/show_bug.cgi?id=89762

Reviewed by Ryosuke Niwa.

Source/WebCore:

RefPtr the innerFrame since it can get destroyed due to mutation
event fired in DragController::dispatchTextInputEventFor().

Test: editing/pasteboard/drop-text-events-sideeffect-crash.html

  • page/DragController.cpp:

(WebCore::DragController::concludeEditDrag):

LayoutTests:

  • editing/pasteboard/drop-text-events-sideeffect-crash-expected.txt: Added.
  • editing/pasteboard/drop-text-events-sideeffect-crash.html: Added.
9:46 AM Changeset in webkit [121030] by caseq@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: timeline event details popup misses CPU time
https://bugs.webkit.org/show_bug.cgi?id=89765

Reviewed by Pavel Feldman.

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):

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

[Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons
https://bugs.webkit.org/show_bug.cgi?id=89684

Patch by Parth Patel <parpatel@rim.com> on 2012-06-22
Reviewed by Yong Li.

Build Fix-Typo Update setting instance access to use instance() instead of get().

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::isInputModeEnabled):

9:20 AM Changeset in webkit [121028] by peter@chromium.org
  • 11 edits in trunk

[Chromium] Disable c++0x compatibility warnings in JavaScriptCore.gyp when building for Android
https://bugs.webkit.org/show_bug.cgi?id=88853

Reviewed by Steve Block.

The Android exclusions were necessary to fix a gyp generation error, as
the gcc_version variable wasn't being defined for Android. Remove these
exceptions when Chromium is able to define the gcc_version variable.

Source/JavaScriptCore:

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:

Source/WebKit/chromium:

  • WebKit.gyp:
  • WebKitUnitTests.gyp:

Source/WTF:

  • WTF.gyp/WTF.gyp:

Tools:

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
9:00 AM Changeset in webkit [121027] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

[Shadow] parentTreeScope() of nested shadow DOM subtree returns document().
https://bugs.webkit.org/show_bug.cgi?id=89172

Patch by Takashi Sakamoto <tasak@google.com> on 2012-06-22
Reviewed by Hajime Morita.

Source/WebCore:

Added setParentTreeScope to set parent treescope of shadow root to be
host's treescope in ElementShadow::addShadowRoot.

Test: fast/dom/shadow/parent-tree-scope-in-shadow.html

  • dom/ElementShadow.cpp:

(WebCore::ElementShadow::addShadowRoot):
Added setParentTreeScope.

  • testing/Internals.cpp:

(WebCore::Internals::parentTreeScope):
Newly added. This method returns a parent tree scope's root node of
a given node, because a tree scope's root node is either document node
or shadow root node and both nodes derive from TreeScope. So root nodes
are treated as TreeScope.

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Added parentTreeScope.

LayoutTests:

  • fast/dom/shadow/parent-tree-scope-in-shadow-expected.txt: Added.
  • fast/dom/shadow/parent-tree-scope-in-shadow.html: Added.
8:20 AM Changeset in webkit [121026] by tony@chromium.org
  • 9 edits in trunk

-webkit-flex-flow shouldn't be an enumerable property of the computed style
https://bugs.webkit.org/show_bug.cgi?id=89698

Reviewed by Ojan Vafai.

Source/WebCore:

flex-flow is a shorthand for flex-direction and flex-wrap:
http://dev.w3.org/csswg/css3-flexbox/#flex-flow-property
Shorthand properties should not be enumerable in the computed style, although you can still
get the value from the computed style.

Tests: css3/flexbox/css-properties.html: New test case added.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore):

LayoutTests:

  • css3/flexbox/css-properties-expected.txt:
  • css3/flexbox/css-properties.html:
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:
  • svg/css/getComputedStyle-basic-expected.txt:
8:18 AM Changeset in webkit [121025] by rjkroege@chromium.org
  • 7 edits
    1 add in trunk/Source

Suppress horizontal conversion of PlatformWheelEvents when hasPreciseScrollingDeltas is true
https://bugs.webkit.org/show_bug.cgi?id=89580

Source/WebCore:

WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars. This is
undesirable for touchpad scrolling with
hasPreciseScrollingDeltas() == true. Modified shouldTurnVerticalTicksIntoHorizontal
to not perform this conversion for PlatformWheelEvents with preciseScrollingDeltas.

Reviewed by Adam Barth.

Unit tests in EventHandlerTest.cpp

  • page/EventHandler.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:

(EventHandler):

  • page/chromium/EventHandlerChromium.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):

Source/WebKit/chromium:

WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars. This is
undesirable for touchpad scrolling with hasPreciseScrollingDeltas() == true.

Added unit tests to show that
EventHandler::shouldTurnVerticalTicksIntoHorizontal() is true
only for PlatformWheelEvents when !hasPreciseScrollingDeltas().

Reviewed by Adam Barth.

  • WebKit.gypi:
  • tests/EventHandlerTest.cpp: Added.

(MockScrollbar):
(MockScrollbar::MockScrollbar):
(MockScrollbar::~MockScrollbar):
(MockHitTestResult):
(MockHitTestResult::MockHitTestResult):
(MockHitTestResult::scrollbar):
(MockPlatformWheelEvent):
(MockPlatformWheelEvent::MockPlatformWheelEvent):
(EventHandlerTest):
(EventHandlerTest::EventHandlerTest):
(EventHandlerTest::externalShouldTurnVerticalTicksIntoHorizontal):
(TEST):

7:47 AM Changeset in webkit [121024] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip failing test after r121019.
https://bugs.webkit.org/show_bug.cgi?id=89760

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-06-22

  • platform/qt/Skipped:
7:21 AM Changeset in webkit [121023] by Csaba Osztrogonác
  • 1 edit
    6 adds in trunk/LayoutTests

[Qt] Unreviewed gardening after r120924.

  • platform/qt-5.0-wk1/editing/inserting/4960120-1-expected.png: Added.
  • platform/qt-5.0-wk1/editing/inserting/4960120-1-expected.txt: Added.
  • platform/qt-5.0-wk1/editing/inserting/before-after-input-element-expected.png: Added.
  • platform/qt-5.0-wk1/editing/inserting/before-after-input-element-expected.txt: Added.
7:08 AM Changeset in webkit [121022] by loislo@chromium.org
  • 19 edits
    1 add in trunk

Web Inspector: partially instrument DOM Tree native memory.
https://bugs.webkit.org/show_bug.cgi?id=89568

PerformanceTests:

This patch adds MemoryInstrumentation class that counts all visited
objects and calls reportMemoryUsage.

Reviewed by Yury Semikhatsky.

  • inspector/native-memory-snapshot.html:

Source/WebCore:

This patch adds MemoryInstrumentation class that counts all visited
objects and calls reportMemoryUsage for the instrumented classes.

Reviewed by Yury Semikhatsky.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptWrappable.h:

(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):

  • bindings/v8/ScriptWrappable.h:

(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):

  • css/StylePropertySet.h:

(WebCore::StylePropertySet::reportMemoryUsage):
(StylePropertySet):

  • dom/ContainerNode.h:

(WebCore::ContainerNode::reportMemoryUsage):
(ContainerNode):

  • dom/Element.h:

(WebCore::Element::reportMemoryUsage):
(Element):

  • dom/ElementAttributeData.h:

(WebCore::ElementAttributeData::reportMemoryUsage):
(ElementAttributeData):

  • dom/MemoryInstrumentation.h: Added.

(WebCore):
(MemoryInstrumentation):
(WebCore::MemoryInstrumentation::~MemoryInstrumentation):
(WebCore::MemoryInstrumentation::reportObject):
(WebCore::MemoryInstrumentation::reportPointer):
(MemoryObjectInfo):
(WebCore::MemoryObjectInfo::MemoryObjectInfo):
(WebCore::MemoryObjectInfo::reportInstrumentedPointer):
(WebCore::MemoryObjectInfo::reportPointer):
(WebCore::MemoryObjectInfo::reportInstrumentedObject):
(WebCore::MemoryObjectInfo::reportObject):
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCore::MemoryObjectInfo::objectType):
(WebCore::MemoryObjectInfo::objectSize):
(WebCore::MemoryInstrumentation::reportInstrumentedPointer):
(WebCore::MemoryInstrumentation::reportInstrumentedObject):

  • dom/Node.cpp:

(WebCore::Node::reportMemoryUsage):
(WebCore):

  • dom/Node.h:

(Node):

  • dom/QualifiedName.h:

(WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
(WebCore::QualifiedName::reportMemoryUsage):

  • inspector/InspectorMemoryAgent.cpp:

(MemoryBlockName):
(WebCore):
(WebCore::addMemoryBlockFor):
(WebCore::domTreeInfo):
(WebCore::memoryCacheInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • platform/TreeShared.h:

(WebCore::TreeShared::reportMemoryUsage):
(TreeShared):

6:56 AM Changeset in webkit [121021] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Support 'Restart frame' in inspector frontend
https://bugs.webkit.org/show_bug.cgi?id=89678

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-06-22
Reviewed by Pavel Feldman.

Action is added to call frame placard's context menu. Context menu is now built
on a call frame level rather than on callback sidebar level.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/CallStackSidebarPane.js:

(WebInspector.CallStackSidebarPane):
(WebInspector.CallStackSidebarPane.prototype.update):
(WebInspector.CallStackSidebarPane.Placard):
(WebInspector.CallStackSidebarPane.Placard.prototype._update):
(WebInspector.CallStackSidebarPane.Placard.prototype._placardContextMenu):
(_restartFrame):

  • inspector/front-end/DebuggerModel.js:

(WebInspector.DebuggerModel.prototype.rawLocationToUILocation):
(WebInspector.DebuggerModel.prototype.callStackModified):
(WebInspector.DebuggerModel.CallFrame.prototype.restart):

  • inspector/front-end/Script.js:

(WebInspector.Script.prototype.editSource):

6:24 AM Changeset in webkit [121020] by commit-queue@webkit.org
  • 8 edits in trunk/Source

[Qt] Fix the remote inspector loading problems on Mac
https://bugs.webkit.org/show_bug.cgi?id=89747

Patch by Jocelyn Turcotte <turcotte.j@gmail.com> on 2012-06-22
Reviewed by Simon Hausmann.

Source/WebCore:

Make sure that the state of a SocketStreamHandle is set properly
when created from an existing QTcpSocket.

This fixes the inspectorserver Qt api auto test on Mac.

  • platform/network/qt/SocketStreamHandleQt.cpp:

(WebCore::SocketStreamHandle::SocketStreamHandle):

Source/WebKit2:

Reverse the creation order of the inter-dependent WebSocketServerConnection
and SocketStreamHandle to make sure that the later has a client properly
set on construction.

This is to work around the assert on m_state in SocketStreamHandle::setClient.

  • UIProcess/InspectorServer/WebSocketServer.cpp:

(WebKit::WebSocketServer::didAcceptConnection):

  • UIProcess/InspectorServer/WebSocketServer.h:

(WebKit::WebSocketServer::client):
(WebSocketServer):

  • UIProcess/InspectorServer/WebSocketServerConnection.cpp:

(WebKit::WebSocketServerConnection::WebSocketServerConnection):
(WebKit::WebSocketServerConnection::setSocketHandle):
(WebKit):

  • UIProcess/InspectorServer/WebSocketServerConnection.h:

(WebSocketServerConnection):

  • UIProcess/InspectorServer/qt/WebSocketServerQt.cpp:

(WebKit::QtTcpServerHandler::handleNewConnection):

5:54 AM Changeset in webkit [121019] by yosin@chromium.org
  • 3 edits
    6 adds in trunk

REGRESSION(r117738):[Forms] validationMessage IDL attribute should not have range overflow message if value isn't range overflow
https://bugs.webkit.org/show_bug.cgi?id=89736

Reviewed by Kent Tamura.

Source/WebCore:

Tests: fast/forms/date/input-date-validation-message.html

fast/forms/number/input-number-validation-message.html
fast/forms/range/input-range-validation-message.html

This patch changes comparison operator for range overflow message in
InputType::validationMessage().

  • html/InputType.cpp:

(WebCore::InputType::validationMessage):

LayoutTests:

Tests for HTMLInputElement.validationMessage attribute.

  • fast/forms/date/input-date-validation-message-expected.txt: Added.
  • fast/forms/date/input-date-validation-message.html: Added.
  • fast/forms/number/input-number-validation-message-expected.txt: Added.
  • fast/forms/number/input-number-validation-message.html: Added.
  • fast/forms/range/input-range-validation-message-expected.txt: Added.
  • fast/forms/range/input-range-validation-message.html: Added.
5:46 AM WebKitGTK/1.8.x edited by kov@webkit.org
(diff)
5:41 AM Changeset in webkit [121018] by kov@webkit.org
  • 2 edits in trunk/Source/WTF

Causes crashes in LLVMPipe
https://bugs.webkit.org/show_bug.cgi?id=89358

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2012-06-18
Reviewed by Martin Robinson.

Change suggested by Dave Airlie and Xan Lopez.

  • wtf/Platform.h: disable global fastMalloc for GTK+
5:35 AM Changeset in webkit [121017] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Add frontend-side Entry object to FileSystemModel
https://bugs.webkit.org/show_bug.cgi?id=89739

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-06-22
Reviewed by Vsevolod Vlasov.

  • inspector/front-end/FileSystemModel.js:

(WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
(WebInspector.FileSystemModel.prototype.requestDirectoryContent):
(WebInspector.FileSystemModel.prototype._directoryContentReceived):
(WebInspector.FileSystemModel.FileSystem):
(WebInspector.FileSystemModel.Entry):
(WebInspector.FileSystemModel.Entry.prototype.get fileSystemModel):
(WebInspector.FileSystemModel.Entry.prototype.get fileSystem):
(WebInspector.FileSystemModel.Entry.prototype.get url):
(WebInspector.FileSystemModel.Entry.prototype.get name):
(WebInspector.FileSystemModel.Entry.prototype.get isDirectory):
(WebInspector.FileSystemModel.Directory):
(WebInspector.FileSystemModel.Directory.prototype.requestDirectoryContent):
(WebInspector.FileSystemModel.File):
(WebInspector.FileSystemModel.File.prototype.get mimeType):
(WebInspector.FileSystemModel.File.prototype.get resourceType):

4:32 AM Changeset in webkit [121016] by commit-queue@webkit.org
  • 42 edits
    2 moves in trunk/Source

Renamed DeviceOrientation to DeviceOrientationData
https://bugs.webkit.org/show_bug.cgi?id=88663

Patch by Amy Ousterhout <aousterh@chromium.org> on 2012-06-22
Reviewed by Steve Block.

Source/WebCore:

No new tests because this is simply a name change.

Renamed DeviceOrientation to DeviceOrientationData in order to be consistent with DeviceMotionData.
Updated all files that use DeviceOrientation.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDeviceOrientationEventCustom.cpp:

(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):

  • bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):

  • dom/DOMAllInOne.cpp:
  • dom/DeviceOrientationClient.h:

(WebCore):
(DeviceOrientationClient):

  • dom/DeviceOrientationController.cpp:

(WebCore::DeviceOrientationController::timerFired):
(WebCore::DeviceOrientationController::didChangeDeviceOrientation):

  • dom/DeviceOrientationController.h:

(WebCore):
(DeviceOrientationController):

  • dom/DeviceOrientationData.cpp: Renamed from Source/WebCore/dom/DeviceOrientation.cpp.

(WebCore):
(WebCore::DeviceOrientationData::create):
(WebCore::DeviceOrientationData::DeviceOrientationData):
(WebCore::DeviceOrientationData::alpha):
(WebCore::DeviceOrientationData::beta):
(WebCore::DeviceOrientationData::gamma):
(WebCore::DeviceOrientationData::absolute):
(WebCore::DeviceOrientationData::canProvideAlpha):
(WebCore::DeviceOrientationData::canProvideBeta):
(WebCore::DeviceOrientationData::canProvideGamma):
(WebCore::DeviceOrientationData::canProvideAbsolute):

  • dom/DeviceOrientationData.h: Renamed from Source/WebCore/dom/DeviceOrientation.h.

(WebCore):
(DeviceOrientationData):

  • dom/DeviceOrientationEvent.cpp:

(WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
(WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):

  • dom/DeviceOrientationEvent.h:

(WebCore):
(WebCore::DeviceOrientationEvent::create):
(DeviceOrientationEvent):
(WebCore::DeviceOrientationEvent::orientation):

  • loader/EmptyClients.h:

(WebCore::EmptyDeviceOrientationClient::lastOrientation):

  • platform/mock/DeviceOrientationClientMock.cpp:

(WebCore::DeviceOrientationClientMock::setOrientation):

  • platform/mock/DeviceOrientationClientMock.h:

(WebCore::DeviceOrientationClientMock::lastOrientation):
(DeviceOrientationClientMock):

  • platform/qt/DeviceOrientationClientQt.cpp:

(DeviceOrientationClientQt):

  • platform/qt/DeviceOrientationClientQt.h:

(DeviceOrientationClientQt):

  • platform/qt/DeviceOrientationProviderQt.h:

(DeviceOrientationProviderQt):

Source/WebKit/blackberry:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • WebCoreSupport/DeviceOrientationClientBlackBerry.h:

(DeviceOrientationClientBlackBerry):

Source/WebKit/chromium:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • public/WebDeviceOrientation.h:

(WebDeviceOrientation):

  • src/DeviceOrientationClientProxy.cpp:

(WebKit::DeviceOrientationClientProxy::lastOrientation):

  • src/DeviceOrientationClientProxy.h:

(DeviceOrientationClientProxy):

  • src/WebDeviceOrientation.cpp:

(WebKit::WebDeviceOrientation::WebDeviceOrientation):
(WebKit::WebDeviceOrientation::operator=):
(WebKit::WebDeviceOrientation::operator PassRefPtr<WebCore::DeviceOrientationData>):

  • src/WebDeviceOrientationController.cpp:

(WebKit::WebDeviceOrientationController::didChangeDeviceOrientation):

Source/WebKit/efl:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • WebCoreSupport/DeviceOrientationClientEfl.h:

(DeviceOrientationClientEfl):

Source/WebKit/gtk:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • WebCoreSupport/DeviceOrientationClientGtk.h:

(DeviceOrientationClientGtk):

Source/WebKit/mac:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • WebCoreSupport/WebDeviceOrientationClient.h:

(WebDeviceOrientationClient):

  • WebCoreSupport/WebDeviceOrientationClient.mm:

(WebDeviceOrientationClient::lastOrientation):

  • WebView/WebDeviceOrientation.mm:
  • WebView/WebDeviceOrientationInternal.h:

Source/WebKit/qt:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setMockDeviceOrientation):

2:54 AM Changeset in webkit [121015] by sergio@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] FindController::hideFindUI should unmark highlighted text matches
https://bugs.webkit.org/show_bug.cgi?id=77747

Reviewed by Carlos Garcia Campos.

Unmark all text matches whenever FindController::hideFindUI is
called to allow callers using the ShowHighlight find option to
remove highlighting.

This patch enables a unit test for the WebKitFindController
previously guarded by a #if(0) after r109222.

  • UIProcess/API/gtk/tests/TestWebKitFindController.cpp:

(testFindControllerHide):

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::hideFindUI):

2:39 AM Changeset in webkit [121014] by vsevik@chromium.org
  • 22 edits
    2 adds in trunk

Web Inspector: Support separate script compilation and execution.
https://bugs.webkit.org/show_bug.cgi?id=89646

Reviewed by Pavel Feldman.

Source/WebCore:

Separate script compilation and run commands added to protocol and DebuggerAgent.
Separate script compilation and run implemented in v8 ScriptDebugServer, stubs added for js implementation.

Test: inspector/debugger/debugger-compile-and-run.html

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::compileScript):
(WebCore):
(WebCore::ScriptDebugServer::clearCompiledScripts):
(WebCore::ScriptDebugServer::runScript):

  • bindings/js/ScriptDebugServer.h:

(WebCore::ScriptDebugServer::supportsSeparateScriptCompilationAndExecution):
(ScriptDebugServer):

  • bindings/v8/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::compileScript):
(WebCore):
(WebCore::PageScriptDebugServer::clearCompiledScripts):
(WebCore::PageScriptDebugServer::runScript):

  • bindings/v8/PageScriptDebugServer.h:

(PageScriptDebugServer):

  • bindings/v8/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::compileScript):
(WebCore):
(WebCore::ScriptDebugServer::clearCompiledScripts):
(WebCore::ScriptDebugServer::runScript):

  • bindings/v8/ScriptDebugServer.h:

(WebCore):
(WebCore::ScriptDebugServer::supportsSeparateScriptCompilationAndExecution):
(ScriptDebugServer):

  • inspector/Inspector.json:
  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::supportsSeparateScriptCompilationAndExecution):
(WebCore):
(WebCore::InspectorDebuggerAgent::compileScript):
(WebCore::InspectorDebuggerAgent::runScript):

  • inspector/InspectorDebuggerAgent.h:

(InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::injectedScriptManager):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::injectedScriptForEval):
(WebCore):

  • inspector/PageDebuggerAgent.h:

(PageDebuggerAgent):

  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::injectedScriptForEval):
(WebCore):

  • inspector/WorkerDebuggerAgent.h:

(WorkerDebuggerAgent):

  • inspector/front-end/Settings.js:
  • inspector/front-end/inspector.js:

(WebInspector.doLoadedDone):

LayoutTests:

  • inspector/debugger/debugger-compile-and-run-expected.txt: Added.
  • inspector/debugger/debugger-compile-and-run.html: Added.
  • platform/gtk/TestExpectations:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
  • platform/wincairo/Skipped:
2:14 AM Changeset in webkit [121013] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Web Inspector: InspectorState::updateCookie should not do JSON serialization if unsupported
https://bugs.webkit.org/show_bug.cgi?id=89743

Source/WebCore:

Since all InspectorClient's are InspectorStateClient's provide a
virtual accessor that determines whether or not InspectorClient updates
are supported or not.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-06-22
Reviewed by Yury Semikhatsky.

  • inspector/InspectorState.cpp:

(WebCore::InspectorState::updateCookie):
Don't serialize and message the client if the client doesn't do anything with it.

  • inspector/InspectorStateClient.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::InspectorStateClient::supportsInspectorStateUpdates):
Let the client say whether or not supports updates or not.

Source/WebKit/blackberry:

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-06-22
Reviewed by Yury Semikhatsky.

  • WebCoreSupport/InspectorClientBlackBerry.cpp:

(WebCore::InspectorClientBlackBerry::updateInspectorStateCookie):

Source/WebKit/chromium:

The Chromium port does want InspectorState updates.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-06-22
Reviewed by Yury Semikhatsky.

  • src/InspectorClientImpl.h:

(WebKit::InspectorClientImpl::supportsInspectorStateUpdates):

  • src/WebDevToolsAgentImpl.h:

(WebKit::WebDevToolsAgentImpl::supportsInspectorStateUpdates):

1:52 AM Changeset in webkit [121012] by rniwa@webkit.org
  • 182 edits in trunk/LayoutTests

Use testRunner instead of layoutTestController in fast/hidpi, history, html, images, inline, inline-block, innerHTML, inspector-support, invalid tests
https://bugs.webkit.org/show_bug.cgi?id=89744

Reviewed by Kent Tamura.

  • fast/hidpi/broken-image-icon-hidpi.html:
  • fast/hidpi/broken-image-with-size-hidpi.html:
  • fast/hidpi/clip-text-in-hidpi.html:
  • fast/hidpi/device-scale-factor-paint.html:
  • fast/hidpi/focus-rings.html:
  • fast/hidpi/image-set-as-background.html:
  • fast/hidpi/image-set-background-dynamic.html:
  • fast/hidpi/image-set-background-repeat-without-size.html:
  • fast/hidpi/image-set-background-repeat.html:
  • fast/hidpi/image-set-border-image-comparison.html:
  • fast/hidpi/image-set-border-image-dynamic.html:
  • fast/hidpi/image-set-border-image-simple.html:
  • fast/hidpi/image-set-in-content-dynamic.html:
  • fast/hidpi/image-set-out-of-order.html:
  • fast/hidpi/image-set-simple.html:
  • fast/hidpi/image-set-without-specified-width.html:
  • fast/hidpi/resize-corner-hidpi.html:
  • fast/hidpi/video-controls-in-hidpi.html:
  • fast/history/back-forward-reset-after-error-handling.html:
  • fast/history/form-submit-in-frame-via-onclick.html:
  • fast/history/form-submit-in-frame.html:
  • fast/history/forward-during-load.html:
  • fast/history/gesture-before-onload-form-submit.html:
  • fast/history/gesture-before-onload-location-href.html:
  • fast/history/go-back-to-changed-name.html:
  • fast/history/history-back-initial-vs-final-url.html:
  • fast/history/history-back-twice-with-subframes-assert.html:
  • fast/history/history-back-within-subframe-hash.html:
  • fast/history/history-back-within-subframe-url.html:
  • fast/history/history-length.html:
  • fast/history/history-replace-updates-current-item.html:
  • fast/history/history-subframe-with-name.html:
  • fast/history/history_reload.html:
  • fast/history/location-replace-hash.html:
  • fast/history/multiple-classes-visited.html:
  • fast/history/nested-visited-test.html:
  • fast/history/redirect-via-iframe.html:
  • fast/history/resources/clicked-link-is-visited-2.html:
  • fast/history/resources/history-back-within-subframe-hash-2.html:
  • fast/history/resources/history-replace-updates-current-item-done.html:
  • fast/history/resources/history_reload_window.html:
  • fast/history/resources/redirect-target.html:
  • fast/history/same-document-iframes-changing-fragment.html:
  • fast/history/same-document-iframes-changing-pushstate.html:
  • fast/history/saves-state-after-fragment-nav.html:
  • fast/history/saves-state-after-frame-nav.html:
  • fast/history/self-is-visited.html:
  • fast/history/sibling-visited-test.html:
  • fast/history/timed-refresh-in-cached-frame.html:
  • fast/history/visited-generated-content-test.html:
  • fast/history/visited-link-background-color.html:
  • fast/history/window-open.html:
  • fast/html/adopt-parent-frame.html:
  • fast/html/body-offset-properties.html:
  • fast/html/crash-style-first-letter.html:
  • fast/html/details-add-summary-1-and-click.html:
  • fast/html/details-add-summary-10-and-click.html:
  • fast/html/details-add-summary-2-and-click.html:
  • fast/html/details-add-summary-3-and-click.html:
  • fast/html/details-add-summary-4-and-click.html:
  • fast/html/details-add-summary-5-and-click.html:
  • fast/html/details-add-summary-6-and-click.html:
  • fast/html/details-add-summary-7-and-click.html:
  • fast/html/details-add-summary-8-and-click.html:
  • fast/html/details-add-summary-9-and-click.html:
  • fast/html/details-children-merge-crash.html:
  • fast/html/details-element-render-inline-crash.html:
  • fast/html/details-mouse-click.html:
  • fast/html/details-remove-summary-1-and-click.html:
  • fast/html/details-remove-summary-2-and-click.html:
  • fast/html/details-remove-summary-3-and-click.html:
  • fast/html/details-remove-summary-4-and-click.html:
  • fast/html/details-remove-summary-5-and-click.html:
  • fast/html/details-remove-summary-6-and-click.html:
  • fast/html/details-replace-summary-child.html:
  • fast/html/details-replace-text.html:
  • fast/html/details-summary-document-child.html:
  • fast/html/draggable.html:
  • fast/html/empty-fragment-id-goto-top.html:
  • fast/html/font-face-empty-should-not-crash.html:
  • fast/html/marquee-scrollamount.html:
  • fast/html/nav-element.html:
  • fast/html/object-image-nested-fallback.html:
  • fast/html/pending-stylesheet-crash.html:
  • fast/html/process-end-tag-for-inbody-crash.html:
  • fast/html/script-allowed-types-languages.html:
  • fast/html/select-dropdown-consistent-background-color.html:
  • fast/html/set-text-direction.html:
  • fast/html/tab-order.html:
  • fast/html/tabindex-removal.html:
  • fast/html/text-field-input-types.html:
  • fast/html/xhtml-serialize.html:
  • fast/images/animated-background-image-crash.html:
  • fast/images/animated-gif-restored-from-bfcache.html:
  • fast/images/bad-png.html:
  • fast/images/busted-oval-does-not-render.html:
  • fast/images/destroyed-image-load-event.html:
  • fast/images/dont-crash-with-null-gif-frames.html:
  • fast/images/drag-pdf-as-image.html:
  • fast/images/embed-does-not-propagate-dimensions-to-object-ancestor.html:
  • fast/images/embed-image.html:
  • fast/images/exif-orientation-css.html:
  • fast/images/exif-orientation.html:
  • fast/images/extra-image-in-image-document.html:
  • fast/images/gif-loop-count.html:
  • fast/images/image-empty-data.html:
  • fast/images/image-invalid-data.html:
  • fast/images/image-load-event-in-fragment.html:
  • fast/images/image-map-multiple-xhtml.xhtml:
  • fast/images/image-map-multiple.html:
  • fast/images/image-map-zoom.html:
  • fast/images/imagemap-scroll.html:
  • fast/images/jpeg-with-color-profile.html:
  • fast/images/large-size-image-crash.html:
  • fast/images/link-body-content-imageDimensionChanged-crash.html:
  • fast/images/load-img-with-empty-src.html:
  • fast/images/paletted-png-with-color-profile.html:
  • fast/images/percent-height-image.html:
  • fast/images/png-extra-row-crash.html:
  • fast/images/png-suite/test.html:
  • fast/images/png-with-color-profile.html:
  • fast/images/read-past-end-of-buffer.html:
  • fast/images/rgb-jpeg-endian-pixels.html:
  • fast/images/rgb-jpeg-with-adobe-marker-only.html:
  • fast/images/rgb-png-with-cmyk-color-profile.html:
  • fast/images/script-counter-imageDimensionChanged-crash.html:
  • fast/images/script-tests/move-image-to-new-document.js:
  • fast/images/size-failure.html:
  • fast/images/style-access-during-imageChanged-crash.html:
  • fast/images/style-access-during-imageChanged-style-freeze.html:
  • fast/images/support-broken-image-delegate.html:
  • fast/images/text-content-crash-2.html:
  • fast/images/text-content-crash.html:
  • fast/images/webp-image-decoding.html:
  • fast/images/ycbcr-with-cmyk-color-profile.html:
  • fast/images/zoomed-img-size.html:
  • fast/inline-block/anonymous-block-crash.html:
  • fast/inline-block/inline-block-vertical-align-2.html:
  • fast/inline-block/relative-positioned-rtl-crash.html:
  • fast/inline/boundingBox-with-continuation.html:
  • fast/inline/clean-after-removing-temp-boxes.html:
  • fast/inline/continuation-positioned-reparenting.html:
  • fast/inline/crash-new-continuation-with-outline.html:
  • fast/inline/dirtyLinesForInline.html:
  • fast/inline/inline-body-crash.html:
  • fast/inline/inline-body-with-scrollbar-crash.html:
  • fast/inline/inline-box-adjust-position-crash.html:
  • fast/inline/inline-box-adjust-position-crash2.html:
  • fast/inline/inline-child-height-width-calc-crash.html:
  • fast/inline/inline-destroy-dirty-lines-crash.html:
  • fast/inline/inline-marquee-crash.html:
  • fast/inline/relative-positioned-overflow.html:
  • fast/inline/skipped-whitespace-boundingBox.html:
  • fast/inline/skipped-whitespace-client-rect.html:
  • fast/inline/update-always-create-line-boxes-full-layout-crash.html:
  • fast/innerHTML/004-expected.txt:
  • fast/innerHTML/004.xhtml:
  • fast/innerHTML/005-expected.txt:
  • fast/innerHTML/005.html:
  • fast/innerHTML/additional-inline-style.html:
  • fast/innerHTML/innerHTML-case.html:
  • fast/innerHTML/innerHTML-changing-document-properties.xhtml:
  • fast/innerHTML/innerHTML-custom-tag.html:
  • fast/innerHTML/innerHTML-iframe.html:
  • fast/innerHTML/innerHTML-nbsp.xhtml:
  • fast/innerHTML/innerHTML-script-tag-crash.xhtml:
  • fast/innerHTML/javascript-url.html:
  • fast/inspector-support/cssURLQuotes.html:
  • fast/inspector-support/style.html:
  • fast/inspector-support/uncaught-dom1-exception.html:
  • fast/inspector-support/uncaught-dom3-exception.html:
  • fast/inspector-support/uncaught-dom8-exception.html:
  • fast/invalid/invalidSVGFont.html:
  • fast/invalid/nestedh3s-rapidweaver.html:
  • fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html:
  • platform/gtk/fast/images/exif-orientation-css-expected.txt:
  • platform/gtk/fast/images/exif-orientation-expected.txt:
  • platform/mac/fast/images/exif-orientation-css-expected.txt:
  • platform/mac/fast/images/exif-orientation-expected.txt:
  • platform/qt/fast/history/back-to-unreachable-url-then-forward.html:
  • platform/qt/fast/history/resources/check-scroll-position.html:
1:09 AM Changeset in webkit [121011] by mario@webkit.org
  • 2 edits in trunk/Tools

Unreviewed gardening. Unskipping test passing after fixing bug 88419.

  • gtk/run-api-tests:

(TestRunner): Unskip WTF.HashMap.

1:06 AM Changeset in webkit [121010] by mario@webkit.org
  • 2 edits in trunk/Source/WTF

Memory corruption on HashTable.h
https://bugs.webkit.org/show_bug.cgi?id=88419

Reviewed by Martin Robinson.

Simplify definition of WTF_USE_PTHREADS and HAVE_PTHREAD_RWLOCK
for the GTK platform using OS(LINUX) instead of HAVE(PTHREAD_H).

  • wtf/Platform.h:
12:16 AM Changeset in webkit [121009] by zoltan@webkit.org
  • 2 edits in trunk/Tools

[Qt] Allow DumpRenderTree to dump about:blank
https://bugs.webkit.org/show_bug.cgi?id=89685

Reviewed by Ryosuke Niwa.

We need to allow DumpRenderTree to dump about:blank page, then it will be consistent with other ports,
additionaly this behavior is required for running WTR performance tests.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::DumpRenderTree::processLine):

Note: See TracTimeline for information about the timeline view.