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):

Jun 21, 2012:

11:52 PM Changeset in webkit [121008] by rniwa@webkit.org
  • 554 edits in trunk/LayoutTests

Use testRunner instead of layoutTestController in fast/fast-mobile-scrolling, flexbox, forms, frames, gradients tests
https://bugs.webkit.org/show_bug.cgi?id=89741

Reviewed by Kent Tamura.

  • fast/flexbox/box-ordinal-group.html:
  • fast/flexbox/box-size-integer-overflow.html:
  • fast/flexbox/crash-button-input-autofocus.html:
  • fast/flexbox/crash-button-keygen.html:
  • fast/flexbox/crash-button-relayout.html:
  • fast/flexbox/crash-flexbox-no-layout-child.html:
  • fast/flexbox/horizontal-box-float-crash.html:
  • fast/flexbox/inline-children-crash.html:
  • fast/flexbox/layoutHorizontalBox-crash.html:
  • fast/flexbox/line-clamp-crash.html:
  • fast/flexbox/overhanging-floats-not-removed-crash.html:
  • fast/flexbox/resources/box-orient-button.js:
  • fast/forms/:
  • fast/frames/:
  • fast/gradients/crash-on-1px-border.html:
  • fast/gradients/crash-on-degenerate-gradient.html:
  • fast/gradients/crash-on-remove.html:
  • fast/gradients/crash-on-tr.html:
  • fast/gradients/css3-color-stop-units.html:
  • fast/gradients/css3-color-stops.html:
  • fast/gradients/css3-linear-angle-gradients.html:
  • fast/gradients/css3-linear-right-angle-gradients.html:
  • fast/gradients/css3-radial-gradient-crash.html:
  • fast/gradients/css3-radial-gradients.html:
  • fast/gradients/css3-radial-gradients2.html:
  • fast/gradients/css3-radial-gradients3.html:
  • fast/gradients/css3-repeating-end-fill.html:
  • fast/gradients/css3-repeating-linear-gradients.html:
  • fast/gradients/css3-repeating-linear-gradients2.html:
  • fast/gradients/css3-repeating-radial-gradients.html:
  • fast/gradients/gradient-after-transparent-border.html:
  • fast/gradients/gradient-on-pseudoelement-crash.html:
  • platform/chromium/fast/forms/search-popup-crasher.html:
  • platform/gtk/fast/forms/menulist-typeahead-find.html:
  • platform/gtk/fast/frames/scrolling-iframe-out-of-viewport.html:
  • platform/mac/fast/forms/attributed-strings.html:
  • platform/mac/fast/forms/listbox-scrollbar-hit-test.html:
  • platform/mac/fast/forms/script-tests/focus-option-control-on-page.js:

(startTest):
(runKeyPresses):
(notifyDone):

11:44 PM Changeset in webkit [121007] by Joone Hur
  • 2 edits
    7 adds in trunk/LayoutTests

[EFL] Unreviewed gardening, unskip now passing tests.

  • platform/efl/Skipped:
  • platform/efl/fast/viewport/viewport-126-expected.txt: Added.
  • platform/efl/fast/viewport/viewport-127-expected.txt: Added.
  • platform/efl/fast/viewport/viewport-65-expected.txt: Added.
  • platform/efl/fast/viewport/viewport-82-expected.txt: Added.
  • platform/efl/fast/viewport/viewport-84-expected.txt: Added.
  • platform/efl/fast/viewport/viewport-87-expected.txt: Added.
11:31 PM Changeset in webkit [121006] by hans@chromium.org
  • 14 edits in trunk/LayoutTests

s/layoutTestController/testRunner/ in speech tests
https://bugs.webkit.org/show_bug.cgi?id=89654

Reviewed by Ryosuke Niwa.

  • fast/speech/bubble-position.html:
  • fast/speech/change-focus.html:
  • fast/speech/input-onspeechchange-event.html:
  • fast/speech/input-ontextinput-event.html:
  • fast/speech/input-readonly-and-disabled.html:
  • fast/speech/input-text-language-tag.html:
  • fast/speech/input-text-speechbutton.html:
  • fast/speech/input-text-speechstart.html:
  • fast/speech/scripted/speechrecognition-basics.html:
  • fast/speech/scripted/speechrecognition-errors.html:
  • fast/speech/speech-button-ignore-generated-events.html:
  • fast/speech/speech-input-result-list-not-enough-arguments.html:
  • fast/speech/speech-input-scripting.html:
11:11 PM Changeset in webkit [121005] by commit-queue@webkit.org
  • 33 edits in trunk

Unreviewed, rolling out r120982.
http://trac.webkit.org/changeset/120982
https://bugs.webkit.org/show_bug.cgi?id=89740

[chromium] ASSERTION FAILED:
m_allocatedTextureIds.contains(textureId) (Requested by ukai
on #webkit).

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

Source/WebCore:

  • platform/graphics/chromium/LayerRendererChromium.cpp:

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

  • platform/graphics/chromium/LayerRendererChromium.h:

(WebCore):
(LayerRendererChromium):

  • platform/graphics/chromium/TextureManager.cpp:
  • platform/graphics/chromium/TextureManager.h:

(TextureAllocator):
(TextureManager):

  • platform/graphics/chromium/TrackingTextureAllocator.cpp:

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

  • platform/graphics/chromium/TrackingTextureAllocator.h:

(TrackingTextureAllocator):

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

(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setNeedsForcedCommit):
(WebCore):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):
(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::setContentsMemoryAllocationLimitBytes):

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

(CCLayerTreeHostImplClient):
(WebCore::CCLayerTreeHostImpl::sourceFrameCanBeDrawn):
(WebCore::CCLayerTreeHostImpl::setSourceFrameCanBeDrawn):
(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::didSwapBuffersComplete):
(WebCore::CCScheduler::didLoseContext):
(WebCore::CCScheduler::didRecreateContext):
(WebCore::CCScheduler::vsyncTick):

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

(CCScheduler):

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

(WebCore::CCSingleThreadProxy::setNeedsForcedCommit):
(WebCore):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
(WebCore::CCSingleThreadProxy::commitAndComposite):

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

(CCSingleThreadProxy):

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

(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::setNeedsForcedCommit):
(WebCore):
(WebCore::CCThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::setContentsMemoryAllocationLimitBytes):
(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:

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

(CCLayerTreeHostTestVisibilityAndAllocationControlDrawing):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::beginTest):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommitAndDrawFrame):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommit):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::afterTest):
(WTF):
(WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
(WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
(WTF::CCLayerTreeHostTestManySurfaces::beginTest):

  • tests/CCSchedulerStateMachineTest.cpp:

(WebCore::TEST):

  • tests/CCTiledLayerTestCommon.h:

(WebKitTests::FakeTextureAllocator::createTexture):
(WebKitTests::FakeTextureAllocator::deleteTexture):

  • tests/FakeWebGraphicsContext3D.h:

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

  • tests/LayerRendererChromiumTest.cpp:

(TEST_F):

  • tests/TiledLayerChromiumTest.cpp:

LayoutTests:

  • platform/chromium/TestExpectations:
10:36 PM Changeset in webkit [121004] by tkent@chromium.org
  • 11 edits in trunk/Source/WebCore

Make FormControlState capable to store multiple values
https://bugs.webkit.org/show_bug.cgi?id=89628

Reviewed by Hajime Morita.

Make FormControlState capable to store multiple values in order to
clean FileInputType.cpp up and prepare to fix Bug 89623.

No new tests. This doesn't change web-exposed behavior, and
fast/forms/file/recover-file-input-in-unposted-form.html covers
major part of this change.

  • html/FormController.cpp:

(WebCore::FormControlState::serializeTo): Support for two or more values.
(WebCore::FormControlState::deserialize): ditto.
(WebCore::formStateSignature):
Bump up the version because the state format for <input type=file> is changed.

  • html/FormController.h:
    • String m_value -> Vector<String> m_values
    • Add some functions.
    • Remove hasValue() and value().

(WebCore::FormControlState::FormControlState): m_value -> m_values.
(WebCore::FormControlState::valueSize): Added.
(WebCore::FormControlState::operator[]): Added.
(FormControlState): Add append() declaration, etc.
(WebCore::FormControlState::operator=): m_value -> m_values
(WebCore::FormControlState::append): Added.

  • html/HTMLFormControlElementWithState.cpp:

(WebCore::HTMLFormControlElementWithState::finishParsingChildren):
Use valueSize() instead of hasValue().

  • html/HTMLFormControlElementWithState.h:

(HTMLFormControlElementWithState): Update the comment.

  • html/FileInputType.cpp:

(WebCore::FileInputType::saveFormControlState):
Use multiple value capability of FormControlState
(WebCore::FileInputType::restoreFormControlState): ditto.

  • html/BaseCheckableInputType.cpp:

(WebCore::BaseCheckableInputType::restoreFormControlState): Use [0] instead of value().

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::restoreFormControlState): ditto.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::restoreFormControlState): ditto.

  • html/HiddenInputType.cpp:

(WebCore::HiddenInputType::restoreFormControlState): ditto.

  • html/InputType.cpp:

(WebCore::InputType::restoreFormControlState): ditto.

10:33 PM Changeset in webkit [121003] by rniwa@webkit.org
  • 13 edits
    2 adds in trunk

Source/WebCore: LabelsNodeList isn't updated properly after its owner node is adopted into a new document
https://bugs.webkit.org/show_bug.cgi?id=89730

Reviewed by Darin Adler.

When a node is adopted, node lists that are invalidated at document level need to be unregistered
from old document and registered to new document so that DOM mutations in new document will invalidate
caches in the node lists. Done that in NodeListsNodeData::adoptTreeScope, which was extracted from
TreeScopeAdopter::moveTreeToNewScope.

Also renamed DynamicNodeList::node() and m_node to rootNode() and m_ownerNode to better express
their semantics and added ownerNode() to make m_ownerNode private to DynamicNodeList.

Test: fast/forms/label/labels-owner-node-adopted.html

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::~ChildNodeList):
(WebCore::ChildNodeList::length):
(WebCore::ChildNodeList::item):
(WebCore::ChildNodeList::nodeMatches):

  • dom/ClassNodeList.cpp:

(WebCore::ClassNodeList::ClassNodeList):
(WebCore::ClassNodeList::~ClassNodeList):

  • dom/DynamicNodeList.cpp:

(WebCore::DynamicSubtreeNodeList::length):
(WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::item):
(WebCore::DynamicNodeList::itemWithName):

  • dom/DynamicNodeList.h:

(WebCore::DynamicNodeList::DynamicNodeList):
(WebCore::DynamicNodeList::ownerNode):
(WebCore::DynamicNodeList::rootedAtDocument):
(WebCore::DynamicNodeList::shouldInvalidateOnAttributeChange):
(WebCore::DynamicNodeList::rootNode):
(WebCore::DynamicNodeList::document):
(DynamicNodeList):

  • dom/NameNodeList.cpp:

(WebCore::NameNodeList::~NameNodeList):

  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::adoptTreeScope):
(NodeListsNodeData):

  • dom/TagNodeList.cpp:

(WebCore::TagNodeList::~TagNodeList):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):

  • html/LabelsNodeList.cpp:

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

  • html/RadioNodeList.cpp:

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

LayoutTests: LabelsNostList isn't updated properly after its owner node is adopted into a new document
https://bugs.webkit.org/show_bug.cgi?id=89730

Reviewed by Darin Adler.

  • fast/forms/label/labels-owner-node-adopted-expected.txt: Added.
  • fast/forms/label/labels-owner-node-adopted.html: Added.
9:07 PM Changeset in webkit [121002] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Properly display native memory sizes bigger than 2GB
https://bugs.webkit.org/show_bug.cgi?id=89661

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-06-21
Reviewed by Pavel Feldman.

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

(WebCore::jsHeapInfo):
(WebCore::inspectorData):
(WebCore::renderTreeInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

9:01 PM Changeset in webkit [121001] by inferno@chromium.org
  • 6 edits
    2 adds in trunk

Crash in RenderBlock::layoutPositionedObjects.
https://bugs.webkit.org/show_bug.cgi?id=89599

Reviewed by Julien Chaffraix.

Source/WebCore:

Test: fast/table/table-split-positioned-object-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::splitBlocks): no longer need to explicitly call
removePositionedObjects, since it is part of moveChildrenTo.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::hasPositionedObjects): helper to tell if we have
positioned objects in our list.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::splitAnonymousBoxesAroundChild): Like r102263, this
condition was wrong and while moving children across completely different
trees, we need fullRemoveInsert as true.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::moveChildTo): see code comment.
(WebCore::RenderBoxModelObject::moveChildrenTo): see code comment.

LayoutTests:

  • fast/table/table-split-positioned-object-crash-expected.txt: Added.
  • fast/table/table-split-positioned-object-crash.html: Added.
8:51 PM Changeset in webkit [121000] by vangelis@chromium.org
  • 4 edits in branches/chromium/1132/Source/WebCore

[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):

7:55 PM Changeset in webkit [120999] by tonyg@chromium.org
  • 4 edits in trunk/LayoutTests

[Chromium][Win] Missing trailing newlines in one text test expectation, debug only
https://bugs.webkit.org/show_bug.cgi?id=89534

Reviewed by Tony Gentilcore.

  • fast/canvas/resize-while-save-active-expected.txt:
  • fast/canvas/resize-while-save-active.html: Make test deterministic by running script after load and fix line endings.
7:50 PM Changeset in webkit [120998] by haraken@chromium.org
  • 1 edit
    1 add in trunk/PerformanceTests

Add a perf-test for innerHTML setter for a large DOM tree
https://bugs.webkit.org/show_bug.cgi?id=89723

Reviewed by Ryosuke Niwa.

We want a benchmark for innerHTML setter for the following reason:

  • innerHTML setter is widely used in the real world.
  • I am planning to optimize innerHTML setter in the near future.
  • I want to use the innerHTML setter benchmark for the patch of bug 88834.

Performance results in my Linux desktop:

RESULT Parser: innerHTML-setter= 289.782649995 runs/s
median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s

RESULT Parser: innerHTML-setter= 289.020706132 runs/s
median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s

RESULT Parser: innerHTML-setter= 288.912051701 runs/s
median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s

RESULT Parser: innerHTML-setter= 288.644186666 runs/s
median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s

RESULT Parser: innerHTML-setter= 288.698714577 runs/s
median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s

  • Parser/innerHTML-setter.html: Added.
7:47 PM Changeset in webkit [120997] by kseo@webkit.org
  • 2 edits in trunk/Source/WebCore

Make HTMLDocumentParser::create(DocumentFragment*,Element*, FragmentScriptingPermission) private.
https://bugs.webkit.org/show_bug.cgi?id=89724

Reviewed by Darin Adler.

It is used only by HTMLDocumentParser::parseDocumentFragment. No behavioral changes.

  • html/parser/HTMLDocumentParser.h:

(WebCore::HTMLDocumentParser::create):
(HTMLDocumentParser):

7:40 PM Changeset in webkit [120996] by thakis@chromium.org
  • 6 edits in branches/chromium/1180

Merge 120629 - [chromium/mac] Unbreak smooth scrolling.
https://bugs.webkit.org/show_bug.cgi?id=89327

Reviewed by Dimitri Glazkov.

Broken by Sam in r115589 / r115591.

Source/WebCore:

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::scrollAnimationEnabledForSystem):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetDefaultsToConsistentValues):

  • TestWebKitAPI/mac/InjectedBundleControllerMac.mm:

(TestWebKitAPI::InjectedBundleController::platformInitialize):

  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:

(WTR::InjectedBundle::platformInitialize):

TBR=thakis@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10633026

7:39 PM Changeset in webkit [120995] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Initialize compositor's visibility state upon initialization
https://bugs.webkit.org/show_bug.cgi?id=89712

Patch by James Robinson <jamesr@chromium.org> on 2012-06-21
Reviewed by Adrienne Walker.

A given WebViewImpl's visibility state might change any number of times before compositing is enabled. If the
visibility state is not the default (visible) when the compositor is initialized, we need to let it know the
correct visibility state or it will start ticking uselessly in threaded mode.

Tested manually, there's no way to create a new WebViewImpl in a non-visible state in a WebKit test that I know
of.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

7:37 PM Changeset in webkit [120994] by abarth@webkit.org
  • 3 edits in trunk/Tools

[Chromium] Reset mediaPlaybackRequiresUserGesture WebSettings after each test
https://bugs.webkit.org/show_bug.cgi?id=89718

Reviewed by Kent Tamura.

We should reset this WebSetting to its default value so that it behaves
consistently across tests.

  • DumpRenderTree/chromium/WebPreferences.cpp:

(WebPreferences::reset):
(WebPreferences::applyTo):

  • DumpRenderTree/chromium/WebPreferences.h:

(WebPreferences):

7:05 PM Changeset in webkit [120993] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Use the empty plugin support on non-X11 and non-Windows platforms
https://bugs.webkit.org/show_bug.cgi?id=89501

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-21
Reviewed by Martin Robinson.

The GTK+ port doesn't currently support NPAPI plugins on platforms other
than X11 or Windows. Using PluginPackageNone and PluginViewNone makes it
easier to build it on other platforms and also allows us to drop some
ifdefs from PluginPackageGtk and PluginViewGtk.

  • GNUmakefile.list.am:
7:05 PM Changeset in webkit [120992] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] Add touch-event support for WebPluginContainerImpl
https://bugs.webkit.org/show_bug.cgi?id=89089

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

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::handleEvent):

  • src/WebPluginContainerImpl.h:

(WebCore):
(WebPluginContainerImpl):

7:02 PM Changeset in webkit [120991] by shinyak@chromium.org
  • 3 edits
    2 adds in trunk

[Shadow][Editing] Assertion in VisibleSelection::adjuseSelectionToAvoidCrossingBoundaries() is triggered.
https://bugs.webkit.org/show_bug.cgi?id=89081

Reviewed by Ryosuke Niwa.

Source/WebCore:

firstEditablePositionAfterPositionInRoot and lastEditablePositionBeforePositionInRoot did not
consider a case that an argument hiehestRoot can be in Shadow DOM. So when adjusting selection to
avoid crossing editing boundaries, VisiblePosition can break shadow boundaries, and it causes
an assertion trigger.

By this patch, firstEditablePositionAfterPositionInRoot and lastEditablePositionBeforePositionInRoot will
adjust position to the tree scope of highestRoot instead of its parent tree scope.

Test: editing/shadow/adjusting-editing-boundary-with-table-in-shadow.html

  • editing/htmlediting.cpp:

(WebCore::firstEditablePositionAfterPositionInRoot):
(WebCore::lastEditablePositionBeforePositionInRoot):

LayoutTests:

  • editing/shadow/adjusting-editing-boundary-with-table-in-shadow-expected.txt: Added.
  • editing/shadow/adjusting-editing-boundary-with-table-in-shadow.html: Added.
6:46 PM Changeset in webkit [120990] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Make GL error messages consistent in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=89689

Patch by Gregg Tavares <gman@google.com> on 2012-06-21
Reviewed by Kenneth Russell.

  • fast/canvas/webgl/resources/webgl-test.js:

(shouldGenerateGLError):
(glErrorShouldBe):

  • fast/canvas/webgl/webgl-depth-texture-expected.txt:
6:33 PM Changeset in webkit [120989] by fpizlo@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

op_resolve_global should not prevent DFG inlining
https://bugs.webkit.org/show_bug.cgi?id=89726

Reviewed by Gavin Barraclough.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::shrinkToFit):

  • bytecode/GlobalResolveInfo.h:

(JSC::GlobalResolveInfo::GlobalResolveInfo):
(GlobalResolveInfo):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canInlineOpcode):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

6:30 PM Changeset in webkit [120988] by caseq@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: exception in TimelinePresentationModel when recording timeline
https://bugs.webkit.org/show_bug.cgi?id=89716

Reviewed by Pavel Feldman.

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.processRecord):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.prototype.filteredRecords):
(WebInspector.TimelinePresentationModel.prototype.isVisible):

6:18 PM Changeset in webkit [120987] by commit-queue@webkit.org
  • 10 edits in trunk/Source

[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

Source/WebKit/blackberry:

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

Update setting instance access to use instance() instead of get().

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::globalInitialize):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::init):
(BlackBerry::WebKit::WebPagePrivate::shouldSendResizeEvent):

  • WebCoreSupport/AboutData.cpp:

(WebCore::configPage):

  • WebCoreSupport/CacheClientBlackBerry.cpp:

(WebCore::CacheClientBlackBerry::updateCacheCapacity):

  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::getPaddings):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::isInputModeEnabled):
(BlackBerry::WebKit::InputHandler::setInputModeEnabled):
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

  • WebKitSupport/SurfacePool.cpp:

(BlackBerry::WebKit::SurfacePool::initialize):

Source/WTF:

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

Update setting instance access to use instance() instead of get().

  • wtf/ThreadingPthreads.cpp:

(WTF::createThreadInternal):

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

[chromium] Layout Test fast/speech/scripted/speechgrammar-basics.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=89717

Unreviewed. Added suppression for flaky crash.

  • platform/chromium/TestExpectations:
5:49 PM Changeset in webkit [120985] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk/Source

Add methods to select between offsets in an editable field.
https://bugs.webkit.org/show_bug.cgi?id=89098

Patch by Oli Lan <olilan@chromium.org> on 2012-06-21
Reviewed by Ryosuke Niwa.

Reviewed by Ryosuke Niwa.

Source/WebCore:

Adds a new method setSelectionOffsets to Editor. This selects between
the two integer offsets provided in the node currently being edited,
assuming the offsets are given relative to the rootEditableElement.
If no node or field is currently being edited, the method returns false.

Test: a new test has been added to the chromium port's WebViewTest that
calls this via WebViewImpl::setSelectionEditableOffsets.

  • editing/Editor.cpp:

(WebCore::Editor::setSelectionOffsets):
(WebCore):

  • editing/Editor.h:

(Editor):

Source/WebKit/chromium:

This adds a new method WebViewImpl::setEditableSelectionOffsets, which
can be used to select between two character positions in the node
currently beign edited.

The offsets are assumed to be relative to the rootEditableElement.

This can be used for IME features that require the ability to manipulate
the selection, for example on Android where the method InputConnection#setSelection
is used.

This method calls a new method Editor::setSelectionOffsets.

The method works for inputs/textareas (i.e. text form controls) and
contenteditable nodes, and the new test in WebViewTest tests both these cases.

  • public/WebView.h:

(WebView):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setEditableSelectionOffsets):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/WebViewTest.cpp:

(WebKit::TEST_F):
(WebKit):

  • tests/data/content_editable_populated.html: Added.
  • tests/data/input_field_populated.html: Added.
5:36 PM Changeset in webkit [120984] by jchaffraix@webkit.org
  • 10 edits
    6 adds in trunk

Add support for the grid and inline-grid display types.
https://bugs.webkit.org/show_bug.cgi?id=60732

Reviewed by Tony Chang.

Source/WebCore:

Tests: fast/css-grid-layout/containing-block-grids-expected.html

fast/css-grid-layout/containing-block-grids.html
fast/css-grid-layout/floating-empty-grids-expected.html
fast/css-grid-layout/floating-empty-grids.html

Based on an earlier patch by David Hyatt <hyatt@apple.com>.

Added the first renderer for grid elements.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Added RenderGrid files to the build systems.

  • rendering/RenderGrid.cpp: Added.

(WebCore::RenderGrid::RenderGrid):
(WebCore::RenderGrid::~RenderGrid):
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::renderName):

  • rendering/RenderGrid.h: Added.

(RenderGrid):
Skeleton renderer for now.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::createObject):
Return our new RenderGrid for our 2 new |display| values.

  • rendering/style/RenderStyle.h:

Added INLINE_GRID to the inline and replaced types.

LayoutTests:

Based on an earlier patch by David Hyatt <hyatt@apple.com>.

  • fast/css-grid-layout/containing-block-grids-expected.html: Added.
  • fast/css-grid-layout/containing-block-grids.html: Added.
  • fast/css-grid-layout/floating-empty-grids-expected.html: Added.
  • fast/css-grid-layout/floating-empty-grids.html: Added.
4:55 PM Changeset in webkit [120983] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Clang build fix.

  • dom/NodeRareData.h:
4:52 PM Changeset in webkit [120982] by jamesr@google.com
  • 32 edits in trunk

[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:40 PM Changeset in webkit [120981] by kbr@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Layout test failures after fixing GraphicsLayerChromium scale factors
https://bugs.webkit.org/show_bug.cgi?id=89702

Unreviewed TestExpectations update to suppress failures.

  • platform/chromium/TestExpectations:
4:39 PM Changeset in webkit [120980] by jsbell@chromium.org
  • 1 edit in branches/chromium/1180/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp

Merge 120833 - Unreviewed build fix.

  • tests/IDBDatabaseBackendTest.cpp:

(WebCore::MockIDBCallbacks::~MockIDBCallbacks):
(WebCore::FakeIDBDatabaseCallbacks::~FakeIDBDatabaseCallbacks):

TBR=jsbell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10645009

4:37 PM Changeset in webkit [120979] by rniwa@webkit.org
  • 20 edits in trunk/Source/WebCore

Shrink NodeListsNodeData
https://bugs.webkit.org/show_bug.cgi?id=89036

Reviewed by Andreas Kling.

Replaced 6 hash maps of AtomicString, String, and RefPtr<QualifiedName::QualifiedNameImpl> and a raw pointer
by 3 hash maps of std::pair<unsigned short, AtomicString>, std::pair<unsigned short, String>, and QualifiedName,
to halve the NodeListsNodeData's size (Reduced from 7 pointers to 3 pointers). Made those hash maps private and
added addCacheWith* and removeCacheWith* member functions to reduce the code duplication.

Also got rid of removeCached*NodeList member functions from Node and Document now that DynamicSubtreeNodeList can
simply call nodeLists()->removeCacheWith* on m_node.

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::ChildNodeList):

  • dom/ClassNodeList.cpp:

(WebCore::ClassNodeList::~ClassNodeList):

  • dom/Document.cpp:

(WebCore::Document::getItems): Use addCacheWithName.

  • dom/Document.h: Got rid of removeCachedMicroDataItemList.

(Document):

  • dom/DynamicNodeList.cpp:

(WebCore): Moved the constructor to the header file.

  • dom/DynamicNodeList.h: Added NodeListType and InvalidationType to be used in NodeListsNodeData.

(WebCore::DynamicNodeList::DynamicNodeList): Takes the invalidation type.
(WebCore::DynamicNodeList::document): Added.
(WebCore::DynamicNodeList::shouldInvalidateOnAttributeChange): Added.
(WebCore::DynamicNodeList::Caches::Caches): Added shouldInvalidateOnAttributeChange to retain the invalidation type.
(Caches):
(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):

  • dom/MicroDataItemList.cpp:

(WebCore::MicroDataItemList::~MicroDataItemList):

  • dom/NameNodeList.cpp:

(WebCore::NameNodeList::NameNodeList):
(WebCore::NameNodeList::~NameNodeList):
(WebCore::NameNodeList::nodeMatches):

  • dom/NameNodeList.h:

(WebCore):
(NameNodeList):
(WebCore::NameNodeList::create):

  • dom/Node.cpp:

(WebCore::Node::nodeLists): Added so that node lists can directly call removeCacheWith*.
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::Node::radioNodeList):
(WebCore::NodeListsNodeData::invalidateCaches): Merged invalidateCachesThatDependOnAttributes. The function takes
the attribute name to avoid invalidating tag node lists when only attributes are modified. Also, now we have exactly
three hash maps to invalidate: m_atomicNameCaches, m_nameCaches, and m_tagNodeListCacheNS.
(WebCore): NodeListsNodeData::isEmpty is moved to NodeRareData.h.

  • dom/Node.h:

(WebCore):
(Node):

  • dom/NodeRareData.h:

(NodeListsNodeData):
(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCacheWithName):
(WebCore::NodeListsNodeData::removeCacheWithQualifiedName):
(WebCore::NodeListsNodeData::isEmpty): Moved from Node.cpp now that this function is much shorter.
(WebCore::NodeListsNodeData::NodeListsNodeData):
(WebCore::NodeListsNodeData::namedNodeListKey): Helper member functions to obtain the key for AtomicString and
String hash maps.

  • dom/TagNodeList.cpp:

(WebCore::TagNodeList::TagNodeList):
(WebCore::TagNodeList::~TagNodeList):
(WebCore::HTMLTagNodeList::HTMLTagNodeList): Hard code namespaceURI = starAtom since other values are never used.
(WebCore::HTMLTagNodeList::nodeMatches): Given that, assert m_namespace == starAtom.

  • dom/TagNodeList.h:

(WebCore::TagNodeList::create): Add a new version of create that doesn't take namespace (assume starAtom) so that
addCacheWithAtomicName works with this class.
(WebCore::HTMLTagNodeList::create): Removed namespaceURI from the argument list since it's always starAtom.
(HTMLTagNodeList):

  • html/LabelableElement.cpp:

(WebCore::LabelableElement::labels):

  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::LabelsNodeList): Removed redundant m_forNode (identical to m_node in DynamicNodeList).
(WebCore::LabelsNodeList::~LabelsNodeList):
(WebCore::LabelsNodeList::nodeMatches):

  • html/LabelsNodeList.h:

(WebCore::LabelsNodeList::create):
(LabelsNodeList):

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::RadioNodeList): Removed redundant m_baseElement (identical to m_node in DynamicNodeList).
Also changed the first argument's type from Element* to Node* so that it works better with new template member
functions of NodeListsNodeData.
(WebCore::RadioNodeList::~RadioNodeList):
(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):

  • html/RadioNodeList.h:

(WebCore::RadioNodeList::create):
(RadioNodeList):

4:32 PM Changeset in webkit [120978] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed, rolling out r120945.
http://trac.webkit.org/changeset/120945
https://bugs.webkit.org/show_bug.cgi?id=89703

editing/shadow/breaking-editing-boundaries.html started to
crash (Requested by hayato on #webkit).

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

Source/WebCore:

  • dom/EventDispatcher.cpp:

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

LayoutTests:

  • fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
4:32 PM Changeset in webkit [120977] by zoltan@webkit.org
  • 2 edits in trunk/Tools

DRT/WTR python interface handles about:blank incorrectly
https://bugs.webkit.org/show_bug.cgi?id=89563

Reviewed by Dirk Pranke.

Currently DRT/WTR python interface's _command_from_driver_input function
puts the test directory path before about:blank. Remove this incorrect behavior.

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

(WebKitDriver._command_from_driver_input):

4:28 PM Changeset in webkit [120976] by jsbell@chromium.org
  • 11 edits in trunk/LayoutTests

IndexedDB: Fix layout tests to clear previous database structures
https://bugs.webkit.org/show_bug.cgi?id=89609

Reviewed by Tony Chang.

A handful of tests weren't deleting previously created stores (or the whole
database), which made them fail if trivially re-run in Chromium or under
NRWT with --iterations=2.

  • storage/indexeddb/cursor-key-order-expected.txt:
  • storage/indexeddb/cursor-primary-key-order-expected.txt:
  • storage/indexeddb/open-during-transaction-expected.txt:
  • storage/indexeddb/resources/cursor-key-order.js:

(prepareDatabase.deleteRequest.onsuccess.openreq.onsuccess.verreq.onsuccess):
(prepareDatabase.deleteRequest.onsuccess.openreq.onsuccess):
(prepareDatabase.deleteRequest.onsuccess):
(prepareDatabase):

  • storage/indexeddb/resources/cursor-primary-key-order.js:

(prepareDatabase.deleteRequest.onsuccess.openRequest.onsuccess.versionChangeRequest.onsuccess):
(prepareDatabase.deleteRequest.onsuccess.openRequest.onsuccess):
(prepareDatabase.deleteRequest.onsuccess):
(prepareDatabase):

  • storage/indexeddb/resources/factory-deletedatabase-interactions.js:
  • storage/indexeddb/resources/open-close-version.js:

(test6):
(test6.halfDone):

  • storage/indexeddb/resources/open-during-transaction.js:

(prepareDatabase.deleteRequest.onsuccess.openreq1.onsuccess.setverreq.onsuccess.setverreq.result.oncomplete):
(prepareDatabase.deleteRequest.onsuccess.openreq1.onsuccess.setverreq.onsuccess):
(prepareDatabase.deleteRequest.onsuccess.openreq1.onsuccess):
(prepareDatabase.deleteRequest.onsuccess):
(prepareDatabase):

  • storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html:
3:56 PM Changeset in webkit [120975] by Philippe Normand
  • 3 edits in trunk/Source/WebCore

[GStreamer] Use setGstElementClassMetadata.

Rubber/stamped by Martin Robinson.

This function was introduced in r120790 but I forgot to actually
use it in that patch.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkit_video_sink_class_init):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3:55 PM Changeset in webkit [120974] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG should inline 'new Array()'
https://bugs.webkit.org/show_bug.cgi?id=89632

Reviewed by Geoffrey Garen.

This adds support for treating InternalFunction like intrinsics. The code
to do so is actually quite clean, so I don't feel bad about perpetuating
the InternalFunction vs. JSFunction-with-NativeExecutable dichotomy.

Currently this newfound power is only used to inline 'new Array()'.

  • dfg/DFGByteCodeParser.cpp:

(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(DFG):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::isInternalFunctionConstant):
(JSC::DFG::Graph::valueOfInternalFunctionConstant):

3:47 PM Changeset in webkit [120973] by enne@google.com
  • 13 edits in branches/chromium/1180/Source

Revert 120539 - [Chromium] Compositor should avoid drawing quads when cached textures are available and contents unchanged
https://bugs.webkit.org/show_bug.cgi?id=88482

Reviewed by Adrienne Walker.

Reverted by hand due to merge conflicts.

Added tests to verify quad removal algorithm. Added infrastructure
code to generate custom render passes out of a script
encoded as C string.

  • tests/CCDamageTrackerTest.cpp:

(WebKitTests::TEST_F):

  • tests/CCLayerImplTest.cpp:

(WebCore):
(WebCore::TEST):

  • tests/CCLayerTreeHostImplTest.cpp:
3:40 PM Changeset in webkit [120972] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Enable CSP_NEXT on the Chromium port.
https://bugs.webkit.org/show_bug.cgi?id=89683

Patch by Mike West <mkwst@chromium.org> on 2012-06-21
Reviewed by Adam Barth.

Enable CSP 1.1 on the Chromium port. This has zero practical effect,
as no CSP 1.1 patches have landed yet. But it will. Oh it will.

  • features.gypi: ENABLE_CSP_NEXT=1
3:39 PM Changeset in webkit [120971] by kbr@google.com
  • 2 edits in trunk/LayoutTests

[Chromium] Rebaseline video tests after r120939
https://bugs.webkit.org/show_bug.cgi?id=89696

Unreviewed test expectations update to adjust bug number and
silence failures on Windows platform. Rebaselines are still needed.

  • platform/chromium/TestExpectations:
3:38 PM Changeset in webkit [120970] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Adding copyrights to new files.

  • heap/HeapTimer.cpp:
  • heap/HeapTimer.h:
  • heap/IncrementalSweeper.cpp:
  • heap/IncrementalSweeper.h:
3:38 PM Changeset in webkit [120969] by jamesr@google.com
  • 4 edits
    2 deletes in branches/chromium/1132/Source/WebCore

Merge r120507 to chromium 1132 branch.

[chromium] Use SkBitmap in ImageLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=89134
Reviewed by Adrienne Walker.
GraphicsLayer::setContentsToImage(Image*) is called whenever an image layer's image is or might have changed.
In Chromium, this used to hang on to a RefPtr<WebCore::Image> until the compositor was ready to upload texture contents.
This is potentially a bit fishy since the Image itself might not be in exactly the same state when we get around
to uploading textures and it also creates a bad dependency from ImageLayerChromium on WebCore::Image.
This patch grabs the underlying SkBitmap in the setContentsTo call and passes that into ImageLayerChromium
instead. I've also removed the venerable but redundant PlatformImage concept since all of chromium's images are
skia bitmaps these days.
Covered by existing tests, particularly compositing/images/ and compositing/color-matching/.

  • WebCore.gypi:
  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::setContentsToImage):

  • platform/graphics/chromium/ImageLayerChromium.cpp:

(WebCore::ImageLayerTextureUpdater::updateTextureRect):
(WebCore::ImageLayerTextureUpdater::setBitmap):
(ImageLayerTextureUpdater):
(WebCore::ImageLayerChromium::ImageLayerChromium):
(WebCore::ImageLayerChromium::setBitmap):
(WebCore::ImageLayerChromium::update):
(WebCore::ImageLayerChromium::contentBounds):
(WebCore::ImageLayerChromium::drawsContent):

  • platform/graphics/chromium/ImageLayerChromium.h:

(ImageLayerChromium):

  • platform/graphics/chromium/PlatformImage.cpp: Removed.
  • platform/graphics/chromium/PlatformImage.h: Removed.

TBR=jamesr@chromium.org
BUG=124321

3:34 PM Changeset in webkit [120968] by arv@chromium.org
  • 44 edits
    3 deletes in trunk/Source/WebCore

[V8] Use v8::V8::AddImplicitReferences instead of SetHiddenValue
https://bugs.webkit.org/show_bug.cgi?id=80880

Reviewed by Adam Barth.

We used to add a hidden property in the getter to the returned wrapper.
With this patch we instead handle the liveness of the wrapper in the GC phase by
calling v8::V8::AddHiddenReference.

To reduce the amount of custom code we need, the V8 code generator now supports
GenerateIsReachable (as well as CustomIsReachable) which, even though different
from the JSC attribute, is used in the same cases and takes the same values (even though
at the moment not all JSC values are supported by V8). Interfaces that have *IsReachable
also have a dependent life time (just like if V8DependentLifetime was present).

No new tests. Covered by existing tests.

  • Target.pri:
  • UseV8.cmake:
  • WebCore.gypi:
  • bindings/scripts/CodeGeneratorJS.pm:

(GetGenerateIsReachable): Abstracted GenerateIsReachable and JSGenerateIsReachable.
(GetCustomIsReachable): Ditto.
(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(NeedsToVisitDOMWrapper):
(GetGenerateIsReachable):
(GetCustomIsReachable):
(GenerateVisitDOMWrapper):
(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/V8/V8Float64Array.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8Float64Array.h:

(V8Float64Array):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.h:

(V8TestActiveDOMObject):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.h:

(V8TestCustomNamedGetter):

  • bindings/scripts/test/V8/V8TestEventConstructor.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestEventConstructor.h:

(V8TestEventConstructor):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestEventTarget.h:

(V8TestEventTarget):

  • bindings/scripts/test/V8/V8TestException.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestException.h:

(V8TestException):

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestInterface.h:

(V8TestInterface):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.h:

(V8TestMediaQueryListListener):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestNamedConstructor.h:

(V8TestNamedConstructor):

  • bindings/scripts/test/V8/V8TestNode.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestNode.h:

(V8TestNode):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestObj.h:

(V8TestObj):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:

(V8TestSerializedScriptValueInterface):

  • bindings/v8/NPV8Object.cpp:

(WebCore::npObjectTypeInfo):

  • bindings/v8/V8GCController.cpp:

(WebCore::GrouperVisitor::visitDOMWrapper):

  • bindings/v8/WrapperTypeInfo.h:

(WebCore):
(WrapperTypeInfo):

  • bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
  • bindings/v8/custom/V8DOMStringMapCustom.cpp:
  • bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore):

  • bindings/v8/custom/V8NamedNodeMapCustom.cpp:
  • bindings/v8/custom/V8StyleSheetCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8TextTrackListCustom.cpp: Removed.
  • css/CSSStyleSheet.idl:
  • css/StyleSheet.idl:
  • dom/DOMStringMap.idl:
  • dom/NamedNodeMap.idl:
  • html/DOMTokenList.idl:
  • html/track/TextTrackList.idl:
3:28 PM Changeset in webkit [120967] by commit-queue@webkit.org
  • 17 edits in trunk

IndexedDB: Implement spec behavior for multiEntry indexes with invalid/duplicate subkeys
https://bugs.webkit.org/show_bug.cgi?id=86123

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-21
Reviewed by Darin Fisher.

Source/WebCore:

Distinguish between an actual invalid IDBKey, and an array of
possibly-invalid subkeys by making IDBKey::isValid() check subkeys
if the type is an array.

Introduce a new way to transform an IDBKey into a
multiEntry-specific IDBKey, (IDBKey::createMultiEntryArray)
throwing out duplicates and invalid keys. Use it when storing
index entries for multiEntry indexes.

No new tests: existing tests have been altered to include new behavior.

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::continueFunction):

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::cmp):

  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):

  • Modules/indexeddb/IDBKey.cpp:

(WebCore::IDBKey::isValid):
(WebCore):

  • Modules/indexeddb/IDBKey.h:

(WebCore::IDBKey::createMultiEntryArray):
(IDBKey):

  • Modules/indexeddb/IDBKeyRange.cpp:

(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):

  • Modules/indexeddb/IDBLevelDBBackingStore.cpp:

(WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
(WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::encodeIDBKey):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

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

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::createIDBKeyFromValue):

Source/WebKit/chromium:

Add matching isValid() to WebIDBKey to match the one in IDBKey.

  • public/WebIDBKey.h:
  • src/WebIDBKey.cpp:

(WebKit::WebIDBKey::isValid):
(WebKit):

  • src/WebIDBKeyRange.cpp:

(WebKit::WebIDBKeyRange::assign):

LayoutTests:

  • storage/indexeddb/index-multientry-expected.txt:
  • storage/indexeddb/resources/index-multientry.js:

(addData):
(verifyIndexes.request.onsuccess):
(verifyIndexes):
(verifyUniqueConstraint.request.onsuccess.request.onsuccess.request.onerror):
(verifyUniqueConstraint.request.onsuccess.request.onsuccess):
(verifyUniqueConstraint.request.onsuccess):
(verifyUniqueConstraint):

3:02 PM Changeset in webkit [120966] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] Overlays when using the web inspector are blurry with device scale factor > 1
https://bugs.webkit.org/show_bug.cgi?id=89676

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-21
Reviewed by James Robinson.

Whenever we construct a GraphicsLayerChromium, make initialize the
device and page scale factors, if possible.

Source/WebCore:

Unit test: GraphicsLayerChromiumTest.shouldStartWithCorrectContentsScale

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):

Source/WebKit/chromium:

  • tests/GraphicsLayerChromiumTest.cpp:

(WebKitTests::TEST_F):
(WebKitTests):

2:48 PM Changeset in webkit [120965] by dpranke@chromium.org
  • 2 edits in trunk/Tools

reenable perf tests on win
https://bugs.webkit.org/show_bug.cgi?id=89690

Reviewed by Ryosuke Niwa.

Only the replay tests don't work, and those are disabled by
default. This change also fixes the undefined _log reference
that was causing a crash.

  • Scripts/run-perf-tests:
2:24 PM WebKit Team edited by yong.li.webkit@gmail.com
(diff)
2:23 PM Changeset in webkit [120964] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[Qt] REGRESSION(r120790): broke video rendering
https://bugs.webkit.org/show_bug.cgi?id=89619

Reviewed by Alexis Menard.

Invert the pixel components of the Image on little endian architectures.

  • platform/graphics/gstreamer/ImageGStreamerQt.cpp:

(ImageGStreamer::ImageGStreamer):

2:23 PM Changeset in webkit [120963] by commit-queue@webkit.org
  • 6 edits
    2 copies in trunk/Source/WebKit2

[WK2] Add C API to inspect a Web Intent
https://bugs.webkit.org/show_bug.cgi?id=89275

Patch by Christophe Dumez <Christophe Dumez> on 2012-06-21
Reviewed by Anders Carlsson.

Add C API for Web Intent so that it can be queried
on client side.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • UIProcess/API/C/WKIntentData.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.

(WKIntentDataGetTypeID):
(WKIntentDataCopyAction):
(WKIntentDataCopyType):
(WKIntentDataCopyService):
(WKIntentDataCopySuggestions):
(WKIntentDataCopyExtra):
(WKIntentDataCopyExtras):

  • UIProcess/API/C/WKIntentData.h: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
  • UIProcess/WebIntentData.cpp:

(WebKit::WebIntentData::suggestions):
(WebKit):
(WebKit::WebIntentData::extra):
(WebKit::WebIntentData::extras):

  • UIProcess/WebIntentData.h:

(WebIntentData):

2:15 PM Changeset in webkit [120962] by simonjam@chromium.org
  • 19 edits
    3 copies
    1 add in trunk/Source/WebCore

[Resource Timing] Implement Resource Timing interface
https://bugs.webkit.org/show_bug.cgi?id=61152

This patch implements the Resource Timing interface. It doesn't do anything
useful, because nothing populates the timeline yet. There are also some gaps
in the implementation, which have been filed as bugs.

http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/ResourceTiming/Overview.html

Reviewed by Tony Gentilcore.

No new tests. Feature is disabled on all platforms.

  • CMakeLists.txt:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • UseV8.cmake:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/v8/custom/V8PerformanceEntryCustom.cpp:

(WebCore):
(WebCore::toV8): Support PerformanceEntry polymorphism.

  • dom/EventNames.h:

(WebCore):

  • dom/EventTargetFactory.in:
  • page/Performance.cpp:

(WebCore::Performance::~Performance):
(WebCore):
(WebCore::Performance::interfaceName): Reqired for EventTarget.
(WebCore::Performance::scriptExecutionContext): Ditto.
(WebCore::Performance::webkitGetEntries): Return "resource" entries.
(WebCore::Performance::webkitGetEntriesByType): Ditto.
(WebCore::Performance::webkitGetEntriesByName): Ditto.
(WebCore::Performance::webkitClearResourceTimings): New.
(WebCore::Performance::webkitSetResourceTimingBufferSize): New. Unimplemented.
(WebCore::Performance::addResourceTiming): This is how resources in WebCore will report to the timeline.
(WebCore::Performance::eventTargetData): Required for EventTarget.
(WebCore::Performance::ensureEventTargetData): Ditto.

  • page/Performance.h:

(Performance):
(WebCore::Performance::refEventTarget):
(WebCore::Performance::derefEventTarget):

  • page/Performance.idl:
  • page/PerformanceEntry.cpp:

(WebCore::PerformanceEntry::~PerformanceEntry):
(WebCore):

  • page/PerformanceEntry.h:

(PerformanceEntry):
(WebCore::PerformanceEntry::isResource):

  • page/PerformanceEntry.idl:
  • page/PerformanceResourceTiming.cpp: Added.

(WebCore):
(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::initiatorType):
(WebCore::PerformanceResourceTiming::redirectStart):
(WebCore::PerformanceResourceTiming::redirectEnd):
(WebCore::PerformanceResourceTiming::fetchStart):
(WebCore::PerformanceResourceTiming::domainLookupStart):
(WebCore::PerformanceResourceTiming::domainLookupEnd):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::connectEnd):
(WebCore::PerformanceResourceTiming::secureConnectionStart):
(WebCore::PerformanceResourceTiming::requestStart):
(WebCore::PerformanceResourceTiming::responseStart):
(WebCore::PerformanceResourceTiming::responseEnd):
(WebCore::PerformanceResourceTiming::monotonicTimeToDocumentMilliseconds):
(WebCore::PerformanceResourceTiming::resourceTimeToMilliseconds):

  • page/PerformanceResourceTiming.h: Added.

(WebCore):
(PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::create):
(WebCore::PerformanceResourceTiming::isResource):

  • page/PerformanceResourceTiming.idl: Added.
1:32 PM Changeset in webkit [120961] by jchaffraix@webkit.org
  • 1 edit
    4 copies in branches/chromium/1132

Merge 120934 - Non-fixed length margins don't work with align=center
https://bugs.webkit.org/show_bug.cgi?id=89626

Reviewed by Levi Weintraub.

Source/WebCore:

Tests: fast/block/negative-start-margin-align-center-percent.html

fast/block/positive-margin-block-child-align-center-calc.html

Calling Length::value() is a bad idea as it returns the *raw* value of
the length. For percent and calculated length this is a bad idea as they
bear not relation to the actual computed length.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeInlineDirectionMargins):
Fixed the code to use minimumValueForLength as this nicely takes care of the 'auto' case.

LayoutTests:

  • fast/block/negative-start-margin-align-center-percent-expected.html: Added.
  • fast/block/negative-start-margin-align-center-percent.html: Added.
  • fast/block/positive-margin-block-child-align-center-calc-expected.html: Added.
  • fast/block/positive-margin-block-child-align-center-calc.html: Added.

TBR=jchaffraix@webkit.org

1:20 PM Changeset in webkit [120960] by hans@chromium.org
  • 3 edits in trunk/Source/WebCore

Speech JavaScript API: Remove FIXMEs about whether events bubble and are cancelable
https://bugs.webkit.org/show_bug.cgi?id=89657

Reviewed by Adam Barth.

The spec has been updated to clarify that the events do not bubble and
are not cancelable.

No new tests, just removing comments.

  • Modules/speech/SpeechRecognition.cpp:

(WebCore::SpeechRecognition::didStartAudio):

  • Modules/speech/SpeechRecognitionError.cpp:

(WebCore::SpeechRecognitionError::SpeechRecognitionError):

1:13 PM Changeset in webkit [120959] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/blackberry

Add a parameter to handletTouchPoint to bypass FatFingers
on touch up. There are some cases where the user may drag
their finger off the element and we want to use the actual
touch point instead of the FatFingers adjusted point.
https://bugs.webkit.org/show_bug.cgi?id=89677

Patch by Genevieve Mak <gmak@rim.com> on 2012-06-21
Reviewed by Antonio Gomes.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):

  • Api/WebPage.h:
  • WebKitSupport/TouchEventHandler.cpp:

(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

  • WebKitSupport/TouchEventHandler.h:

(TouchEventHandler):

12:29 PM Changeset in webkit [120958] by jsbell@chromium.org
  • 5 edits in branches/chromium/1180/Source

Merge 120828 - [Chromium] IndexedDB: Don't close database if pending connections are in flight
https://bugs.webkit.org/show_bug.cgi?id=89512

Source/WebCore:

Add a counter tracking connections between the two phases, which is used along with
the completed connection count to determine the total number of connections.

Reviewed by Tony Chang.

Test: webkit_unit_tests --gtest_filter='IDBDatabaseBackendTest.ConnectionLifecycle'

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::connectionCount):
(WebCore):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::transaction):
(WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
(WebCore::IDBDatabaseBackendImpl::openConnection):
(WebCore::IDBDatabaseBackendImpl::close):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBFactoryBackendImpl.cpp:

(WebCore::IDBFactoryBackendImpl::openInternal):

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore):

Source/WebKit/chromium:

Reviewed by Tony Chang.

  • tests/IDBDatabaseBackendTest.cpp:

(MockIDBCallbacks):
(WebCore::MockIDBCallbacks::create):
(WebCore::MockIDBCallbacks::MockIDBCallbacks):
(WebCore):
(FakeIDBDatabaseCallbacks):
(WebCore::FakeIDBDatabaseCallbacks::create):
(WebCore::FakeIDBDatabaseCallbacks::FakeIDBDatabaseCallbacks):
(WebCore::TEST):

TBR=jsbell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10630009

12:26 PM Changeset in webkit [120957] by commit-queue@webkit.org
  • 11 edits
    1 move in trunk/Source/WebCore

Web Inspector: [WebGL] Rename InjectedWebGLScriptSource.js -> InjectedScriptWebGLModuleSource.js
https://bugs.webkit.org/show_bug.cgi?id=89675

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-06-21
Reviewed by Pavel Feldman.

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InjectedScriptWebGLModule.cpp:

(WebCore::InjectedScriptWebGLModule::source):

  • inspector/InjectedScriptWebGLModuleSource.js: Renamed from Source/WebCore/inspector/InjectedWebGLScriptSource.js.

(.):

12:20 PM Changeset in webkit [120956] by commit-queue@webkit.org
  • 18 edits in trunk

[GTK] Fix NPAPI plugins on Windows
https://bugs.webkit.org/show_bug.cgi?id=54531

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-21
Reviewed by Martin Robinson.

.:

Define XP_WIN on Windows for plugin support.

  • GNUmakefile.am:

Source/WebCore:

Switch to using PluginPackageWin.cpp and PluginViewWin.cpp on Windows
platform, and leave plugins/gtk/ only for XP_UNIX platforms. With this
we can share a lot of code with other ports and don't have to
reimplement all the Windows-specific code in plugins/gtk/.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • platform/FileSystem.h:

(WebCore):

  • platform/graphics/GraphicsContext.h:

(GraphicsContext):

  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:

(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(GraphicsContextPlatformPrivate):

  • platform/graphics/transforms/TransformationMatrix.h:

(TransformationMatrix):

  • platform/graphics/win/GraphicsContextCairoWin.cpp:

(WebCore):

  • platform/graphics/win/GraphicsContextWin.cpp:

(WebCore):

  • platform/gtk/FileSystemGtk.cpp:

(WebCore::unloadModule):

  • plugins/PluginView.h:

(PluginView):

  • plugins/win/PluginViewWin.cpp:

(windowHandleForPageClient):
(WebCore::registerPluginView):
(WebCore::PluginView::paint):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::snapshot):

Source/WTF:

Define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for the GTK+ port, and
include OwnPtrWin.cpp in the list of files built on Windows.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • wtf/Platform.h:
11:57 AM Changeset in webkit [120955] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r120937.
http://trac.webkit.org/changeset/120937
https://bugs.webkit.org/show_bug.cgi?id=89679

This patch brought buildbot master down (Requested by svillar
on #webkit).

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

  • BuildSlaveSupport/build.webkit.org-config/config.json:
11:54 AM Changeset in webkit [120954] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

<rdar://problem/11718988> and https://bugs.webkit.org/show_bug.cgi?id=89673
showModalDialog fix creates risk of never returning from RunLoop::performWork, potentially blocking other event sources

In case handling a function on the queue places additional functions on the queue, we should
limit the number of functions each invocation of performWork() performs so it can return and
other event sources have a chance to spin.

The showModalDialog fix in question is http://trac.webkit.org/changeset/120879

Reviewed by Darin Adler and Anders Carlson.

  • platform/RunLoop.cpp:

(WebCore::RunLoop::performWork): If there are only N functions in the queue when performWork is called,

only handle up to N functions before returning. Any additional functions will be handled the next time
the runloop spins.

11:37 AM Changeset in webkit [120953] by timothy_horton@apple.com
  • 5 edits
    3 adds in trunk

SVGImageCache isn't invalidated for <img> on dynamic page scale changes
https://bugs.webkit.org/show_bug.cgi?id=89621
<rdar://problem/11714677>

Reviewed by Simon Fraser.

Previously, device and page scale factors were being cached as a part of the SVGImageCache's
size request. However, an <img> never has a reason to update its size request when the page
scale is changed via gesture zooming, as no layout occurs.

Instead, look up the relevant scales when the image is requested (which will occur during every
repaint), allowing page scale changes to take effect without requiring an updated size request.

Test: svg/as-image/image-respects-pageScaleFactor-change.html

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::lookupOrCreateImageForRenderer):
(WebCore::CachedImage::setContainerSizeForRenderer):

  • svg/graphics/SVGImageCache.cpp:

(WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):

  • svg/graphics/SVGImageCache.h:

(WebCore::SVGImageCache::SizeAndScales::SizeAndScales):
(SizeAndScales):

Add a test that ensures that dynamic changes to pageScaleFactor are propagated through
to the SVGImageCache.

  • platform/mac/svg/as-image/image-respects-pageScaleFactor-change-expected.png: Added.
  • platform/mac/svg/as-image/image-respects-pageScaleFactor-change-expected.txt: Added.
  • svg/as-image/image-respects-pageScaleFactor-change.html: Added.
11:35 AM Changeset in webkit [120952] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Skipping this failing test. Filed
https://bugs.webkit.org/show_bug.cgi?id=89680 to track fixing the
real issue.

  • platform/mac/Skipped:
11:24 AM Changeset in webkit [120951] by pdr@google.com
  • 5 edits
    2 adds in trunk

Add pending resource even if others are pending
https://bugs.webkit.org/show_bug.cgi?id=89633

Reviewed by Dirk Schulze.

Source/WebCore:

An element can have multiple simultaneous pending resources but some of
this code was legacy, before the hasPendingResource()->hasPendingResources()
change (r105573). This patch continues adding a pending resource even if
there are other pending resources. In some cases, this can lead to marking
a resource as pending twice but the performance impact of that is negligible.

Other than SVGUseElement, SVGTrefElement and SVGFEImageElement are also
changed. These elements are unaffected because they can only have
a single resource at the moment (href), with other Style url() references
being handled by their parent containers.

Tests: svg/custom/use-multiple-pending-resources-expected.svg

svg/custom/use-multiple-pending-resources.svg

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::buildPendingResource):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::detachTarget):
(WebCore::SVGTRefElement::buildPendingResource):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::buildPendingResource):

LayoutTests:

  • svg/custom/use-multiple-pending-resources-expected.svg: Added.
  • svg/custom/use-multiple-pending-resources.svg: Added.
11:21 AM Changeset in webkit [120950] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Replace the use of "struct stat" with GStatBuf
https://bugs.webkit.org/show_bug.cgi?id=89488

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-21
Reviewed by Martin Robinson.

Make sure we pass GStatBuf to g_stat(); depending on the platform, it
isn't always the same as "struct stat", e.g. on Windows.

  • platform/gtk/FileSystemGtk.cpp:

(WebCore::getFileSize):
(WebCore::getFileModificationTime):

11:17 AM Changeset in webkit [120949] by commit-queue@webkit.org
  • 5 edits in trunk/Source

remove ENABLE_FULLSCREEN_MEDIA_CONTROL flag
https://bugs.webkit.org/show_bug.cgi?id=89614

Patch by Min Qin <qinmin@chromium.org> on 2012-06-21
Reviewed by Eric Carlson.

Source/WebCore:

Desktop chromium also starts to use fullscreen button after https://bugs.webkit.org/show_bug.cgi?id=88818
we don't need this flag any more
No test needed as this change just removes a flag.

  • html/shadow/MediaControlRootElementChromium.cpp:

(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
(WebCore::MediaControlRootElementChromium::create):
(WebCore::MediaControlRootElementChromium::setMediaController):
(WebCore::MediaControlRootElementChromium::reset):
(WebCore::MediaControlRootElementChromium::reportedError):

  • html/shadow/MediaControlRootElementChromium.h:

(MediaControlRootElementChromium):

Source/WebKit/chromium:

Since desktop chrome now has fullscreen button, we don't need this flag anymore

  • features.gypi:
11:14 AM Changeset in webkit [120948] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Properly encode/decode service in IntentData
https://bugs.webkit.org/show_bug.cgi?id=89460

Patch by Christophe Dumez <Christophe Dumez> on 2012-06-21
Reviewed by Gustavo Noronha Silva.

Update IntentData::encode() and IntentData::decode()
so that the "service" member is properly encoded
and decoded.

  • Shared/IntentData.cpp:

(WebKit::IntentData::encode):
(WebKit::IntentData::decode):

11:09 AM Changeset in webkit [120947] by tony@chromium.org
  • 1 edit
    2 deletes in trunk/LayoutTests

Unreviewed gardening. Removing pixel results for CSS computed style tests which are text only tests.

  • platform/qt/fast/css/getComputedStyle/computed-style-expected.png: Removed.
  • platform/qt/fast/css/getComputedStyle/computed-style-without-renderer-expected.png: Removed.
11:07 AM Changeset in webkit [120946] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. The computed style tests should now pass on EFL after r120870.

  • platform/efl/TestExpectations:
11:05 AM Changeset in webkit [120945] 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:

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:01 AM Changeset in webkit [120944] by Martin Robinson
  • 3 edits in trunk/Tools

[GTK] Combine WebKit API tests into fewer binaries
https://bugs.webkit.org/show_bug.cgi?id=88458

Reviewed by Carlos Garcia Campos.

Instead of creating one binary per-test file, create binaries for each
category of tests. Right now this includes WTF and the WebKit2 C API,
but later tests can be added for the GTK+ platform layer and the WebKit1
and WebKit2 API layers.

  • TestWebKitAPI/GNUmakefile.am: Compile only two test binaries, one for the WebKit2 C API and one for WTF. Refresh the source list to ensure that new test are active.
  • gtk/run-api-tests: Change the way that tests are skipped by splitting out the

concept of skipping a test and skipping a suite (program) of tests. Test cases are
skipped because of legitimate failures, but entire programs are skipped because of
problems in the harness. As of right now a test program is only skipped if the
accessibility bus cannot be started.
(SkippedTest.init): Make the test case a required argument and have one skipped
test case per SkippedTest instance.
(SkippedTest.str): Ditto.
(TestRunner): Update the directory list. We only have two gtest binaries now and they are
in one directory. Reformat the test list to make it slightly easier to read.
(TestRunner.init): Add the _skipped_test_program member, which handles entire
test programs that are skipped.
(TestRunner._setup_testing_environment): Use the new member.
(TestRunner._test_cases_to_skip): Collect all skipped test cases now instead of just
the first SkippedTest that matches.
(TestRunner._should_run_test_program): Take a look at the new member to make this
decision.
(TestRunner._run_test_command): Use the name test_program instead of test
to disambiguate between test cases and test suites.
(TestRunner._run_test_glib): ditto.
(TestRunner._run_test_google): Ditto.
(TestRunner._run_test): Ditto.
(TestRunner.run_tests): Ditto.

10:53 AM Changeset in webkit [120943] by commit-queue@webkit.org
  • 9 edits in trunk

[CSSRegions]Change WEBKIT_REGION_RULE value to 16
https://bugs.webkit.org/show_bug.cgi?id=89421

Patch by Andrei Onea <onea@adobe.com> on 2012-06-21
Reviewed by Tony Chang.

Source/WebCore:

Modified WEBKIT_REGION_RULE where applicable to match CSS Regions spec.
The new value for WEBKIT_REGION_RULE is 16 (was 10).

  • css/CSSRule.cpp:

(WebCore):
Added COMPILE_ASSERT to ensure StyleRule::Region and CSSRule::WEBKIT_REGION_RULE will

  • css/CSSRule.h:

(CSSRule):
Modified m_type bitfield length to 5

  • css/CSSRule.idl:
  • css/StyleRule.cpp:

(SameSizeAsStyleRuleBase):
(WebCore):
Added COMPILE_ASSERT to ensure that StyleRuleBase will always have exactly 32bits.

  • css/StyleRule.h:

(StyleRuleBase):
Modified m_type bitfield to 5 to accommodate the new value, and modified
m_sourceLine bitfield to 27 bits in order to keep StyleRule 32
bits long. Consequently, any css rule longer than 67,108,863 lines will
cause overflow - however, the value is large enough not to cause
problems.

LayoutTests:

Added check for exact value of WEBKIT_REGION_RULE which should be 16,
according to CSS Regions spec.

  • fast/regions/webkit-region-rule-expected.txt:
  • fast/regions/webkit-region-rule.html:
10:50 AM Changeset in webkit [120942] by yong.li@torchmobile.com
  • 2 edits in trunk/Tools

Unreviewed. Moving myself from committer list to reviewer.

  • Scripts/webkitpy/common/config/committers.py:
10:34 AM Changeset in webkit [120941] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

make sure headers are included only once per file
https://bugs.webkit.org/show_bug.cgi?id=88922

Patch by Arnaud Renevier <arno@renevier.net> on 2012-06-21
Reviewed by Alexey Proskuryakov.

  • bytecode/CodeBlock.h:
  • heap/MachineStackMarker.cpp:
  • runtime/JSVariableObject.h:
10:34 AM Changeset in webkit [120940] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

r120835: fast/box-decoration-break/box-decoration-break-rendering.html failing on mac bots
https://bugs.webkit.org/show_bug.cgi?id=89620

  • platform/mac/Skipped:
10:32 AM Changeset in webkit [120939] by commit-queue@webkit.org
  • 36 edits in trunk

Paint played and buffered ranges differently in Chrome video controls.
https://bugs.webkit.org/show_bug.cgi?id=89284

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

Source/WebCore:

No new tests; existing video control tests cover this case.

The Chrome video controls are receiving a visual update. This patch changes
the format in which the playback position slider displays the buffered range.
It is painted in a lighter color left of the position thumb and darker right
of the position thumb

  • css/mediaControlsChromium.css:

(input[type="range"]::-webkit-media-slider-container):
Adjust the border color of the playback position slider.

  • rendering/RenderMediaControlsChromium.cpp:

(WebCore::paintRoundedSliderBackground):
Adjust the background color of the position slider.
(WebCore::paintSliderRangeHighlight):
Make the color of the range region a function parameter,
provide start and end position as pixel width instead of percentage,
and make sure the rounded corners at beginning and end don't turn into rectangles.
(WebCore):
Move the mediaSliderThumbWidth variable up to be used in paintMediaSlider().
(WebCore::paintMediaSlider):
Calculate start, current and end position instead of fractions,
adjust the current position by half the thumb's width for improved rendering,
and draw two highlight areas: one bright one before current position and
one grey one after current position.
(WebCore::paintMediaVolumeSlider):
Adjust the paintSliderRangeHighlight function call and add the colors.

LayoutTests:

Rebaseline tests for linux build; mark others in TestExpectations.

  • platform/chromium/TestExpectations:
  • platform/chromium-linux/fast/layers/video-layer-expected.png:
  • platform/chromium-linux/fullscreen/full-screen-stacking-context-expected.png:
  • platform/chromium-linux/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
  • platform/chromium-linux/media/audio-controls-rendering-expected.png:
  • platform/chromium-linux/media/controls-after-reload-expected.png:
  • platform/chromium-linux/media/controls-strict-expected.png:
  • platform/chromium-linux/media/controls-styling-expected.png:
  • platform/chromium-linux/media/controls-without-preload-expected.png:
  • platform/chromium-linux/media/video-controls-rendering-expected.png:
  • platform/chromium-linux/media/video-display-toggle-expected.png:
  • platform/chromium-linux/media/video-playing-and-pause-expected.png:
  • platform/chromium-linux/media/video-zoom-controls-expected.png:
  • platform/chromium-linux/media/audio-repaint-expected.png:
  • platform/chromium-linux/media/controls-layout-direction-expected.png:
  • platform/chromium-linux/media/media-controls-clone-expected.png:
  • platform/chromium-linux/media/media-document-audio-repaint-expected.png:
  • platform/chromium-linux/media/video-no-audio-expected.png:
  • platform/chromium-win/fast/layers/video-layer-expected.txt:
  • platform/chromium-win/media/audio-controls-rendering-expected.txt:
  • platform/chromium-win/media/audio-repaint-expected.txt:
  • platform/chromium-win/media/controls-after-reload-expected.txt:
  • platform/chromium-win/media/controls-strict-expected.txt:
  • platform/chromium-win/media/controls-styling-expected.txt:
  • platform/chromium-win/media/controls-without-preload-expected.txt:
  • platform/chromium-win/media/media-controls-clone-expected.txt:
  • platform/chromium-win/media/media-document-audio-repaint-expected.txt:
  • platform/chromium-win/media/video-controls-rendering-expected.txt:
  • platform/chromium-win/media/video-display-toggle-expected.txt:
  • platform/chromium-win/media/video-no-audio-expected.txt:
  • platform/chromium-win/media/video-playing-and-pause-expected.txt:
  • platform/chromium-win/media/video-zoom-controls-expected.txt:
10:28 AM Changeset in webkit [120938] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unused static variable uninitializedLineNumberValue.
https://bugs.webkit.org/show_bug.cgi?id=89643

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-21
Reviewed by Alexey Proskuryakov.

No behavioral changes.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore):

10:25 AM Changeset in webkit [120937] by sergio@webkit.org
  • 2 edits in trunk/Tools

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

Reviewed by Philippe Normand.

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

  • BuildSlaveSupport/build.webkit.org-config/config.json:
10:21 AM Changeset in webkit [120936] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unused static function skipComment.
https://bugs.webkit.org/show_bug.cgi?id=89641

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-21
Reviewed by Alexey Proskuryakov.

No behavioral changes.

  • loader/TextResourceDecoder.cpp:
10:19 AM Changeset in webkit [120935] by thakis@chromium.org
  • 4 edits in trunk/Source/WebCore

Remove two more member variables found by clang's Wunused-private-field
https://bugs.webkit.org/show_bug.cgi?id=89672

Reviewed by Anders Carlsson.

  • html/shadow/MediaControlRootElementChromium.h:

(MediaControlRootElementChromium):

  • platform/graphics/filters/FECustomFilter.cpp:

(WebCore::FECustomFilter::FECustomFilter):

  • platform/graphics/filters/FECustomFilter.h:

(FECustomFilter):

10:15 AM Changeset in webkit [120934] by jchaffraix@webkit.org
  • 3 edits
    4 adds in trunk

Non-fixed length margins don't work with align=center
https://bugs.webkit.org/show_bug.cgi?id=89626

Reviewed by Levi Weintraub.

Source/WebCore:

Tests: fast/block/negative-start-margin-align-center-percent.html

fast/block/positive-margin-block-child-align-center-calc.html

Calling Length::value() is a bad idea as it returns the *raw* value of
the length. For percent and calculated length this is a bad idea as they
bear not relation to the actual computed length.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeInlineDirectionMargins):
Fixed the code to use minimumValueForLength as this nicely takes care of the 'auto' case.

LayoutTests:

  • fast/block/negative-start-margin-align-center-percent-expected.html: Added.
  • fast/block/negative-start-margin-align-center-percent.html: Added.
  • fast/block/positive-margin-block-child-align-center-calc-expected.html: Added.
  • fast/block/positive-margin-block-child-align-center-calc.html: Added.
10:13 AM Changeset in webkit [120933] by rjkroege@chromium.org
  • 2 edits in trunk/Source/WebCore

[chromium] style improvement for setDeviceScaleFactor code
https://bugs.webkit.org/show_bug.cgi?id=89665

Correct a coding style error committed in https://bugs.webkit.org/show_bug.cgi?id=88916

Reviewed by Adrienne Walker.

Purely code hygiene: existing tests suffice.

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

(WebCore::CCLayerTreeHostImpl::setDeviceScaleFactor):

10:07 AM Changeset in webkit [120932] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=89664

Unreviewed gardening. Mark editing/deleting/delete-3800834-fix.html
as flaky.

Patch by Simon Pena <Simon Pena> on 2012-06-21

  • platform/gtk/TestExpectations:
10:05 AM Changeset in webkit [120931] by shinyak@chromium.org
  • 3 edits
    2 adds in trunk

[Crash][Editing] Pressing enter on LI element triggers assertion in Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=89171

Reviewed by Ryosuke Niwa.

Source/WebCore:

Since modidying Shadow DOM removes renderer of elements in Shadow DOM and shadow host,
assertion to check the existence of renderer was triggered.

We should update layout here to create renderer again.

Test: editing/shadow/pressing-enter-on-list.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::appendBlockPlaceholder):

LayoutTests:

  • editing/shadow/pressing-enter-on-list-expected.txt: Added.
  • editing/shadow/pressing-enter-on-list.html: Added.
10:03 AM Changeset in webkit [120930] by commit-queue@webkit.org
  • 10 edits in trunk/LayoutTests

DeviceOrientation and DeviceMotion Test Cleanup
https://bugs.webkit.org/show_bug.cgi?id=89662

Patch by Amy Ousterhout <aousterh@chromium.org> on 2012-06-21
Reviewed by Ryosuke Niwa.

Replaces 'LayoutTestController' with 'TestRunner' in debug messages.
This makes it consistent with testRunner, which replaced layoutTestController.

  • fast/dom/DeviceMotion/script-tests/no-page-cache.js:
  • fast/dom/DeviceOrientation/script-tests/add-listener-from-callback.js:
  • fast/dom/DeviceOrientation/script-tests/basic-operation.js:
  • fast/dom/DeviceOrientation/script-tests/event-after-navigation.js:
  • fast/dom/DeviceOrientation/script-tests/multiple-frames.js:
  • fast/dom/DeviceOrientation/script-tests/no-page-cache.js:
  • fast/dom/DeviceOrientation/script-tests/no-synchronous-events.js:
  • fast/dom/DeviceOrientation/script-tests/null-values.js:

(setMockOrientation):

  • fast/dom/DeviceOrientation/script-tests/updates.js:

(setMockOrientation):

9:53 AM Changeset in webkit [120929] by commit-queue@webkit.org
  • 12 edits
    2 copies in trunk/Source/WebCore

Web Inspector: [WebGL] Add injected WebGL module class
https://bugs.webkit.org/show_bug.cgi?id=89592

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-06-21
Reviewed by Pavel Feldman.

Adding a new InjectedScriptWebGLModule class and moving WebGL-related
stuff out of InjectedScriptManager class.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InjectedScriptManager.cpp:
  • inspector/InjectedScriptManager.h:

(InjectedScriptManager):

  • inspector/InjectedScriptModule.cpp:

(WebCore::InjectedScriptModule::ensureInjected):

  • inspector/InjectedScriptModule.h:

(InjectedScriptModule):

  • inspector/InjectedScriptWebGLModule.cpp: Copied from Source/WebCore/inspector/InjectedScriptModule.cpp.

(WebCore):
(WebCore::InjectedScriptWebGLModule::InjectedScriptWebGLModule):
(WebCore::InjectedScriptWebGLModule::moduleForState):
(WebCore::InjectedScriptWebGLModule::source):
(WebCore::InjectedScriptWebGLModule::wrapWebGLContext):
(WebCore::InjectedScriptWebGLModule::captureFrame):

  • inspector/InjectedScriptWebGLModule.h: Copied from Source/WebCore/inspector/InjectedScriptModule.h.

(WebCore):
(InjectedScriptWebGLModule):

  • inspector/InspectorWebGLAgent.cpp:

(WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):

9:34 AM Changeset in webkit [120928] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: do not add separator to the end of the context menu.
https://bugs.webkit.org/show_bug.cgi?id=89634

Reviewed by Vsevolod Vlasov.

Attaching separators only before menu items now.

  • inspector/front-end/ContextMenu.js:

(WebInspector.ContextSubMenuItem.prototype.appendItem):
(WebInspector.ContextSubMenuItem.prototype.appendSubMenuItem):
(WebInspector.ContextSubMenuItem.prototype.appendCheckboxItem):
(WebInspector.ContextSubMenuItem.prototype.appendSeparator):
(WebInspector.ContextSubMenuItem.prototype._pushItem):

8:46 AM Changeset in webkit [120927] by commit-queue@webkit.org
  • 7 edits
    1 add in trunk

[EFL][WK2] Make WebKit2/Efl headers and resources installable.
https://bugs.webkit.org/show_bug.cgi?id=88207

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-06-21
Reviewed by Chang Shu.

.:

  • Source/cmake/OptionsCommon.cmake:

Provide new variable, EXEC_INSTALL_DIR to determine where to install
executables.

Source/JavaScriptCore:

  • shell/CMakeLists.txt: Use ${EXEC_INSTALL_DIR} instead of hardcoding "bin"

Source/WebKit2:

  • CMakeLists.txt: Install WebProcess.
  • PlatformEfl.cmake: Generate ewebkit2.pc and install it.
  • efl/ewebkit2.pc.in: Added.
8:28 AM Changeset in webkit [120926] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Unify FileSystem callbacks
https://bugs.webkit.org/show_bug.cgi?id=89420

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

  • inspector/InspectorFileSystemAgent.cpp:

(WebCore):

8:11 AM Changeset in webkit [120925] by ryuan.choi@samsung.com
  • 8 edits
    4 copies
    1 add in trunk

[EFL[WK2] Add WKViewEfl and WebKit2 API Object to represent Evas_Object.
https://bugs.webkit.org/show_bug.cgi?id=88935

Reviewed by Chang Shu.

.:

  • Source/cmake/OptionsEfl.cmake: Defines BUILDING_EFL.

Source/WebKit2:

Add WKViewEfl to support WTR/Efl.

  • PlatformEfl.cmake:
  • Shared/API/c/WKBase.h:
  • Shared/API/c/efl/WKBaseEfl.h: Added.
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/efl/WKAPICastEfl.h: Added.

(WebKit):

  • UIProcess/API/C/efl/WKView.cpp: Added.

(WKViewCreate):
(WKViewGetPage):

  • UIProcess/API/C/efl/WKView.h: Added.
  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_page_get):

  • UIProcess/API/efl/ewk_view_private.h:
7:45 AM Changeset in webkit [120924] by Csaba Osztrogonác
  • 5 edits
    5 adds in trunk/LayoutTests

[Qt] Unreviewed gardening, unskip now passing tests.

  • platform/qt/Skipped:
  • platform/qt/editing/inserting/4960120-1-expected.png: Added.
  • platform/qt/editing/inserting/4960120-1-expected.txt:
  • platform/qt/editing/inserting/before-after-input-element-expected.png: Added.
  • platform/qt/editing/inserting/before-after-input-element-expected.txt:
  • platform/qt/editing/inserting/insert-text-with-newlines-expected.png: Added.
  • platform/qt/editing/inserting/insert-text-with-newlines-expected.txt:
  • platform/qt/http/tests/misc/favicon-as-image-expected.png: Added.
  • platform/qt/http/tests/misc/favicon-as-image-expected.txt: Added.
6:39 AM Changeset in webkit [120923] by mifenton@rim.com
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Input mode should adapt automatically to settings changes
https://bugs.webkit.org/show_bug.cgi?id=89595

Reviewed by Antonio Gomes.

PR 167540.

Add helper function to check if input is enabled so that
the override settings can be applied at any time.

Reviewed Internally by Gen Mak.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::isInputModeEnabled):
(BlackBerry::WebKit::InputHandler::setInputModeEnabled):
(BlackBerry::WebKit::InputHandler::setElementFocused):
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
(BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
(BlackBerry::WebKit::InputHandler::handleKeyboardInput):
(BlackBerry::WebKit::InputHandler::setComposingText):

  • WebKitSupport/InputHandler.h:
  • WebKitSupport/TouchEventHandler.cpp:

(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

6:26 AM Changeset in webkit [120922] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WTF

Compile error: 'bool std::isinf(float)' is not 'constexpr' with GCC 4.6 in C++11 mode
https://bugs.webkit.org/show_bug.cgi?id=88721

Reviewed by Csaba Osztrogonác.

Don't define these as consexpr because with gcc 4.6
they call non constexpr functions.

  • wtf/MathExtras.h:

(std::wtf_isinf):
(std::wtf_isnan):

6:12 AM Changeset in webkit [120921] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Tools

[Qt] Add a custom Color Chooser widget to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=87988

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-21
Reviewed by Alexis Menard.

Added custom color chooser example for the MiniBrowser.

  • MiniBrowser/qt/MiniBrowser.qrc:
  • MiniBrowser/qt/qml/BrowserWindow.qml:
  • MiniBrowser/qt/qml/ColorChooser.qml: Added.
5:27 AM Changeset in webkit [120920] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove the warning "File not found" in MiniBrowser post-build event
https://bugs.webkit.org/show_bug.cgi?id=89601

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-06-21
Reviewed by Adam Roben.

  • MiniBrowser/MiniBrowserPostBuild.cmd:
5:14 AM Changeset in webkit [120919] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/LayoutTests

[GTK] Add new baseline and update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=89651

Unreviewed gardening.

Patch by Simon Pena <Simon Pena> on 2012-06-21

  • platform/gtk/TestExpectations: marked

svg/W3C-SVG-1.1/animate-elem-{32,33,40,41,46}-t.svg as flaky, and
fast/canvas/canvas-createImageData.html as crashing on DEBUG

  • platform/gtk/fast/hidpi/device-scale-factor-paint-expected.png: Added.
  • platform/gtk/fast/hidpi/device-scale-factor-paint-expected.txt: Added.
5:08 AM Changeset in webkit [120918] by commit-queue@webkit.org
  • 11 edits
    3 adds in trunk/Source/WebKit/gtk

[GTK] Backport run-file-chooser to WebKit1
https://bugs.webkit.org/show_bug.cgi?id=87283

Patch by Daniel Drake <dsd@laptop.org> on 2012-06-21
Reviewed by Gustavo Noronha Silva.

This is a relatively straightforward backport of Mario Sanchez
Prada's WebKit2 run-file-chooser signal work, intended for use by
OLPC and others who are not quite ready to move to WebKit2.

Add a new public class to the API, WebKitFileChooserRequest, to be
emitted along with a new WebKitWebView::run-file-chooser signal to
let client applications to provide their own file chooser dialog
when the use interacts with HTML Input elements of type 'file'.

  • GNUmakefile.am: Added new source files and headers.
  • webkit/webkitfilechooserrequest.cpp: Added.

(_WebKitFileChooserRequestPrivate):
(webkit_file_chooser_request_init):
(webkit_file_chooser_request_finalize):
(webkit_file_chooser_request_get_property):
(webkit_file_chooser_request_class_init):
(webkit_file_chooser_request_create):
(webkit_file_chooser_request_get_mime_types):
(webkit_file_chooser_request_get_mime_types_filter):
(webkit_file_chooser_request_get_select_multiple):
(webkit_file_chooser_request_select_files):
(webkit_file_chooser_request_get_selected_files):

  • webkit/webkitfilechooserrequest.h: Added.

(_WebKitFileChooserRequest):
(_WebKitFileChooserRequestClass):

  • webkit/webkitfilechooserrequestprivate.h: Added,

containing the prototype of webkit_file_chooser_request_create.

Provide private API to make a file chooser request from the
WebView, and provide a default handler for it.

  • webkit/webkitwebview.cpp:

(fileChooserDialogResponseCallback): Handler for the 'response'
signal for the GtkFileChooserDialog used in the default
handler. It will call to webkit_file_chooser_request_select_files
or webkit_file_chooser_request_cancel as needed.
(webkitWebViewRealRunFileChooser): Default handler for the new
'run-file-chooser' signal. It will create a GtkFileChooserDialog,
connect to the 'response' signal and show it.
(webkit_web_view_class_init): Connect the 'run-file-chooser'
signal to the default handler, webkitWebViewRunFileChooser.
(webkit_web_view_new):
(webkitWebViewRunFileChooserRequest):

  • webkit/webkitwebview.h:

(_WebKitWebViewClass): Added prototype for the handler of the new
'run-file-chooser' signal.

  • webkit/webkitwebviewprivate.h: Added prototype for

private new function webkitWebViewRunFileChooserRequest.

Update runOpenPanel to use the new API, including a default handler
with similar behaviour to before.

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::runOpenPanel): Now creates an instance of
WebKitFileChooserRequest and asks the WebView to emit the
new 'run-file-chooser' signal with it.

Added the new public header to the main header.

  • webkit/webkit.h: Added webkitfilechooserrequest.h

New unit tests for the new WebKitFileChooserRequest API.

  • tests/testwebview.c: Various WebKitFileChooserRequest tests,

including MIME type filtering and selection handling.

Updated documentation related files with the new API.

  • docs/webkitgtk-docs.sgml: Added new section.
  • docs/webkitgtk-sections.txt: Added new API.
  • docs/webkitgtk.types: Added get_type function.
5:01 AM Changeset in webkit [120917] by kbalazs@webkit.org
  • 2 edits in trunk/Tools

[Qt] DRT in standalone mode hangs after the first test
https://bugs.webkit.org/show_bug.cgi?id=89613

Reviewed by Csaba Osztrogonác.

Break an inline signal slot chain that ends up in setting
LayoutTestController::m_hasDumped too early. In LayoutTestController::maybeDump()
we emit done() which starts the chain that finishes in DumpRenderTree::open().
The next line in maybeDump sets m_hasDumped to true. We could simply reorder
these two lines but it seems to be wrong in general to start the next load
from this call chain. The server mode (when DRT is runned by the test harness)
also uses a queued connection to read the next test from stdin.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::DumpRenderTree::processArgsLine):

4:38 AM Changeset in webkit [120916] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/Source/WebKit2

[Qt] API tests for ColorChooser
https://bugs.webkit.org/show_bug.cgi?id=88101

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-21
Reviewed by Kenneth Rohde Christiansen.

The test uses the value sanitization to detect if the feature is
enabled or disabled and will just pass when disabled.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Added.
  • UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Added.
3:58 AM Changeset in webkit [120915] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk/Source

[WK2][Qt] Color chooser API missing
https://bugs.webkit.org/show_bug.cgi?id=87749

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-21
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit/qt:

Added ColorChooser API stub to WebKit. Otherwise
it will break the build for Qt WebKit2 (that now has
complete support for color chooser) when INPUT_TYPE_COLOR is set.

  • WebCoreSupport/ChromeClientQt.cpp:

(WebCore):
(WebCore::ChromeClientQt::createColorChooser):

  • WebCoreSupport/ChromeClientQt.h:

(ChromeClientQt):

Source/WebKit2:

Added public experimental API for ColorChooser. This will
allow the browser to define a custom dialog for selecting
color when a input field of type "color" get focus.

The current implementation gives a model to the QML Component
that has methods for canceling a request, selecting a color
and fetching what is the current value of the HTML input.

  • Target.pri:
  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewExperimental::colorChooser):
(QQuickWebViewExperimental::setColorChooser):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate):

  • UIProcess/qt/QtPageClient.cpp:

(WebKit::QtPageClient::createColorChooserProxy):

  • UIProcess/qt/WebColorChooserProxyQt.cpp: Added.

(WebKit):
(ColorChooserContextObject):
(WebKit::ColorChooserContextObject::ColorChooserContextObject):
(WebKit::ColorChooserContextObject::currentColor):
(WebKit::ColorChooserContextObject::accept):
(WebKit::ColorChooserContextObject::reject):
(WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
(WebKit::WebColorChooserProxyQt::~WebColorChooserProxyQt):
(WebKit::WebColorChooserProxyQt::createItem):
(WebKit::WebColorChooserProxyQt::createContext):
(WebKit::WebColorChooserProxyQt::setSelectedColor):
(WebKit::WebColorChooserProxyQt::notifyColorSelected):
(WebKit::WebColorChooserProxyQt::endChooser):

  • UIProcess/qt/WebColorChooserProxyQt.h: Added.

(WebCore):
(WebKit):
(WebColorChooserProxyQt):
(WebKit::WebColorChooserProxyQt::create):

3:24 AM Changeset in webkit [120914] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip a new failing test.

  • platform/qt-5.0-wk2/Skipped:
3:23 AM Changeset in webkit [120913] by hans@chromium.org
  • 9 edits
    4 adds in trunk

Speech JavaScript API: SpeechRecognition should hook up with ActiveDOMObject more
https://bugs.webkit.org/show_bug.cgi?id=89217

Reviewed by Adam Barth.

Source/WebCore:

Previously, the SpeechRecognition was kept alive while waiting for
pending events by making the embedder hold a reference to the object.
We should do this by using ActiveDOMObject's setPendingActivity() instead.

Also, override ActiveDOMObject::stop() to get notified when the user
leaves the page.

Test: fast/speech/scripted/navigate-away.html

  • Modules/speech/SpeechRecognition.cpp:

(WebCore::SpeechRecognition::start):
(WebCore::SpeechRecognition::didEnd):
(WebCore::SpeechRecognition::stop):
(WebCore):

  • Modules/speech/SpeechRecognition.h:

(SpeechRecognition):

Tools:

Add a method for checking whether the mock speech
recognition was aborted.

Also redo the way the mock posts tasks. Instead of posting them all at once,
maintain an internal queue of task objects, and call postTask() for them
once at the time. This means that for example when the page is navigated
away and abort() is called, that call doesn't end up after a bunch
of previously posted events on the event loop.

  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):
(LayoutTestController::wasMockSpeechRecognitionAborted):

  • DumpRenderTree/chromium/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp:

(WebKit::ClientCallTask::ClientCallTask):
(WebKit::ResultTask::ResultTask):
(WebKit::NoMatchTask::NoMatchTask):
(WebKit::ErrorTask::ErrorTask):
(MockWebSpeechRecognizer::start):
(MockWebSpeechRecognizer::abort):
(MockWebSpeechRecognizer::setError):
(MockWebSpeechRecognizer::MockWebSpeechRecognizer):
(MockWebSpeechRecognizer::startTaskQueue):
(MockWebSpeechRecognizer::StepTask::runIfValid):

  • DumpRenderTree/chromium/MockWebSpeechRecognizer.h:

(MockWebSpeechRecognizer::hasBeenAborted):
(MockWebSpeechRecognizer):
(MockWebSpeechRecognizer::taskList):
(Task):
(MockWebSpeechRecognizer::Task::Task):
(MockWebSpeechRecognizer::Task::~Task):
(StepTask):
(MockWebSpeechRecognizer::StepTask::StepTask):

LayoutTests:

Add a layout test to check that speech recognition gets aborted when
navigating away from the page.

  • fast/speech/scripted/navigate-away-expected.txt: Added.
  • fast/speech/scripted/navigate-away-iframe-expected.txt: Added.
  • fast/speech/scripted/navigate-away-iframe.html: Added.
  • fast/speech/scripted/navigate-away.html: Added.
3:06 AM Changeset in webkit [120912] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening after r120847
https://bugs.webkit.org/show_bug.cgi?id=89640

Unreviewed gardening. Newly added compositing/backface-visibility/backface-visibility-webgl.html
test does not pass on EFL port due to missing WebGL support.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-06-21

  • platform/efl/TestExpectations:
2:07 AM Changeset in webkit [120911] by Lucas Forschler
  • 4 edits in branches/safari-536-branch/Source

Versioning.

2:05 AM Changeset in webkit [120910] by Lucas Forschler
  • 1 copy in tags/Safari-536.22

New Tag.

1:15 AM Changeset in webkit [120909] by Lucas Forschler
  • 8 edits in branches/safari-536-branch/Source

Merged r120879 -> <rdar://problem/11653784>

1:13 AM WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
1:07 AM Changeset in webkit [120908] by mario@webkit.org
  • 16 edits in trunk

[GTK] Add support for window.showModalDialog in WebKit2GTK+
https://bugs.webkit.org/show_bug.cgi?id=79500

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Implement runModal in WebKitUIClient to make the WebKitWebView
emit a 'run-as-modal' signal when requested, creating a new
mainloop there to block user interaction with the original window
while the modal dialog is showing.

  • UIProcess/API/gtk/WebKitUIClient.cpp:

(runModal): Call to the new webkitWebViewRunAsModalPage function.
(attachUIClientToView): Add runModal.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(_WebKitWebViewPrivate): Add an atribute for a new main loop.
(webkitWebViewFinalize): Make sure the main loop for main dialogs,
if any, is stopped if it was still running.
(webkit_web_view_class_init): Declare new signal 'run-as-modal'.
(webkitWebViewRunAsModal): Emit the 'run-as-modal' signal and, if
handled, create and run a new main loop.

  • UIProcess/API/gtk/WebKitWebView.h:

(_WebKitWebViewClass): New handler for the 'run-as-modal' signal.

  • UIProcess/API/gtk/WebKitWebViewPrivate.h: Add webkitWebViewRunAsModalPage.

Allow setting and getting the value of WebPage's canRunModal
attribute in the WebProcess from the UIProcess after the creation
of a WebPage, to allow using it from WebKitWebView to allow the
client application to decide whether to allow create modal
dialogs, which would result in launching an additional nested
event loop in the web process, after creating the dialog.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Initialize the new
m_canRunModal attribute, to cache the current status of the
WebPage in the WebProcess.
(WebKit::WebPageProxy::initializeUIClient): Call the new function
setCanRunModal, instead of manually sending the SetCanRunModal message.
(WebKit::WebPageProxy::creationParameters): Use m_canRunModal
instead of m_uiClient.canRunModal when preparing the parameters.
(WebKit::WebPageProxy::setCanRunModal): New public function, it
sets the value of m_canRunModal and sends a message to the Web
process for updating the WebPage, whenever possible.
(WebKit::WebPageProxy::canRunModal): New public function, returns
the value of the m_canRunModal attribute.

  • UIProcess/WebPageProxy.h:

(WebPageProxy): Added new public functions and private attribute.

New property in WebKitSettings to be able to decide whether it is
allowed to create and run new child webviews as modal dialogs.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(_WebKitSettingsPrivate): New attribute allowModalDialogs.
(webKitSettingsSetProperty): Handle the new property.
(webKitSettingsGetProperty): Ditto.
(webkit_settings_class_init): Install the new property.
(webkitSettingsAttachSettingsToPage): Make sure the WebPage is
initialized with the value of the new property.
(webkit_settings_set_allow_modal_dialogs): New setter.
(webkit_settings_get_allow_modal_dialogs): New getter.

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new accessors.

Connect to the 'notify::allow-modal-dialogs' signal from
WebKitSettings to ensure that canRunModal property of the WebPage
is kept up to date. Ensure that signal handlers for monitoring
settings are disconnected when the webview is finalized.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewSetSettings): Connect to the new signal
'notify::allow-modal-dialogs', from WebKitSettings.
(allowModalDialogsChanged): Callback to update WebPage's
canRunModal property when updated through WebKitSettings.
(webkitWebViewDisconnectSettingsSignalHandlers): Disconnect signal
handlers for monitoring WebKitSettings properties.
(webkitWebViewFinalize): Ensure signal handlers are disconnected.
(webkit_web_view_set_settings): Ditto.

  • UIProcess/API/gtk/WebKitWebView.h:

Add new unit tests to check the 'run-as-modal' signal is emitted
only when the new property in WebKitSettings is set to TRUE.

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

(testWebViewAllowModalDialogs): New unit test to check that modal
dialogs are properly created from JavaScript when allowed.
(testWebViewDisallowModalDialogs): New unit test to check that
it's not possible to create modal dialogs when not allowed.
(beforeAll): Add the new unit test.

Tools:

Add support for modal dialogs in GTK's MiniBrowser.

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewRunAsModal):
(webViewCreate):
(webViewDecidePolicy):
(browser_window_new):

  • MiniBrowser/gtk/BrowserWindow.h:
  • MiniBrowser/gtk/main.c:

(createBrowserWindow):

12:48 AM Changeset in webkit [120907] by mario@webkit.org
  • 2 edits
    2 moves
    1 delete in trunk/LayoutTests

[GTK] accessibility/textbox-role-reports-line-number.html fails
https://bugs.webkit.org/show_bug.cgi?id=75785

Reviewed by Chris Fleizach.

Move a Mac specific accessibility test to the platform directory.

  • platform/gtk/TestExpectations: Removed test from gtk test expectations.
  • platform/mac/accessibility/textbox-role-reports-line-number-expected.txt: Renamed from LayoutTests/accessibility/textbox-role-reports-line-number-expected.txt.
  • platform/mac/accessibility/textbox-role-reports-line-number.html: Renamed from LayoutTests/accessibility/textbox-role-reports-line-number.html.
  • platform/win/accessibility/textbox-role-reports-line-number-expected.txt: Removed.
12:23 AM Changeset in webkit [120906] by commit-queue@webkit.org
  • 10 edits in trunk

Web Inspector: Move requestId allocation from FileSystem frontend to backend
https://bugs.webkit.org/show_bug.cgi?id=89555

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

Source/WebCore:

Test: http/tests/inspector/filesystem/get-filesystem-root.html:

http/tests/inspector/filesystem/read-directory.html:

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

(WebCore):
(WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
(WebCore::InspectorFileSystemAgent::requestDirectoryContent):
(WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):

  • inspector/InspectorFileSystemAgent.h:

(InspectorFileSystemAgent):

  • inspector/front-end/FileSystemModel.js:

(WebInspector.FileSystemModel.prototype._originAdded):
(WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
(WebInspector.FileSystemRequestManager):
(WebInspector.FileSystemRequestManager.prototype.requestFileSystemRoot.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestFileSystemRoot):
(WebInspector.FileSystemRequestManager.prototype._fileSystemRootReceived):
(WebInspector.FileSystemRequestManager.prototype.requestDirectoryContent.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestDirectoryContent):
(WebInspector.FileSystemRequestManager.prototype._directoryContentReceived):
(WebInspector.FileSystemDispatcher.prototype.fileSystemRootReceived):
(WebInspector.FileSystemDispatcher.prototype.directoryContentReceived):

LayoutTests:

  • http/tests/inspector/filesystem/filesystem-test.js:

(initialize_FileSystemTest.InspectorTest.dumpReadDirectoryResult):
(initialize_FileSystemTest):

  • http/tests/inspector/filesystem/get-filesystem-root.html:
  • http/tests/inspector/filesystem/read-directory-expected.txt:
  • http/tests/inspector/filesystem/read-directory.html:

Jun 20, 2012:

11:08 PM Changeset in webkit [120905] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[cairo] improve putByteArray speed by avoiding max/min checks at Color construction.
https://bugs.webkit.org/show_bug.cgi?id=89138

Patch by Arnaud Renevier <arno@renevier.net> on 2012-06-20
Reviewed by Adam Barth.

Color constructor accepts integer arguments and checks if they are
between 0 and 255. In some cases, we already known those numbers to be
within those boundaries. For example when using unsigned chars. So
this patch introduces Color::createUnChecked which return a Color
object without checking for boundaries.

No new tests: no behaviour change

  • platform/graphics/Color.cpp:

(WebCore::colorFromPremultipliedARGB):

  • platform/graphics/Color.h:

(WebCore::Color::createUnCheked):
(Color):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::putByteArray):

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

[Chromium] Damage tracker is not used without partial swap, causing valid render passes to be removed
https://bugs.webkit.org/show_bug.cgi?id=89589

Patch by Zeev Lieber <zlieber@chromium.org> on 2012-06-20
Reviewed by Adrienne Walker.

Source/WebCore:

When not using partial swap, the CCDamageTracker was not used, and
its m_currentDamageRect was always empty. As a result,
CCLayerTreeHostImpl was thinking no content was changed and was
removing more textures than needed. Fixed this by turning on
CCDamageTracker usage even if not using partial swap, but
overwriting the rootScissorRect with viewport rect if required.

Added unit tests to exercise this scenario.

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

(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):

Source/WebKit/chromium:

Added unit tests to check surface texture caching when partial
swap is not used.

  • tests/CCLayerTreeHostImplTest.cpp:
10:11 PM Changeset in webkit [120903] by yosin@chromium.org
  • 7 edits in trunk/Source/WebCore

[Forms] Make step action of SpinButtonElement replaceable
https://bugs.webkit.org/show_bug.cgi?id=89439

Reviewed by Kent Tamura.

This patch introduces SpinButtonElement::Callback to specify step
action by control clients for using SpinButtonElement by
TextFieldInputType and future version of TimeInputField.

In addition to this improving flexibility of SpinButtonElement, we
free HTMLInputElement from SpinButtonElement dependency on
stepUpFromRenderer.

No new tests. This patch doesn't change behavior.

  • html/HTMLInputElement.cpp: Removed stepUpFromRenderer().
  • html/HTMLInputElement.h: Removed stepUpFromRenderer().
  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::~TextFieldInputType): Added to call SpinButtonElement::removeStepActionHandler.
(WebCore::TextFieldInputType::handleKeydownEventForSpinButton): Changed to call spinButtonStep{Down,Up}
(WebCore::TextFieldInputType::handleWheelEventForSpinButton): Changed to call spinButtonStep{Down,Up}
(WebCore::TextFieldInputType::createShadowSubtree): Added SpinButtonElement::StepActionHandler parameter.
(WebCore::TextFieldInputType::destroyShadowSubtree): Added to call SpinButtonElement::removeStepActionHandler.
(WebCore::TextFieldInputType::spinButtonStepDown): Added for implementation of SpinButtonElement::StepActionHandler.
(WebCore::TextFieldInputType::spinButtonStepUp): Added for implementation of SpinButtonElement::StepActionHandler.

  • html/TextFieldInputType.h:

(TextFieldInputType):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::SpinButtonElement::SpinButtonElement): Added StepActionHandler parameter.
(WebCore::SpinButtonElement::defaultEventHandler): Changed to call doStepAction.
(WebCore::SpinButtonElement::doStepAction): Added to call StepActionHandler if possible.
(WebCore::SpinButtonElement::step): Changed to call doStepAction.

  • html/shadow/TextControlInnerElements.h:

(StepActionHandler): Added.

9:46 PM Changeset in webkit [120902] by enne@google.com
  • 4 edits in trunk/Source/WebCore

[chromium] Modify CCDamageTracker hash to allow for layer id 0
https://bugs.webkit.org/show_bug.cgi?id=89631

Reviewed by James Robinson.

HashMap has the bizarre property that 0 is the empty value for integer
keys. Modify the damage tracking HashMap to use negative values for
both the empty and the deleted key traits. Additionally, make sure we
never generate negative layer IDs in practice.

Test: passes webkit_unit_tests with the patch in bug 89589 applied.

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::LayerChromium):

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

(RectMapKeyTraits):
(WebCore::CCDamageTracker::RectMapKeyTraits::emptyValue):
(WebCore::CCDamageTracker::RectMapKeyTraits::constructDeletedValue):
(WebCore::CCDamageTracker::RectMapKeyTraits::isDeletedValue):
(CCDamageTracker):

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

(WebCore::CCLayerImpl::CCLayerImpl):

9:27 PM Changeset in webkit [120901] by bfulgham@webkit.org
  • 2 edits in trunk/Tools

[WinCairo] Unreviewed build fix.
The wrapper script that launched new- and old-run-webkit-tests
was discarding the --wincairo argument needed to get the proper
test infrastructure to build under WinCairo.

  • Scripts/run-webkit-tests: Emulate the Qt, Wx, Chromium, etc.,

behavior to chain the --wincairo flag through to the new build
and test scripts.

9:18 PM Changeset in webkit [120900] by adamk@chromium.org
  • 6 edits in trunk/Source/WebCore

Use Dictionary in MutationObserver.observe to kill custom code
https://bugs.webkit.org/show_bug.cgi?id=89629

Reviewed by Ryosuke Niwa.

Move code for dictionary parsing in MutationObserver.observe
that used to be duplicated (with different implementations)
in JSC and V8 bindings into WebKitMutationObserver.cpp, using
the new Dictionary interface.

No new tests, no change in behavior.

  • bindings/js/JSWebKitMutationObserverCustom.cpp:
  • bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
  • dom/WebKitMutationObserver.cpp:

(WebCore::WebKitMutationObserver::observe):

  • dom/WebKitMutationObserver.h:

(WebCore):

  • dom/WebKitMutationObserver.idl:
7:03 PM Changeset in webkit [120899] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r120889.
http://trac.webkit.org/changeset/120889
https://bugs.webkit.org/show_bug.cgi?id=89630

[Chromium] webkit_unit_tests didDrawNotCalledOnHiddenLayer
start failing (Requested by ukai on #webkit).

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

Source/WebCore:

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

(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostImplTest.cpp:
7:00 PM Changeset in webkit [120898] by ggaren@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Reduced (but did not eliminate) use of "berzerker GC"
https://bugs.webkit.org/show_bug.cgi?id=89237

Reviewed by Gavin Barraclough.

(PART 1)

This patch turned out to be crashy, so I'm landing the non-crashy bits
first.

This part is pre-requisite refactoring. I didn't actually turn off
"berzerker GC" or turn on incremental shrinking.

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::removeBlock): Make sure to clear the free list when
we throw away the block we're currently allocating out of. Otherwise, we'll
allocate out of a stale free list.

  • heap/MarkedSpace.cpp:

(JSC::Free::Free):
(JSC::Free::operator()):
(JSC::Free::returnValue): Refactored this functor to use a shared helper
function, so we can share our implementation with the incremental sweeper.

Also changed to freeing individual blocks immediately instead of linking
them into a list for later freeing. This makes the programming interface
simpler, and it's slightly more efficient to boot.

(JSC::MarkedSpace::~MarkedSpace): Updated for rename.

(JSC::MarkedSpace::freeBlock):
(JSC::MarkedSpace::freeOrShrinkBlock): New helper functions to share behavior
with the incremental sweeper.

(JSC::MarkedSpace::shrink): Updated for new functor behavior.

  • heap/MarkedSpace.h: Statically typed languages are awesome.
6:38 PM Changeset in webkit [120897] by fpizlo@apple.com
  • 12 edits
    2 adds in trunk/Source/JavaScriptCore

DFG should optimize ResolveGlobal
https://bugs.webkit.org/show_bug.cgi?id=89617

Reviewed by Oliver Hunt.

This adds inlining of ResolveGlobal accesses that are known monomorphic. It also
adds the specific function optimization to ResolveGlobal, when it is inlined. And,
it makes internal functions act like specific functions, since that will be the
most common use-case of this optimization.

This is only a slighy speed-up (sub 1%), since we don't yet do the obvious thing
with this optimization, which is to completely inline common "globally resolved"
function and constructor calls, like "new Array()".

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::globalResolveInfoForBytecodeOffset):

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::numberOfGlobalResolveInfos):

  • bytecode/GlobalResolveInfo.h:

(JSC::getGlobalResolveInfoBytecodeOffset):
(JSC):

  • bytecode/ResolveGlobalStatus.cpp: Added.

(JSC):
(JSC::computeForStructure):
(JSC::computeForLLInt):
(JSC::ResolveGlobalStatus::computeFor):

  • bytecode/ResolveGlobalStatus.h: Added.

(JSC):
(ResolveGlobalStatus):
(JSC::ResolveGlobalStatus::ResolveGlobalStatus):
(JSC::ResolveGlobalStatus::state):
(JSC::ResolveGlobalStatus::isSet):
(JSC::ResolveGlobalStatus::operator!):
(JSC::ResolveGlobalStatus::isSimple):
(JSC::ResolveGlobalStatus::takesSlowPath):
(JSC::ResolveGlobalStatus::structure):
(JSC::ResolveGlobalStatus::offset):
(JSC::ResolveGlobalStatus::specificValue):

  • dfg/DFGByteCodeParser.cpp:

(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(DFG):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • runtime/JSObject.cpp:

(JSC::getCallableObjectSlow):
(JSC):
(JSC::JSObject::put):
(JSC::JSObject::putDirectVirtual):
(JSC::JSObject::putDirectAccessor):

  • runtime/JSObject.h:

(JSC):
(JSC::getCallableObject):
(JSC::JSObject::putOwnDataProperty):
(JSC::JSObject::putDirect):
(JSC::JSObject::putDirectWithoutTransition):

6:34 PM Changeset in webkit [120896] by hayato@chromium.org
  • 8 edits
    2 adds in trunk

Source/WebCore: [Shadow][Editing] Deleting character in distributed element caused a crash.
https://bugs.webkit.org/show_bug.cgi?id=88484

Reviewed by Ryosuke Niwa.

If we mutate nodes which are children of a shadow host, it causes
ElementShadow::invalidateDistribution(). As a result, shadow host
is detached (and lazyAttached()) and its renderer is gone. That
causes assertion error since isEditablePosition() assumes
anchorNode's style was correctly calculated.

This patch makes isEditablePosition() call
document->updateLayoutIgnorePendingStylesheets() so that it does
not return a bogus result.

There is an exceptional caller of isEditablePosition,
RenderBlock::paintCaret(), from where we can not call
updateLayout() in isEditablePosition because it hits assertion,
ASSERT(!isPainting). So I've added the third parameter to
isEditablePosition to control updating the style.

Test: edition/shadow/delete-characters-in-distributed-node.html

  • editing/FrameSelection.h:

(WebCore::FrameSelection::rendererIsEditable):

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::rendererIsEditable):
(WebCore):

  • editing/VisibleSelection.h:

(VisibleSelection):

  • editing/htmlediting.cpp:

(WebCore::isEditablePosition):

  • editing/htmlediting.h:

(WebCore):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintCaret):

LayoutTests: [Shadow][Editing] Deleting character in distributed element caused a crash
https://bugs.webkit.org/show_bug.cgi?id=88484

Reviewed by Ryosuke Niwa.

  • editing/shadow/delete-characters-in-distributed-node-crash-expected.txt: Added.
  • editing/shadow/delete-characters-in-distributed-node-crash.html: Added.
6:31 PM Changeset in webkit [120895] by tkent@chromium.org
  • 8 edits in trunk

Unmodified form control value are overwritten by another form
control value with the same name after navigating and going back
https://bugs.webkit.org/show_bug.cgi?id=89409

Reviewed by Hajime Morita.

Source/WebCore:

Detail of the bug:
If a page had multiple form controls of which names and types were
identical like the following:

<input type=text name=name1 id=input1>
<input type=text name=name1 id=input2>

and a user updated the value of the second control, then went to
another page and went back to the page again, we restored the updated
value to the first element, and didn't update the second element.

We didn't save unmodified control state, and the form state data
had no ways to represent "this control should be skipped".

How to resovle the bug:
We need to represent "this control should be skipped" in the
seriazlied form state vector.

  • A serialized control state had three items:

name, type, value.

Now we change it to:

name, type, flag, optional value

  • It is definitely incompatible with serizlized state produced by

older WebCore. So, we need to add the signature string to
represent the version of serialized state format.

  • Because the state for a form control is variable-length and we

can't deserialize it in reverse-order, we change the on-memory
representation from Vector<> to Deque<>.

Test: fast/forms/state-restore-to-non-edited-controls.html

  • html/FormController.cpp:

(WebCore::FormControlState::serializeTo):
Added. Serialize a state for a form control to a string vector.
(WebCore::FormControlState::deserialize):
Added. Produce a FormControlState object from the specified string vector.
It can produce a FromControlState of the failure type.
(WebCore::formStateSignature): The signature string of the serialized state.
(WebCore::FormController::formElementsState):

  • Capacity: The size of seirlized data for one form control is typically 4. +1 for the signature.
  • We need to store a FormControlState with no values.

(WebCore::FormController::setStateForNewFormElements):

  • We can't iterate over the stateVector in reverse order any more because serialized control state is variable-length.
  • We put FormControlState objects to HashMap instead of String objects.

(WebCore::FormController::takeStateForFormElement):

Updated for Deque<>.

  • html/FormController.h:

(FormControlState): Declare deserialize() and serializeTo().
(WebCore::FormControlState::isFailure): Added.
(WebCore::FormControlState::FormControlState):
Added to create a FormControlState with failure type.
(FormController):
Change the value type of m_stateForNewFormElements from Vector<String>
to Deque<FormControlState>.

LayoutTests:

  • fast/forms/resources/state-restore-broken-state-2.html:

Take care of the signature string at the beginning of the array.

  • fast/forms/state-restore-broken-state-expected.txt:

Updated for the serialized format change.

  • fast/forms/state-restore-to-non-edited-controls-expected.txt:
  • fast/forms/state-restore-to-non-edited-controls.html:

Add a test for a case of duplicated names.

6:29 PM Changeset in webkit [120894] by abarth@webkit.org
  • 4 edits
    2 adds
    1 delete in trunk/LayoutTests

Unskip fast/hidpi/device-scale-factor-paint.html
https://bugs.webkit.org/show_bug.cgi?id=89618

Reviewed by Beth Dakin.

Now that this test doesn't cause WebKit2 to crash, we can unskip it.

  • fast/hidpi/device-scale-factor-paint-expected.html: Removed.
    • Previously, this test was a reftest, but the reference also tried to set the device scale factor, which seems problematic. This patch converts the test to a normal image test. There aren't any scrollbars or text, so many platforms should be able to use the same expected PNG file.
  • fast/hidpi/device-scale-factor-paint.html:
    • Wrap the call to notifyDone in a thunk because it doesn't work otherwise.
  • platform/mac/Skipped:
  • platform/mac/fast/hidpi/device-scale-factor-paint-expected.png: Added.
  • platform/mac/fast/hidpi/device-scale-factor-paint-expected.txt: Added.
  • platform/wk2/Skipped:
6:13 PM Changeset in webkit [120893] by Alexandru Chiculita
  • 11 edits
    2 moves in trunk/Source/WebCore

[CSS Shaders] Rename CustomFilterShader class name to CustomFilterCompiledProgram
https://bugs.webkit.org/show_bug.cgi?id=89578

Reviewed by Dean Jackson.

I've renamed CustomFilterShader to CustomFilterCompiledProgram to make it obvious that it is the result of
calling CustomFilterProgram::compileProgramWithContext.

No new tests, just renamed an existing class.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/filters/CustomFilterCompiledProgram.cpp: Renamed from Source/WebCore/platform/graphics/filters/CustomFilterShader.cpp.

(WebCore):
(WebCore::CustomFilterCompiledProgram::defaultVertexShaderString):
(WebCore::CustomFilterCompiledProgram::defaultFragmentShaderString):
(WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
(WebCore::CustomFilterCompiledProgram::compileShader):
(WebCore::CustomFilterCompiledProgram::linkProgram):
(WebCore::CustomFilterCompiledProgram::initializeParameterLocations):
(WebCore::CustomFilterCompiledProgram::uniformLocationByName):
(WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram):

  • platform/graphics/filters/CustomFilterCompiledProgram.h: Renamed from Source/WebCore/platform/graphics/filters/CustomFilterShader.h.

(WebCore):

  • platform/graphics/filters/CustomFilterProgram.cpp:

(WebCore::CustomFilterProgram::compileProgramWithContext): Renamed method from createShaderWithContext to compileProgramWithContext.

  • platform/graphics/filters/CustomFilterProgram.h:

(WebCore):

  • platform/graphics/filters/FECustomFilter.cpp: Renamed m_shader to m_compiledProgram.

(WebCore::FECustomFilter::platformApplySoftware):
(WebCore::FECustomFilter::initializeContext):
(WebCore::FECustomFilter::bindProgramParameters):
(WebCore::FECustomFilter::bindProgramAndBuffers):

  • platform/graphics/filters/FECustomFilter.h:

(WebCore):
(FECustomFilter):

6:03 PM Changeset in webkit [120892] by pdr@google.com
  • 1 edit
    2 adds in trunk/PerformanceTests

Add a performance test for paths in SVG
https://bugs.webkit.org/show_bug.cgi?id=89547

Reviewed by Ryosuke Niwa.

This change adds the first performance test for SVG paths.
In the test we modify complex cubic paths in several ways, testing:
transformations, clipping, d attribute changes, stroke properties,
text on a path, and opacity.

Sample test results on my Linux desktop:

RESULT SVG: SvgCubics= 68.85 ms
median= 69.5 ms, stdev= 4.70398767005 ms, min= 56.0 ms, max= 75.0 ms

RESULT SVG: SvgCubics= 68.4 ms
median= 69.0 ms, stdev= 3.51283361405 ms, min= 59.0 ms, max= 74.0 ms

RESULT SVG: SvgCubics= 66.95 ms
median= 67.0 ms, stdev= 3.4420197559 ms, min= 59.0 ms, max= 74.0 ms

RESULT SVG: SvgCubics= 70.2 ms
median= 71.5 ms, stdev= 3.23419232576 ms, min= 63.0 ms, max= 74.0 ms

  • SVG: Added.
  • SVG/SvgCubics.html: Added.
5:53 PM Changeset in webkit [120891] by caseq@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: reduce timeline refresh rate
https://bugs.webkit.org/show_bug.cgi?id=89548

Reviewed by Pavel Feldman.

Minimize resource contention with the inspected page during refresh:

  • reduce refresh for both overview and main panes to 300ms
  • automatically limit window size to approximately one pageful of events in the lower pane
  • do not refresh lower pane for events that are outside of the window
  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewPane.prototype._update):
(WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
(WebInspector.TimelineOverviewPane.prototype.setWindowTimes): Set overview window by times.
(WebInspector.TimelineOverviewPane.prototype._updateWindow):
(WebInspector.TimelineOverviewPane.prototype._scheduleRefresh): Refresh once in 300ms (insted of once in 100ms).
(WebInspector.TimelineOverviewWindow.prototype._setWindow):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._onTimelineEventRecorded): Do not refresh if the new record is outside of window.
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype._resetPanel):
(WebInspector.TimelinePanel.prototype._scheduleRefresh): Refresh rate: 100ms -> 300ms.
(WebInspector.TimelinePanel.prototype._refreshRecords): Automatically set overview window.

  • inspector/front-end/TimelinePresentationModel.js: Expose filterRecords

(WebInspector.TimelinePresentationModel.prototype.filteredRecords):
(WebInspector.TimelinePresentationModel.prototype.filterRecords):
(WebInspector.TimelinePresentationModel.prototype._innerFilterRecords):

5:43 PM Changeset in webkit [120890] by commit-queue@webkit.org
  • 24 edits
    3 adds in trunk/Source/WebKit2

[WK2] Color chooser API missing
https://bugs.webkit.org/show_bug.cgi?id=87495

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-20
Reviewed by Andreas Kling.

Added ColorChooser API to WebKit2. This API allows the
embedder to define a custom color picker for <input type="color">.

Only one ColorChooser can be active for a page at a time. Although
the implementation doesn't not assume a modal dialog, no other
color chooser will be created until the active one is closed.

Also added stubs for all platforms, so it wont break the build when
enabling color chooser, even though they don't have the backend
implemented yet.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • UIProcess/API/efl/PageClientImpl.cpp:

(WebKit):
(WebKit::PageClientImpl::createColorChooserProxy):

  • UIProcess/API/efl/PageClientImpl.h:

(PageClientImpl):

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit):
(WebKit::PageClientImpl::createColorChooserProxy):

  • UIProcess/API/gtk/PageClientImpl.h:

(PageClientImpl):

  • UIProcess/API/mac/PageClientImpl.h:

(PageClientImpl):

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit):
(WebKit::PageClientImpl::createColorChooserProxy):

  • UIProcess/PageClient.h:

(WebKit):
(PageClient):

  • UIProcess/WebColorChooserProxy.h: Added.

(WebCore):
(WebKit):
(WebColorChooserProxy):
(Client):
(WebKit::WebColorChooserProxy::Client::~Client):
(WebKit::WebColorChooserProxy::~WebColorChooserProxy):
(WebKit::WebColorChooserProxy::invalidate):
(WebKit::WebColorChooserProxy::WebColorChooserProxy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):
(WebKit):
(WebKit::WebPageProxy::showColorChooser):
(WebKit::WebPageProxy::setColorChooserColor):
(WebKit::WebPageProxy::endColorChooser):
(WebKit::WebPageProxy::didChooseColor):
(WebKit::WebPageProxy::didEndColorChooser):
(WebKit::WebPageProxy::processDidCrash):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/qt/QtPageClient.cpp:

(WebKit):
(WebKit::QtPageClient::createColorChooserProxy):

  • UIProcess/qt/QtPageClient.h:

(QtPageClient):

  • UIProcess/win/WebView.cpp:

(WebKit):
(WebKit::WebView::createColorChooserProxy):

  • UIProcess/win/WebView.h:

(WebView):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createColorChooser):

  • WebProcess/WebCoreSupport/WebColorChooser.cpp: Added.

(WebKit):
(WebKit::WebColorChooser::WebColorChooser):
(WebKit::WebColorChooser::~WebColorChooser):
(WebKit::WebColorChooser::didChooseColor):
(WebKit::WebColorChooser::didEndChooser):
(WebKit::WebColorChooser::disconnectFromPage):
(WebKit::WebColorChooser::setSelectedColor):
(WebKit::WebColorChooser::endChooser):

  • WebProcess/WebCoreSupport/WebColorChooser.h: Added.

(WebCore):
(WebKit):
(WebColorChooser):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::close):
(WebKit):
(WebKit::WebPage::setActiveColorChooser):
(WebKit::WebPage::didEndColorChooser):
(WebKit::WebPage::didChooseColor):

  • WebProcess/WebPage/WebPage.h:

(WebKit):
(WebPage):
(WebKit::WebPage::activeColorChooser):

  • WebProcess/WebPage/WebPage.messages.in:
  • win/WebKit2.vcproj:
5:43 PM Changeset in webkit [120889] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[Chromium] Damage tracker is not used without partial swap, causing valid render passes to be removed
https://bugs.webkit.org/show_bug.cgi?id=89589

Patch by Zeev Lieber <zlieber@chromium.org> on 2012-06-20
Reviewed by Adrienne Walker.

Source/WebCore:

When not using partial swap, the CCDamageTracker was not used, and
its m_currentDamageRect was always empty. As a result,
CCLayerTreeHostImpl was thinking no content was changed and was
removing more textures than needed. Fixed this by turning on
CCDamageTracker usage even if not using partial swap, but
overwriting the rootScissorRect with viewport rect if required.

Added unit tests to exercise this scenario.

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

(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):

Source/WebKit/chromium:

Added unit tests to check surface texture caching when partial
swap is not used.

  • tests/CCLayerTreeHostImplTest.cpp:
5:31 PM Changeset in webkit [120888] by jsbell@chromium.org
  • 17 edits in trunk

IndexedDB: Remove redundant IDBObjectStore.delete() overloads
https://bugs.webkit.org/show_bug.cgi?id=89587

Reviewed by Darin Fisher.

Source/WebCore:

The IDBObjectStore.delete(IDBKey) overload can delegate to the delete(IDBKeyRange)
overload. Also cleaned up redundant checks in related overloads.

Test: storage/indexeddb/deleted-objects.html

  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::deleteFunction): Call keyRange variant instead.

  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::get): Remove redundant deleted/invalid IDBKey checks.
(WebCore::IDBIndex::getKey): Remove redundant deleted/invalid IDBKey checks.

  • Modules/indexeddb/IDBKeyRange.cpp: Null IDBKeys are not acceptable; currently

not passed in by any callers.
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::get): Was missing deleted check in IDBKeyRange overload.
Removed redundant checks in IDBKey overload.
(WebCore::IDBObjectStore::deleteFunction): Delegate to IDBKeyRange overload.

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Remove IDBKey overload.
  • Modules/indexeddb/IDBObjectStoreBackendImpl.h: Remove IDBKey overload.

(IDBObjectStoreBackendImpl):

  • Modules/indexeddb/IDBObjectStoreBackendInterface.h: Remove IDBKey overload.

Source/WebKit/chromium:

  • public/WebIDBObjectStore.h: Add note to remove overload when Chromium is updated.

(WebIDBObjectStore):

  • src/IDBObjectStoreBackendProxy.cpp: Delete IDBKey overload.
  • src/IDBObjectStoreBackendProxy.h: Delete IDBKey overload.

(IDBObjectStoreBackendProxy):

  • src/WebIDBObjectStoreImpl.cpp: Delete IDBKey overload.
  • src/WebIDBObjectStoreImpl.h: Delete IDBKey overload.

(WebIDBObjectStoreImpl):

LayoutTests:

  • storage/indexeddb/deleted-objects-expected.txt:
  • storage/indexeddb/resources/deleted-objects.js: Test IDBKeyRange overloads.

(openDatabase.request.onsuccess.request.onsuccess):
(openDatabase.request.onsuccess):
(openDatabase):

5:10 PM Changeset in webkit [120887] by shinyak@chromium.org
  • 3 edits
    4 adds in trunk

[Shadow][Editing] Selection will break editing boundaries in Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=89075

Reviewed by Antti Koivisto.

Source/WebCore:

At the shadow boundary, some styles (e.g. user-modify, text-decoration) cannot be inherited
from the shadow host. However, when style property cache is used, such styles are wrongly
inherited from the cache.

So this patch makes not to use cache for inehrited styles at the shadow boundary.

Tests: editing/shadow/breaking-editing-boundary-with-table.html

editing/shadow/contenteditable-propagation-at-shadow-boundary.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

LayoutTests:

Test cases to confirm that (1) selection does not break editing boundary,
and (2) content-editable is not propagated from shadow host to shadow DOM.

Actually a patch for Bug 88514 contains a test for (2), but it is not enough.

  • editing/shadow/breaking-editing-boundary-with-table.html: Added.
  • editing/shadow/contenteditable-propagation-at-shadow-boundary.html: Added.
4:55 PM Changeset in webkit [120886] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Functions on global objects should be specializable
https://bugs.webkit.org/show_bug.cgi?id=89615

Reviewed by Oliver Hunt.

I tested to see if this brought back the bug in https://bugs.webkit.org/show_bug.cgi?id=33343,
and it didn't. Bug 33343 was the reason why we disabled global object function specialization
to begin with. So I'm guessing this is safe.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

4:49 PM Changeset in webkit [120885] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Source/WebCore: Moving cookieEnabled/setCookieEnabled from Page to Settings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

  • dom/Document.cpp:

(WebCore::Document::cookie):
(WebCore::Document::setCookie):

  • page/Navigator.cpp:

(WebCore::Navigator::cookieEnabled):

  • page/Page.h:

(Page):

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setCookieEnabled):
(WebCore::Settings::cookieEnabled):
(Settings):

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):

Source/WebKit/chromium: Moving cookieEnabled/setCookieEnabled from Page to Settings, and
exposing through WebSettings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setCookieEnabled):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

Source/WebKit/mac: Moving cookieEnabled/setCookieEnabled from Page to Settings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

  • WebView/WebView.mm:

(-[WebView _cookieEnabled]):
(-[WebView _setCookieEnabled:]):

Source/WebKit/win: Moving cookieEnabled/setCookieEnabled from Page to Settings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

  • WebView.cpp:

(WebView::setCookieEnabled):
(WebView::cookieEnabled):

4:45 PM Changeset in webkit [120884] by Lucas Forschler
  • 4 edits in branches/safari-536-branch/Source

Versioning.

4:37 PM Changeset in webkit [120883] by abarth@webkit.org
  • 6 edits in trunk

internals.settings.setDeviceScaleFactor doesn't work for WebKit2 and must be removed
https://bugs.webkit.org/show_bug.cgi?id=89274

Reviewed by James Robinson.

Source/WebCore:

Using this window.internals API causes the apple-mac port to ASSERT in
WebKit2 because WebKit2 keeps a copy of this state in the UI process.
When a test uses this internals API, the WebCore state gets out of sync
with the state in the UI process.

Tests should use setBackingScaleFactor instead.

  • testing/InternalSettings.cpp:

(WebCore):

  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:

LayoutTests:

  • fast/hidpi/device-scale-factor-paint.html:
4:36 PM Changeset in webkit [120882] by caseq@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: persist timeline panel overview mode
https://bugs.webkit.org/show_bug.cgi?id=88711

Reviewed by Pavel Feldman.

  • replace all internal methods of switching to a new mode of TimelineOverviewPane with setMode();
  • make current mode a persistent setting;
  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype.setMode):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel):

4:31 PM Changeset in webkit [120881] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Perform hit-test from correct frame in isRectTopmost()
https://bugs.webkit.org/show_bug.cgi?id=89492

Patch by Raymes Khoury <raymes@chromium.org> on 2012-06-20
Reviewed by Levi Weintraub.

Hit-testing was being performed from the main frame, which gave the
incorrect result if the plugin was in a different frame.

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::isRectTopmost):

4:17 PM Changeset in webkit [120880] by Lucas Forschler
  • 1 copy in tags/Safari-536.21

New Tag.

4:05 PM Changeset in webkit [120879] by beidson@apple.com
  • 8 edits in trunk/Source

<rdar://problem/11653784> and https://bugs.webkit.org/show_bug.cgi?id=89590
showModalDialog message handling is flaky in WebKit2

Because RunLoop::performWork() swaps the function queue to a temporary Vector before calling
the functions an inner run-loop - such as we see with running a modal dialog - does not have
a change to handle any of the functions that were queued after the WebPageProxy::RunModal message.

By servicing the functions in the queue one at a time we can give the RunLoop a chance to pick up
where it left off if RunLoop::performWork is re-entered.

To guarantee RunLoop::performWork is re-entered to handle those functions we also need to signal
its source before entering the modal run loop so our RunLoop is woken up.

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.exp.in:
  • platform/RunLoop.cpp:

(WebCore::RunLoop::performWork): Take the first function off the queue one at a time so subsequent

functions remain in the queue and can be handled by an inner modal run loop.

  • platform/RunLoop.h:

(RunLoop): Change the function queue to be a Deque to efficiently support "takeFirst"

Source/WebKit2:

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::wakeUpRunLoop): Added so the WebPageProxy can signal the runloop to be woken up

before it enters the modal dialog run loop.

  • Platform/CoreIPC/Connection.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::runModal): Call wakeUpRunLoop() before entering the modal dialog run loop.

4:01 PM Changeset in webkit [120878] by mrowe@apple.com
  • 2 edits in trunk/Tools

<http://webkit.org/b/89606> Teach run-safari and debug-safari to work with a Safari.app that has entitlements

Reviewed by Dan Bernstein.

  • Scripts/webkitdirs.pm:

(executableHasEntitlements):
(safariPathFromSafariBundle):

3:57 PM Changeset in webkit [120877] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Support mobile device rotation resizing
https://bugs.webkit.org/show_bug.cgi?id=86819

Patch by Alexandre Elias <aelias@google.com> on 2012-06-20
Reviewed by Adam Barth.

Resizes on a mobile device are caused either by rotation or
on-screen-keyboard bringup, and need different treatment to remain
naturally laid out, scaled and scrolled without disorienting the user.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::resize):

3:49 PM Changeset in webkit [120876] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk

Account for device scale factor when creating image for dragging.
https://bugs.webkit.org/show_bug.cgi?id=89489

Patch by Varun Jain <varunjain@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

.:

  • ManualTests/chromium/drag-image-accounts-for-device-scale.html: Added.

Source/WebCore:

Manual Test: ManualTests/chromium/drag-image-accounts-for-device-scale.html

  • page/Frame.cpp:

(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):

3:36 PM Changeset in webkit [120875] by mitz@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Fixed typos in the change log.

3:35 PM Changeset in webkit [120874] by zhajiang@rim.com
  • 5 edits in trunk/Source

Add a != operator to ViewportArguments
https://bugs.webkit.org/show_bug.cgi?id=87505

Reviewed by Antonio Gomes.
Patch by Jacky Jiang <zhajiang@rim.com>

Source/WebCore:

Add a != operator to ViewportArguments for convenience.

  • dom/ViewportArguments.h:

(ViewportArguments):
(WebCore::ViewportArguments::operator!=):

Source/WebKit/blackberry:

Use != operator of ViewportArguments.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

  • Api/WebViewportArguments.cpp:

(BlackBerry::WebKit::WebViewportArguments::operator!=):

3:25 PM Changeset in webkit [120873] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt/Skipped:
3:22 PM Changeset in webkit [120872] by jchaffraix@webkit.org
  • 1 edit
    14 copies in branches/chromium/1180

Merge 120859 - REGRESSION(r113885): Margin not properly applied to elements with align=center
https://bugs.webkit.org/show_bug.cgi?id=89515

Reviewed by Levi Weintraub.

Source/WebCore:

Tests: fast/block/negative-margin-start-positive-margin-end.html

fast/block/negative-start-margin-align-center.html
fast/block/positive-margin-block-child-align-center-rtl.html
fast/block/positive-margin-block-child-align-center.html
fast/block/positive-margin-start-align-center.html
fast/block/positive-margin-start-negative-margin-end-align-center.html
fast/table/table-cell-negative-start-margin-align-center.html

r113885 changed the code-path for elements with auto width to call computeInlineDirectionMargins.
However this uncovered an existing bug in the function when dealing with align="center" (text-align: -webkit-center)
where we would ignore the margin. This goes against what other browsers are doing and our previous behavior.

Note that align="left" and "right" are likely impacted too and will be investigated / fixed in follow-up changes.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeInlineDirectionMargins):
To match other browsers' behavior, changed the function to include margin in our computations.

LayoutTests:

  • fast/block/negative-margin-start-positive-margin-end-expected.html: Added.
  • fast/block/negative-margin-start-positive-margin-end.html: Added.
  • fast/block/negative-start-margin-align-center-expected.html: Added.
  • fast/block/negative-start-margin-align-center.html: Added.
  • fast/block/positive-margin-block-child-align-center-expected.html: Added.
  • fast/block/positive-margin-block-child-align-center.html: Added.
  • fast/block/positive-margin-start-align-center-expected.html: Added.
  • fast/block/positive-margin-start-align-center.html: Added.
  • fast/block/positive-margin-start-negative-margin-end-align-center-expected.html: Added.
  • fast/block/positive-margin-start-negative-margin-end-align-center.html: Added.

Those checks the combination of margin start / end both positive and negative.

  • fast/block/positive-margin-block-child-align-center-rtl-expected.html: Added.
  • fast/block/positive-margin-block-child-align-center-rtl.html: Added.

One ltr test as I didn't find any.

  • fast/table/table-cell-negative-start-margin-align-center-expected.html: Added.
  • fast/table/table-cell-negative-start-margin-align-center.html: Added.

This test is very similar to the one above but involves a table.

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

3:17 PM Changeset in webkit [120871] by jchaffraix@webkit.org
  • 1 edit
    14 copies in branches/chromium/1132

Merge 120859 - REGRESSION(r113885): Margin not properly applied to elements with align=center
https://bugs.webkit.org/show_bug.cgi?id=89515

Reviewed by Levi Weintraub.

Source/WebCore:

Tests: fast/block/negative-margin-start-positive-margin-end.html

fast/block/negative-start-margin-align-center.html
fast/block/positive-margin-block-child-align-center-rtl.html
fast/block/positive-margin-block-child-align-center.html
fast/block/positive-margin-start-align-center.html
fast/block/positive-margin-start-negative-margin-end-align-center.html
fast/table/table-cell-negative-start-margin-align-center.html

r113885 changed the code-path for elements with auto width to call computeInlineDirectionMargins.
However this uncovered an existing bug in the function when dealing with align="center" (text-align: -webkit-center)
where we would ignore the margin. This goes against what other browsers are doing and our previous behavior.

Note that align="left" and "right" are likely impacted too and will be investigated / fixed in follow-up changes.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeInlineDirectionMargins):
To match other browsers' behavior, changed the function to include margin in our computations.

LayoutTests:

  • fast/block/negative-margin-start-positive-margin-end-expected.html: Added.
  • fast/block/negative-margin-start-positive-margin-end.html: Added.
  • fast/block/negative-start-margin-align-center-expected.html: Added.
  • fast/block/negative-start-margin-align-center.html: Added.
  • fast/block/positive-margin-block-child-align-center-expected.html: Added.
  • fast/block/positive-margin-block-child-align-center.html: Added.
  • fast/block/positive-margin-start-align-center-expected.html: Added.
  • fast/block/positive-margin-start-align-center.html: Added.
  • fast/block/positive-margin-start-negative-margin-end-align-center-expected.html: Added.
  • fast/block/positive-margin-start-negative-margin-end-align-center.html: Added.

Those checks the combination of margin start / end both positive and negative.

  • fast/block/positive-margin-block-child-align-center-rtl-expected.html: Added.
  • fast/block/positive-margin-block-child-align-center-rtl.html: Added.

One ltr test as I didn't find any.

  • fast/table/table-cell-negative-start-margin-align-center-expected.html: Added.
  • fast/table/table-cell-negative-start-margin-align-center.html: Added.

This test is very similar to the one above but involves a table.

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

3:15 PM Changeset in webkit [120870] by tony@chromium.org
  • 8 edits
    21 deletes in trunk/LayoutTests

Computed style tests are a maintenance burden on the project
https://bugs.webkit.org/show_bug.cgi?id=87991

Reviewed by Eric Seidel.

Convert computed-style.html, computed-style-without-renderer.html and getComputedStyle-basic.xhtml
to use a whitelist of properties rather than a blacklist. The whitelist includes all properties
that are supported based on the checked in results so all ports can share the same values. Adding
new properties won't cause these tests to be rebaselined.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer.html: Remove indenting and use a fixed

width for the middle div so we don't get fractional pixel values for ports with fractional pixel
values enabled.

  • fast/css/getComputedStyle/computed-style.html:
  • fast/css/getComputedStyle/resources/property-names.js: Whitelist of common CSS properties.
  • platform/chromium-linux-x86/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/chromium-linux/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/chromium-mac-leopard/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
  • platform/chromium-mac-leopard/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/chromium-mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
  • platform/chromium-mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
  • platform/chromium-mac/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/chromium-win-vista/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/chromium-win-xp/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
  • platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
  • platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/gtk/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
  • platform/gtk/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
  • platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
  • platform/mac/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/qt/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
  • platform/qt/svg/css/getComputedStyle-basic-expected.png: Removed.
  • platform/qt/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/win/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
  • platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
  • svg/css/getComputedStyle-basic-expected.txt:
  • svg/css/getComputedStyle-basic.xhtml:
3:08 PM Changeset in webkit [120869] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Let XCode have its own way.

  • WebCore.xcodeproj/project.pbxproj:
3:05 PM Changeset in webkit [120868] by rniwa@webkit.org
  • 6 edits in trunk/Source/WebCore

Move m_listsInvalidatedAtDocument from NodeListsNodeData to Document
https://bugs.webkit.org/show_bug.cgi?id=89603

Reviewed by Andreas Kling.

Moved the variable. m_listsInvalidatedAtDocument is never used in non-Document nodes
so it was just wasting memory space.

  • dom/Document.cpp:

(WebCore::Document::registerDynamicSubtreeNodeList):
(WebCore::Document::unregisterDynamicSubtreeNodeList):
(WebCore):
(WebCore::Document::clearNodeListCaches):

  • dom/Document.h:

(Document):

  • dom/DynamicNodeList.h:

(DynamicSubtreeNodeList):

  • dom/Node.cpp:

(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
(WebCore):
(WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): RadioNodeList
is invalidated at document level. No need to invalidate it again here.
(WebCore::NodeListsNodeData::isEmpty):

  • dom/NodeRareData.h:

(NodeListsNodeData):

3:02 PM Changeset in webkit [120867] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Unreviewed, rolling out r120821.
http://trac.webkit.org/changeset/120821
https://bugs.webkit.org/show_bug.cgi?id=89605

It made duplicated reviewer entries (Requested by Ossy on
#webkit).

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

  • Scripts/webkitpy/common/checkout/changelog.py:

(ChangeLog.set_reviewer):

  • Scripts/webkitpy/common/checkout/changelog_unittest.py:

(test_set_reviewer):
(test_set_short_description_and_bug_url):

2:58 PM Changeset in webkit [120866] by commit-queue@webkit.org
  • 44 edits
    3 copies in trunk/Source/WebCore

Unreviewed, rolling out r120854.
http://trac.webkit.org/changeset/120854
https://bugs.webkit.org/show_bug.cgi?id=89604

Broke Chromium WebKit Linux (dbg) (Requested by arv on
#webkit).

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

  • Target.pri:
  • UseV8.cmake:
  • WebCore.gypi:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/V8/V8Float64Array.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8Float64Array.h:

(V8Float64Array):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.h:

(V8TestActiveDOMObject):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.h:

(V8TestCustomNamedGetter):

  • bindings/scripts/test/V8/V8TestEventConstructor.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestEventConstructor.h:

(V8TestEventConstructor):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestEventTarget.h:

(V8TestEventTarget):

  • bindings/scripts/test/V8/V8TestException.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestException.h:

(V8TestException):

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestInterface.h:

(V8TestInterface):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.h:

(V8TestMediaQueryListListener):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestNamedConstructor.h:

(V8TestNamedConstructor):

  • bindings/scripts/test/V8/V8TestNode.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestNode.h:

(V8TestNode):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestObj.h:

(V8TestObj):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:

(V8TestSerializedScriptValueInterface):

  • bindings/v8/NPV8Object.cpp:

(WebCore::npObjectTypeInfo):

  • bindings/v8/V8GCController.cpp:

(WebCore::GrouperVisitor::visitDOMWrapper):

  • bindings/v8/WrapperTypeInfo.h:

(WebCore):
(WrapperTypeInfo):

  • bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.

(WebCore):
(WebCore::toV8):

  • bindings/v8/custom/V8DOMStringMapCustom.cpp:

(WebCore::toV8):
(WebCore):

  • bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.

(WebCore):
(WebCore::toV8):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore):

  • bindings/v8/custom/V8NamedNodeMapCustom.cpp:

(WebCore::toV8):
(WebCore):

  • bindings/v8/custom/V8StyleSheetCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8TextTrackListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.

(WebCore):
(WebCore::toV8):

  • css/CSSStyleSheet.idl:
  • css/StyleSheet.idl:
  • dom/DOMStringMap.idl:
  • dom/NamedNodeMap.idl:
  • html/DOMTokenList.idl:
  • html/track/TextTrackList.idl:
2:30 PM Changeset in webkit [120865] by dpranke@chromium.org
  • 8 edits in trunk/Tools

nrwt outputs empty files for wdiff output if wdiff is not installed
https://bugs.webkit.org/show_bug.cgi?id=88709

Reviewed by Tony Chang.

Reviewed by Tony Chang.

Don't write -wdiff or -pretty.html files if wdiff or prettypatch
aren't available, and clean up the handling for them in the port
code.

  • Scripts/webkitpy/run_webkit_tests_integrationtest.py:

(MainTest.test_output_diffs):

  • Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:

(TestResultWriter.create_text_diff_and_write_result):

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

(Port.check_pretty_patch):
(Port.check_wdiff):
(Port._wdiff_missing_message):

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

(ChromiumLinuxPort.check_build):
(ChromiumLinuxPort._wdiff_missing_message):

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

(ChromiumMacPort.check_build):
(ChromiumMacPort):
(ChromiumMacPort._wdiff_missing_message):

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

(ChromiumMacPortTest):

2:25 PM Changeset in webkit [120864] by dpranke@chromium.org
  • 3 edits in trunk/Tools

nrwt: fix unit tests for ensuring svn revision is correct
https://bugs.webkit.org/show_bug.cgi?id=89498

Reviewed by Eric Seidel.

Reviewed by Eric Seidel.

Fix the unit tests for testing that we are embedding the SVN
revision in the results json for NRWT properly; this was broken
in r120646 but because the MockHost worked differently than the
real one (by always initializing the MockSCM object) we didn't
notice. Unfortunately, just changing the default breaks all
sorts of unit tests ...

  • Scripts/webkitpy/common/host_mock.py:

(MockHost.init):
(MockHost._initialize_scm):

  • Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:

(ResultSummaryTest.test_no_svn_revision):
(ResultSummaryTest.test_svn_revision):

2:22 PM Changeset in webkit [120863] by dpranke@chromium.org
  • 5 edits in trunk/Tools

new-run-webkit-tests appends "/Debug" or "/Release" to $WEBKITOUTPUTDIR
https://bugs.webkit.org/show_bug.cgi?id=69360

Reviewed by Eric Seidel.

Reviewed by Eric Seidel.

Propagate the 'port_implementation' part of the platform (i.e.,
gtk,qt,chromium) to webkit-build-directory so that we can pick
up the gtk-specific handling of WEBKITOUTPUTDIR ...

I didn't write any additional tests for this; testing it
properly is an integration test between the python code and the
perl code, which I verified by hand.

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

(Port.init):

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

(Config.init):
(Config.build_directory):

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

(MockConfig.init):

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

(ConfigTest.test_build_directory_passes_port_implementation):

2:20 PM Changeset in webkit [120862] by inferno@chromium.org
  • 5 edits
    2 adds in trunk

Crash on accessing a removed renderer from percent height descendant map.
https://bugs.webkit.org/show_bug.cgi?id=88017

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/block/percent-height-descendant-not-removed-crash2.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::hasPercentHeightContainerMap): helper to tell
if we have a height container map.
(WebCore):
(WebCore::RenderBlock::hasPercentHeightDescendant): change from a debug
only function to a regular function for use. no need to null check
for a percent height container map in this function.
(WebCore::RenderBlock::clearPercentHeightDescendantsFrom): helper to
clear all percent height descendants under us.
(WebCore::RenderBlock::removePercentHeightDescendantIfNeeded): helper to
clear the box if it exists in the percent height descendant map.

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed): remove the assert and change the
percent height detection check to use removePercentHeightDescendantIfNeeded.
We shouldn't rely on logicalHeight().isPercent() as it can change when our
writing mode changes. Instead, just query the map directly to see if we exist.
(WebCore::RenderBox::styleDidChange): when our writing mode changes from
horizontal to vertical or vice versa, we clear all our descendants from
the percent height descendant map. Cache the value of isHorizontalWritingMode()
before it changes in styleDidChange and compare it with the new value
(can't use oldStyle->isHorizontalWritingMode() since it can be inherited
and already updated).

LayoutTests:

  • fast/block/percent-height-descendant-not-removed-crash2-expected.txt: Added.
  • fast/block/percent-height-descendant-not-removed-crash2.html: Added.
2:15 PM Changeset in webkit [120861] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Add an API to immediately enable cross-site XHR
https://bugs.webkit.org/show_bug.cgi?id=89594

Internally Reviewed by Yong Li.
Patch by Christopher Hutten-Czapski <chutten@rim.com> on 2012-06-20
Reviewed by Rob Buis.

There is no API to disable it as clients may rely on legacy behaviour
of not disabling until the next frame load.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::enableCrossSiteXHRRecursively):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::enableCrossSiteXHR):
(BlackBerry::WebKit::WebPage::enableCrossSiteXHR):

  • Api/WebPage.h:
  • Api/WebPage_p.h:

(WebPagePrivate):

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

build-webkit failure due to illegal 32-bit integer constants in code
generated by offlineasm
https://bugs.webkit.org/show_bug.cgi?id=89347

Reviewed by Geoffrey Garen.

The offending constants are the magic numbers used by offlineasm to find
offsets in the generated machine code. Added code to turn them into what
the C++ compiler will believe to be valid 32-bit values.

  • offlineasm/offsets.rb:
2:04 PM Changeset in webkit [120859] by jchaffraix@webkit.org
  • 3 edits
    14 adds in trunk

REGRESSION(r113885): Margin not properly applied to elements with align=center
https://bugs.webkit.org/show_bug.cgi?id=89515

Reviewed by Levi Weintraub.

Reviewed by Levi Weintraub.

Source/WebCore:

Tests: fast/block/negative-margin-start-positive-margin-end.html

fast/block/negative-start-margin-align-center.html
fast/block/positive-margin-block-child-align-center-rtl.html
fast/block/positive-margin-block-child-align-center.html
fast/block/positive-margin-start-align-center.html
fast/block/positive-margin-start-negative-margin-end-align-center.html
fast/table/table-cell-negative-start-margin-align-center.html

r113885 changed the code-path for elements with auto width to call computeInlineDirectionMargins.
However this uncovered an existing bug in the function when dealing with align="center" (text-align: -webkit-center)
where we would ignore the margin. This goes against what other browsers are doing and our previous behavior.

Note that align="left" and "right" are likely impacted too and will be investigated / fixed in follow-up changes.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeInlineDirectionMargins):
To match other browsers' behavior, changed the function to include margin in our computations.

LayoutTests:

  • fast/block/negative-margin-start-positive-margin-end-expected.html: Added.
  • fast/block/negative-margin-start-positive-margin-end.html: Added.
  • fast/block/negative-start-margin-align-center-expected.html: Added.
  • fast/block/negative-start-margin-align-center.html: Added.
  • fast/block/positive-margin-block-child-align-center-expected.html: Added.
  • fast/block/positive-margin-block-child-align-center.html: Added.
  • fast/block/positive-margin-start-align-center-expected.html: Added.
  • fast/block/positive-margin-start-align-center.html: Added.
  • fast/block/positive-margin-start-negative-margin-end-align-center-expected.html: Added.
  • fast/block/positive-margin-start-negative-margin-end-align-center.html: Added.

Those checks the combination of margin start / end both positive and negative.

  • fast/block/positive-margin-block-child-align-center-rtl-expected.html: Added.
  • fast/block/positive-margin-block-child-align-center-rtl.html: Added.

One ltr test as I didn't find any.

  • fast/table/table-cell-negative-start-margin-align-center-expected.html: Added.
  • fast/table/table-cell-negative-start-margin-align-center.html: Added.

This test is very similar to the one above but involves a table.

1:48 PM Changeset in webkit [120858] by jamesr@google.com
  • 8 edits in trunk/Source

[chromium] Separate LayerRenderer initialization from updateLayers
https://bugs.webkit.org/show_bug.cgi?id=89525

Reviewed by Adrienne Walker.

Source/WebCore:

This adds an explicit call to initialize the layer renderer of a given CCLayerTreeHost instead of having it be
implicit in updateLayers(). This way the proxies can control the initialization sequence more closely and do
useful work between the two calls.

Refactor, no change in behavior. Covered by existing tests.

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

(WebCore::CCLayerTreeHost::compositeAndReadback):
(WebCore::CCLayerTreeHost::initializeLayerRendererIfNeeded):
(WebCore):
(WebCore::CCLayerTreeHost::updateLayers):

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

(CCLayerTreeHost):

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

(WebCore::CCSingleThreadProxy::commitAndComposite):

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

(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::beginFrame):

Source/WebKit/chromium:

Update tests to call initializeLayerRendererIfNeeded() before calling updateLayers() to reflect what the proxies
do.

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
(WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
(WTF::CCLayerTreeHostTestManySurfaces::beginTest):

  • tests/TiledLayerChromiumTest.cpp:
1:33 PM Changeset in webkit [120857] by inferno@chromium.org
  • 1 edit
    2 copies in branches/chromium/1180

Merge 120737 - Crash in RenderInline::willBeDestroyed.
BUG=103423
Review URL: https://chromiumcodereview.appspot.com/10575040

1:25 PM Changeset in webkit [120856] by robert@webkit.org
  • 2 edits in trunk/LayoutTests

r120844: Skip two tests on Qt

The tests fast/block/float/previous-sibling-abspos-001.html and
fast/block/float/previous-sibling-float-001.html have pixel differences
on Qt. Skip them for now - bug 89597 opened.

Unreviewed, gardening.

  • platform/qt/Skipped:
1:23 PM Changeset in webkit [120855] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

SecurityOrigin::canDisplay() should return true when m_universalAccess is true
https://bugs.webkit.org/show_bug.cgi?id=84865

Patch by Yong Li <yoli@rim.com> on 2012-06-20
Reviewed by Adam Barth.

Add an early return (true) in canDisplay() for if (m_universalAccess),
as we did for canAccess() and canRequest().

No new tests. We should be good as long as this change doesn't break existing
tests, which means the contents supposed to be blocked are still blocked when
m_universalAccess is false.

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::canDisplay):

1:16 PM Changeset in webkit [120854] by arv@chromium.org
  • 44 edits
    3 deletes in trunk/Source/WebCore

[V8] Use v8::V8::AddImplicitReferences instead of SetHiddenValue
https://bugs.webkit.org/show_bug.cgi?id=80880

Reviewed by Adam Barth.

We used to add a hidden property in the getter to the returned wrapper.
With this patch we instead handle the liveness of the wrapper in the GC phase by
calling v8::V8::AddHiddenReference.

To reduce the amount of custom code we need, the V8 code generator now supports
GenerateIsReachable (as well as CustomIsReachable) which, even though different
from the JSC attribute, is used in the same cases and takes the same values (even though
at the moment not all JSC values are supported by V8). Interfaces that have *IsReachable
also have a dependent life time (just like if V8DependentLifetime was present).

Retry. Last time we got ASAN issues on some Cromium Linux bots.

No new tests. Covered by existing tests.

  • Target.pri:
  • UseV8.cmake:
  • WebCore.gypi:
  • bindings/scripts/CodeGeneratorJS.pm:

(GetGenerateIsReachable): Abstracted GenerateIsReachable and JSGenerateIsReachable.
(GetCustomIsReachable): Ditto.
(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(NeedsToVisitDOMWrapper):
(GetGenerateIsReachable):
(GetCustomIsReachable):
(GenerateVisitDOMWrapper):
(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/V8/V8Float64Array.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8Float64Array.h:

(V8Float64Array):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.h:

(V8TestActiveDOMObject):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.h:

(V8TestCustomNamedGetter):

  • bindings/scripts/test/V8/V8TestEventConstructor.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestEventConstructor.h:

(V8TestEventConstructor):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestEventTarget.h:

(V8TestEventTarget):

  • bindings/scripts/test/V8/V8TestException.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestException.h:

(V8TestException):

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestInterface.h:

(V8TestInterface):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.h:

(V8TestMediaQueryListListener):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestNamedConstructor.h:

(V8TestNamedConstructor):

  • bindings/scripts/test/V8/V8TestNode.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestNode.h:

(V8TestNode):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestObj.h:

(V8TestObj):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:

(V8TestSerializedScriptValueInterface):

  • bindings/v8/NPV8Object.cpp:

(WebCore::npObjectTypeInfo):

  • bindings/v8/V8GCController.cpp:

(WebCore::GrouperVisitor::visitDOMWrapper):

  • bindings/v8/WrapperTypeInfo.h:

(WebCore):
(WrapperTypeInfo):

  • bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
  • bindings/v8/custom/V8DOMStringMapCustom.cpp:
  • bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore):

  • bindings/v8/custom/V8NamedNodeMapCustom.cpp:
  • bindings/v8/custom/V8StyleSheetCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8TextTrackListCustom.cpp: Removed.
  • css/CSSStyleSheet.idl:
  • css/StyleSheet.idl:
  • dom/DOMStringMap.idl:
  • dom/NamedNodeMap.idl:
  • html/DOMTokenList.idl:
  • html/track/TextTrackList.idl:
1:10 PM FeatureFlags edited by tkent@chromium.org
Add a bug link for CSS_BOX_DECORATION_BREAK (diff)
1:00 PM Changeset in webkit [120853] by dpranke@chromium.org
  • 2 edits in trunk/Tools

Fix import sorting missed in r120846

Reviewed by Tony Chang.

  • Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
12:53 PM Changeset in webkit [120852] by dpranke@chromium.org
  • 3 edits in trunk/Tools

Fix chromium win http servers after breakage introduced in r120846.

Unreviewed, build fix.

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

(Port.to.start_http_server):

  • Scripts/webkitpy/layout_tests/servers/http_server.py:

(Lighttpd.init):

12:47 PM Changeset in webkit [120851] by dpranke@chromium.org
  • 4 edits in trunk/Tools

tweak output of webkit-patch print-{baselines,expectations}
https://bugs.webkit.org/show_bug.cgi?id=89588

Reviewed by Tony Chang.

Minor tweaks to the output to make it more readable, including
turning off csv by default for print-baselines with multiple ports.

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

(TestPort):

  • Scripts/webkitpy/tool/commands/queries.py:

(PrintExpectations.execute):
(PrintBaselines.execute):

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(PrintExpectationsTest.run_test):
(PrintExpectationsTest.test_multiple):
(PrintBaselinesTest.setUp):
(PrintBaselinesTest.test_multiple):

12:33 PM Changeset in webkit [120850] by tony@chromium.org
  • 3 edits in trunk/Source/WebCore

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):

12:28 PM Changeset in webkit [120849] by commit-queue@webkit.org
  • 10 edits
    17 adds in trunk

Add support for fit-content etc
https://bugs.webkit.org/show_bug.cgi?id=38919

Patch by Elliott Sprehn <Elliott Sprehn> on 2012-06-20
Reviewed by Tony Chang.

Source/WebCore:

Implement the CSS3 intrinsic dimension keywords for width properties and
add most of the plumbing for height properties but don't expose them
yet since this patch doesn't enforce them (matching current Gecko).
http://dev.w3.org/csswg/css3-writing-modes/#intrinsic-sizing

This patch implements -webkit-min-content, -webkit-max-content,
-webkit-fill-available and -webkit-fit-content for all width
properties.

Tests: fast/css-intrinsic-dimensions/height-dynamic-property-value.html

fast/css-intrinsic-dimensions/height-property-value.html
fast/css-intrinsic-dimensions/max-width-constrained.html
fast/css-intrinsic-dimensions/max-width-unconstrained.html
fast/css-intrinsic-dimensions/min-width.html
fast/css-intrinsic-dimensions/width-avoid-floats.html
fast/css-intrinsic-dimensions/width-dynamic-property-value.html
fast/css-intrinsic-dimensions/width-property-value.html
fast/css-intrinsic-dimensions/width.html

  • css/CSSParser.cpp: Add parser support for the new keywords.

(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSValueKeywords.in:
  • css/LengthFunctions.cpp: Implement conversion functions.

(WebCore::minimumValueForLength):
(WebCore::valueForLength):
(WebCore::floatValueForLength):

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyLength::applyValue):
(WebCore::StyleBuilder::StyleBuilder): Clean up the template for old

intrinsic values and add new values. Rename old intrinsic to
LegacyIntrinsic and add support for the new dimension keywords as
Intrinsic.

  • platform/Length.h:

(WebCore::Length::isIntrinsicOrAuto):
(WebCore::Length::isLegacyIntrinsic): New method to check for old

min-intrinsic and intrinsic keywords.

(WebCore::Length::isIntrinsic): New method to check for CSS3 intrinsic

dimension keywords like min-content.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalWidthInRegionUsing): Expose the max

and min logical preferred widths as the new keywords.

(WebCore::RenderBox::sizesLogicalWidthToFitContent): Renamed method to

be more consistent with the new MinContent naming in the spec.

  • rendering/RenderBox.h:

(RenderBox):

LayoutTests:

Tests for CSS3 intrinsic dimension keywords as defined in the
writing modes spec. This tests the implementation for width and
ensures that height properties don't allow the new keywords yet
since they're not implemented by this patch.

  • fast/css-intrinsic-dimensions/height-dynamic-property-value-expected.txt: Added.
  • fast/css-intrinsic-dimensions/height-dynamic-property-value.html: Added.
  • fast/css-intrinsic-dimensions/height-property-value-expected.txt: Added.
  • fast/css-intrinsic-dimensions/height-property-value.html: Added.
  • fast/css-intrinsic-dimensions/max-width-constrained-expected.html: Added.
  • fast/css-intrinsic-dimensions/max-width-constrained.html: Added.
  • fast/css-intrinsic-dimensions/max-width-unconstrained-expected.html: Added.
  • fast/css-intrinsic-dimensions/max-width-unconstrained.html: Added.
  • fast/css-intrinsic-dimensions/min-width-expected.html: Added.
  • fast/css-intrinsic-dimensions/min-width.html: Added.
  • fast/css-intrinsic-dimensions/width-avoid-floats-expected.html: Added.
  • fast/css-intrinsic-dimensions/width-avoid-floats.html: Added.
  • fast/css-intrinsic-dimensions/width-dynamic-property-value-expected.txt: Added.
  • fast/css-intrinsic-dimensions/width-dynamic-property-value.html: Added.
  • fast/css-intrinsic-dimensions/width-expected.html: Added.
  • fast/css-intrinsic-dimensions/width-keyword-classes.css: Added.

(.min-content):
(.max-content):
(.fill-available):
(.fit-content):
(.max-width-min-content):
(.max-width-max-content):
(.max-width-fill-available):
(.max-width-fit-content):
(.min-width-min-content):
(.min-width-max-content):
(.min-width-fill-available):
(.min-width-fit-content):

  • fast/css-intrinsic-dimensions/width-property-value-expected.txt: Added.
  • fast/css-intrinsic-dimensions/width-property-value.html: Added.
  • fast/css-intrinsic-dimensions/width.html: Added.
12:25 PM Changeset in webkit [120848] by rniwa@webkit.org
  • 1 edit
    2 copies in branches/chromium/1180

Merge 120638 - REGRESSION(r118414): some pages on concursolutions.com doesn't show up
https://bugs.webkit.org/show_bug.cgi?id=89399
http://crbug.com/132097

Reviewed by Adam Barth.

Source/WebCore:

The bug was caused by insertAdjacentHTML's not passing context element to createFragmentForInnerOuterHTML.

Test: fast/html/adjacent-html-context-element.html

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::insertAdjacentHTML):

LayoutTests:

Add a regression test.

  • fast/html/adjacent-html-context-element-expected.txt: Added.
  • fast/html/adjacent-html-context-element.html: Added.

Review URL: https://chromiumcodereview.appspot.com/10577039

12:17 PM Changeset in webkit [120847] by commit-queue@webkit.org
  • 12 edits
    6 adds in trunk

[chromium] webkit-backface-visibility doesn't work with video
https://bugs.webkit.org/show_bug.cgi?id=88908

When determining a contents layer's backface culling, use the parent
layer's transform and backface-visibility properties. Track which
layers need this special treatment with useParentBackfaceVisibility
and setUseParentBackfaceVisibility functions in WebCore::LayerChromium,
WebKit::WebLayer, and WebCore::CCLayerImpl.

Patch by Christopher Cameron <ccameron@chromium.org> on 2012-06-20
Reviewed by Adrienne Walker.

Source/Platform:

  • chromium/public/WebLayer.h:

(WebLayer):

Add an accessor to specify that a layer should use its parent's
backface culling behavior.

Source/WebCore:

Tests: compositing/backface-visibility/backface-visibility-image.html

compositing/backface-visibility/backface-visibility-webgl.html

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::setupContentsLayer):

When a contents layer is added, tag it as inheriting its backface
culling from its parent.

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::LayerChromium):

Initialize new m_useParentBackfaceVisibility member variable.

(WebCore::LayerChromium::pushPropertiesTo):

Propagate m_useParentBackfaceVisibility to CCLayerImpl.

  • platform/graphics/chromium/LayerChromium.h:

(WebCore::LayerChromium::setUseParentBackfaceVisibility):
(WebCore::LayerChromium::useParentBackfaceVisibility):
(LayerChromium):

Add m_useParentBackfaceVisibility member variable and modify
and query accessors.

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

(WebCore::CCLayerImpl::CCLayerImpl):

Initialize new m_useParentBackfaceVisibility member variable.

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

(WebCore::CCLayerImpl::setUseParentBackfaceVisibility):
(WebCore::CCLayerImpl::useParentBackfaceVisibility):
(CCLayerImpl):

Add m_useParentBackfaceVisibility member variable and modify
and query accessors.

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

(WebCore::layerShouldBeSkipped):

When examining a layer, if the layer has
useParentBackfaceVisibility set then use the layer's parent
layer to determine backface culling.

Source/WebKit/chromium:

  • src/WebLayer.cpp:

(WebKit::WebLayer::setUseParentBackfaceVisibility):

Add an accessor to specify that a layer should use its parent's
backface culling behavior.

LayoutTests:

  • compositing/backface-visibility/backface-visibility-image-expected.png: Added.
  • compositing/backface-visibility/backface-visibility-image-expected.txt: Added.
  • compositing/backface-visibility/backface-visibility-image.html: Added.
  • compositing/backface-visibility/backface-visibility-webgl-expected.png: Added.
  • compositing/backface-visibility/backface-visibility-webgl-expected.txt: Added.
  • compositing/backface-visibility/backface-visibility-webgl.html: Added.
12:00 PM Changeset in webkit [120846] by dpranke@chromium.org
  • 9 edits
    1 add in trunk/Tools

new-run-webkit-tests should spin-up enough httpd processes to avoid timeouts
https://bugs.webkit.org/show_bug.cgi?id=88134

Reviewed by Tony Chang.

Change NRWT to spin up 2*min(child_processes, locked_shards)
http servers by default so that we are less likely to get a
bunch of http timeouts at the beginning of a test run.

Note that I had to tweak executive_mock to support mocked stderr
because the apache_http_server code reads stderr when starting a
process to ensure it started okay.

  • Scripts/webkitpy/common/system/executive_mock.py:

(MockProcess.init):

  • Scripts/webkitpy/common/system/outputcapture.py:
  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._run_tests):
(Manager.start_servers_with_lock):

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

(Port.to.start_http_server):

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

(TestPort.start_http_server):
(TestPort._path_to_apache):
(TestPort):
(TestPort._path_to_apache_config_file):

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):

  • Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py: Added

(LayoutTestApacheHttpd.init):

  • Scripts/webkitpy/layout_tests/servers/http_server.py:

(Lighttpd.init):

  • Scripts/webkitpy/layout_tests/servers/http_server_base.py:

(HttpServerBase.init):

11:42 AM Changeset in webkit [120845] by Nate Chapin
  • 3 edits
    2 adds in trunk

Source/WebCore: Don't re-enter CachedResource::removeClient() if an XHR
is canceled and restarted multiple times.
https://bugs.webkit.org/show_bug.cgi?id=89378

Reviewed by Eric Seidel.

Test: http/tests/xmlhttprequest/reentrant-cancel.html

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::cancel):
(WebCore::DocumentThreadableLoader::clearResource): Save off a copy of m_resource

then clear it, so we don't call clearResource() multiple times for the same resource.

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=89378.
Reviewed by Eric Seidel.

  • http/tests/xmlhttprequest/reentrant-cancel-expected.txt: Added.
  • http/tests/xmlhttprequest/reentrant-cancel.html: Added.
11:40 AM Changeset in webkit [120844] by robert@webkit.org
  • 3 edits
    10 adds in trunk

Negative margin block doesn't properly clear a float enclosed by a previous sibling
https://bugs.webkit.org/show_bug.cgi?id=10900

Reviewed by Eric Seidel.

Source/WebCore:

Tests: fast/block/float/previous-sibling-abspos-001.html

fast/block/float/previous-sibling-abspos-002.html
fast/block/float/previous-sibling-float-001.html
fast/block/float/previous-sibling-float-002.html
fast/css/clear-float-sibling.html

Parent blocks keep a list of child floats that extend out of the parent block and
by implication overhang into the parent's siblings. But this doesn't work if the
sibling has collapsing margins - it will not find the float in the previous block's
list so will ignore the float and fail to clear it.

RenderBlock:collapseMargins() needs to check if a child's collapsing margin has
reduced the height of the parent up past the bottom of its previous sibling's lowest float
and add the now overhanging float to the parent's float list if appropriate. No need to do
this if the previous sibling is a float or is positioned - the child will clear/avoid it anyway
and attempting to avoid floated children of floats causes incorrect layout.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::collapseMargins):

LayoutTests:

  • fast/block/float/previous-sibling-abspos-001-expected.html: Added.
  • fast/block/float/previous-sibling-abspos-001.html: Added.
  • fast/block/float/previous-sibling-abspos-002-expected.html: Added.
  • fast/block/float/previous-sibling-abspos-002.html: Added.
  • fast/block/float/previous-sibling-float-001-expected.html: Added.
  • fast/block/float/previous-sibling-float-001.html: Added.
  • fast/block/float/previous-sibling-float-002-expected.html: Added.
  • fast/block/float/previous-sibling-float-002.html: Added.
  • fast/css/clear-float-sibling-expected.html: Added.
  • fast/css/clear-float-sibling.html: Added.
11:36 AM Changeset in webkit [120843] by enne@google.com
  • 1 edit
    3 copies in branches/chromium/1180

Merge 120750 - Fix scrollbar layers being misplaced with a clipped owner layer
https://bugs.webkit.org/show_bug.cgi?id=89486

Reviewed by Simon Fraser.

Source/WebCore:

Scrollbar layers are positioned relative to their parent layer. If
that parent gets clipped, then that positioning becomes incorrect and
scrollbars get positioned relative to the clipped bounds instead of
the full bounds. Fix by not clipping in this case.

Test: compositing/overflow/scrollbars-with-clipped-owner.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::shouldClipCompositedBounds):

LayoutTests:

  • compositing/overflow/scrollbars-with-clipped-owner-expected.png: Added.
  • compositing/overflow/scrollbars-with-clipped-owner-expected.txt: Added.
  • compositing/overflow/scrollbars-with-clipped-owner.html: Added.

TBR=enne@google.com
Review URL: https://chromiumcodereview.appspot.com/10536221

11:28 AM Changeset in webkit [120842] by commit-queue@webkit.org
  • 17 edits
    2 copies in trunk/Source/WebCore

Web Inspector: Allow module injections into the InjectedScript
https://bugs.webkit.org/show_bug.cgi?id=89530

Add a new InjectedScriptModule abstract class that inherits InjectedScriptBase
to reuse implementation, and which javascript code is injected via
InjectedScript.

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-06-20
Reviewed by Pavel Feldman.

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

(WebCore::ScriptObject::ScriptObject):
(WebCore):

  • bindings/js/ScriptObject.h:

(ScriptObject):
(WebCore::ScriptObject::ScriptObject):

  • bindings/v8/ScriptObject.cpp:

(WebCore::ScriptObject::ScriptObject):
(WebCore):

  • bindings/v8/ScriptObject.h:

(ScriptObject):
(WebCore::ScriptObject::~ScriptObject):

  • inspector/InjectedScript.cpp:
  • inspector/InjectedScript.h:

(WebCore):
(WebCore::InjectedScript::name):
(InjectedScript):

  • inspector/InjectedScriptBase.cpp:

(WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):

  • inspector/InjectedScriptBase.h:

(WebCore):
(InjectedScriptBase):

  • inspector/InjectedScriptManager.h:

(InjectedScriptManager):
(WebCore::InjectedScriptManager::inspectedStateAccessCheck):

  • inspector/InjectedScriptModule.cpp: Copied from Source/WebCore/inspector/InjectedScriptBase.h.

(WebCore):
(WebCore::InjectedScriptModule::InjectedScriptModule):
(WebCore::InjectedScriptModule::ensureInjected):

  • inspector/InjectedScriptModule.h: Copied from Source/WebCore/bindings/js/ScriptObject.h.

(WebCore):
(InjectedScriptModule):

  • inspector/InjectedScriptSource.js:

(.):

11:24 AM Changeset in webkit [120841] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Made the incremental sweeper more aggressive
https://bugs.webkit.org/show_bug.cgi?id=89527

Reviewed by Oliver Hunt.

This is a pre-requisite to getting rid of "berzerker GC" because we need
the sweeper to reclaim memory in a timely fashion, or we'll see a memory
footprint regression.

  • heap/IncrementalSweeper.h:
  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::scheduleTimer): Since the time slice is predictable,
no need to use a data member to record it.

(JSC::IncrementalSweeper::doSweep): Sweep as many blocks as we can in a
small time slice. This is better than sweeping only one block per timer
fire because that strategy has a heavy timer overhead, and artificially
delays memory reclamation.

11:22 AM Changeset in webkit [120840] by zmo@google.com
  • 4 edits in branches/chromium/1180/Source/WebCore/html/canvas

Merge 120636 - Fix framebuffer-object-attachment.html failures
https://bugs.webkit.org/show_bug.cgi?id=89387

Reviewed by Kenneth Russell.

  • html/canvas/WebGLFramebuffer.cpp: fix detachment behavior with depth/stencil/depth_stencil conflicts

(WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):

  • html/canvas/WebGLFramebuffer.h:

(WebGLFramebuffer):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer): move logic to WebGLFramebuffer
(WebCore::WebGLRenderingContext::framebufferTexture2D): Ditto.
(WebCore::WebGLRenderingContext::getParameter): Correct the wrong assumption that it's always checking the drawingbuffer's DEPTH_BITS/STENCIL_BITS

  • html/canvas/WebGLRenderingContext.h:

(WebGLRenderingContext):

TBR=zmo@google.com
Review URL: https://chromiumcodereview.appspot.com/10584035

11:18 AM Changeset in webkit [120839] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Enable setAcceleratedCompositingForFixedPositionEnabled
https://bugs.webkit.org/show_bug.cgi?id=89575

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-06-20
Reviewed by Antonio Gomes.

Enable the flag so that we get position:fixed elemetns to be rendered
using accelerated compositing.

  • Api/WebPage.cpp:

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

11:11 AM Changeset in webkit [120838] by pfeldman@chromium.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: Timeline label bar jiggles when scrolling
https://bugs.webkit.org/show_bug.cgi?id=89579

Reviewed by Vsevolod Vlasov.

Adding timeline header into the timeline panel and settings its position
to absolute. Drive-by fix that updates rulers on sidebar resize.

  • inspector/front-end/TimelineGrid.js:

(WebInspector.TimelineGrid):
(WebInspector.TimelineGrid.prototype.get gridHeaderElement):
(WebInspector.TimelineGrid.prototype.addEventDividers):
(WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):

  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewPane.prototype.sidebarResized):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelinePanel.prototype.onResize):

  • inspector/front-end/timelinePanel.css:

(#timeline-grid-header):

10:58 AM Changeset in webkit [120837] by commit-queue@webkit.org
  • 9 edits in trunk/Source

[chromium] Make sure that render surfaces are not pixel doubled with a device scale factor of 2
https://bugs.webkit.org/show_bug.cgi?id=86882

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-20
Reviewed by Adrienne Walker.

To ensure that render surfaces are not pixel doubled when device scale factor is
two, the render surface's owning layer's draw transform is scaled by the
contents scale (in the same way that the parent matrix is scaled by the device
scale factor). The transformedLayerRect's dimensions also need to be in pixel
space. The surface origin transform should not scale, but needs to offset the
correct number of pixels, and the replica transforms need to be modified to
account for the scaling.

Source/WebCore:

To accomplish this, CCLayerImpl's needed to be made aware of contentsScale.

Thanks to Adrienne Walker for the computation of the replica draw transform.

Unit test: CCLayerTreeHostCommonTest.verifyRenderSurfaceTranformsInHighDPI

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::pushPropertiesTo):

  • platform/graphics/chromium/LayerChromium.h:

(LayerChromium):

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

(WebCore::CCLayerImpl::CCLayerImpl):

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

(WebCore::CCLayerImpl::setContentsScale):
(WebCore::CCLayerImpl::contentsScale):
(CCLayerImpl):

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

(WebCore::calculateDrawTransformsInternal):

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

(WebCore::CCScrollbarLayerImpl::CCScrollbar::totalSize):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:
10:51 AM Changeset in webkit [120836] by fpizlo@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Fix JSC ChangeLog, forgot to add a comment to the ChangeLog before committing.

10:49 AM Changeset in webkit [120835] by alexis.menard@openbossa.org
  • 3 edits
    2 adds in trunk

[CSS3 Backgrounds and Borders] Implement box-decoration-break rendering.
https://bugs.webkit.org/show_bug.cgi?id=88228

Reviewed by Eric Seidel.

Source/WebCore:

Implement the new CSS property box-decoration-break. It modifies
where we decide whether the borders needs to be sliced or not by
checking if the box-decoration-break is set to clone. If it's the case
then we need to explicitely redraw all edges.

Test: fast/box-decoration-break/box-decoration-break-rendering.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
(WebCore::InlineFlowBox::paintFillLayer):

LayoutTests:

Add new tests to cover the feature.

  • fast/box-decoration-break/box-decoration-break-rendering-expected.html: Added.
  • fast/box-decoration-break/box-decoration-break-rendering.html: Added.
10:48 AM Changeset in webkit [120834] by fpizlo@apple.com
  • 20 edits
    2 adds in trunk/Source/JavaScriptCore

DFG should be able to print disassembly interleaved with the IR
https://bugs.webkit.org/show_bug.cgi?id=89551

Reviewed by Geoffrey Garen.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::labelIgnoringWatchpoints):
(ARMv7Assembler):

  • assembler/AbstractMacroAssembler.h:

(AbstractMacroAssembler):
(JSC::AbstractMacroAssembler::labelIgnoringWatchpoints):

  • assembler/X86Assembler.h:

(X86Assembler):
(JSC::X86Assembler::labelIgnoringWatchpoints):

  • dfg/DFGCommon.h:

(JSC::DFG::shouldShowDisassembly):
(DFG):

  • dfg/DFGDisassembler.cpp: Added.

(DFG):
(JSC::DFG::Disassembler::Disassembler):
(JSC::DFG::Disassembler::dump):
(JSC::DFG::Disassembler::dumpDisassembly):

  • dfg/DFGDisassembler.h: Added.

(DFG):
(Disassembler):
(JSC::DFG::Disassembler::setStartOfCode):
(JSC::DFG::Disassembler::setForBlock):
(JSC::DFG::Disassembler::setForNode):
(JSC::DFG::Disassembler::setEndOfMainPath):
(JSC::DFG::Disassembler::setEndOfCode):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::amountOfNodeWhiteSpace):
(DFG):
(JSC::DFG::Graph::printNodeWhiteSpace):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):

  • dfg/DFGGraph.h:
  • dfg/DFGJITCompiler.cpp:

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

  • dfg/DFGJITCompiler.h:

(JITCompiler):
(JSC::DFG::JITCompiler::setStartOfCode):
(JSC::DFG::JITCompiler::setForBlock):
(JSC::DFG::JITCompiler::setForNode):
(JSC::DFG::JITCompiler::setEndOfMainPath):
(JSC::DFG::JITCompiler::setEndOfCode):

  • dfg/DFGNode.h:

(Node):
(JSC::DFG::Node::willHaveCodeGen):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::nodeFlagsAsString):

  • dfg/DFGSpeculativeJIT.cpp:

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

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):

  • runtime/Options.cpp:

(Options):
(JSC::Options::initializeOptions):

  • runtime/Options.h:

(Options):

10:27 AM Changeset in webkit [120833] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed build fix.

  • tests/IDBDatabaseBackendTest.cpp:

(WebCore::MockIDBCallbacks::~MockIDBCallbacks):
(WebCore::FakeIDBDatabaseCallbacks::~FakeIDBDatabaseCallbacks):

10:24 AM Changeset in webkit [120832] by jchaffraix@webkit.org
  • 13 edits in trunk/Source

Use IntSize in RenderLayer to represent scroll offsets
https://bugs.webkit.org/show_bug.cgi?id=89154

Reviewed by Eric Seidel.

Source/WebCore:

Refactoring, covered by existing tests.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::scrollTo):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::forwardEvent):

  • page/SpatialNavigation.cpp:

(WebCore::scrollInDirection):

  • rendering/RenderMarquee.cpp:

(WebCore::RenderMarquee::start):
Updated those call-sites to use the IntSize variant of the scrolling function.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::panScrollFromPoint):
Updated the signature to use IntPoint to avoid an extra round-trip to LayoutPoint
(furthermore touch points should be in device pixels).

(WebCore::RenderLayer::clampScrollOffset):
Added this function that clamps a scroll offset to the box's size. This enables more
code sharing between the different functions. Also removed a NULL-check that shouldn't
be needed: scrolling is a RenderBox concept so any callers should ensure that we have
a RenderBox or it makes no sense to try to scroll.

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::adjustedScrollDelta):
(WebCore::RenderLayer::scrollByRecursively):
(WebCore::RenderLayer::scrollToOffset):
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
Updated to do IntSize arithmetic. Reuse clampScrollOffset when applicable.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::scrollToXOffset):
(WebCore::RenderLayer::scrollToYOffset):
Updated the functions to take IntSize as much as possible.

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::scrollRenderer):
Updated to pass an IntSize to scrollToOffset.

Source/WebKit/win:

  • WebView.cpp:

(WebView::gesture):
Updated to pass an IntSize to scrollByRecursively.

Source/WebKit2:

  • WebProcess/WebPage/win/WebPageWin.cpp:

(WebKit::WebPage::gestureDidScroll):
Updated to pass an IntSize to scrollByRecursively.

10:22 AM Changeset in webkit [120831] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit2

[WK2] Implement Web Intent delivery
https://bugs.webkit.org/show_bug.cgi?id=88989

Patch by Christophe Dumez <Christophe Dumez> on 2012-06-20
Reviewed by Anders Carlsson.

Add a deliverIntent() method to the WebFrame so that
Web intents can be delivered once matched to a
specific service.

  • UIProcess/WebFrameProxy.cpp:

(WebKit):
(WebKit::WebFrameProxy::deliverIntent):

  • UIProcess/WebFrameProxy.h:

(WebKit):
(WebFrameProxy):

  • UIProcess/WebIntentData.h:

(WebKit::WebIntentData::store):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit):
(WebKit::WebFrame::deliverIntent):

  • WebProcess/WebPage/WebFrame.h:

(WebKit):
(WebFrame):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit):
(WebKit::WebPage::deliverIntentToFrame):

  • WebProcess/WebPage/WebPage.h:

(WebKit):
(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
10:14 AM Changeset in webkit [120830] by Lucas Forschler
  • 7 edits in branches/safari-536-branch/Source/WebKit2

Merged r120376 -> <rdar://problem/11652545>

9:33 AM Changeset in webkit [120829] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: mark used/allocated JS heap on the native memory bar chart.
https://bugs.webkit.org/show_bug.cgi?id=89476

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-06-20
Reviewed by Yury Semikhatsky.

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeMemoryBarChart):
(WebInspector.NativeMemoryBarChart.prototype._updateView):

  • inspector/front-end/nativeMemoryProfiler.css:

(.memory-bar-chart-bar):
(.memory-bar-chart-unused):
(.memory-bar-chart-percent):

9:17 AM Changeset in webkit [120828] by jsbell@chromium.org
  • 7 edits in trunk/Source

[Chromium] IndexedDB: Don't close database if pending connections are in flight
https://bugs.webkit.org/show_bug.cgi?id=89512

Source/WebCore:

Add a counter tracking connections between the two phases, which is used along with
the completed connection count to determine the total number of connections.

Reviewed by Tony Chang.

Test: webkit_unit_tests --gtest_filter='IDBDatabaseBackendTest.ConnectionLifecycle'

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::connectionCount):
(WebCore):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::transaction):
(WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
(WebCore::IDBDatabaseBackendImpl::openConnection):
(WebCore::IDBDatabaseBackendImpl::close):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBFactoryBackendImpl.cpp:

(WebCore::IDBFactoryBackendImpl::openInternal):

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore):

Source/WebKit/chromium:

Reviewed by Tony Chang.

  • tests/IDBDatabaseBackendTest.cpp:

(MockIDBCallbacks):
(WebCore::MockIDBCallbacks::create):
(WebCore::MockIDBCallbacks::MockIDBCallbacks):
(WebCore):
(FakeIDBDatabaseCallbacks):
(WebCore::FakeIDBDatabaseCallbacks::create):
(WebCore::FakeIDBDatabaseCallbacks::FakeIDBDatabaseCallbacks):
(WebCore::TEST):

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

Web Inspector: duplicating selected text when Enter key is pressed
https://bugs.webkit.org/show_bug.cgi?id=89559

Patch by Sergey Rogulenko <rogulenko@google.com> on 2012-06-20
Reviewed by Pavel Feldman.

  • inspector/front-end/TextViewer.js:

(WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
The returned result of method normalize() should be used.

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

[Cairo] Fix memory leak in GraphicsContext3DCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=89561

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-06-20
Reviewed by Martin Robinson.

Fix a memory leak in GraphicsContext3D::getImageData().

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::getImageData): asNewNativeImage() returns a
caller-owned pointer to the native image data. So, using OwnPtr to manage
memory automatically.

9:06 AM Changeset in webkit [120825] by tomz@codeaurora.org
  • 2 edits in trunk/Tools

Unreviewed: Back out accidentally checked in debug print which broke a test

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.parse_output):

9:01 AM WebKitGTK/WebKit2Roadmap edited by Martin Robinson
(diff)
8:41 AM Changeset in webkit [120824] by commit-queue@webkit.org
  • 60 edits in trunk/Source/WebCore

Use HitTestPoint instead of LayoutPoint for nodeAtPoint.
https://bugs.webkit.org/show_bug.cgi?id=89448

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-06-20
Reviewed by Eric Seidel.

This patch updates the API of nodeAtPoint without changing any
functionality. This is largest change necessary to support
transforms in area-based hit-testing, but is only boilerplate.

No change in functionality. No new tests.

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::nodeAtPoint):

  • rendering/EllipsisBox.h:

(EllipsisBox):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::addNodeToRectBasedTestResult):

  • rendering/HitTestResult.h:

(WebCore::HitTestPoint::intersects):
(HitTestPoint):
(HitTestResult):

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::nodeAtPoint):

  • rendering/InlineBox.h:

(InlineBox):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::nodeAtPoint):

  • rendering/InlineFlowBox.h:

(InlineFlowBox):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::nodeAtPoint):

  • rendering/InlineTextBox.h:

(InlineTextBox):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::hitTestColumns):
(WebCore::RenderBlock::hitTestContents):

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::nodeAtPoint):

  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::nodeAtPoint):

  • rendering/RenderEmbeddedObject.h:

(RenderEmbeddedObject):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::hitTestRegion):

  • rendering/RenderFlowThread.h:
  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::nodeAtPoint):

  • rendering/RenderFrameSet.h:

(RenderFrameSet):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::nodeAtPoint):

  • rendering/RenderImage.h:

(RenderImage):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::nodeAtPoint):

  • rendering/RenderInline.h:

(RenderInline):

  • rendering/RenderLayer.cpp:

(WebCore::ClipRect::intersects):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::createLocalTransformState):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestContents):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::hitTestPaginatedChildLayer):
(WebCore::RenderLayer::hitTestChildLayerColumns):

  • rendering/RenderLayer.h:

(ClipRect):
(RenderLayer):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::hitTest):

  • rendering/RenderLineBoxList.h:

(RenderLineBoxList):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::nodeAtPoint):

  • rendering/RenderListBox.h:

(RenderListBox):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::hitTest):
(WebCore::RenderObject::nodeAtPoint):

  • rendering/RenderObject.h:

(RenderObject):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::nodeAtPoint):

  • rendering/RenderRegion.h:

(RenderRegion):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::nodeAtPoint):

  • rendering/RenderTable.h:

(RenderTable):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::nodeAtPoint):

  • rendering/RenderTableRow.h:

(RenderTableRow):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::nodeAtPoint):

  • rendering/RenderTableSection.h:

(RenderTableSection):

  • rendering/RenderText.h:
  • rendering/RenderTextControlMultiLine.cpp:

(WebCore::RenderTextControlMultiLine::nodeAtPoint):

  • rendering/RenderTextControlMultiLine.h:

(RenderTextControlMultiLine):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::nodeAtPoint):

  • rendering/RenderTextControlSingleLine.h:

(RenderTextControlSingleLine):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::nodeAtPoint):

  • rendering/RenderWidget.h:

(RenderWidget):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::nodeAtPoint):

  • rendering/RootInlineBox.h:

(RootInlineBox):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
(WebCore::RenderSVGForeignObject::nodeAtPoint):

  • rendering/svg/RenderSVGForeignObject.h:

(RenderSVGForeignObject):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::nodeAtPoint):

  • rendering/svg/RenderSVGModelObject.h:

(RenderSVGModelObject):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::nodeAtPoint):

  • rendering/svg/RenderSVGRoot.h:

(RenderSVGRoot):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::nodeAtFloatPoint):
(WebCore::RenderSVGText::nodeAtPoint):

  • rendering/svg/RenderSVGText.h:

(RenderSVGText):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::nodeAtPoint):

  • rendering/svg/SVGInlineTextBox.h:

(SVGInlineTextBox):

8:09 AM Changeset in webkit [120823] by tomz@codeaurora.org
  • 3 edits
    2 adds in trunk

Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests
https://bugs.webkit.org/show_bug.cgi?id=78789

Reviewed by Ryosuke Niwa.

PerformanceTests:

Added PerfTestRunner fixture around it.

  • Animation/balls.html: Added.

Tools:

Updated parser to include fps as a valid unit.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest):
(PerfTest.parse_output):

8:07 AM Changeset in webkit [120822] by yurys@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: don't report context ids before DidCommitLoad
https://bugs.webkit.org/show_bug.cgi?id=89567

Reviewed by Pavel Feldman.

When inspector state is restored only report existing context ids
if "did commit load" even has already been dispatched.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::PageRuntimeAgent):
(WebCore::PageRuntimeAgent::restore):

  • inspector/PageRuntimeAgent.h:

(WebCore):
(WebCore::PageRuntimeAgent::create):
(PageRuntimeAgent):

8:03 AM Changeset in webkit [120821] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

webkit-patch should add reviewer if "Reviewed by NOBODY ..." is missing
https://bugs.webkit.org/show_bug.cgi?id=67935

Patch by Balazs Ankes <bank@inf.u-szeged.hu> on 2012-06-20
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/common/checkout/changelog.py:

(ChangeLog.set_reviewer):

  • Scripts/webkitpy/common/checkout/changelog_unittest.py:

(test_set_reviewer):
(test_set_short_description_and_bug_url):

6:52 AM Changeset in webkit [120820] by commit-queue@webkit.org
  • 76 edits in trunk/Source

[Chromium] Remove redundant #includes in compositor
https://bugs.webkit.org/show_bug.cgi?id=89503

Patch by Zeev Lieber <zlieber@chromium.org> on 2012-06-20
Reviewed by Adrienne Walker.

Source/WebCore:

Removed some redundant #includes to clarify dependency
picture. Some 90 #includes removed, some 50 less disruptive
#includes added. This brings the number of class dependencies to
902 from 1383.

No new tests are required, as this is only affects compile-time behavior.

  • platform/graphics/chromium/AnimationTranslationUtil.h:

(WebCore):

  • platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
  • platform/graphics/chromium/Canvas2DLayerBridge.cpp:
  • platform/graphics/chromium/Canvas2DLayerBridge.h:
  • platform/graphics/chromium/ContentLayerChromium.cpp:
  • platform/graphics/chromium/ContentLayerChromium.h:
  • platform/graphics/chromium/DrawingBufferChromium.cpp:
  • platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/GraphicsLayerChromium.h:
  • platform/graphics/chromium/ImageLayerChromium.cpp:
  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/LayerRendererChromium.cpp:
  • platform/graphics/chromium/LayerRendererChromium.h:

(WebCore):

  • platform/graphics/chromium/LayerTextureUpdater.h:
  • platform/graphics/chromium/ManagedTexture.cpp:
  • platform/graphics/chromium/ProgramBinding.h:
  • platform/graphics/chromium/RenderSurfaceChromium.cpp:
  • platform/graphics/chromium/RenderSurfaceChromium.h:
  • platform/graphics/chromium/TextureCopier.cpp:
  • platform/graphics/chromium/TextureLayerChromium.cpp:
  • platform/graphics/chromium/TextureManager.cpp:
  • platform/graphics/chromium/TiledLayerChromium.cpp:
  • platform/graphics/chromium/TiledLayerChromium.h:
  • platform/graphics/chromium/cc/CCActiveAnimation.h:

(WebCore):

  • platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
  • platform/graphics/chromium/cc/CCDrawQuad.cpp:
  • platform/graphics/chromium/cc/CCFontAtlas.cpp:
  • platform/graphics/chromium/cc/CCFrameRateController.cpp:
  • platform/graphics/chromium/cc/CCFrameRateController.h:

(WebCore):

  • platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  • platform/graphics/chromium/cc/CCHeadsUpDisplay.h:

(WebCore):

  • platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCLayerAnimationController.h:
  • platform/graphics/chromium/cc/CCLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCLayerImpl.h:

(WebCore):

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

(WebCore):

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  • platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
  • platform/graphics/chromium/cc/CCOcclusionTracker.h:

(WebCore):

  • platform/graphics/chromium/cc/CCProxy.cpp:
  • platform/graphics/chromium/cc/CCQuadCuller.cpp:
  • platform/graphics/chromium/cc/CCRenderPass.h:

(WebCore):

  • platform/graphics/chromium/cc/CCRenderSurface.cpp:
  • platform/graphics/chromium/cc/CCRenderSurface.h:
  • platform/graphics/chromium/cc/CCRenderer.h:
  • platform/graphics/chromium/cc/CCScopedThreadProxy.h:
  • platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCThreadProxy.h:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.h:

(WebCore):

  • platform/graphics/chromium/cc/CCTimer.cpp:
  • platform/graphics/chromium/cc/CCTimer.h:

(WebCore):

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

Source/WebKit/chromium:

Minor adjustments to #include statements to remove
dependencies. No new tests.

  • src/WebCompositorImpl.cpp:
  • src/WebLayerTreeView.cpp:
  • tests/CCLayerTestCommon.cpp:
  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:
  • tests/CCOcclusionTrackerTest.cpp:
  • tests/CCQuadCullerTest.cpp:
  • tests/CCTiledLayerImplTest.cpp:
  • tests/ImageLayerChromiumTest.cpp:
  • tests/LayerRendererChromiumTest.cpp:
  • tests/TiledLayerChromiumTest.cpp:
6:32 AM Changeset in webkit [120819] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Implement native memory bar diagram
https://bugs.webkit.org/show_bug.cgi?id=89106

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-06-20
Reviewed by Yury Semikhatsky.

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeMemoryBarChart):
(WebInspector.NativeMemoryBarChart.prototype._updateStats):
(WebInspector.NativeMemoryBarChart.prototype.willHide):
(WebInspector.NativeMemoryBarChart.prototype.wasShown):
(WebInspector.NativeMemoryBarChart.prototype._updateView):

  • inspector/front-end/ProfileLauncherView.js:

(WebInspector.ProfileLauncherView):

  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings):

  • inspector/front-end/nativeMemoryProfiler.css:

(.memory-bar-chart-name):
(.memory-bar-chart-bar):
(.memory-bar-chart-size):
(.memory-bar-chart-total):

6:26 AM Changeset in webkit [120818] by alexis.menard@openbossa.org
  • 4 edits in trunk/Source/WebKit2

REGRESSION (120705) : LayerTreeHostQt asserts in debug.
https://bugs.webkit.org/show_bug.cgi?id=89487

Reviewed by Noam Rosenthal.

We try to call createHandle twice on the same handle when the
first matching atlas is full. This patch solved the problem by
moving the createHandle call inside UpdateAtlas and call createHandle
only when the atlas is not full. We can also remove the surface()
getter as it is not used anymore.

  • WebProcess/WebPage/UpdateAtlas.cpp:

(WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):

  • WebProcess/WebPage/UpdateAtlas.h:

(UpdateAtlas):

  • WebProcess/WebPage/qt/LayerTreeHostQt.cpp:

(WebKit::LayerTreeHostQt::beginContentUpdate):

5:35 AM Changeset in webkit [120817] by hans@chromium.org
  • 13 edits in trunk

Speech JavaScript API: add SpeechRecognition.maxAlternatives attribute
https://bugs.webkit.org/show_bug.cgi?id=89459

Reviewed by Eric Seidel.

Source/WebCore:

Add the SpeechRecognition.maxAlternatives attribute.

Test: fast/speech/scripted/basics.html:

  • Modules/speech/SpeechRecognition.cpp:

(WebCore::SpeechRecognition::start):
(WebCore::SpeechRecognition::SpeechRecognition):

  • Modules/speech/SpeechRecognition.h:

(WebCore::SpeechRecognition::maxAlternatives):
(WebCore::SpeechRecognition::setMaxAlternatives):
(SpeechRecognition):

  • Modules/speech/SpeechRecognition.idl:
  • Modules/speech/SpeechRecognitionClient.h:

(SpeechRecognitionClient):

  • Modules/speech/SpeechRecognitionController.h:

(WebCore::SpeechRecognitionController::start):
(SpeechRecognitionController):

Source/WebKit/chromium:

Plumbing for the maxAlternatives attribute.

  • public/WebSpeechRecognitionParams.h:

(WebKit::WebSpeechRecognitionParams::WebSpeechRecognitionParams):
(WebKit::WebSpeechRecognitionParams::maxAlternatives):
(WebSpeechRecognitionParams):

  • src/SpeechRecognitionClientProxy.cpp:

(WebKit::SpeechRecognitionClientProxy::start):

  • src/SpeechRecognitionClientProxy.h:

(SpeechRecognitionClientProxy):

LayoutTests:

Update the basic test to check for presence of the maxAlternatives attribute.

  • fast/speech/scripted/basics-expected.txt:
  • fast/speech/scripted/basics.html:
4:48 AM Changeset in webkit [120816] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

applyAuthorStyles makes rules declared in all enclosing shadow dom subtrees applicable.
https://bugs.webkit.org/show_bug.cgi?id=89061

Patch by Takashi Sakamoto <tasak@google.com> on 2012-06-20
Reviewed by Dimitri Glazkov.

Source/WebCore:

Fixing apply-author-styles bug. If there exists some shadow subtree A
and A has apply-author-styles flag set, whether some rules declared in
a tree B is applicable in A or not depends on:

  • the tree B encloses the tree A, and
  • all trees which enclose A and are enclosed by B has apply-author-styles set.

c.f.
http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles
However the second rule was not implemented.

Test: fast/css/style-scoped/style-scoped-apply-author-styles.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::setupScopeStack):
Modified to add a new member variable, authorStyleBoundsIndex to
ScopeStackFrame used by m_scopeStack. The index means: if shadow dom
subtree A and B has the same value and A encloses B, all shadow dom
subtrees which enclose B and are enclosed by B have
apply-author-styles set. And B also has apply-author-styles set.
This means, if some element X has authorStyleBoundsIndex N, all
rulesets whose scopes have authorStyleBoundsIndex N are applicable in
B's tree scope. If all shadow dom subtrees have apply-author-styles
unset, the index looks almost the same as treeScope(). In this case,
Rules in different tree scopes have different author style bounds
index.
(WebCore::StyleResolver::pushScope):
(WebCore::StyleResolver::popScope):
Added the code for updating m_scopeStackParentBoundsIndex. The member
variable keeps m_scopeStackParent's author style bounds index.
(WebCore::StyleResolver::matchScopedAuthorRules):
Modified to consider author style's bounds index. Firstly applying
scoped styles declared in document if apply-author-styles is set.
Next, applying scoped styles declared in shadow dom subtree with
considering author style bounds index, i.e. considering
apply-author-styles flag.

  • css/StyleResolver.h:

(WebCore::StyleResolver::ScopeStackFrame::ScopeStackFrame):
(ScopeStackFrame):
Added m_authorStyleBoundsIndex to keep apply-author-styles flag
information. m_authorStyleBoundsIndex increments by 1 if shadow root is
given and it has apply-author-styles unset.
Now rules in the same authorStyleBoundsIndex should be applied.
(StyleResolver):
Added m_scopeStackParentBoundsIndex.
As m_scopeStackParentAuthorStyleBoundsIndex is a little long,
used m_scopeStackParentBoundsIndex.

LayoutTests:

  • fast/css/style-scoped/style-scoped-apply-author-styles-expected.txt: Added.
  • fast/css/style-scoped/style-scoped-apply-author-styles.html: Added.
4:07 AM Changeset in webkit [120815] by Simon Hausmann
  • 2 edits in trunk/Tools

Unreviewed trivial permissions fix.

  • qmake/mkspecs/features/features.prf: Don't mark this file as executable.
3:36 AM Changeset in webkit [120814] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk/Source/WebCore

Adds DeviceMotionClientMock
https://bugs.webkit.org/show_bug.cgi?id=89220

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

No new tests because DeviceMotionClientMock is designed to enable future testing and cannot be tested in itself.

Adds DeviceMotionClientMock in WebCore to enable testing of DeviceMotion once it is fully implemented in WebKit.
This addition was originally included in https://bugs.webkit.org/show_bug.cgi?id=89197 but was split into a separate patch for easier review.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • platform/mock/DeviceMotionClientMock.cpp: Added.

(WebCore):
(WebCore::DeviceMotionClientMock::DeviceMotionClientMock):
(WebCore::DeviceMotionClientMock::setController):
(WebCore::DeviceMotionClientMock::startUpdating):
(WebCore::DeviceMotionClientMock::stopUpdating):
(WebCore::DeviceMotionClientMock::setMotion):
(WebCore::DeviceMotionClientMock::timerFired):

  • platform/mock/DeviceMotionClientMock.h: Added.

(WebCore):
(DeviceMotionClientMock):

2:58 AM Changeset in webkit [120813] by Simon Hausmann
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Unreviewed build fix

The platform plugin example uses QGridLayout and thus needs QT += widgets

  • examples/platformplugin/platformplugin.pro:
1:47 AM Changeset in webkit [120812] by sergio@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening. Removed some tests from TestExpectations
as they were passing in the tree bots.

  • platform/gtk/TestExpectations:
12:54 AM Changeset in webkit [120811] by morrita@google.com
  • 6 edits
    1 add in trunk/LayoutTests

Unreviewed rebaselining.

  • platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/quadraticCurveTo-expected.png:
  • platform/chromium-mac-leopard/platform/chromium/virtual/gpu/fast/canvas/quadraticCurveTo-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/fast/canvas/quadraticCurveTo-expected.png:
  • platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/quadraticCurveTo-expected.png:
  • platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/quadraticCurveTo-expected.png:
  • platform/chromium/TestExpectations:
12:50 AM QtWebKitBuildBots edited by kkristof@inf.u-szeged.hu
(diff)
12:00 AM Changeset in webkit [120810] by hbono@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Select the marker range when right-clicking on a marker.
https://bugs.webkit.org/show_bug.cgi?id=89331

Reviewed by Hajime Morita.

Chromium always selects only one word when right-clicking on a spelling marker.
This prevents selecting whole region specified by a marker if the marker
consists of two or more words. This change retrieves a range coverted by a
marker and select the range. This emulates the behavior of Mac Chromium and it
does not need any workarounds for Mac.

  • src/ContextMenuClientImpl.cpp:

(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):

Jun 19, 2012:

11:51 PM Changeset in webkit [120809] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Clicking "Clear all profiles" while ongoing recording should reset the ProfileLauncherView
https://bugs.webkit.org/show_bug.cgi?id=89464

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-06-19
Reviewed by Yury Semikhatsky.

Resetting the ProfileLauncherView in order to reflect the correct states of buttons

No new tests as UI related minor fix.

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfilesPanel.prototype._reset):

11:46 PM Changeset in webkit [120808] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][Mac] Speculative skipping to try to paint the bot green.

  • platform/qt-mac/Skipped:
11:30 PM Changeset in webkit [120807] by ryuan.choi@samsung.com
  • 4 edits in trunk

[EFL][Regression] Build break after r120786
https://bugs.webkit.org/show_bug.cgi?id=89549

Unreviewed build fix for Efl port.

Source/WebKit2:

  • CMakeLists.txt: Added disassembler in includes.

Tools:

  • DumpRenderTree/efl/CMakeLists.txt: Added disassembler in includes.
11:29 PM Changeset in webkit [120806] by hayato@chromium.org
  • 3 edits in trunk/Source/WebCore

Assertion for event's target is wrong.
https://bugs.webkit.org/show_bug.cgi?id=89479

Reviewed by Hajime Morita.

Fix an assertion to ensure that event's target is reachable from a current target.

No new tests. Fix an assert condition.

  • dom/EventContext.cpp:

(WebCore::EventContext::EventContext):

  • dom/EventContext.h:

(EventContext):
(WebCore::EventContext::setRelatedTarget):
(WebCore::EventContext::isUnreachableNode):
(WebCore):
(WebCore::EventContext::isReachable):

11:23 PM Changeset in webkit [120805] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit

[CMake] Unreviewed speculative buildfix after r120786.

  • CMakeLists.txt:
11:03 PM Changeset in webkit [120804] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Refactoring: Geolocation::startRequest() should not create the GeoNotifiers
https://bugs.webkit.org/show_bug.cgi?id=89533

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-06-19
Reviewed by David Kilzer.

It was odd to create the GeoNotifiers in Geolocation::startRequest() and having
assertions from the call site.

This patch move GeoNotifiers initialization to the exposed methods and pass them to
startRequest() as needed.
This will also help when adding support for dynamic permission reset and suspend/resume.

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::getCurrentPosition):
(WebCore::Geolocation::watchPosition):
(WebCore::Geolocation::startRequest):

  • Modules/geolocation/Geolocation.h:

(Geolocation):

10:51 PM Changeset in webkit [120803] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

Refine syncLayersTimeoutCallback for Accelerated Compositing.
https://bugs.webkit.org/show_bug.cgi?id=89538

Patch by Chang Wan Hong <jourmoon@company100.net> on 2012-06-19
Reviewed by Martin Robinson.

syncLayersTimeout reschedules the timer so that it can render each frame
every 1/60 seconds on animation. However, because it takes to time to execute
renderLayersToWindow, the timer is delayed. To fix this, we must reschedule
the timer before calling renderLayersToWindow.

  • WebCoreSupport/AcceleratedCompositingContextGL.cpp:

(WebKit::AcceleratedCompositingContext::syncLayersTimeout):

10:40 PM Changeset in webkit [120802] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][Mac] Skip one more crashing test.

  • platform/qt-mac/Skipped:
10:36 PM Changeset in webkit [120801] by cdn@chromium.org
  • 3 edits
    2 adds in trunk

Source/WebCore: Fixes condition where inserting a CounterNode subtree which could result in incorrect placement.
https://bugs.webkit.org/show_bug.cgi?id=88142

Reviewed by Adam Barth.

Test: fast/css/counters/counter-reset-subtree-insert-crash.html

  • rendering/CounterNode.cpp:

(WebCore::CounterNode::insertAfter):

LayoutTests: Add test which inserts a CounterNode subtree which contains reset nodes into another tree.
https://bugs.webkit.org/show_bug.cgi?id=88142

Reviewed by Adam Barth.

  • fast/css/counters/counter-reset-subtree-insert-crash-expected.txt: Added.
  • fast/css/counters/counter-reset-subtree-insert-crash.html: Added.
10:34 PM Changeset in webkit [120800] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

Unreviewed expected update after r120735.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
10:18 PM Changeset in webkit [120799] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[Qt] Unreviewed buildfix after r120790. Typo fix.

  • platform/graphics/gstreamer/ImageGStreamerQt.cpp:

(ImageGStreamer::ImageGStreamer):

10:12 PM Changeset in webkit [120798] by kinuko@chromium.org
  • 31 edits in trunk/LayoutTests

Use testRunner instead of layoutTestController in fast/{files,filesystem}
https://bugs.webkit.org/show_bug.cgi?id=89462

Reviewed by Ryosuke Niwa.

  • fast/files/apply-blob-url-to-img.html:
  • fast/files/apply-blob-url-to-xhr.html:
  • fast/files/blob-builder-crash.html:
  • fast/files/blob-slice-overflow.html:
  • fast/files/blob-slice-test.html:
  • fast/files/create-blob-url-crash.html:
  • fast/files/domurl-script-execution-context-crash.html:
  • fast/files/file-reader-abort.html:
  • fast/files/file-reader-directory-crash.html:
  • fast/files/file-reader-event-listener.html:
  • fast/files/file-reader-file-url.html:
  • fast/files/file-reader-sandbox-iframe.html:
  • fast/files/null-origin-string.html:
  • fast/files/read-blob-async.html:
  • fast/files/read-file-async.html:
  • fast/files/resources/file-reader-real.html:
  • fast/files/resources/setup-for-read-common.js:
  • fast/files/revoke-blob-url.html:
  • fast/files/script-tests/xhr-response-blob.js:
  • fast/files/workers/inline-worker-via-blob-url.html:
  • fast/files/workers/worker-apply-blob-url-to-xhr.html:
  • fast/files/workers/worker-read-blob-async.html:
  • fast/files/workers/worker-read-blob-sync.html:
  • fast/files/workers/worker-read-file-async.html:
  • fast/files/workers/worker-read-file-sync.html:
  • fast/filesystem/cross-filesystem-op.html:
  • fast/filesystem/file-after-reload-crash.html:
  • fast/filesystem/file-metadata-after-write.html:
  • fast/filesystem/filesystem-no-callback-null-ptr-crash.html:
  • fast/filesystem/filesystem-uri-origin.html:
9:31 PM Changeset in webkit [120797] by commit-queue@webkit.org
  • 8 edits in trunk

[Shadow DOM] ShadowRoot.host should be gone
https://bugs.webkit.org/show_bug.cgi?id=88387

Source/WebCore:

According to the w3c spec change,
i.e. https://www.w3.org/Bugs/Public/show_bug.cgi?id=16764
Removed host attribute from ShadowRoot.idl.

Patch by Takashi Sakamoto <tasak@google.com> on 2012-06-19
Reviewed by Dimitri Glazkov.

No new tests, because this change modified only idl.

  • dom/ShadowRoot.idl:

Just removed host attribute.

LayoutTests:

Patch by Takashi Sakamoto <tasak@google.com> on 2012-06-19
Reviewed by Dimitri Glazkov.

  • fast/css/style-scoped/style-scoped-in-shadow-expected.txt:
  • fast/css/style-scoped/style-scoped-in-shadow.html:
  • fast/dom/shadow/resources/shadow-dom.js:

(isShadowRoot):

  • fast/dom/shadow/shadow-root-js-api-expected.txt:
  • fast/dom/shadow/shadow-root-js-api.html:

Just removed references to shadow root's host attribute.

9:26 PM Changeset in webkit [120796] by tkent@chromium.org
  • 3 edits in trunk/LayoutTests

Fix a form restore test broken by HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=89539

Reviewed by Kentaro Hara.

Before HTML5 parser, we parsed innerHTML input text and we attached
renderers to parsed nodes at the same time. The parsed nodes had
restored form values because we restore form values only for attached
elements.

After HTML5 parser, we don't attach renderers during innerHTML
parsing. state-restore-to-nonedited-controls.html used innerHTML to
built a form and the test haven't worked since introducing HTML5 parser.

This patch changes the test so that it uses document.write() instead of
innerHTML.

  • fast/forms/state-restore-to-non-edited-controls-expected.txt:

Note that the FAIL line is expected. It's due to Bug 88685.

  • fast/forms/state-restore-to-non-edited-controls.html:

Use document.write() instead of innerHTML.

9:06 PM Changeset in webkit [120795] by dpranke@chromium.org
  • 3 edits in trunk/Tools

NRWT spins up and down the WebSocket server when running a single HTTP test from the command line
https://bugs.webkit.org/show_bug.cgi?id=64489

Reviewed by Tony Chang.

This change changes NRWT so that we don't start the websocket
server if we aren't running websocket tests and don't start the
HTTP server if we aren't running http tests.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._websocket_tests):
(Manager.start_servers_with_lock):
(Manager.stop_servers_with_lock):

  • Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:

(ManagerTest.test_servers_started):

9:01 PM Changeset in webkit [120794] by dpranke@chromium.org
  • 3 edits in trunk/Tools

test-webkitpy: add a -p flag to pass through captured output to enable debugging
https://bugs.webkit.org/show_bug.cgi?id=89158

Reviewed by Eric Seidel.

Normally when outputcapture runs it intercepts stdout/stderr,
which makes running under the debugger difficult and mostly
pointless (since you can't see any output). This change adds a
flag to test-webkitpy (-p) that will cause outputcapture to pass
through the output as well as capture it.

  • Scripts/webkitpy/common/system/outputcapture.py:

(OutputCapture.stream_wrapper):
(OutputCapture._capture_output_with_name):

  • Scripts/webkitpy/common/system/outputcapture_unittest.py:

(OutputCaptureTest.setUp):

  • Scripts/webkitpy/test/main.py:

(Tester._parse_args):
(Tester._run_tests):
(Tester._log_exception):
(_CaptureAndPassThroughStream):
(_CaptureAndPassThroughStream.init):
(_CaptureAndPassThroughStream.write):
(_CaptureAndPassThroughStream._message_is_from_pdb):
(_CaptureAndPassThroughStream.flush):
(_CaptureAndPassThroughStream.getvalue):

8:43 PM Changeset in webkit [120793] by rniwa@webkit.org
  • 4 edits in trunk/LayoutTests

Test fix after r120521.

  • webarchive/resources/dump-webarchive.js:
  • webarchive/test-duplicate-resources-expected.webarchive:
  • webarchive/test-script-src-expected.webarchive:
8:28 PM Changeset in webkit [120792] by rniwa@webkit.org
  • 1233 edits in trunk/LayoutTests

Use testRunner instead of layoutTestController in fast/doctypes, dom, dynamic, encoding, events, eventsource, and exclusions tests
https://bugs.webkit.org/show_bug.cgi?id=89438

Reviewed by Tony Chang.

  • fast/doctypes/005-case-preserving.html:
  • fast/doctypes/doctype-after-comment.html:
  • fast/doctypes/doctype-at-end.html:
  • fast/doctypes/doctype-in-element.html:
  • fast/doctypes/doctype-parsing.html:
  • fast/doctypes/html-doctype.html:
  • fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml:
  • fast/doctypes/xml-doctype.xhtml:
  • fast/dom/:
  • fast/dynamic/5872671.html:
  • fast/dynamic/ancestor-to-absolute.html:
  • fast/dynamic/checkbox-selection-crash.html:
  • fast/dynamic/containing-block-change.html:
  • fast/dynamic/crash-generated-counter.html:
  • fast/dynamic/crash-generated-image.html:
  • fast/dynamic/crash-generated-quote.html:
  • fast/dynamic/crash-generated-text.html:
  • fast/dynamic/crash-paint-no-documentElement-renderer.html-disabled:
  • fast/dynamic/float-remove-above-line-2.html:
  • fast/dynamic/float-remove-above-line.html:
  • fast/dynamic/hover-before-position-after-style-change.html:
  • fast/dynamic/hover-before-position-after-style-change2.html:
  • fast/dynamic/hover-style-recalc-crash.html:
  • fast/dynamic/hovered-detach.html:
  • fast/dynamic/inline-to-block-crash.html:
  • fast/dynamic/insertAdjacentElement.html:
  • fast/dynamic/insertAdjacentHTML-allowed-parents.html:
  • fast/dynamic/insertAdjacentHTML.html:
  • fast/dynamic/insertAdjacentText.html:
  • fast/dynamic/jQuery-animation-crash.html:
  • fast/dynamic/layer-hit-test-crash.html:
  • fast/dynamic/layer-no-longer-paginated.html:
  • fast/dynamic/outerHTML-no-element.html:
  • fast/dynamic/paused-event-dispatch.html:
  • fast/dynamic/position-absolute-to-fixed-crash.html:
  • fast/dynamic/position-change-layout.html:
  • fast/dynamic/recursive-layout.html:
  • fast/dynamic/style-access-late-stylesheet-load.html:
  • fast/dynamic/subtree-common-root.html:
  • fast/dynamic/subtree-table-cell-height.html:
  • fast/dynamic/subtree-unrooted.html:
  • fast/encoding/:
  • fast/events/:
  • platform/chromium/fast/events/drag-downloadURL.html:
  • platform/chromium/fast/events/intercept-postmessage.html:
  • platform/chromium/fast/events/rtl-scrollbar.html:
  • platform/gtk/fast/events/event-sender-metakey.html:
  • platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html:
  • platform/mac/fast/dom/character-index-for-point.html:
  • platform/mac/fast/dom/objc-wrapper-identity.html:
  • platform/mac/fast/dom/wrapper-classes-objc.html:
  • platform/mac/fast/dom/wrapper-round-tripping.html:
  • platform/mac/fast/events/objc-event-api.html:
  • platform/mac/fast/events/objc-keyboard-event-creation.html:
  • platform/qt/fast/events/event-sender-keydown-frame.html:
  • platform/win/fast/events/alt-numpad.html:
  • platform/win/fast/events/alt-space-scroll.html:
  • platform/win/fast/events/double-dead-char.html:
  • platform/win/fast/events/keyLocation-numpad.html:
  • platform/win/fast/events/panScroll-correct-direction.html:
  • platform/win/fast/events/panScroll-event-fired.html:
  • platform/win/fast/events/panScroll-image-no-scroll.html:
  • platform/win/fast/events/panScroll-imageMap-href-no-scroll.html:
  • platform/win/fast/events/panScroll-imageMap-noHref-scroll.html:
  • platform/win/fast/events/panScroll-nested-divs.html:
  • platform/win/fast/events/panScroll-no-iframe-jump.html:
  • platform/win/fast/events/panScroll-preventDefault.html:
  • platform/win/fast/events/script-tests/context-click-events.js:
8:27 PM Changeset in webkit [120791] by adamk@chromium.org
  • 21 edits in trunk/Source/WebCore

Pass ScriptValue by const ref where possible
https://bugs.webkit.org/show_bug.cgi?id=89531

Reviewed by Kentaro Hara.

Previously ScriptValue was sometimes passed by value, sometimes by const ref.

For consistency and optimality, pass by const ref everywhere (except where
ScriptValue is returned from non-accessor methods).

No new tests, no change in behavior.

  • bindings/js/ScriptFunctionCall.h:

(ScriptCallback):

  • bindings/js/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::getHeapObjectId):

  • bindings/js/ScriptProfiler.h:

(ScriptProfiler):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::setException):

  • bindings/js/WorkerScriptController.h:

(WorkerScriptController):

  • bindings/v8/ScriptFunctionCall.cpp:

(WebCore::ScriptCallback::ScriptCallback):

  • bindings/v8/ScriptFunctionCall.h:

(ScriptCallback):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::getHeapObjectId):
(WebCore):

  • bindings/v8/ScriptProfiler.h:

(ScriptProfiler):

  • bindings/v8/ScriptValue.h:

(WebCore::ScriptValue::operator==):
(WebCore::ScriptValue::operator!=):

  • bindings/v8/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::setException):

  • bindings/v8/WorkerScriptController.h:

(WorkerScriptController):

  • css/MediaQueryListListener.h:

(WebCore::MediaQueryListListener::create):
(WebCore::MediaQueryListListener::MediaQueryListListener):

  • dom/CustomEvent.cpp:

(WebCore::CustomEvent::initCustomEvent):

  • dom/CustomEvent.h:

(CustomEvent):
(WebCore::CustomEvent::detail):

  • dom/MessageEvent.h:

(WebCore::MessageEvent::dataAsScriptValue):

  • dom/PopStateEvent.h:

(WebCore::PopStateEvent::state):

  • inspector/InjectedScript.cpp:

(WebCore::InjectedScript::wrapObject):

  • inspector/InjectedScript.h:

(InjectedScript):

7:25 PM Changeset in webkit [120790] by Philippe Normand
  • 12 edits in trunk

[GStreamer] 0.11 video-sink
https://bugs.webkit.org/show_bug.cgi?id=77087

Reviewed by Martin Robinson.

  • configure.ac: Fix required gstreamer 0.11 version

Source/WebCore:

Port the video sink to GStreamer 0.11 APIs. There is no change in
functionality compared to 0.10, for now.

  • platform/graphics/gstreamer/GStreamerVersioning.cpp:

(webkitGetVideoSizeAndFormatFromCaps):
(webkitGstCreateBuffer):

  • platform/graphics/gstreamer/GStreamerVersioning.h:

(WebCore):

  • platform/graphics/gstreamer/ImageGStreamer.h:

(WebCore::ImageGStreamer::createImage):
(WebCore::ImageGStreamer::setCropRect):
(WebCore::ImageGStreamer::rect):
(ImageGStreamer):

  • platform/graphics/gstreamer/ImageGStreamerCairo.cpp:

(ImageGStreamer::ImageGStreamer):

  • platform/graphics/gstreamer/ImageGStreamerQt.cpp:

(ImageGStreamer::ImageGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::naturalSize):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(_WebKitVideoSinkPrivate):
(webkitVideoSinkRender):
(webkitVideoSinkProposeAllocation):
(webkit_video_sink_class_init):

  • platform/graphics/gstreamer/VideoSinkGStreamer.h:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
7:15 PM Changeset in webkit [120789] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Add monitor profile support for Win
https://bugs.webkit.org/show_bug.cgi?id=88565

Patch by Tony Payne <tpayne@chromium.org> on 2012-06-19
Reviewed by Eric Seidel.

Source/Platform:

  • chromium/public/Platform.h:

(Platform):
(WebKit::Platform::screenColorProfile):

Source/WebCore:

Tests: fast/images/jpeg-with-color-profile.html
fast/images/png-with-color-profile.html. Also covered by numerous
layout tests.

  • WebCore.gyp/WebCore.gyp:
  • platform/PlatformScreen.h:

(WebCore):

  • platform/blackberry/PlatformScreenBlackBerry.cpp:

(WebCore::screenColorProfile):
(WebCore):

  • platform/chromium/PlatformScreenChromium.cpp:

(WebCore::screenColorProfile):
(WebCore):

  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenColorProfile):
(WebCore):

  • platform/gtk/PlatformScreenGtk.cpp:

(WebCore::screenColorProfile):
(WebCore):

  • platform/image-decoders/ImageDecoder.h:

(ImageFrame):
(ImageDecoder):
(WebCore::ImageDecoder::qcmsOutputDeviceProfile):

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(turboSwizzled):
(colorSpaceHasAlpha):

7:12 PM Changeset in webkit [120788] by abarth@webkit.org
  • 2 edits in trunk/Tools

garden-o-matic fails to rebaseline tests with MISSING results
https://bugs.webkit.org/show_bug.cgi?id=89521

Reviewed by Kenneth Russell.

If the bots report "MISSING", we should try to find PNG and TXT results on the server.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js:
6:46 PM Changeset in webkit [120787] by abarth@webkit.org
  • 2 edits in trunk/Tools

svn.delete_list fails to delete empty parent directories
https://bugs.webkit.org/show_bug.cgi?id=89520

Reviewed by Dirk Pranke.

These functions were calling scm.delete and scm.add, which already
delete the parent directory. We'd get an exception when we tried to
delete the parent directory again.

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVN._add_parent_directories):
(SVN._delete_parent_directories):

6:33 PM Changeset in webkit [120786] by fpizlo@apple.com
  • 26 edits
    1 add in trunk/Source/JavaScriptCore

JSC should be able to show disassembly for all generated JIT code
https://bugs.webkit.org/show_bug.cgi?id=89536

Reviewed by Gavin Barraclough.

Now instead of doing linkBuffer.finalizeCode(), you do
FINALIZE_CODE(linkBuffer, (... explanation ...)). FINALIZE_CODE() then
prints your explanation and the disassembled code, if
Options::showDisassembly is set to true.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • assembler/LinkBuffer.cpp: Added.

(JSC):
(JSC::LinkBuffer::finalizeCodeWithoutDisassembly):
(JSC::LinkBuffer::finalizeCodeWithDisassembly):
(JSC::LinkBuffer::linkCode):
(JSC::LinkBuffer::performFinalization):
(JSC::LinkBuffer::dumpLinkStatistics):
(JSC::LinkBuffer::dumpCode):

  • assembler/LinkBuffer.h:

(LinkBuffer):
(JSC):

  • assembler/MacroAssemblerCodeRef.h:

(JSC::MacroAssemblerCodeRef::tryToDisassemble):
(MacroAssemblerCodeRef):

  • dfg/DFGJITCompiler.cpp:

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

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGRepatch.cpp:

(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):
(JSC::DFG::emitPutReplaceStub):
(JSC::DFG::emitPutTransitionStub):

  • dfg/DFGThunks.cpp:

(JSC::DFG::osrExitGenerationThunkGenerator):

  • disassembler/Disassembler.h:

(JSC):
(JSC::tryToDisassemble):

  • disassembler/UDis86Disassembler.cpp:

(JSC::tryToDisassemble):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JITCode.h:

(JSC::JITCode::tryToDisassemble):

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::privateCompileCTINativeCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::finalize):

  • jit/ThunkGenerators.cpp:

(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):

  • llint/LLIntThunks.cpp:

(JSC::LLInt::generateThunkWithJumpTo):
(JSC::LLInt::functionForCallEntryThunkGenerator):
(JSC::LLInt::functionForConstructEntryThunkGenerator):
(JSC::LLInt::functionForCallArityCheckThunkGenerator):
(JSC::LLInt::functionForConstructArityCheckThunkGenerator):
(JSC::LLInt::evalEntryThunkGenerator):
(JSC::LLInt::programEntryThunkGenerator):

  • runtime/Options.cpp:

(Options):
(JSC::Options::initializeOptions):

  • runtime/Options.h:

(Options):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::compile):

6:31 PM Changeset in webkit [120785] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

webkitpy: Simplify fetch_bugs_matching_search()
https://bugs.webkit.org/show_bug.cgi?id=89497

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-19
Reviewed by Adam Barth.

Removed parameter with default value. It's not being used
and the handling of the parameter was wrong. Saves a check.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(BugzillaQueries.fetch_bugs_matching_search):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

(MockBugzillaQueries.fetch_bugs_matching_search):

6:29 PM Changeset in webkit [120784] by jhoneycutt@apple.com
  • 1 edit
    4 deletes in trunk/LayoutTests

Remove the failing expected results added in
http://trac.webkit.org/changeset/119190 now that these tests pass.

Rubber-stamped by Jessie Berlin.

  • platform/win/fast/frames/frame-set-scaling-hit-expected.txt: Removed.
  • platform/win/fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize-expected.txt: Removed.
  • platform/win/fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false-expected.txt: Removed.
  • platform/win/fast/frames/frames-with-frameborder-zero-can-be-resized-expected.txt: Removed.
6:04 PM Changeset in webkit [120783] by arv@chromium.org
  • 3 edits
    2 adds in trunk

[V8] Fix issue where a callback got a null calling context
https://bugs.webkit.org/show_bug.cgi?id=89532

Reviewed by Kentaro Hara.

Source/WebCore:

Test: fast/dom/Window/post-message-crash.html

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::handlePostMessageCallback): Check the calling context and throw a type error (like JSC) if it is null.

LayoutTests:

  • fast/dom/Window/post-message-crash-expected.txt: Added.
  • fast/dom/Window/post-message-crash.html: Added.
5:54 PM Changeset in webkit [120782] by Lucas Forschler
  • 4 edits in branches/safari-536-branch/Source

Versioning.

5:49 PM Changeset in webkit [120781] by Lucas Forschler
  • 1 copy in tags/Safari-536.20

New Tag.

5:40 PM Changeset in webkit [120780] by tony@chromium.org
  • 9 edits in trunk/Source/WebCore

Refactor RenderFlexibleBox terminology to use grow/shrink instead of positive/negative
https://bugs.webkit.org/show_bug.cgi?id=89493

Reviewed by Eric Seidel.

The spec stopped referring to positive and negative flex and now
talks about flex grow and flex shrink. Also, the preferred size is
now known as the flex basis. Make the code match the terms used in
the spec. http://dev.w3.org/csswg/css3-flexbox/

This will also make it easier to split flex into long hand notation
(flex-grow, flex-shrink and flex-basis).

No new tests, covered by existing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyFlex::applyInheritValue):
(WebCore::ApplyPropertyFlex::applyInitialValue):
(WebCore::ApplyPropertyFlex::applyValue):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::PropertyWrapperFlex::equals):
(WebCore::PropertyWrapperFlex::blend):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::flexBasisForChild):
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
(WebCore::RenderFlexibleBox::layoutFlexItems):
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
(WebCore::RenderFlexibleBox::computeNextFlexLine):
(WebCore::RenderFlexibleBox::freezeViolations):
(WebCore::RenderFlexibleBox::resolveFlexibleLengths):

  • rendering/RenderFlexibleBox.h:
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleFlexibleBoxData.cpp:

(WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
(WebCore::StyleFlexibleBoxData::operator==):

  • rendering/style/StyleFlexibleBoxData.h:

(StyleFlexibleBoxData):

5:25 PM Changeset in webkit [120779] by kbr@google.com
  • 2 edits
    1 delete in trunk/LayoutTests

[Chromium] Unreviewed test expectations update.

  • platform/chromium-win-xp/platform/chromium/virtual/gpu/fast/canvas/resize-while-save-active-expected.txt: Removed.
  • platform/chromium/TestExpectations:

Referenced bugs 89529 and 89534.

5:20 PM Changeset in webkit [120778] by mhahnenberg@apple.com
  • 4 edits
    1 delete in trunk/Source/JavaScriptCore

[Qt][Mac] REGRESSION(r120742): It broke the build
https://bugs.webkit.org/show_bug.cgi?id=89516

Reviewed by Geoffrey Garen.

Removing GCActivityCallbackCF.cpp because it doesn't mesh well with cross-platform
code on Darwin (e.g. Qt). We now use plain ol' vanilla ifdefs to handle platforms
without CF support. These if-defs will probably disappear in the future when we
use cross-platform timers in HeapTimer.

(JSC):
(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::doWork):
(JSC::DefaultGCActivityCallback::scheduleTimer):
(JSC::DefaultGCActivityCallback::cancelTimer):
(JSC::DefaultGCActivityCallback::didAllocate):
(JSC::DefaultGCActivityCallback::willCollect):
(JSC::DefaultGCActivityCallback::cancel):

  • runtime/GCActivityCallbackCF.cpp: Removed.
5:15 PM Changeset in webkit [120777] by dpranke@chromium.org
  • 2 edits in trunk/Tools

webkitpy: remove unneeded imports in layout_tests/port/chromium.py
https://bugs.webkit.org/show_bug.cgi?id=89522

Reviewed by Eric Seidel.

They were no longer being used. No tests necessary.

  • Scripts/webkitpy/layout_tests/port/chromium.py:
5:09 PM Changeset in webkit [120776] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk

Source/WebCore: Make DOMFileSystem selectively structure clonable so it can be the body of a web intent.
https://bugs.webkit.org/show_bug.cgi?id=88267

Patch by Steve VanDeBogart <vandebo@chromium.org> on 2012-06-19
Reviewed by David Levin.

This functionality will allow FileSystem API objects to be dispatched to
web content in order to enable, for instance, an intent notifying web
content that a particular filesystem has been mounted by the local
system. The goal at this point is not to enable across-the-board
clonability, but just for handling the particular use case.

  • bindings/v8/SerializedScriptValue.cpp:

(WebCore::V8ObjectMap::Writer::writeDOMFileSystem):
(WebCore::V8ObjectMap::Serializer::writeDOMFileSystem):
(WebCore::V8ObjectMap::Serializer::doSerialize):
(WebCore::V8ObjectMap::Reader::read):
(WebCore::V8ObjectMap::Reader::readDOMFileSystem):

LayoutTests: Add filesystem regression test to check that the filesystem object is
not serializable as created by javascript.
https://bugs.webkit.org/show_bug.cgi?id=88267

Patch by Greg Billock <gbillock@google.com> on 2012-06-19
Reviewed by David Levin.

  • fast/filesystem/filesystem-unserializable-expected.html: Added.
  • fast/filesystem/filesystem-unserializable.html: Added.
  • fast/filesystem/script-tests/filesystem-unserializable.js: Added.
5:07 PM Changeset in webkit [120775] by kbr@google.com
  • 76 edits in trunk/Source

Unreviewed, rolling out r120772.
http://trac.webkit.org/changeset/120772
https://bugs.webkit.org/show_bug.cgi?id=89503

Broke build on Chromium Mac

Source/WebCore:

  • platform/graphics/chromium/AnimationTranslationUtil.h:

(WebCore):

  • platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
  • platform/graphics/chromium/Canvas2DLayerBridge.cpp:
  • platform/graphics/chromium/Canvas2DLayerBridge.h:
  • platform/graphics/chromium/ContentLayerChromium.cpp:
  • platform/graphics/chromium/ContentLayerChromium.h:
  • platform/graphics/chromium/DrawingBufferChromium.cpp:
  • platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/GraphicsLayerChromium.h:

(WebCore):

  • platform/graphics/chromium/ImageLayerChromium.cpp:
  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/LayerRendererChromium.cpp:
  • platform/graphics/chromium/LayerRendererChromium.h:

(WebCore):

  • platform/graphics/chromium/LayerTextureUpdater.h:
  • platform/graphics/chromium/ManagedTexture.cpp:
  • platform/graphics/chromium/ProgramBinding.h:
  • platform/graphics/chromium/RenderSurfaceChromium.cpp:
  • platform/graphics/chromium/RenderSurfaceChromium.h:
  • platform/graphics/chromium/TextureCopier.cpp:
  • platform/graphics/chromium/TextureLayerChromium.cpp:
  • platform/graphics/chromium/TextureManager.cpp:
  • platform/graphics/chromium/TiledLayerChromium.cpp:
  • platform/graphics/chromium/TiledLayerChromium.h:

(WebCore):

  • platform/graphics/chromium/cc/CCActiveAnimation.h:
  • platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
  • platform/graphics/chromium/cc/CCDrawQuad.cpp:
  • platform/graphics/chromium/cc/CCFontAtlas.cpp:
  • platform/graphics/chromium/cc/CCFrameRateController.cpp:
  • platform/graphics/chromium/cc/CCFrameRateController.h:
  • platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  • platform/graphics/chromium/cc/CCHeadsUpDisplay.h:

(WebCore):

  • platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCLayerAnimationController.h:
  • platform/graphics/chromium/cc/CCLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCLayerImpl.h:

(WebCore):

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

(WebCore):

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  • platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
  • platform/graphics/chromium/cc/CCOcclusionTracker.h:
  • platform/graphics/chromium/cc/CCProxy.cpp:
  • platform/graphics/chromium/cc/CCQuadCuller.cpp:
  • platform/graphics/chromium/cc/CCRenderPass.h:
  • platform/graphics/chromium/cc/CCRenderSurface.cpp:
  • platform/graphics/chromium/cc/CCRenderSurface.h:
  • platform/graphics/chromium/cc/CCRenderer.h:

(WebCore):

  • platform/graphics/chromium/cc/CCScopedThreadProxy.h:
  • platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCThreadProxy.h:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  • platform/graphics/chromium/cc/CCTimer.cpp:
  • platform/graphics/chromium/cc/CCTimer.h:
  • platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:

Source/WebKit/chromium:

  • src/WebCompositorImpl.cpp:
  • src/WebLayerTreeView.cpp:
  • tests/CCLayerTestCommon.cpp:
  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:
  • tests/CCOcclusionTrackerTest.cpp:
  • tests/CCQuadCullerTest.cpp:
  • tests/CCTiledLayerImplTest.cpp:
  • tests/ImageLayerChromiumTest.cpp:
  • tests/LayerRendererChromiumTest.cpp:
  • tests/TiledLayerChromiumTest.cpp:
4:50 PM Changeset in webkit [120774] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Should check the return value of fromUTF8() before executing the script.
https://bugs.webkit.org/show_bug.cgi?id=89500

Patch by Yong Li <yoli@rim.com> on 2012-06-19
Reviewed by Rob Buis.
PR# 166623.

WebPagePrivate::executeJavaScript() should check the return value of fromUTF8()
before executing the script to avoid potential crash on invalid script source.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::executeJavaScript):

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

Skipping failing tests to keep the bots green. Filed
https://bugs.webkit.org/show_bug.cgi?id=89528 to track fixing the
real problem.

  • platform/mac/Skipped:
4:46 PM Changeset in webkit [120772] by commit-queue@webkit.org
  • 76 edits in trunk/Source

[Chromium] Remove redundant #includes in compositor
https://bugs.webkit.org/show_bug.cgi?id=89503

Patch by Zeev Lieber <zlieber@chromium.org> on 2012-06-19
Reviewed by Adrienne Walker.

Source/WebCore:

Removed some redundant #includes to clarify dependency
picture. Some 90 #includes removed, some 50 less disruptive
#includes added. This brings the number of class dependencies to
902 from 1383.

No new tests are required, as this is only affects compile-time behavior.

  • platform/graphics/chromium/AnimationTranslationUtil.h:

(WebCore):

  • platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
  • platform/graphics/chromium/Canvas2DLayerBridge.cpp:
  • platform/graphics/chromium/Canvas2DLayerBridge.h:
  • platform/graphics/chromium/ContentLayerChromium.cpp:
  • platform/graphics/chromium/ContentLayerChromium.h:
  • platform/graphics/chromium/DrawingBufferChromium.cpp:
  • platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/GraphicsLayerChromium.h:
  • platform/graphics/chromium/ImageLayerChromium.cpp:
  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/LayerRendererChromium.cpp:
  • platform/graphics/chromium/LayerRendererChromium.h:

(WebCore):

  • platform/graphics/chromium/LayerTextureUpdater.h:
  • platform/graphics/chromium/ManagedTexture.cpp:
  • platform/graphics/chromium/ProgramBinding.h:
  • platform/graphics/chromium/RenderSurfaceChromium.cpp:
  • platform/graphics/chromium/RenderSurfaceChromium.h:
  • platform/graphics/chromium/TextureCopier.cpp:
  • platform/graphics/chromium/TextureLayerChromium.cpp:
  • platform/graphics/chromium/TextureManager.cpp:
  • platform/graphics/chromium/TiledLayerChromium.cpp:
  • platform/graphics/chromium/TiledLayerChromium.h:
  • platform/graphics/chromium/cc/CCActiveAnimation.h:

(WebCore):

  • platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
  • platform/graphics/chromium/cc/CCDrawQuad.cpp:
  • platform/graphics/chromium/cc/CCFontAtlas.cpp:
  • platform/graphics/chromium/cc/CCFrameRateController.cpp:
  • platform/graphics/chromium/cc/CCFrameRateController.h:

(WebCore):

  • platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  • platform/graphics/chromium/cc/CCHeadsUpDisplay.h:

(WebCore):

  • platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCLayerAnimationController.h:
  • platform/graphics/chromium/cc/CCLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCLayerImpl.h:

(WebCore):

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

(WebCore):

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  • platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
  • platform/graphics/chromium/cc/CCOcclusionTracker.h:

(WebCore):

  • platform/graphics/chromium/cc/CCProxy.cpp:
  • platform/graphics/chromium/cc/CCQuadCuller.cpp:
  • platform/graphics/chromium/cc/CCRenderPass.h:

(WebCore):

  • platform/graphics/chromium/cc/CCRenderSurface.cpp:
  • platform/graphics/chromium/cc/CCRenderSurface.h:
  • platform/graphics/chromium/cc/CCRenderer.h:
  • platform/graphics/chromium/cc/CCScopedThreadProxy.h:
  • platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCThreadProxy.h:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.h:

(WebCore):

  • platform/graphics/chromium/cc/CCTimer.cpp:
  • platform/graphics/chromium/cc/CCTimer.h:

(WebCore):

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

Source/WebKit/chromium:

Minor adjustments to #include statements to remove
dependencies. No new tests.

  • src/WebCompositorImpl.cpp:
  • src/WebLayerTreeView.cpp:
  • tests/CCLayerTestCommon.cpp:
  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:
  • tests/CCOcclusionTrackerTest.cpp:
  • tests/CCQuadCullerTest.cpp:
  • tests/CCTiledLayerImplTest.cpp:
  • tests/ImageLayerChromiumTest.cpp:
  • tests/LayerRendererChromiumTest.cpp:
  • tests/TiledLayerChromiumTest.cpp:
4:43 PM Changeset in webkit [120771] by jamesr@google.com
  • 4 edits in branches/chromium/1180/Source/WebCore

Merge 120640 - [chromium] REGRESSION(r120346) ContentLayerPainter should clear rect to be painted
https://bugs.webkit.org/show_bug.cgi?id=89376

Reviewed by Adrienne Walker.

In r120346, a refactor moved a clearRect()/clip() call from ContentLayerPainter - which all
ContentLayerChromiums use - out to OpaqueRectTrackingContentLayerDelegate - which all GraphicsLayerChromium
backed layers use, but which callers using WebContentLayer directly do not use. This meant that the canvas
wasn't cleared/clipped as WebContentLayerClient.h claimed it would be. This moves the clear and the clip
into CanvasLayerTextureUpdater which all paths use, including layers that don't use the ContentLayerPainter.

  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerPainter::paint):

  • platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:

(WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):

TBR=jamesr@google.com
BUG=132982
Review URL: https://chromiumcodereview.appspot.com/10574034

4:39 PM Changeset in webkit [120770] by jchaffraix@webkit.org
  • 5 edits in trunk/Source/WebCore

Align RenderLayer's descendant dependent flags semantics
https://bugs.webkit.org/show_bug.cgi?id=89241

Reviewed by Simon Fraser.

Refactoring only, covered by existing tests.

This change aligns the naming and implementation of the different descendant
dependent flags. While aligning, I found some bugs (inefficiencies) with how
the visible descendant flags was computed.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setHasVisibleContent):
Changed this method to not take a boolean as every callers was passing 'true'.
Reworked the logic under this assumption.

(WebCore::RenderLayer::dirtyVisibleContentStatus):
Updated after the following renaming.

(WebCore::RenderLayer::dirtyAncestorChainVisibleDescendantStatus):
Renamed this function from dirtyVisibleDescendantStatus to match the hasSelfPaintingLayer
naming and implementation.

(WebCore::RenderLayer::setAncestorChainHasVisibleDescendant):
Added this function to factor the visible descendant setting out of defunct childVisibilityChanged.
Also improved the efficiency of the function by clearing the dirty flag as it goes up (an unnoticed bug).

(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
Updated to use the new functions lieu of childVisibilityChanged.

  • rendering/RenderLayer.h:

(RenderLayer::childVisibilityChanged):
Removed this function as it wasn't adding much and it's a lot more clear to call
dirtyAncestorChainVisibleDescendantStatus / setAncestorChainHasVisibleDescendant.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::styleWillChange):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::appendChildNode):
(WebCore::RenderObjectChildList::insertChildNode):
Updated those callers after removing the boolean parameter from setHasVisibleContent.

4:21 PM Changeset in webkit [120769] by pfeldman@chromium.org
  • 10 edits
    2 adds in trunk/Source/WebCore

Web Inspector: Extract InjectedScriptBase class from the InjectedScript
https://bugs.webkit.org/show_bug.cgi?id=89107

Extract methods from the InjectedScript that do not depend on
the concrete InjectedScriptSource.js implementation.

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-06-19
Reviewed by Pavel Feldman.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InjectedScript.cpp:

(WebCore::InjectedScript::InjectedScript):
(WebCore::InjectedScript::evaluate):
(WebCore::InjectedScript::callFunctionOn):
(WebCore::InjectedScript::evaluateOnCallFrame):
(WebCore::InjectedScript::getFunctionDetails):
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::nodeForObjectId):
(WebCore::InjectedScript::releaseObject):
(WebCore::InjectedScript::wrapCallFrames):
(WebCore::InjectedScript::wrapObject):
(WebCore::InjectedScript::wrapSerializedObject):
(WebCore::InjectedScript::findObjectById):
(WebCore::InjectedScript::inspectNode):
(WebCore::InjectedScript::releaseObjectGroup):
(WebCore::InjectedScript::nodeAsScriptValue):

  • inspector/InjectedScript.h:

(WebCore):
(InjectedScript):

  • inspector/InjectedScriptBase.cpp: Added.

(WebCore):
(WebCore::InjectedScriptBase::InjectedScriptBase):
(WebCore::InjectedScriptBase::canAccessInspectedWindow):
(WebCore::InjectedScriptBase::injectedScriptObject):
(WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
(WebCore::InjectedScriptBase::makeCall):
(WebCore::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptBase.h: Copied from Source/WebCore/bindings/js/ScriptObject.h.

(WebCore):
(InjectedScriptBase):
(WebCore::InjectedScriptBase::~InjectedScriptBase):
(WebCore::InjectedScriptBase::hasNoValue):
(WebCore::InjectedScriptBase::scriptState):

  • inspector/InspectorAllInOne.cpp:
4:19 PM Changeset in webkit [120768] by kbr@google.com
  • 2 edits
    1 move
    2 adds
    2 deletes in trunk/LayoutTests

[Chromium][Mac] Layout Test ietestcenter/css3/bordersbackgrounds/border-radius-clip-002.htm is failing
https://bugs.webkit.org/show_bug.cgi?id=89411

Unreviewed test expectations update generated by garden-o-matic.

  • ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.txt: Renamed from LayoutTests/platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.txt.
  • platform/chromium-mac-leopard/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.png: Added.
  • platform/chromium-mac/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.txt: Removed.
  • platform/chromium-win/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.png: Added.
  • platform/chromium/TestExpectations:

Removed IMAGE MISSING expectation for this test.

  • platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.txt: Removed.
4:10 PM Changeset in webkit [120767] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

DFG CFA forgets to notify subsequent phases of found constants if it proves LogicalNot to be a constant
https://bugs.webkit.org/show_bug.cgi?id=89511
<rdar://problem/11700089>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

LayoutTests:

  • fast/js/dfg-constant-fold-logical-not-branch-expected.txt: Added.
  • fast/js/dfg-constant-fold-logical-not-branch.html: Added.
  • fast/js/script-tests/dfg-constant-fold-logical-not-branch.js: Added.

(foo1):
(foo2):
(Stuff):
(Stuff.prototype.thingy):
(Stuff.prototype.otherThingy):

4:09 PM Changeset in webkit [120766] by jhoneycutt@apple.com
  • 1 edit
    10 deletes in trunk/LayoutTests

Remove the failing results added in
http://trac.webkit.org/changeset/119144 and
http://trac.webkit.org/changeset/119149 now that these tests pass
without them.

Rubber-stamped by Jessie Berlin.

  • platform/win/fast/events/popup-allowed-from-gesture-initiated-event-expected.txt: Removed.
  • platform/win/fast/events/popup-allowed-from-gesture-initiated-form-submit-expected.txt: Removed.
  • platform/win/fast/events/popup-blocked-from-fake-user-gesture-expected.txt: Removed.
  • platform/win/fast/events/popup-blocked-from-untrusted-mouse-click-expected.txt: Removed.
  • platform/win/fast/events/popup-blocking-timers-expected.txt: Removed.
  • platform/win/fast/events/remove-target-in-mouseup-deep-expected.txt: Removed.
  • platform/win/fast/events/remove-target-in-mouseup-expected.txt: Removed.
  • platform/win/fast/events/remove-target-in-mouseup-insertback-expected.txt: Removed.
  • platform/win/fast/events/remove-target-in-mouseup-twice-expected.txt: Removed.
  • platform/win/fast/events/remove-target-with-shadow-in-drag-expected.txt: Removed.
3:51 PM Changeset in webkit [120765] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r120621.
http://trac.webkit.org/changeset/120621
https://bugs.webkit.org/show_bug.cgi?id=89518

Memory graph should have been behind the experimental flag.
(Requested by pfeldman on #webkit).

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

  • inspector/front-end/NativeMemorySnapshotView.js:
  • inspector/front-end/ProfileLauncherView.js:

(WebInspector.ProfileLauncherView):

  • inspector/front-end/nativeMemoryProfiler.css:

(.memory-blocks-list .item):

3:49 PM Changeset in webkit [120764] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

The CSS_WRAP_SHAPE CSSWrapShape::Type is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=89403

Patch by Hans Muller <hmuller@adobe.com> on 2012-06-19
Reviewed by Eric Seidel.

Removed CSS_WRAP_SHAPE_PATH definition from CSSWrapShapes.h.
It's no longer required. This definition was never used or
tested, no new tests are required.

  • css/CSSWrapShapes.h:
3:48 PM Changeset in webkit [120763] by jpetsovits@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Missing notifyContentRendered() when resuming rendering
https://bugs.webkit.org/show_bug.cgi?id=89507
RIM PR 150049

Reviewed by Antonio Gomes.

All the current calls to notifyContentRendered() are
located in the RenderQueue, but this omits the case
when we force rendering from resumeBackingStore()
after rendering had been suspended for a while.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):

3:46 PM Changeset in webkit [120762] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 120559
BUG=130356
Review URL: https://chromiumcodereview.appspot.com/10536212

3:34 PM Changeset in webkit [120761] by kenrb@chromium.org
  • 3 edits
    4 adds in trunk

Absolute positioned objects should not be added to anonymous block lists
https://bugs.webkit.org/show_bug.cgi?id=87768

Reviewed by Abhishek Arya.

Source/WebCore:

containingBlock() was returning an anonymous block for absolute
positioned objects under a relative positioned inline in the case
that the inline is split and the object is underneath the block
continuation. Anonymous blocks should never have anything in their
positioned object lists because they can be destroyed at any time
for a different reasons such as anonymous block merging, which is
a problem for layout if they have m_posChildNeedsLayout set.

This patch adds a generic check for anonymous blocks in
containingBlock() to correct this problem.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containingBlock):

LayoutTests:

Test crashing condition in bug 87768.

  • fast/block/positioning/abspositioned-object-under-split-relpositioned-inline-crash-expected.txt: Added
  • fast/block/positioning/abspositioned-object-under-split-relpositioned-inline-crash.html: Added
  • fast/block/positioning/insert-positioned-in-anonymous-crash-expected.txt: Added
  • fast/block/positioning/insert-positioned-in-anonymous-crash.html: Added
3:30 PM Changeset in webkit [120760] by commit-queue@webkit.org
  • 5 edits in trunk

Source/WebCore: Web Inspector: extensionPanel.onSearch action strings should be
enumerated.
https://bugs.webkit.org/show_bug.cgi?id=89509

Patch by Jan Keromnes <janx@linux.com> on 2012-06-19
Reviewed by Pavel Feldman.

Fixed LayoutTests/inspector/extensions/extensions-api-expected.txt
accordingly.

  • inspector/front-end/ExtensionAPI.js:

(defineCommonExtensionSymbols):
(injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
(injectedExtensionAPI.Panels.prototype.get SearchAction):

  • inspector/front-end/ExtensionPanel.js:

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

LayoutTests: Web Inspector: extensionPanel.onSearch action strings should be enumerated
https://bugs.webkit.org/show_bug.cgi?id=89509

Patch by Jan Keromnes <janx@linux.com> on 2012-06-19
Reviewed by Pavel Feldman.

  • inspector/extensions/extensions-api-expected.txt:
3:18 PM Changeset in webkit [120759] by danakj@chromium.org
  • 5 edits in trunk/Source/WebCore

[chromium] Add an allocation step for CCRenderer before drawing a frame
https://bugs.webkit.org/show_bug.cgi?id=88924

Reviewed by Adrienne Walker.

This step will be used to decide which RenderPass textures can be kept
alive and do not need to be drawn again.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore):
(WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):
(WebCore::LayerRendererChromium::beginDrawingFrame):

  • platform/graphics/chromium/LayerRendererChromium.h:

(LayerRendererChromium):

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

(WebCore::CCLayerTreeHostImpl::drawLayers):

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

(CCRenderer):

3:01 PM Changeset in webkit [120758] by kbr@google.com
  • 2 edits
    1 add in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium-win-xp/platform/chromium/virtual/gpu/fast/canvas/resize-while-save-active-expected.txt:

Added expectations without trailing newlines; unclear why this only happens in this configuration.

  • platform/chromium/TestExpectations:

Added reference to https://bugs.webkit.org/show_bug.cgi?id=89510 .

2:44 PM Changeset in webkit [120757] by Alexandru Chiculita
  • 12 edits
    2 adds in trunk/Source/WebCore

[CSS Shaders] Create a shared object between FECustomFilter objects to store the shared resources
https://bugs.webkit.org/show_bug.cgi?id=87878

Reviewed by Dean Jackson.

An object called CustomFilterGlobalContext is created the first time a new FECustomFilter is needed in a document.
It is used to store the GraphicsContext3D needed to render the CSS Shaders. The context is shared by all the elements
in a document (no cross-domain).

More resources will be shared in following patches, including precompiled shaders and vertices/indices data.
https://bugs.webkit.org/show_bug.cgi?id=88427
https://bugs.webkit.org/show_bug.cgi?id=88429

The plan is to make CustomFilterGlobalContext and FECustomFilter (or a base class extracted out of it) usable from platform
code in the hardware accelerated compositing layer. The only dependency of the code is on the GraphicsContext3D.

No new tests. No functionality is changed yet, just added the new objects.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/filters/CustomFilterGlobalContext.cpp: Added.

(WebCore):
(WebCore::CustomFilterGlobalContext::CustomFilterGlobalContext):
(WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
(WebCore::CustomFilterGlobalContext::prepareContextIfNeeded):

  • platform/graphics/filters/CustomFilterGlobalContext.h: Added.

(WebCore):
(CustomFilterGlobalContext):
(WebCore::CustomFilterGlobalContext::context):

  • platform/graphics/filters/FECustomFilter.cpp:

(WebCore::FECustomFilter::FECustomFilter): Changed to use the global context instead of the host window.
(WebCore::FECustomFilter::create):
(WebCore::FECustomFilter::initializeContext):

  • platform/graphics/filters/FECustomFilter.h:

(WebCore):
(FECustomFilter):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build): Changed to initialize the global context if needed and pass it to the FECustomFilter.

  • rendering/RenderView.cpp:

(WebCore):
(WebCore::RenderView::customFilterGlobalContext):

  • rendering/RenderView.h:

(WebCore):
(RenderView):

2:43 PM Changeset in webkit [120756] by abarth@webkit.org
  • 2 edits in trunk/Tools

Missing results aren't shown in garden-o-matic

Reviewed by Kenneth Russell.

Previously we didn't know to look for text and image results when the
bot told us that results were missing.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js:
2:33 PM Changeset in webkit [120755] by commit-queue@webkit.org
  • 7 edits in trunk

[cairo] Fix LayoutTests/fast/canvas/patternfill-repeat.html
https://bugs.webkit.org/show_bug.cgi?id=53085

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-06-19
Reviewed by Martin Robinson.

Source/WebCore:

Clipping previously unlimited vertical and horizontal pattern repeats with
a clip rectangle similar to the Qt Graphics Context.

No new tests, this patch fixes
canvas/philip/tests/2d.pattern.paint.repeat* tests.

  • platform/graphics/Pattern.h:

(WebCore::Pattern::getPatternSpaceTransform): Adding constant getter method to be able to map to pattern space externally, needed by PlatformContextCairo::clipForPatternFilling.

  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::PlatformContextCairo::prepareForFilling):
(WebCore::PlatformContextCairo::clipForPatternFilling): Clip pattern repeats if needed.

  • platform/graphics/cairo/PlatformContextCairo.h:

LayoutTests:

canvas/philip/tests/2d.pattern.paint.repeat* tests now passing.

  • platform/efl/Skipped:
  • platform/gtk/TestExpectations:
2:20 PM Changeset in webkit [120754] by hayato@chromium.org
  • 6 edits in trunk

[Shadow DOM] An upper boundary breaks if a child node of an insertion point is clicked.
https://bugs.webkit.org/show_bug.cgi?id=89407

Reviewed by Dimitri Glazkov.

Source/WebCore:

Update an event re-targeting algorithm so that it can set event's
target correctly when a fallback element in an insertion point is
clicked. To distinguish between distributed nodes and fallback
elements in an ancestor chain of composite shadow tree, an event
dispatcher checks explicitly whether a node is actually
distributed or assigned to the given insertion point.

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

  • dom/EventDispatcher.cpp:

(WebCore::isAssignedTo):
(WebCore):
(WebCore::EventDispatcher::ensureEventAncestors):

  • html/shadow/InsertionPoint.h:

(WebCore::InsertionPoint::contains):

LayoutTests:

  • fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
  • fast/dom/shadow/shadow-dom-event-dispatching.html:
2:19 PM Changeset in webkit [120753] by jsbell@chromium.org
  • 5 edits
    1 copy in trunk/Source/WebKit/chromium

IndexedDB: Add new type (and chromium webkit API) for metadata snapshot
https://bugs.webkit.org/show_bug.cgi?id=88678

Reviewed by Darin Fisher.

  • WebKit.gyp:
  • public/WebIDBDatabase.h:

(WebKit::WebIDBDatabase::metadata):

  • public/WebIDBKeyPath.h:

(WebIDBKeyPath):
(WebKit::WebIDBKeyPath::WebIDBKeyPath):
(WebKit::WebIDBKeyPath::~WebIDBKeyPath):
(WebKit::WebIDBKeyPath::operator=): Used by Chromium backend.

  • public/WebIDBMetadata.h: Added new type.

(WebKit):
(WebIDBMetadata):
(WebKit::WebIDBMetadata::WebIDBMetadata):
(ObjectStore):
(WebKit::WebIDBMetadata::ObjectStore::ObjectStore):
(Index):
(WebKit::WebIDBMetadata::Index::Index):

  • src/WebIDBKeyPath.cpp: Conform to normal WebXXX patern.

(WebKit::WebIDBKeyPath::assign):
(WebKit):
(WebKit::WebIDBKeyPath::reset):

2:12 PM Changeset in webkit [120752] by commit-queue@webkit.org
  • 1 edit
    5 adds in trunk/LayoutTests

[Chromium] Add LayoutTests for find in page.
https://bugs.webkit.org/show_bug.cgi?id=89453

Patch by Martin Kosiba <mkosiba@google.com> on 2012-06-19
Reviewed by Adam Barth.

  • platform/chromium/editing/text-iterator/findString-restarts-at-last-position-expected.txt: Added.
  • platform/chromium/editing/text-iterator/findString-restarts-at-last-position.html: Added.
  • platform/chromium/editing/text-iterator/findString-start-search-after-selection-expected.txt: Added.
  • platform/chromium/editing/text-iterator/findString-start-search-after-selection.html: Added.
2:06 PM Changeset in webkit [120751] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

CodeBlock::needsCallReturnIndices() is no longer needed.
https://bugs.webkit.org/show_bug.cgi?id=89490

Patch by Mark Lam <mark.lam@apple.com> on 2012-06-19
Reviewed by Geoffrey Garen.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::needsCallReturnIndices): removed.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

2:00 PM Changeset in webkit [120750] by enne@google.com
  • 3 edits
    3 adds in trunk

Fix scrollbar layers being misplaced with a clipped owner layer
https://bugs.webkit.org/show_bug.cgi?id=89486

Reviewed by Simon Fraser.

Source/WebCore:

Scrollbar layers are positioned relative to their parent layer. If
that parent gets clipped, then that positioning becomes incorrect and
scrollbars get positioned relative to the clipped bounds instead of
the full bounds. Fix by not clipping in this case.

Test: compositing/overflow/scrollbars-with-clipped-owner.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::shouldClipCompositedBounds):

LayoutTests:

  • compositing/overflow/scrollbars-with-clipped-owner-expected.png: Added.
  • compositing/overflow/scrollbars-with-clipped-owner-expected.txt: Added.
  • compositing/overflow/scrollbars-with-clipped-owner.html: Added.
1:13 PM Changeset in webkit [120749] by shinyak@chromium.org
  • 5 edits
    2 adds in trunk

[Shadow][Editing] applying document.execCommand('bold') twice to elements having shadow insertion points causes a crash.
https://bugs.webkit.org/show_bug.cgi?id=88502

Reviewed by Ryosuke Niwa.

Source/WebCore:

When inserting or removing insertion points (<shadow> or <content>) into or from Shdaow DOM,
ElementShadow::invalidateDistribution() will be called immediately. It will remove all the renderers
of elements in the Shadow DOM. Since Node::rendererIsEditable() returns false when an renderer does not
exist, all the elements in the Shadow DOM will be considered as non-content-editable until recalculating
layout, though some of them may actually be content-editable.

Actually the current code does not recalculate layout inside editing command, so a disaster happens.
For example, performing an editing command quits before completing all the commands, because the command
thinks it is adding some elements to a non-content-editable element (but actually it's content-editable).

So we have to recalculate layout if necessary when checking an element is content-editable or not.
This can be achieved by using Node::isContentEditable() instead of Node::rendererIsEditable().

Test: editing/shadow/bold-twice-in-shadow.html

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::removeInlineStyleFromElement):

  • editing/InsertNodeBeforeCommand.cpp:

(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):

  • editing/RemoveNodeCommand.cpp:

(WebCore::RemoveNodeCommand::doApply):

LayoutTests:

  • editing/shadow/bold-twice-in-shadow-expected.txt: Added.
  • editing/shadow/bold-twice-in-shadow.html: Added.
1:11 PM Changeset in webkit [120748] by kbr@google.com
  • 5 edits
    2 deletes in trunk/Source/WebCore

Unreviewed, rolling out r120744.
http://trac.webkit.org/changeset/120744
https://bugs.webkit.org/show_bug.cgi?id=89220

Broke build on Chromium Windows canary bots

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • platform/mock/DeviceMotionClientMock.cpp: Removed.
  • platform/mock/DeviceMotionClientMock.h: Removed.
1:05 PM Changeset in webkit [120747] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, try to fix Windows build.

12:48 PM Changeset in webkit [120746] by jhoneycutt@apple.com
  • 3 edits
    74 deletes in trunk/LayoutTests

Remove some failing layout tests results added in
http://trac.webkit.org/changeset/119285 and
http://trac.webkit.org/changeset/119295. Most of these tests pass
without the failing results. Only one of them passes with the failing
result; compositing/layer-creation/spanOverlapsCanvas.html. I left that
failing result in place.

Rubber-stamped by Alexey Proskuryakov.

  • platform/win/compositing/geometry/flipped-writing-mode-expected.txt: Removed.
  • platform/win/compositing/geometry/foreground-layer-expected.txt: Removed.
  • platform/win/compositing/geometry/foreground-offset-change-expected.txt: Removed.
  • platform/win/compositing/geometry/horizontal-scroll-composited-expected.txt: Removed.
  • platform/win/compositing/geometry/layer-due-to-layer-children-deep-expected.txt: Removed.
  • platform/win/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt: Removed.
  • platform/win/compositing/geometry/layer-due-to-layer-children-expected.txt: Removed.
  • platform/win/compositing/geometry/layer-due-to-layer-children-switch-expected.txt: Removed.
  • platform/win/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: Removed.
  • platform/win/compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt: Removed.
  • platform/win/compositing/geometry/limit-layer-bounds-overflow-repaint-expected.txt: Removed.
  • platform/win/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Removed.
  • platform/win/compositing/geometry/limit-layer-bounds-positioned-expected.txt: Removed.
  • platform/win/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: Removed.
  • platform/win/compositing/geometry/limit-layer-bounds-transformed-expected.txt: Removed.
  • platform/win/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt: Removed.
  • platform/win/compositing/geometry/outline-change-expected.txt: Removed.
  • platform/win/compositing/geometry/partial-layout-update-expected.txt: Removed.
  • platform/win/compositing/geometry/preserve-3d-switching-expected.txt: Removed.
  • platform/win/compositing/geometry/root-layer-update-expected.txt: Removed.
  • platform/win/compositing/geometry/tall-page-composited-expected.txt: Removed.
  • platform/win/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.txt: Removed.
  • platform/win/compositing/geometry/vertical-scroll-composited-expected.txt: Removed.
  • platform/win/compositing/geometry/video-opacity-overlay-expected.txt: Removed.
  • platform/win/compositing/iframes/become-composited-nested-iframes-expected.txt: Removed.
  • platform/win/compositing/iframes/become-overlapped-iframe-expected.txt: Removed.
  • platform/win/compositing/iframes/composited-iframe-alignment-expected.txt: Removed.
  • platform/win/compositing/iframes/composited-iframe-scroll-expected.txt: Removed.
  • platform/win/compositing/iframes/composited-parent-iframe-expected.txt: Removed.
  • platform/win/compositing/iframes/connect-compositing-iframe-delayed-expected.txt: Removed.
  • platform/win/compositing/iframes/connect-compositing-iframe-expected.txt: Removed.
  • platform/win/compositing/iframes/connect-compositing-iframe2-expected.txt: Removed.
  • platform/win/compositing/iframes/connect-compositing-iframe3-expected.txt: Removed.
  • platform/win/compositing/iframes/enter-compositing-iframe-expected.txt: Removed.
  • platform/win/compositing/iframes/iframe-content-flipping-expected.txt: Removed.
  • platform/win/compositing/iframes/iframe-copy-on-scroll-expected.txt: Removed.
  • platform/win/compositing/iframes/iframe-in-composited-layer-expected.txt: Removed.
  • platform/win/compositing/iframes/iframe-resize-expected.txt: Removed.
  • platform/win/compositing/iframes/iframe-size-from-zero-expected.txt: Removed.
  • platform/win/compositing/iframes/invisible-iframe-expected.txt: Removed.
  • platform/win/compositing/iframes/invisible-nested-iframe-expected.txt: Removed.
  • platform/win/compositing/iframes/invisible-nested-iframe-hide-expected.txt: Removed.
  • platform/win/compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/win/compositing/iframes/layout-on-compositing-change-expected.txt: Removed.
  • platform/win/compositing/iframes/nested-iframe-scrolling-expected.txt: Removed.
  • platform/win/compositing/iframes/overlapped-iframe-expected.txt: Removed.
  • platform/win/compositing/iframes/overlapped-iframe-iframe-expected.txt:
  • platform/win/compositing/iframes/page-cache-layer-tree-expected.txt: Removed.
  • platform/win/compositing/iframes/resizer-expected.txt: Removed.
  • platform/win/compositing/iframes/scrolling-iframe-expected.txt: Removed.
  • platform/win/compositing/images: Removed.
  • platform/win/compositing/images/clip-on-directly-composited-image-expected.txt: Removed.
  • platform/win/compositing/images/direct-image-background-color-expected.txt: Removed.
  • platform/win/compositing/images/direct-pdf-image-expected.txt: Removed.
  • platform/win/compositing/images/direct-svg-image-expected.txt: Removed.
  • platform/win/compositing/layer-creation/fixed-position-out-of-view-expected.txt: Removed.
  • platform/win/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Removed.
  • platform/win/compositing/layer-creation/overlap-animation-expected.txt: Removed.
  • platform/win/compositing/layer-creation/overlap-child-layer-expected.txt: Removed.
  • platform/win/compositing/layer-creation/overlap-clipping-expected.txt: Removed.
  • platform/win/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt: Removed.
  • platform/win/compositing/layer-creation/overlap-transformed-layer-expected.txt: Removed.
  • platform/win/compositing/layer-creation/overlap-transforms-expected.txt: Removed.
  • platform/win/compositing/layer-creation/rotate3d-overlap-expected.txt: Removed.
  • platform/win/compositing/layer-creation/scroll-partial-update-expected.txt: Removed.
  • platform/win/compositing/layer-creation/stacking-context-overlap-expected.txt: Removed.
  • platform/win/compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Removed.
  • platform/win/compositing/layer-creation/translatez-overlap-expected.txt: Removed.
  • platform/win/compositing/masks: Removed.
  • platform/win/compositing/masks/direct-image-mask-expected.txt: Removed.
  • platform/win/compositing/masks/masked-ancestor-expected.txt: Removed.
  • platform/win/compositing/masks/multiple-masks-expected.txt: Removed.
  • platform/win/compositing/masks/simple-composited-mask-expected.txt: Removed.
  • platform/win/compositing/overflow/ancestor-overflow-expected.txt: Removed.
  • platform/win/compositing/overflow/clip-descendents-expected.txt: Removed.
  • platform/win/compositing/overflow/content-gains-scrollbars-expected.txt: Removed.
  • platform/win/compositing/overflow/content-loses-scrollbars-expected.txt: Removed.
  • platform/win/compositing/overflow/overflow-compositing-descendant-expected.txt: Removed.
  • platform/win/compositing/overflow/overflow-positioning-expected.txt: Removed.
  • platform/win/compositing/overflow/overflow-scrollbar-layers-expected.txt: Removed.
  • platform/win/compositing/overflow/resize-painting-expected.txt: Removed.
  • platform/win/compositing/rtl: Removed.
  • platform/win/compositing/rtl/rtl-absolute-expected.txt: Removed.
  • platform/win/compositing/rtl/rtl-absolute-overflow-expected.txt: Removed.
  • platform/win/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Removed.
  • platform/win/compositing/rtl/rtl-iframe-absolute-expected.txt: Removed.
  • platform/win/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt: Removed.
  • platform/win/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt: Removed.
  • platform/win/compositing/rtl/rtl-iframe-fixed-expected.txt: Removed.
  • platform/win/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt: Removed.
  • platform/win/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt: Removed.
  • platform/win/compositing/rtl/rtl-iframe-relative-expected.txt: Removed.
  • platform/win/compositing/rtl/rtl-relative-expected.txt: Removed.
  • platform/win/compositing/tiling/crash-reparent-tiled-layer-expected.txt: Removed.
  • platform/win/compositing/visibility: Removed.
  • platform/win/compositing/visibility/layer-visible-content-expected.txt: Removed.
  • platform/win/compositing/visibility/visibility-image-layers-dynamic-expected.txt: Removed.
12:42 PM Changeset in webkit [120745] by fpizlo@apple.com
  • 16 edits
    22 adds in trunk/Source

It should be possible to look at disassembly
https://bugs.webkit.org/show_bug.cgi?id=89319

Source/JavaScriptCore:

Reviewed by Sam Weinig.

This imports the udis86 disassembler library. The library is placed
behind an abstraction in disassembler/Disassembler.h, so that we can
in the future use other disassemblers (for other platforms) whenever
appropriate. As a first step, the disassembler is being invoked for
DFG verbose dumps.

If we ever want to merge a new version of udis86 in the future, I've
made notes about changes I made to the library in
disassembler/udis86/differences.txt.

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

  • disassembler: Added.
  • disassembler/Disassembler.h: Added.

(JSC):
(JSC::tryToDisassemble):

  • disassembler/UDis86Disassembler.cpp: Added.

(JSC):
(JSC::tryToDisassemble):

  • disassembler/udis86: Added.
  • disassembler/udis86/differences.txt: Added.
  • disassembler/udis86/itab.py: Added.

(UdItabGenerator):
(UdItabGenerator.init):
(UdItabGenerator.toGroupId):
(UdItabGenerator.genLookupTable):
(UdItabGenerator.genLookupTableList):
(UdItabGenerator.genInsnTable):
(genItabH):
(genItabH.UD_ITAB_H):
(genItabC):
(genItab):
(main):

  • disassembler/udis86/optable.xml: Added.
  • disassembler/udis86/ud_opcode.py: Added.

(UdOpcodeTables):
(UdOpcodeTables.sizeOfTable):
(UdOpcodeTables.nameOfTable):
(UdOpcodeTables.updateTable):
(UdOpcodeTables.Insn):
(UdOpcodeTables.Insn.init):
(UdOpcodeTables.Insn.init.opcode):
(UdOpcodeTables.parse):
(UdOpcodeTables.addInsnDef):
(UdOpcodeTables.print_table):
(UdOpcodeTables.print_tree):

  • disassembler/udis86/ud_optable.py: Added.

(UdOptableXmlParser):
(UdOptableXmlParser.parseDef):
(UdOptableXmlParser.parse):
(printFn):
(parse):
(main):

  • disassembler/udis86/udis86.c: Added.

(ud_init):
(ud_disassemble):
(ud_set_mode):
(ud_set_vendor):
(ud_set_pc):
(ud):
(ud_insn_asm):
(ud_insn_off):
(ud_insn_hex):
(ud_insn_ptr):
(ud_insn_len):

  • disassembler/udis86/udis86.h: Added.
  • disassembler/udis86/udis86_decode.c: Added.

(eff_adr_mode):
(ud_lookup_mnemonic):
(decode_prefixes):
(modrm):
(resolve_operand_size):
(resolve_mnemonic):
(decode_a):
(decode_gpr):
(resolve_gpr64):
(resolve_gpr32):
(resolve_reg):
(decode_imm):
(decode_modrm_reg):
(decode_modrm_rm):
(decode_o):
(decode_operand):
(decode_operands):
(clear_insn):
(resolve_mode):
(gen_hex):
(decode_insn):
(decode_3dnow):
(decode_ssepfx):
(decode_ext):
(decode_opcode):
(ud_decode):

  • disassembler/udis86/udis86_decode.h: Added.

(ud_itab_entry_operand):
(ud_itab_entry):
(ud_lookup_table_list_entry):
(sse_pfx_idx):
(mode_idx):
(modrm_mod_idx):
(vendor_idx):
(is_group_ptr):
(group_idx):

  • disassembler/udis86/udis86_extern.h: Added.
  • disassembler/udis86/udis86_input.c: Added.

(inp_buff_hook):
(inp_file_hook):
(ud):
(ud_set_user_opaque_data):
(ud_get_user_opaque_data):
(ud_set_input_buffer):
(ud_set_input_file):
(ud_input_skip):
(ud_input_end):
(ud_inp_next):
(ud_inp_back):
(ud_inp_peek):
(ud_inp_move):
(ud_inp_uint8):
(ud_inp_uint16):
(ud_inp_uint32):
(ud_inp_uint64):

  • disassembler/udis86/udis86_input.h: Added.
  • disassembler/udis86/udis86_itab_holder.c: Added.
  • disassembler/udis86/udis86_syn-att.c: Added.

(opr_cast):
(gen_operand):
(ud_translate_att):

  • disassembler/udis86/udis86_syn-intel.c: Added.

(opr_cast):
(gen_operand):
(ud_translate_intel):

  • disassembler/udis86/udis86_syn.c: Added.
  • disassembler/udis86/udis86_syn.h: Added.

(mkasm):

  • disassembler/udis86/udis86_types.h: Added.

(ud_operand):
(ud):

  • jit/JITCode.h:

(JITCode):
(JSC::JITCode::tryToDisassemble):

Source/WebCore:

Reviewed by Sam Weinig.

Just fixing EFL's build system now that JSC has a new directory.

  • CMakeLists.txt:

Source/WTF:

Reviewed by Sam Weinig.

Made changes to Assertions.h to make it friendly to C code again.

Added ENABLE(DISASSEMBLER) and USE(UDIS86) logic to Platform.h.

  • wtf/Assertions.h:
  • wtf/Platform.h:
12:27 PM Changeset in webkit [120744] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk/Source/WebCore

Adds DeviceMotionClientMock
https://bugs.webkit.org/show_bug.cgi?id=89220

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

Adds DeviceMotionClientMock in WebCore to enable testing of DeviceMotion once it is fully implemented in WebKit.
This addition was originally included in https://bugs.webkit.org/show_bug.cgi?id=89197 but was split into a separate patch for easier review.

No new tests because DeviceMotionClientMock is designed to enable future testing and cannot be tested in itself.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • platform/mock/DeviceMotionClientMock.cpp: Added.

(WebCore):
(WebCore::DeviceMotionClientMock::DeviceMotionClientMock):
(WebCore::DeviceMotionClientMock::setController):
(WebCore::DeviceMotionClientMock::startUpdating):
(WebCore::DeviceMotionClientMock::stopUpdating):
(WebCore::DeviceMotionClientMock::setMotion):
(WebCore::DeviceMotionClientMock::timerFired):

  • platform/mock/DeviceMotionClientMock.h: Added.

(WebCore):
(DeviceMotionClientMock):

12:22 PM Changeset in webkit [120743] by dpranke@chromium.org
  • 2 edits in trunk/Tools

Fix regression introduced in r120646 where the svn revision isn't saved in results.json

Unreviewed, build fix.

It turns out that we store the svn revision two different ways
in the JSON, and I only caught one of them :(. This should fix
the other.

Also, this part of the code is poorly tested. I will investigate
adding at least a basic test for this in a separate fix.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(summarize_results):

12:17 PM Changeset in webkit [120742] by mhahnenberg@apple.com
  • 14 edits
    2 adds in trunk/Source/JavaScriptCore

GCActivityCallback and IncrementalSweeper should share code
https://bugs.webkit.org/show_bug.cgi?id=89400

Reviewed by Geoffrey Garen.

A lot of functionality is duplicated between GCActivityCallback and IncrementalSweeper.
We should extract the common functionality out into a separate class that both of them
can inherit from. This refactoring will be an even greater boon when we add the ability
to shut these two agents down in a thread-safe fashion

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • heap/Heap.cpp:

(JSC::Heap::Heap): Move initialization down so that the JSGlobalData has a valid Heap when
we're initializing the GCActivityCallback and the IncrementalSweeper.

  • heap/Heap.h:

(Heap):

  • heap/HeapTimer.cpp: Added.

(JSC):
(JSC::HeapTimer::HeapTimer): Initialize the various base class data that
DefaultGCActivityCallback::commonConstructor() used to do.
(JSC::HeapTimer::~HeapTimer): Call to invalidate().
(JSC::HeapTimer::synchronize): Same functionality as the old DefaultGCActivityCallback::synchronize().
Virtual so that non-CF subclasses can override.
(JSC::HeapTimer::invalidate): Tears down the runloop timer to prevent any future firing.
(JSC::HeapTimer::timerDidFire): Callback to pass to the timer function. Casts and calls the virtual doWork().

  • heap/HeapTimer.h: Added. This is the class that serves as the common base class for

both GCActivityCallback and IncrementalSweeper. It handles setting up and tearing down run loops and synchronizing
across threads for its subclasses.
(JSC):
(HeapTimer):

  • heap/IncrementalSweeper.cpp: Changes to accomodate the extraction of common functionality

between IncrementalSweeper and GCActivityCallback into a common ancestor.
(JSC):
(JSC::IncrementalSweeper::doWork):
(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::cancelTimer):
(JSC::IncrementalSweeper::create):

  • heap/IncrementalSweeper.h:

(IncrementalSweeper):

  • runtime/GCActivityCallback.cpp:

(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::doWork):

  • runtime/GCActivityCallback.h:

(GCActivityCallback):
(JSC::GCActivityCallback::willCollect):
(JSC::GCActivityCallback::GCActivityCallback):
(JSC):
(DefaultGCActivityCallback): Remove the platform data struct. The platform data should be kept in
the class itself so as to be accessible by doWork(). Most of the platform data for CF is kept in
HeapTimer anyways, so we only need the m_delay field now.

  • runtime/GCActivityCallbackBlackBerry.cpp:

(JSC):
(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::doWork):
(JSC::DefaultGCActivityCallback::didAllocate):

  • runtime/GCActivityCallbackCF.cpp:

(JSC):
(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::doWork):
(JSC::DefaultGCActivityCallback::scheduleTimer):
(JSC::DefaultGCActivityCallback::cancelTimer):
(JSC::DefaultGCActivityCallback::didAllocate):
(JSC::DefaultGCActivityCallback::willCollect):
(JSC::DefaultGCActivityCallback::cancel):

12:09 PM Changeset in webkit [120741] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix link error with fillWithEmptyClients
https://bugs.webkit.org/show_bug.cgi?id=89484

Patch by Alexandre Elias <aelias@google.com> on 2012-06-19
Reviewed by Ryosuke Niwa.

fillWithEmptyClients() was within #if ENABLE() guard in the .cpp file
but not in the header. There is now a caller unrelated to these ENABLEs
in WebHelperPluginImpl, so linking fails if both SVG and PAGE_POPUP
are disabled.

This function looks generic, so just remove the ENABLE guards.

No new tests. (Build fix.)

  • loader/EmptyClients.cpp:

(WebCore::fillWithEmptyClients):

11:27 AM Changeset in webkit [120740] by dpranke@chromium.org
  • 5 edits in trunk/Tools

REGRESSION (NRWT): Results for new non-text-only tests are always put in the most-specific platform directory
https://bugs.webkit.org/show_bug.cgi?id=78127

Reviewed by Ryosuke Niwa.

Add the --add-platform-exceptions flag from ORWT, and ensure
that --new-baseline is equivalent to --reset-results
--add-platform-exceptions. Also fix the default logic for where to
put PNGs and render tree dumps if --new-test-results is true:
if --add-platform-exceptions is False, baselines should go in
the least-specific platform directory (e.g., platform/mac)
rather than the most-specific (platform/mac-snowleopard).

  • Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:

(SingleTestRunner):
(SingleTestRunner.run):
(SingleTestRunner._run_rebaseline):
(SingleTestRunner._add_missing_baselines):
(SingleTestRunner._location_for_new_baseline):
(SingleTestRunner._overwrite_baselines):
(SingleTestRunner._save_baseline_data):

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

(Port.baseline_path):
(Port):
(Port.baseline_platform_dir):
(Port.baseline_version_dir):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options):
(parse_args):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(RebaselineTest.assertBaselines):
(RebaselineTest.test_reset_results):
(RebaselineTest.test_missing_results):
(RebaselineTest.test_new_baseline):

11:25 AM Changeset in webkit [120739] by Simon Fraser
  • 8 edits in trunk/LayoutTests

Rebaseline some media controller tests.

  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-no-audio-expected.txt:
  • platform/mac/media/video-playing-and-pause-expected.txt:
11:21 AM Changeset in webkit [120738] by dpranke@chromium.org
  • 9 edits in trunk/Tools

NRWT should not take memory used as disk cache into account when deciding how many processes to launch
https://bugs.webkit.org/show_bug.cgi?id=81379

Reviewed by Eric Seidel.

The 'free memory' calculation we were running on the mac seemed
to underestimate how many children we can run in parallel, and
it was complex. This patch replaces that calculation with a
simpler one that reserves 2GB for overhead and assumes 256MB per
DRT/WTR, so if we had 4GB of RAM we can run up to 8 DRTs.

Also, there was a bug where we were truncating the memory
installed on the machine to 4GB by casting to an int instead of
a long; this was probably the source of some of the earlier
problems when using total memory.

This patch also removes the no-longer-needed restrictions on the
number of workers on beefy Lion boxes for both Apple Mac and Chromium
Mac; we should now use all of the cores by default.

The memory calculations have only been implemented on the mac;
having the calculation in base.default_child_processes() was IMO
misleading, and so this patch also moves the computation into
the MacPort. I have not heard of the # of workers being an issue
on any other ports, so this should be fine.

  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo.total_bytes_memory):

  • Scripts/webkitpy/common/system/platforminfo_mock.py:

(PlatformInfo.total_bytes_memory):
(PlatformInfo.total_bytes_memory):
(PlatformInfo._win_version_tuple_from_cmd):

  • Scripts/webkitpy/common/system/platforminfo_unittest.py:

(TestPlatformInfo.test_total_bytes_memory):

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

(Port.default_child_processes):

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

(PortTest.test_default_child_processes):

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

(ChromiumMacPort.operating_system):

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

(MacPort.default_child_processes):

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

(TestMacPort.test_default_child_processes):

11:05 AM Changeset in webkit [120737] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in RenderInline::willBeDestroyed.
https://bugs.webkit.org/show_bug.cgi?id=89386

Reviewed by Julien Chaffraix.

Source/WebCore:

We were unable to find the previous continuation during the process
of cleaning up empty anonymous block continuation. The reason being
that we were just looking till our immediate parent and ignoring the
fact that it can be enclosed in anonymous blocks. The change skips
over anonymous blocks in the parent chain.

Test: fullscreen/empty-anonymous-block-continuation-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removeChild):

LayoutTests:

  • fullscreen/empty-anonymous-block-continuation-crash-expected.txt: Added.
  • fullscreen/empty-anonymous-block-continuation-crash.html: Added.
11:03 AM Changeset in webkit [120736] by dpranke@chromium.org
  • 5 edits in trunk

new-run-webkit-tests reports unexpected pass of pixel tests when pixel testing is disabled
https://bugs.webkit.org/show_bug.cgi?id=85446

Reviewed by Simon Fraser.

Tools:

Embed whether pixel testing was enabled into the results.json.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(summarize_results):

LayoutTests:

This change makes results.html aware of whether pixel tests were
enabled when the tests were run; if they weren't, we ignore
expected IMAGE tests that pass instead of reporting them as
'unexpected pass'.

  • fast/harness/resources/results-test.js:

(mockResults):

  • fast/harness/results.html:
10:59 AM Changeset in webkit [120735] by kling@webkit.org
  • 26 edits in trunk

Remove the -webkit-match-nearest-mail-blockquote-color property.
<http://webkit.org/b/89480>

Reviewed by Antti Koivisto.

Source/WebCore:

This property does nothing except taking up a bit on StyleRareNonInheritedData.
It's apparently famous for being the longest property name we support.
This passes the torch to -webkit-border-bottom-right-radius.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

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

(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

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

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

  • rendering/style/StyleRareNonInheritedData.h:

(StyleRareNonInheritedData):

LayoutTests:

  • fast/css/getComputedStyle/resources/property-names.js:
  • fast/dom/CSSStyleDeclaration/access-longest-css-property-expected.txt:
  • fast/dom/CSSStyleDeclaration/access-longest-css-property.html:
  • platform/chromium-mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/gtk/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/qt/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/win/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
10:57 AM Changeset in webkit [120734] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[BlackBerry] Animations continue to request frames after they have finished
https://bugs.webkit.org/show_bug.cgi?id=89483

Patch by Andrew Lo <anlo@rim.com> on 2012-06-19
Reviewed by Rob Buis.

Don't report that we have running animations if all the animations
are finished. This prevents unnecessary requesting of animation frames.
Internal PR165119
Internally Reviewed by Arvid Nilsson.

  • platform/graphics/blackberry/LayerAnimation.cpp:

(WebCore::progress):
(WebCore::fetchIntervalEndpoints):
(WebCore::LayerAnimation::apply):

  • platform/graphics/blackberry/LayerAnimation.h:

(WebCore::LayerAnimation::finished):
(WebCore::LayerAnimation::LayerAnimation):
(LayerAnimation):

  • platform/graphics/blackberry/LayerCompositingThread.cpp:

(WebCore::LayerCompositingThread::updateAnimations):

10:55 AM Changeset in webkit [120733] by Lucas Forschler
  • 2 edits in branches/safari-536-branch/LayoutTests

Merged r120642

10:55 AM Changeset in webkit [120732] by inferno@chromium.org
  • 2 edits in trunk/Source/WebCore

Wrong repaintContainerSkipped in RenderObject::container()
when positioned objects are enclosed in a <foreignObject>.
https://bugs.webkit.org/show_bug.cgi?id=89384

Reviewed by Simon Fraser.

No new tests. The bug was found in a code audit.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::container):

10:43 AM Changeset in webkit [120731] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in WebCore::RenderSVGModelObject::checkIntersection
https://bugs.webkit.org/show_bug.cgi?id=89059

Reviewed by Rob Buis.

Source/WebCore:

getElementCTM updates layout causing the renderer to be destroyed. We get
the new renderer by storing the element pointer and later accessing it using
the element pointer.

Test: svg/custom/intersection-list-crash.svg

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::checkIntersection):
(WebCore::RenderSVGModelObject::checkEnclosure):

LayoutTests:

  • svg/custom/intersection-list-crash-expected.txt: Added.
  • svg/custom/intersection-list-crash.svg: Added.
10:38 AM Changeset in webkit [120730] by kareng@chromium.org
  • 1 add in branches/chromium/1180/codereview.settings

adding for easy drover

10:37 AM Changeset in webkit [120729] by kareng@chromium.org
  • 1 copy in branches/chromium/1180

creating branch for m21

10:25 AM Changeset in webkit [120728] by ericu@chromium.org
  • 3 edits in trunk/Source/WebCore

FileWriter progress events should be throttled to 50ms
https://bugs.webkit.org/show_bug.cgi?id=89022

Reviewed by Kent Tamura.

No new tests; existing tests validate our event sequences, and testing
timing is likely to be flaky.

  • Modules/filesystem/FileWriter.cpp:

(WebCore):
(WebCore::FileWriter::FileWriter):
(WebCore::FileWriter::didWrite): Throttle sending progress events.

  • Modules/filesystem/FileWriter.h:

(FileWriter): Add a variable that remembers when the last event was
sent.

10:10 AM Changeset in webkit [120727] by mitz@apple.com
  • 21 edits in trunk

Source/WebCore: WebCore part of: Paginated display API doesn’t allow setting the page progression direction
https://bugs.webkit.org/show_bug.cgi?id=89394

Reviewed by Darin Adler.

Updated fast/multicol/pagination-*.html.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForDocument): Changed to handle the new Pagination::Mode enum
values and set the column progression in addition to the column axis.

  • page/Page.h: Changed the Pagination::Mode enum values to ones that specify an axis and a

direction along that axis.

  • testing/Internals.cpp:

(WebCore::Internals::setPagination): Changed to support the new Pagination::Mode enum values.

Source/WebKit/mac: WebKit/mac part of: Paginated display API doesn’t allow setting the page progression direction
https://bugs.webkit.org/show_bug.cgi?id=89394

Reviewed by Darin Adler.

  • WebView/WebView.mm:

(-[WebView _setPaginationMode:]): Changed to map new WebPaginationMode values to new
Pagination::Mode values.
(-[WebView _paginationMode]): Similarly, in the opposite direction.

  • WebView/WebViewPrivate.h: Replaced WebPaginationMode values with ones that specify an

axis and a direction along that axis.

Source/WebKit2: WebKit2 part of: Paginated display API doesn’t allow setting the page progression direction
https://bugs.webkit.org/show_bug.cgi?id=89394

Reviewed by Darin Adler.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPaginationMode): Changed to map new WKPaginationMode values to new
Pagination::Mode values.
(WKPageGetPaginationMode): Similarly, in the opposite direction.

  • UIProcess/API/C/WKPagePrivate.h: Replaced WKPaginationMode values with ones that specify

an axis and a direction along that axis.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(-[WKBrowsingContextController setPaginationMode:]): Changed to handle new values.
(-[WKBrowsingContextController paginationMode]): Ditto.

  • UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Replaced

WKBrowsingContextPaginationMode values with ones that specify an axis and a direction along
that axis.

LayoutTests: Paginated display API doesn’t allow setting the page progression direction
https://bugs.webkit.org/show_bug.cgi?id=89394

Reviewed by Darin Adler.

  • fast/multicol/pagination-h-horizontal-bt.html:
  • fast/multicol/pagination-h-horizontal-tb.html:
  • fast/multicol/pagination-h-vertical-lr.html:
  • fast/multicol/pagination-h-vertical-rl.html:
  • fast/multicol/pagination-v-horizontal-bt.html:
  • fast/multicol/pagination-v-horizontal-tb.html:
  • fast/multicol/pagination-v-vertical-lr.html:
  • fast/multicol/pagination-v-vertical-rl.html:
10:09 AM Changeset in webkit [120726] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit/mac

[Mac] -[WebPDFView _menuItemsFromPDFKitForEvent:] leaks NSMenuItems
https://bugs.webkit.org/show_bug.cgi?id=89434

Reviewed by Darin Adler.

  • WebView/WebPDFView.mm:

(-[WebPDFView _menuItemsFromPDFKitForEvent:]): Release copied
NSMenuItems once they're stored in copiedItems.

9:37 AM Changeset in webkit [120725] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][Mac] Skip new failing and crashing tests to try to paint the bot green.

  • platform/qt-mac/Skipped:
9:37 AM Changeset in webkit [120724] by kareng@chromium.org
  • 1 edit
    2 copies in branches/chromium/1132

Merge 118297 - REGRESSION (115573): Incorrect rounding of margins for floats
https://bugs.webkit.org/show_bug.cgi?id=87319

Reviewed by Eric Seidel.

Source/WebCore:

In RenderBlock::computeInlinePreferredLogicalWidths we used a float to
accumulate margins for floating children while the children themselves
represent their margins as LayoutUnits. Due to lack of rounding this can
cause the block to be too small at certain certain zoom levels, causing
unwanted wrapping.

This patch changes computeInlinePreferredLogicalWidths to use a
LayoutUnit to accumulate the margins and thus ensures that the margin
values are rounded the same way.

Test: fast/block/float/floats-with-margin-should-not-wrap.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):

LayoutTests:

Add new test ensuring that using margins with floats doesn't cause
undesired wrapping.

  • fast/block/float/floats-with-margin-should-not-wrap-expected.html: Added.
  • fast/block/float/floats-with-margin-should-not-wrap.html: Added.

TBR=eae@chromium.org

9:21 AM Changeset in webkit [120723] by Csaba Osztrogonác
  • 1 edit
    27 deletes in trunk/LayoutTests

[Qt] Unreviewed gardening, remove unnecessary expected files.

  • platform/qt/animations/combo-transform-translate+scale-expected.txt: Removed.
  • platform/qt/compositing/geometry/object-clip-rects-assertion-expected.txt: Removed.
  • platform/qt/css3/calc/getComputedStyle-margin-percentage-expected.txt: Removed.
  • platform/qt/css3/filters/remove-filter-rendering-expected.txt: Removed.
  • platform/qt/editing/inserting/return-key-in-hidden-field-expected.txt: Removed.
  • platform/qt/editing/pasteboard/paste-4039777-fix-expected.txt: Removed.
  • platform/qt/editing/pasteboard/paste-noscript-expected.txt: Removed.
  • platform/qt/editing/pasteboard/select-element-1-expected.txt: Removed.
  • platform/qt/editing/selection/select-line-break-with-opposite-directionality-expected.txt: Removed.
  • platform/qt/fast/css/border-solid-single-edge-antialias-expected.txt: Removed.
  • platform/qt/fast/dom/Window/window-resize-contents-expected.txt: Removed.
  • platform/qt/fast/events/mouse-relative-position-expected.txt: Removed.
  • platform/qt/fast/preloader/document-write-noscript-expected.txt: Removed.
  • platform/qt/fast/repaint/table-hover-on-link-expected.txt: Removed.
  • platform/qt/http/tests/misc/SVGFont-delayed-load-expected.txt: Removed.
  • platform/qt/http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt: Removed.
  • platform/qt/svg/custom/acid3-test-77-expected.txt: Removed.
  • platform/qt/svg/custom/circular-marker-reference-1-expected.txt: Removed.
  • platform/qt/svg/custom/glyph-setting-d-attribute-expected.txt: Removed.
  • platform/qt/svg/custom/insertItemBefore-from-non-list-origin-expected.txt: Removed.
  • platform/qt/svg/custom/use-transfer-width-height-properties-to-svg-expected.txt: Removed.
  • platform/qt/svg/custom/use-transfer-width-height-properties-to-symbol2-expected.txt: Removed.
  • platform/qt/svg/dom/baseVal-animVal-crash-expected.txt: Removed.
  • platform/qt/svg/dom/css-transforms-expected.txt: Removed.
  • platform/qt/svg/dom/font-face-elements-expected.txt: Removed.
  • platform/qt/svg/hixie/links/001-expected.txt: Removed.
  • platform/qt/tables/mozilla_expected_failures/bugs/bug3517-expected.txt: Removed.
9:15 AM Changeset in webkit [120722] by Csaba Osztrogonác
  • 1 edit
    2 deletes in trunk/LayoutTests

[Qt] Unreviewed gardening, remove unnecessary expected files.

  • platform/qt-5.0/fast/dom/DeviceMotion/create-event-expected.txt: Removed.
  • platform/qt-5.0/fast/dom/DeviceOrientation/create-event-expected.txt: Removed.
9:12 AM WebKitGTK/1.8.x edited by Philippe Normand
(diff)
9:07 AM Changeset in webkit [120721] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Make RenderTableSection - nodeAtPoint and paintObject reuse spanning logic.
https://bugs.webkit.org/show_bug.cgi?id=88066

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-06-19
Reviewed by Julien Chaffraix.

Makes dirtiedRows and dirtiedColumns reuse spannedRows and spannedColumns
internally. This also changes their API to accept a damage-rect flipped
by logicalRectForWritingModeAndDirection.

The generic code in spannedRows and spannedColumns solves a few FIXMEs
surrounding RTL tables, which should improve performance.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::dirtiedRows):
(WebCore::RenderTableSection::dirtiedColumns):
(WebCore::RenderTableSection::paintObject):

  • rendering/RenderTableSection.h:

(WebCore::CellSpan::start):
(WebCore::CellSpan::end):
(CellSpan):
(RenderTableSection):

8:59 AM Changeset in webkit [120720] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip one more failing test.

  • platform/qt-5.0-wk2/Skipped:
8:47 AM Changeset in webkit [120719] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[JSC] Implement support for JSDictionary::convertValue(Vector<String>& result)
https://bugs.webkit.org/show_bug.cgi?id=89447

Patch by Christophe Dumez <Christophe Dumez> on 2012-06-19
Reviewed by Adam Barth.

Add implementation for JSDictionary::convertValue(Vector<String>& result)
so that IDBDatabase::createObjectStore() compiles with JSC.

Tests: storage/indexeddb

  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::convertValue):
(WebCore):

  • bindings/js/JSDictionary.h:
8:45 AM Changeset in webkit [120718] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] AudioFileReader::createBus() leaks an AudioBufferList if ExtAudioFileRead() returns an error
https://bugs.webkit.org/show_bug.cgi?id=89429

Reviewed by Darin Adler.

  • platform/audio/mac/AudioFileReaderMac.cpp:

(WebCore::AudioFileReader::createBus): Call destroyAudioBufferList()
before returning if ExtAudioFileRead() returns an error.

8:40 AM Changeset in webkit [120717] by commit-queue@webkit.org
  • 5 edits in trunk/LayoutTests

Fixing Typos in DeviceOrientation and DeviceMotion Tests
https://bugs.webkit.org/show_bug.cgi?id=89339

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

  • fast/dom/DeviceMotion/create-event-expected.txt:
  • fast/dom/DeviceMotion/script-tests/create-event.js:
  • fast/dom/DeviceOrientation/no-synchronous-events-expected.txt:
  • fast/dom/DeviceOrientation/script-tests/no-synchronous-events.js:
8:38 AM Changeset in webkit [120716] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Style Fix in WebDeviceOrientationController
https://bugs.webkit.org/show_bug.cgi?id=89337

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

Changing a local variable from a PassRefPtr to a RefPtr in order to be consistent with the style guide.

  • src/WebDeviceOrientationController.cpp:

(WebKit::WebDeviceOrientationController::didChangeDeviceOrientation):

8:17 AM Changeset in webkit [120715] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip one more failing test.

  • platform/qt-5.0-wk2/Skipped:
8:17 AM Changeset in webkit [120714] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

Fix the GTK+ build by adding some missing source files to the source list.

  • GNUmakefile.list.am: WebGLDepthTexture.cpp/h to the source list.
8:15 AM Changeset in webkit [120713] by jocelyn.turcotte@nokia.com
  • 2 edits in trunk

[Qt] Fix the Windows build when Qt is built without -release or -debug
https://bugs.webkit.org/show_bug.cgi?id=89471

Reviewed by Tor Arne Vestbø.

Make sure that we at least remove build_all on Windows for api.pri,
as WebCore wasn't built for all configurations.

  • Source/api.pri:
7:25 AM Changeset in webkit [120712] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed typo fix.

  • platform/qt/Skipped:
7:15 AM Changeset in webkit [120711] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Remove the function ScriptDebugServer::supportsNativeBreakpoints()
https://bugs.webkit.org/show_bug.cgi?id=88759

Patch by Peter Wang <peter.wang@torchmobile.com.cn> on 2012-06-19
Reviewed by Pavel Feldman.

Source/WebCore:

Since both JSC and V8 support DOM breakpoint now, remove the conditional interface and related code.
So there is no new tests.

  • bindings/js/ScriptDebugServer.h:
  • bindings/v8/ScriptDebugServer.h:
  • inspector/Inspector.json:
  • inspector/InspectorDebuggerAgent.cpp:
  • inspector/InspectorDebuggerAgent.h:

(InspectorDebuggerAgent):

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype.wasShown):
(WebInspector.ElementsPanel.prototype._populateContextMenu):

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkLogView.prototype._createTable):
(WebInspector.NetworkLogView.prototype.switchToDetailedView):
(WebInspector.NetworkLogView.prototype.switchToBriefView):
(WebInspector.NetworkDataGridNode.prototype.createCells):
(WebInspector.NetworkDataGridNode.prototype.refreshRequest):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.wasShown):
(WebInspector.ScriptsPanel.prototype._clearInterface):

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

(WebInspector.doLoadedDone):

Source/WebKit/chromium:

  • src/js/DevTools.js:
7:06 AM Changeset in webkit [120710] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Make text in WebSocket Frames tab selectable
https://bugs.webkit.org/show_bug.cgi?id=89307

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-06-19
Reviewed by Yury Semikhatsky.

  • inspector/front-end/ResourceWebSocketFrameView.js:

(WebInspector.ResourceWebSocketFrameView):

  • inspector/front-end/networkPanel.css:

(.resource-websocket-frame-view):

7:03 AM Changeset in webkit [120709] by commit-queue@webkit.org
  • 19 edits in trunk/Source/WebCore

Web Inspector: Support 'Restart frame' in protocol and backend
https://bugs.webkit.org/show_bug.cgi?id=89147

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-06-19
Reviewed by Yury Semikhatsky.

Inspector.json got new command in Debugger domain.
A call path from InspectorDebuggerAgent to V8 Debug.LiveEdit.RestartFrame API
is built.
JSC implementation is a stub with fix me (40300).

  • bindings/js/JSJavaScriptCallFrameCustom.cpp:

(WebCore::JSJavaScriptCallFrame::restart):
(WebCore):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore):
(WebCore::ScriptDebugServer::updateCallStack):

  • bindings/js/ScriptDebugServer.h:

(ScriptDebugServer):

  • bindings/v8/DebuggerScript.js:

(.):

  • bindings/v8/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::restart):
(WebCore):

  • bindings/v8/JavaScriptCallFrame.h:

(JavaScriptCallFrame):

  • bindings/v8/ScriptDebugServer.cpp:

(WebCore):
(WebCore::ScriptDebugServer::updateCallStack):

  • bindings/v8/ScriptDebugServer.h:
  • bindings/v8/ScriptFunctionCall.cpp:

(WebCore::ScriptFunctionCall::call):

  • bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:

(WebCore::V8JavaScriptCallFrame::restartCallback):
(WebCore):

  • inspector/InjectedScript.cpp:

(WebCore::InjectedScript::restartFrame):
(WebCore):

  • inspector/InjectedScript.h:

(InjectedScript):

  • inspector/InjectedScriptExterns.js:

(JavaScriptCallFrame.prototype.restart):

  • inspector/InjectedScriptSource.js:

(.):

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

(WebCore::InspectorDebuggerAgent::restartFrame):

  • inspector/InspectorDebuggerAgent.h:

(InspectorDebuggerAgent):

  • inspector/JavaScriptCallFrame.idl:
7:03 AM Changeset in webkit [120708] by apavlov@chromium.org
  • 4 edits
    1 copy in trunk/LayoutTests

New inspector/styles/inject-stylesheet.html fails
https://bugs.webkit.org/show_bug.cgi?id=89364

Reviewed by Zoltan Herczeg.

LayoutTestController in Chromium injects testRunner into the Inspector window, while its other implementations don't.
Additionally, testRunner.addUserStyleSheet() behavior differs across platforms: Chromium injects stylesheets
with the "Author" level, while the others do with the "User" level, so the Chromium expectation stands apart.

  • inspector/styles/inject-stylesheet-expected.txt:
  • inspector/styles/inject-stylesheet.html:
  • platform/chromium/inspector/styles/inject-stylesheet-expected.txt: Copied from LayoutTests/inspector/styles/inject-stylesheet-expected.txt.
  • platform/qt/Skipped:
6:59 AM Changeset in webkit [120707] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Replaced printf with fprintf in DEBUG_AUDIONODE_REFERENCES

Change printf to fprintf in DEBUG_AUDIONODE_REFERENCES
https://bugs.webkit.org/show_bug.cgi?id=86564

Patch by Andrei Poenaru <poenaru@adobe.com> on 2012-06-19
Reviewed by Csaba Osztrogonác.

There is no need for new tests: writing data to stderr, instead of stdout.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::~AudioContext):

  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::~AudioNode):
(WebCore::AudioNode::ref):
(WebCore::AudioNode::finishDeref):
(WebCore::AudioNode::printNodeCounts):

5:59 AM Changeset in webkit [120706] by commit-queue@webkit.org
  • 5 edits in trunk

[GTK] Assert failure in svg/batik/text/textDecoration.svg,textEffect3.svg for 64bit Debug bot
https://bugs.webkit.org/show_bug.cgi?id=89104

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-06-19
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Adding SVGInline to assertion to fix assertion failure. Same assertion was hit on Chromium.

Covered by existing tests
svg/batik/text/textDecoration.svg
svg/batik/text/textEffect3.svg
where the assertion failure was hit.

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):

LayoutTests:

Removing CRASH expectations after assertion failure is now fixed.

  • platform/chromium/TestExpectations:
  • platform/gtk/TestExpectations:
4:43 AM Changeset in webkit [120705] by alexis.menard@openbossa.org
  • 3 edits in trunk/Source/WebKit2

[Qt] Create an extra atlas when there is no available buffer space.
https://bugs.webkit.org/show_bug.cgi?id=89012

Reviewed by Noam Rosenthal.

In case of the desktop mode when we scroll the view all the tiles
are updated. It can happen that there no available buffer space for
the currently used atlas(especially when scrolling fast). In that case
we can create a new one. One future improvement could be to make a timer and
delete this extra atlas when it is not used.

  • WebProcess/WebPage/qt/LayerTreeHostQt.cpp:

(WebKit::beginContentUpdateInAtlas):
(WebKit::LayerTreeHostQt::beginContentUpdate):

  • WebProcess/WebPage/qt/LayerTreeHostQt.h:

(LayerTreeHostQt):

4:34 AM Changeset in webkit [120704] by Csaba Osztrogonác
  • 14 edits in trunk/Source

[Qt] Buildfix for newer Qt5, use QPointer instead of the deprecated QWeakPointer.
https://bugs.webkit.org/show_bug.cgi?id=89449

Reviewed by Simon Hausmann.

Source/WebCore:

  • bridge/qt/qt_instance.h:

(QtInstance):

  • bridge/qt/qt_runtime.h:

(QtField):

  • platform/Widget.h:

(Widget):

Source/WebKit/qt:

  • Api/qwebframe_p.h:

(QWebHitTestResultPrivate):

  • Api/qwebpage_p.h:

(QWebPagePrivate):

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::createFrame):

  • WebCoreSupport/PageClientQt.h:

(PageClientQGraphicsWidget):

Source/WebKit2:

  • UIProcess/API/qt/qquicknetworkreply_p.h:
3:46 AM FeatureFlags edited by tkent@chromium.org
Add CSP_NEXT (diff)
3:44 AM Changeset in webkit [120703] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Document the versions enums where added
https://bugs.webkit.org/show_bug.cgi?id=89452

Patch by Albert Astals Cid <albert.astals@canonical.com> on 2012-06-19
Reviewed by Simon Hausmann.

  • Api/qwebpage.cpp:
3:38 AM Changeset in webkit [120702] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Web Inspector: FileSystem tree should hide uninitialized FileSystem
https://bugs.webkit.org/show_bug.cgi?id=88602

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

Source/WebCore:

Test: http/tests/inspector/filesystem/get-filesystem-root.html

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

(WebCore):
(WebCore::InspectorFileSystemAgent::getFileSystemRoot):

  • inspector/InspectorFileSystemAgent.h:

(InspectorFileSystemAgent):

  • inspector/front-end/FileSystemModel.js:

(WebInspector.FileSystemModel.prototype._originAdded):
(WebInspector.FileSystemModel.prototype.refreshFileSystemList):
(WebInspector.FileSystemModel.prototype._gotFileSystem):
(WebInspector.FileSystemModel.FileSystem):
(WebInspector.FileSystemRequestManager):
(WebInspector.FileSystemRequestManager.prototype.getFileSystemRoot):
(WebInspector.FileSystemRequestManager.prototype._gotFileSystemRoot):
(WebInspector.FileSystemDispatcher.prototype.gotFileSystemRoot):

  • inspector/front-end/ResourcesPanel.js:

(WebInspector.FileSystemListTreeElement.prototype._fileSystemRemoved):

LayoutTests:

  • http/tests/inspector/filesystem/get-filesystem-root-expected.txt: Added.
  • http/tests/inspector/filesystem/get-filesystem-root.html: Added.
3:27 AM Changeset in webkit [120701] by yurys@chromium.org
  • 6 edits in trunk/Source/WebKit/chromium

[Chromium] Web Inspector: remove unnecessary indirection from message loop instrumentation
https://bugs.webkit.org/show_bug.cgi?id=89443

Removed start/stopMainThreadMonitoring methods from WebDevToolsAgentClient
and WebDevToolsAgentImpl. The functionality is now implemented inside
InspectorClientImpl.

Reviewed by Vsevolod Vlasov.

  • public/WebDevToolsAgentClient.h:
  • src/InspectorClientImpl.cpp:

(WebKit::InspectorClientImpl::clearBrowserCookies):
(WebKit::InspectorClientImpl::startMainThreadMonitoring):
(WebKit::InspectorClientImpl::stopMainThreadMonitoring):
(WebKit::InspectorClientImpl::willProcessTask):
(WebKit):
(WebKit::InspectorClientImpl::didProcessTask):

  • src/InspectorClientImpl.h:

(InspectorClientImpl):

  • src/WebDevToolsAgentImpl.cpp:
  • src/WebDevToolsAgentImpl.h:

(WebDevToolsAgentImpl):

3:18 AM Changeset in webkit [120700] by rniwa@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Update webkit.org to refer to layoutTestController instead of testRunner
https://bugs.webkit.org/show_bug.cgi?id=89445

Reviewed by Kent Tamura.

  • quality/testwriting.html:
2:33 AM Changeset in webkit [120699] by zoltan@webkit.org
  • 2 edits in trunk/Tools

[Qt] Modify HTTPS port to 8443 for performance tests
https://bugs.webkit.org/show_bug.cgi?id=89442

Reviewed by Ryosuke Niwa.

We should be consistent with the default HTTPS port and with the changelog of r119188.

  • Scripts/webkitpy/performance_tests/perftest.py:

(ReplayServer.init):

2:13 AM Changeset in webkit [120698] by commit-queue@webkit.org
  • 19 edits in trunk

Introduce ENABLE_CSP_NEXT configuration flag.
https://bugs.webkit.org/show_bug.cgi?id=89300

Patch by Mike West <mkwst@chromium.org> on 2012-06-19
Reviewed by Adam Barth.

The 1.0 draft of the Content Security Policy spec is just about to
move to Last Call. We'll hide work on the upcoming 1.1 spec behind
this ENABLE flag, disabled by default.

Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • qmake/mkspecs/features/features.pri:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
2:12 AM Changeset in webkit [120697] by jhoneycutt@apple.com
  • 2 edits in trunk/Source/WTF

REGRESSION(r120552): Many tests timing out on Windows
https://bugs.webkit.org/show_bug.cgi?id=89433

Reviewed by Andy Estes.

  • wtf/CurrentTime.cpp:

(WTF::lowResUTCTime):
It looks like there were two bugs:
1) the function was converting from 100ths of nanoseconds to seconds

rather than 100s of nanoseconds to seconds by dividing by
(nsPerSecond * 100) rather than (nsPerSecond / 100)

2) the function should've been returning milliseconds, not seconds

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

Make StylePropertySet::merge() always override on conflict
https://bugs.webkit.org/show_bug.cgi?id=89348

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-19
Reviewed by Ryosuke Niwa.

merge() was only used with argOverridesOnConflict = true, which
makes the extra parameter useless. It will also save a boolean check.

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::mergeAndOverrideOnConflict):

  • css/StylePropertySet.h:

(StylePropertySet):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::overrideWithStyle):
(WebCore::styleFromMatchedRulesForElement):
(WebCore::EditingStyle::mergeStyleFromRules):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):

1:57 AM Changeset in webkit [120695] by yosin@chromium.org
  • 9 edits in trunk/Source/WebCore

[Forms] Move isKeyboardFocusable and isMouseFocusable to InputType from HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=89425

Reviewed by Kent Tamura.

This patch moves implementation of HTMLInpueElement::isKeyboardFocusable
and isMouseFocusable to InputType class to allow each implementation
of InputType can decide focus-ability.

No new tests. This patch doesn't change behavior.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::isKeyboardFocusable): Changed to call InputType::isKeyboardFocusable.
(WebCore::HTMLInputElement::isMouseFocusable): Changed to call InputType::isMouseFocusable.
(WebCore::HTMLInputElement::isTextFormControlFocusable): Added to allow InputType can call a method in HTMLTextFormControlElement.
(WebCore::HTMLInputElement::isTextFormControlKeyboardFocusable): Added to allow InputType can call a method in HTMLTextFormControlElement.
(WebCore::HTMLInputElement::isTextFormControlMouseFocusable): Added to allow InputType can call a method in HTMLTextFormControlElement.

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/InputType.cpp:

(WebCore::InputType::isKeyboardFocusable): Changed to call isTextFormControlKeyboardFocusable.
(WebCore::InputType::isMouseFocusable): Added for default method of derived InputType classes.

  • html/InputType.h:

(InputType): Chagned signature of isKeyboardFocusable.

  • html/RadioInputType.cpp:

(WebCore::RadioInputType::isKeyboardFocusable): Changed to call isTextFormControlKeyboardFocusable which was done in HTMLInputElement.

  • html/RadioInputType.h:

(RadioInputType):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::isKeyboardFocusable): Moved implementation from HTMLInputElement.
(WebCore::TextFieldInputType::isMouseFocusable): Moved implementation from HTMLInputElement.

  • html/TextFieldInputType.h:

(TextFieldInputType):

1:55 AM Changeset in webkit [120694] by sergio@webkit.org
  • 19 edits in trunk/Source

Calling nativeImageForCurrentFrame() causes assertion failure: m_verifier.isSafeToUse()
https://bugs.webkit.org/show_bug.cgi?id=67582

Reviewed by David Levin.

Source/WebCore:

Added a new synchronous method to the IconDatabase that returns a
native image for the platform instead of a WebCore::Image*.

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::synchronousNativeIconForPageURL):
(WebCore):

  • loader/icon/IconDatabase.h:

(IconDatabase):

  • loader/icon/IconDatabaseBase.h:

(WebCore::IconDatabaseBase::synchronousNativeIconForPageURL):
(IconDatabaseBase):

Source/WebKit/blackberry:

Use synchronousNativeIconForPageURL() to retrieve favicons.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):

Source/WebKit/cf:

Fixes windows build.

  • WebCoreSupport/WebInspectorClientCF.cpp:

Source/WebKit/efl:

Use synchronousNativeIconForPageURL() to retrieve favicons.

  • ewk/ewk_history.cpp:

(ewk_history_item_icon_surface_get):
(ewk_history_item_icon_object_add):

  • ewk/ewk_settings.cpp:

(ewk_settings_icon_database_icon_surface_get):
(ewk_settings_icon_database_icon_object_add):

Source/WebKit/gtk:

Use synchronousNativeIconForPageURL() to retrieve favicons.

  • webkit/webkitfavicondatabase.cpp:

(getIconPixbufSynchronously):

Source/WebKit/qt:

Use synchronousNativeIconForPageURL() to retrieve favicons.

  • Api/qwebhistory.cpp:

(QWebHistoryItem::icon):

  • Api/qwebsettings.cpp:

(QWebSettings::iconForUrl):

1:45 AM Changeset in webkit [120693] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Use AutodrainedPool instead of NSAutoreleasePool in AudioBus::loadPlatformResource()
https://bugs.webkit.org/show_bug.cgi?id=89427

Reviewed by Dan Bernstein.

loadPlatformResource() called -[NSAutoreleasePool release] at each of
its exit points, which is not only an error-prone pattern but is
incorrect in garbage-collected environments. AutodrainedPool solves
both these problems by automatically calling -[NSAutoreleasePool drain]
when going out of scope.

  • platform/audio/mac/AudioBusMac.mm:

(WebCore::AudioBus::loadPlatformResource):

1:38 AM Changeset in webkit [120692] by commit-queue@webkit.org
  • 9 edits in trunk

[EFL] EFL's LayoutTestController does not support setTextDirection
https://bugs.webkit.org/show_bug.cgi?id=87481

Patch by Christophe Dumez <Christophe Dumez> on 2012-06-19
Reviewed by Hajime Morita.

Source/WebKit/efl:

Add new Ewk_View method to set the text direction, by calling
Editor::setBaseWritingDirection() internally, as Mac and Chromium
ports do.

  • WebCoreSupport/AssertMatchingEnums.cpp:
  • ewk/ewk_view.cpp:

(ewk_view_text_direction_set):

  • ewk/ewk_view.h:

Tools:

Implement setTextDirection in EFL's LayoutTestController and
properly reset its value between test cases to avoid flakiness.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::setTextDirection):

LayoutTests:

Unskip related test case now that EFL's LayoutTestController
implements setTextDirection.

  • platform/efl/Skipped:
1:36 AM Changeset in webkit [120691] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Compilation failure in StyleResolver.cpp
https://bugs.webkit.org/show_bug.cgi?id=89446

Patch by Mike West <mkwst@chromium.org> on 2012-06-19
Reviewed by Ryosuke Niwa.

Adding 'CSSPropertyWebkitColumnProgression' to a switch statement from
which it was missing.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

1:23 AM Changeset in webkit [120690] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[Qt] Unreviewed build system fix after r120051.

  • Target.pri:
1:18 AM Writing DumpAsMarkup Tests edited by rniwa@webkit.org
s/layoutTestController/testRunner/ (diff)
1:17 AM Writing Layout Tests for DumpRenderTree edited by rniwa@webkit.org
s/layoutTestController/testRunner/ (diff)
1:16 AM Creating and Submitting Layout Tests and Patches edited by rniwa@webkit.org
s/layoutTestController/testRunner/ (diff)
1:15 AM Changeset in webkit [120689] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r120586.
http://trac.webkit.org/changeset/120586
https://bugs.webkit.org/show_bug.cgi?id=89444

doesn't fix mac issue (Requested by morrita on #webkit).

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

  • src/ContextMenuClientImpl.cpp:

(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::replaceMisspelledRange):

12:40 AM Changeset in webkit [120688] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/Tools

[Qt] Temporarily disable xvfb driver in nrwt
https://bugs.webkit.org/show_bug.cgi?id=88414

Reviewed by Csaba Osztrogonác.

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

(QtPort._build_driver):

12:35 AM Changeset in webkit [120687] by morrita@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed expectation update.

  • platform/chromium/TestExpectations:
12:35 AM Changeset in webkit [120686] by Simon Hausmann
  • 2 edits in trunk

[Qt] Allow the modules file generation to work on Windows.
https://bugs.webkit.org/show_bug.cgi?id=89010

Patch by Joel Dillon <joel.dillon@codethink.co.uk>, Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2012-06-19
Reviewed by Csaba Osztrogonác.

Add calls to toSystemPath and use QMAKE_DIR_SEP where necessary.

  • Source/api.pri:
12:32 AM Changeset in webkit [120685] by Simon Hausmann
  • 2 edits in trunk

[Qt] Fix TARGET not properly being set for QtWebKitd5.dll when building in debug.
https://bugs.webkit.org/show_bug.cgi?id=88880

load(qt_module_config) adjusts the TARGET to add the "d" suffix when doing
the debug build_pass. When doing the first pass, qt_module_config.prf doesn't
adjust the target since it is in debug_and_release and expects the debug
build_pass to come later. However, since we remove debug_and_release from CONFIG
right after this, the TARGET hasn't been adjusted and the debug build_pass
will not happen.

Work around it by disabling this optimization on Windows.

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2012-06-19
Reviewed by Tor Arne Vestbø.

  • Source/api.pri:
12:27 AM Changeset in webkit [120684] by commit-queue@webkit.org
  • 17 edits
    2 adds in trunk

Add a scheme registry for bypassing Content Security Policy.
https://bugs.webkit.org/show_bug.cgi?id=89373

Patch by Mike West <mkwst@chromium.org> on 2012-06-19
Reviewed by Adam Barth.

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

The Content Security Policy specification notes that "Enforcing a CSP
policy should not interfere with the operation of user-supplied scripts
such as third-party user-agent add-ons and JavaScript bookmarklets."
(https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#processing-model)
This use case can be at least partially addressed by adding a scheme
registry for certain types of URLs whose resources should be loaded
regardless of a page's defined policy directives.

See http://crbug.com/133223 for additional context.

Test: http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html

  • WebCore.exp.in:

Exporting new symbols for use by Internals.

  • page/ContentSecurityPolicy.cpp:

(WebCore::isAllowedByAllWithURL):

Adding a check against the new SchemeRegistry method to determine
whether or not we should proceed with checking the URL against the
policy.

  • platform/SchemeRegistry.cpp:

(WebCore::CSPBypassingSchemes):
(WebCore):
(WebCore::SchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):
(WebCore::SchemeRegistry::schemeShouldBypassContentSecurityPolicy):

  • platform/SchemeRegistry.h:

(SchemeRegistry):

Adding the scheme registry for CSP-bypassing URL schemes.

  • testing/Internals.cpp:

(WebCore):
(WebCore::Internals::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebCore::Internals::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Adding a method to Internals so that we can write a layout test.

Source/WebKit/chromium:

  • public/WebSecurityPolicy.h:

(WebSecurityPolicy):

  • src/WebSecurityPolicy.cpp:

(WebKit::WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebKit):

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/register-bypassing-scheme-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html: Added.
12:23 AM Changeset in webkit [120683] by rniwa@webkit.org
  • 492 edits in trunk/LayoutTests

Use testRunner instead of layoutTestController in fast/canvas, clip, compact, constructors, cookies, and css* tests
https://bugs.webkit.org/show_bug.cgi?id=89431

Reviewed by Kent Tamura.

  • fast/canvas/:
  • fast/constructors/constructor-as-function-crash.html:
  • fast/css-generated-content/absolute-position-inside-inline.html:
  • fast/css-generated-content/after-with-first-letter-float-crash.html:
  • fast/css-generated-content/attr-missing.html:
  • fast/css-generated-content/before-content-with-list-marker-in-anon-block-crash.html:
  • fast/css-generated-content/block-after.html:
  • fast/css-generated-content/drag-state.html:
  • fast/css-generated-content/empty-content-with-float-crash.html:
  • fast/css-generated-content/first-letter-next-sibling-crash.html:
  • fast/css-generated-content/first-letter-table-cell-format-block-crash.html:
  • fast/css-generated-content/float-first-letter-siblings-convert-to-inline.html:
  • fast/css-generated-content/floating-before-content-with-list-marker-crash.html:
  • fast/css-generated-content/hit-test-generated-content.html:
  • fast/css-generated-content/hover-style-change.html:
  • fast/css-generated-content/inline-splitting-with-after-float-crash.html:
  • fast/css-generated-content/malformed-url.html:
  • fast/css-generated-content/positioned-background-hit-test-crash.html:
  • fast/css-generated-content/positioned-div-with-floating-after-content-crash.html:
  • fast/css-generated-content/positioned-generated-content-under-run-in-crash.html:
  • fast/css-generated-content/remove-div-from-flexible-box-with-floating-after-content-crash.html:
  • fast/css-generated-content/reset-content-to-initial.html:
  • fast/css-generated-content/resources/pass.html:
  • fast/css-generated-content/resources/positioned-div-with-floating-after-content-crash-frame2.html:
  • fast/css-generated-content/spellingToolTip-assert.html:
  • fast/css-generated-content/table-row-after-no-crash.html:
  • fast/css-generated-content/table-with-scrollbar-corner.html:
  • fast/css-generated-content/text-before-table-col-crash.html:
  • fast/css-grid-layout/display-grid-set-get.html:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/grid-columns-rows-get-set.html:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • fast/css/:
  • platform/mac/fast/canvas/canvas-draw-xbm-image.html:
  • platform/qt/fast/canvas/toDataURL-jpeg-alpha.html:
  • platform/qt/fast/canvas/toDataURL-jpeg-primarycolors.html:
  • platform/qt/fast/canvas/toDataURL-jpeg-quality-basic.html:
  • platform/qt/fast/canvas/toDataURL-jpeg-quality-notnumber.html:
  • platform/qt/fast/canvas/toDataURL-jpeg-quality-outsiderange.html:
Note: See TracTimeline for information about the timeline view.