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

Timeline



Dec 19, 2011:

11:49 PM Changeset in webkit [103307] by adamk@chromium.org
  • 7 edits in trunk/Source/WebCore

Make all calls to NamedNodeMap::setAttributes go through Element
https://bugs.webkit.org/show_bug.cgi?id=74895

Reviewed by Ryosuke Niwa.

There are two reasons for this change. One is an optimization: some
callers were previously always creating a NamedNodeMap even if the
source didn't have any attributes.

The other reason is forward-looking: setAttributes' behavior is subtly
wrong in the presence of MutationObservers. This doesn't matter
for most callers since the element on which setAttributesFromElement
is called is newly-created. In the editing case, however, it could
make a difference in behavior, which I hope to fix in a future change
without sacrificing the performance of cloneNode() on an Element
(which is what NamedNodeMap::setAttributes is designed for).

No new tests, no change in behavior.

  • dom/Element.cpp:

(WebCore::Element::cloneElementWithoutChildren): Call setAttributesFromElement.

  • dom/Element.h:

(WebCore::Element::setAttributesFromElement): Create new inline helper method
which conditionally forwards to NamedNodeMap::setAttribute.

  • dom/NamedNodeMap.h: Make setAttributes private (Element is already a friend).
  • editing/ReplaceNodeWithSpanCommand.cpp:

(WebCore::swapInNodePreservingAttributesAndChildren): Call setAttributesFromElement.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setNodeName): Call setAttributesFromElement.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Call setAttributesFromElement.
(WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Call setAttributesFromElement
and make use of ASSERT_NO_EXCEPTION to make code easier to read.

11:31 PM Changeset in webkit [103306] by yuqiang.xian@intel.com
  • 4 edits in trunk/Source/JavaScriptCore

Temporary GPR should not be lazily allocated in DFG JIT on X86
https://bugs.webkit.org/show_bug.cgi?id=74908

Reviewed by Filip Pizlo.

On X86, we used to allocate a temporary GPR lazily when it's really
used rather than defined. This may cause potential issues of
allocating registers inside control flow and result in problems in
subsequent code generation, for example the DFG JIT may think an
operand already being spilled (to satisfy the allocation request) and
generate code to read the data from memory, but the allocation and
spilling are in a branch which is not taken at runtime, so the
generated code is incorrect.

Although current DFG JIT code doesn't have this problematic pattern,
it's better to cut-off the root to avoid any potential issues in the
future.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::GPRTemporary::GPRTemporary):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::GPRTemporary::gpr):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

10:22 PM Changeset in webkit [103305] by leo.yang@torchmobile.com.cn
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Upstream the BlackBerry change to ResourceRequestBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=74910

Reviewed by Daniel Bates.

No functionality change to the existing code, no new tests.

  • platform/network/ResourceRequestBase.cpp: The BlackBerry porting has its own

initializeMaximumHTTPConnectionCountPerHost(). Exclude the default implementation.

9:43 PM Changeset in webkit [103304] by leo.yang@torchmobile.com.cn
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Upstream the BlackBerry change to NetworkStateNotifier.h
https://bugs.webkit.org/show_bug.cgi?id=74904

Reviewed by Daniel Bates.

No functionality change to existing code, no new tests.

  • platform/network/NetworkStateNotifier.h:
9:26 PM Changeset in webkit [103303] by yael.aharon@nokia.com
  • 7 edits in trunk

Update dropzone implementation per spec update
https://bugs.webkit.org/show_bug.cgi?id=74834

Reviewed by Tony Chang.

Source/WebCore:

Update support for dropzone attribute to use file: and string: instead of f: and s:.
http://www.whatwg.org/specs/web-apps/current-work/#the-dropzone-attribute

No new tests. Existing tests cover this and were updated.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::hasDropZoneType):

LayoutTests:

Update the tests per spec change.

  • fast/events/dropzone-001.html:
  • fast/events/dropzone-002.html:
  • fast/events/dropzone-003.html:
  • fast/events/dropzone-004.html:
9:10 PM Changeset in webkit [103302] by weinig@apple.com
  • 6 edits
    2 adds in trunk

Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
https://bugs.webkit.org/show_bug.cgi?id=74907

Reviewed by Dan Bernstein.

Source/WebCore:

Added API test: WebKit2.ScrollByLineCommands

  • editing/EditorCommand.cpp:

(WebCore::executeScrollLineUp):
(WebCore::executeScrollLineDown):
(WebCore::createCommandMap):
Add implementations for scrollLineUp/Down. Do not expose
these to execCommand.

Source/WebKit2:

  • UIProcess/API/mac/WKView.mm:

Add implementations for scrollLineDown: and scrollLineUp: using our
fun macros.

Tools:

Add ScrollByLineCommands API test.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm: Added.
  • TestWebKitAPI/Tests/WebKit2/simple-tall.html: Added.
9:01 PM Changeset in webkit [103301] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[QT] WebGL can not make the frame buffer with the stencil buffer.
https://bugs.webkit.org/show_bug.cgi?id=74783

When initializing a framebuffer in OpenGL ES 2, we need to initialize the depth
and stencil buffers separately, as opposed to the combined depth-stencil buffer
we initialize for desktop GL.

This makes fast/canvas/webgl/context-attributes-depth-stencil-combination.html
work in OpenGL ES 2.

Patch by Huang Dongsung <luxtella@company100.net> on 2011-12-19
Reviewed by Noam Rosenthal.

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::reshape):

8:34 PM Changeset in webkit [103300] by jamesr@google.com
  • 2 edits in trunk/Source/WebKit/chromium

Compile fix for chromium on windows due to collision of testing::NotNull from gtest and NotNull from Vector.h

  • tests/WebLayerTest.cpp:
8:33 PM Changeset in webkit [103299] by yuqiang.xian@intel.com
  • 4 edits in trunk/Source/JavaScriptCore

Remove unused code for non-speculative Arith operations from DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=74905

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
8:27 PM Changeset in webkit [103298] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Source/WebCore: Teach VideoLayerChromium how to render native texture (to support HW video decode).
https://bugs.webkit.org/show_bug.cgi?id=73043

Patch by Ami Fischman <fischman@chromium.org> on 2011-12-19
Reviewed by James Robinson.

Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
VideoFrameProvider::{get,put}CurrentFrame provide lease semantics. Previously
VideoLayerChromium would acquire the lease for the duration of copying the frame,
even if that was only a texture ID, and immediately return the lease, while
CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
texture optimistically. This change makes it so that CCVideoLayerImpl holds
the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.

Existing test coverage (compositing/video/, LayoutTests). HW render of
HW-decoded textures is not yet tested explicitly.

  • platform/graphics/chromium/VideoLayerChromium.cpp:

(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::~VideoLayerChromium):
(WebCore::VideoLayerChromium::createCCLayerImpl):
(WebCore::VideoLayerChromium::releaseProvider):

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

(WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::setProvider):
(WebCore::convertVFCFormatToGC3DFormat):
(WebCore::CCVideoLayerImpl::draw):
(WebCore::CCVideoLayerImpl::copyFrameToTextures):
(WebCore::CCVideoLayerImpl::copyPlaneToTexture):
(WebCore::computeVisibleSize):
(WebCore::CCVideoLayerImpl::reserveTextures):
(WebCore::CCVideoLayerImpl::drawYUV):
(WebCore::CCVideoLayerImpl::drawCommon):
(WebCore::CCVideoLayerImpl::drawRGBA):
(WebCore::CCVideoLayerImpl::drawNativeTexture):

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

Source/WebKit/chromium: Teach VideoLayerChromium how to render native texture (to support HW video decode).
https://bugs.webkit.org/show_bug.cgi?id=73043

Patch by Ami Fischman <fischman@chromium.org> on 2011-12-19
Reviewed by James Robinson.

Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
VideoFrameProvider::{get,put}CurrentFrame provide lease semantics. Previously
VideoLayerChromium would acquire the lease for the duration of copying the frame,
even if that was only a texture ID, and immediately return the lease, while
CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
texture optimistically. This change makes it so that CCVideoLayerImpl holds
the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.

  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):

8:08 PM Changeset in webkit [103297] by weinig@apple.com
  • 29 edits in trunk/Source

More PlatformEvent cleanup
https://bugs.webkit.org/show_bug.cgi?id=74831

Reviewed by Dan Bernstein.

../WebCore:

  • platform/PlatformMouseEvent.h:

(WebCore::PlatformMouseEvent::position):
Rename pos -> position(). Remove x() and y() accessors.

(WebCore::PlatformMouseEvent::globalPosition):
Added. Replaces globalX() and globalY() accessors.

(WebCore::PlatformMouseEvent::movementDelta):
Added. Replaces movementX() and movementY() accessors.

  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::position):
Renamed pos -> position().

(WebCore::PlatformWheelEvent::globalPosition):
Renamed globalPos -> globalPosition().

  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::create):

  • dom/WheelEvent.cpp:

(WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::EventHandler::prepareMouseEvent):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::handleDrag):
(WebCore::EventHandler::handleTouchEvent):

  • page/chromium/EventHandlerChromium.cpp:

(WebCore::EventHandler::passMousePressEventToSubframe):

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseDown):

  • platform/ScrollbarThemeComposite.cpp:

(WebCore::ScrollbarThemeComposite::hitTest):

  • platform/chromium/PopupContainer.cpp:

(WebCore::constructRelativeMouseEvent):
(WebCore::constructRelativeWheelEvent):

  • platform/chromium/PopupListBox.cpp:

(WebCore::PopupListBox::handleMouseDownEvent):
(WebCore::PopupListBox::handleMouseMoveEvent):
(WebCore::PopupListBox::handleMouseReleaseEvent):
(WebCore::PopupListBox::handleWheelEvent):

  • platform/chromium/ScrollbarThemeChromiumWin.cpp:

(WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):

  • platform/qt/ScrollbarQt.cpp:

(WebCore::Scrollbar::contextMenu):

  • platform/qt/ScrollbarThemeQt.cpp:

(WebCore::ScrollbarThemeQt::hitTest):

  • platform/win/ScrollbarThemeWin.cpp:

(WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::resize):
Update to use new names, access style.

../WebKit/chromium:

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::mouseContextMenu):
Update to use new names, access style.

../WebKit/gtk:

  • webkit/webkitwebview.cpp:

(webkit_web_view_forward_context_menu_event):
(webkit_web_view_get_hit_test_result):
Update to use new names, access style.

../WebKit/qt:

  • Api/qwebpage.cpp:

(QWebPage::swallowContextMenuEvent):
Update to use new names, access style.

../WebKit/win:

  • WebView.cpp:

(WebView::handleMouseEvent):
Update to use new names, access style.

../WebKit/wince:

  • WebView.cpp:

(WebView::handleMouseEvent):
Update to use new names, access style.

../WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::handleContextMenuEvent):
Update to use new names, access style.

7:42 PM Changeset in webkit [103296] by adamk@chromium.org
  • 12 edits in trunk/Source/WebCore

Remove unused ExceptionCode& argument from Element::setAttribute(QualifiedName)
https://bugs.webkit.org/show_bug.cgi?id=74740

Reviewed by Ryosuke Niwa.

Updated lots of callers to remove third argument. The list of changes
below only lists things other than updating callers.

  • dom/Document.cpp:

(WebCore::Document::importNode):

  • dom/Element.cpp:

(WebCore::Element::setAttribute):
(WebCore::Element::setAttributeNS):
(WebCore::Element::setIntegralAttribute):
(WebCore::Element::setUnsignedIntegralAttribute):

  • dom/Element.h: Removed third arg from method, removed old two-arg

overload which now has an identical signature.

  • editing/mac/EditorMac.mm: Updated caller and used

ASSERT_NO_EXCEPTION for nearby code.
(WebCore::styleForSelectionStart):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setContentEditable):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setAttributesAsText):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):

  • svg/SVGElement.idl: Removed 'setter raises(DOMException)'
  • svg/SVGGlyphRefElement.idl: ditto.
  • svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::setType):
(WebCore::SVGStyleElement::setMedia):
(WebCore::SVGStyleElement::setTitle):

  • xml/parser/XMLTreeBuilder.cpp:

(WebCore::XMLTreeBuilder::processAttributes):

7:36 PM Changeset in webkit [103295] by haraken@chromium.org
  • 8 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests results.

  • bindings/scripts/test/JS/JSFloat64Array.h:

(WebCore::JSFloat64Array::create):
(WebCore::JSFloat64ArrayPrototype::create):
(WebCore::JSFloat64ArrayConstructor::create):

  • bindings/scripts/test/JS/JSTestEventConstructor.h:

(WebCore::JSTestEventConstructor::create):
(WebCore::JSTestEventConstructorPrototype::create):
(WebCore::JSTestEventConstructorConstructor::create):

  • bindings/scripts/test/JS/JSTestInterface.h:

(WebCore::JSTestInterface::create):
(WebCore::JSTestInterfacePrototype::create):
(WebCore::JSTestInterfaceConstructor::create):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:

(WebCore::JSTestMediaQueryListListener::create):
(WebCore::JSTestMediaQueryListListenerPrototype::create):
(WebCore::JSTestMediaQueryListListenerConstructor::create):

  • bindings/scripts/test/JS/JSTestNamedConstructor.h:

(WebCore::JSTestNamedConstructor::create):
(WebCore::JSTestNamedConstructorPrototype::create):
(WebCore::JSTestNamedConstructorConstructor::create):
(WebCore::JSTestNamedConstructorNamedConstructor::create):

  • bindings/scripts/test/JS/JSTestObj.h:

(WebCore::JSTestObj::create):
(WebCore::JSTestObjPrototype::create):
(WebCore::JSTestObjConstructor::create):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:

(WebCore::JSTestSerializedScriptValueInterface::create):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):

7:16 PM Changeset in webkit [103294] by barraclough@apple.com
  • 9 edits
    3 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=74903
Exceptions not thrown correctly from DFG JIT on 32bit

Reviewed by Oliver Hunt.

Arguments for lookupExceptionHandler are not setup correctly.
In the case of ARMv7 we rely on lr being preserved over a call,
this in invalid. On x86 we don't should be poking the arguments onto the stack!

Source/JavaScriptCore:

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::bytecodeOffsetForCallAtIndex):

  • dfg/DFGAssemblyHelpers.h:

(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn):

  • dfg/DFGGPRInfo.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileBody):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::addExceptionCheck):
(JSC::DFG::JITCompiler::addFastExceptionCheck):

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

LayoutTests:

  • fast/js/dfg-exception-expected.txt: Added.
  • fast/js/dfg-exception.html: Added.
  • fast/js/script-tests/dfg-exception.js: Added.

(doesntDFGCompile):
(test):

6:54 PM Changeset in webkit [103293] by jamesr@google.com
  • 28 edits
    2 moves
    2 adds in trunk/Source

[chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
https://bugs.webkit.org/show_bug.cgi?id=74376

Reviewed by Kenneth Russell.

Source/WebCore:

CCLayerDelegate::notifySyncRequired is an odd bit of interface that we originally cargo-culted from the
CoreAnimation compositor implementation. It is a mechanism by which a LayerChromium instance may request a new
frame via its CCLayerDelegate, which in WebCore is always a GraphicsLayerClient. In practice, all
implementations eventually ended up routing to CCLayerTreeHost::setNeedsCommit which then made the proper
scheduling decision.

This patch routes all changes that would have gone through CCLayerDelegate::notifySyncRequired directly to
CCLayerTreeHost::setNeedsCommit, which greatly simplifies the scheduling logic.

There is a large amount of unit test coverage for this change, largely in LayerChromiumTest

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:
  • platform/graphics/chromium/GraphicsLayerChromium.h:
  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::setNeedsCommit):
(WebCore::LayerChromium::insertChild):

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

(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::setRootLayer):

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

(WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):

Source/WebKit/chromium:

WebLayerClient::notifyNeedsComposite() is an odd interface for the same reason that
CCLayerDelegate::notifySyncRequired() is - all scheduling decisions should route through the WebLayerTreeView,
not individual layers. In practice, all implementations of WebLayerClient::notifySyncRequired() do the exact
same thing as WebLayerTreeView::scheduleComposite(). This removes that callback, making WebLayerClient an empty
interface, and routes all calls that would go to that interface to WebLayerTreeView::scheduleComposite().

Once downstream implementations of WebLayerClient are removed, WebLayerClient.h and the constructors associated
with it can be deleted.

The bulk of the changes here are to the test harness. Many tests that were designed around notifySyncRequired()
are rewritten to check for CCLayerTreeHost::setNeedsCommit() or WebLayerTreeView::scheduleComposite() instead.
In a few instances, this required changing the setup logic around somewhat so that the layers being manipulated
were in a tree that initialized without errors.

  • WebKit.gypi:
  • public/platform/WebContentLayer.h:
  • public/platform/WebExternalTextureLayer.h:
  • public/platform/WebLayer.h:
  • public/platform/WebLayerClient.h:
  • src/WebContentLayer.cpp:

(WebKit::WebContentLayer::create):

  • src/WebContentLayerImpl.cpp:

(WebKit::WebContentLayerImpl::create):
(WebKit::WebContentLayerImpl::WebContentLayerImpl):

  • src/WebContentLayerImpl.h:
  • src/WebExternalTextureLayer.cpp:

(WebKit::WebExternalTextureLayer::create):

  • src/WebExternalTextureLayerImpl.cpp:

(WebKit::WebExternalTextureLayerImpl::create):
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):

  • src/WebExternalTextureLayerImpl.h:
  • src/WebLayer.cpp:

(WebKit::WebLayer::create):

  • src/WebLayerImpl.cpp:

(WebKit::WebLayerImpl::create):
(WebKit::WebLayerImpl::WebLayerImpl):

  • src/WebLayerImpl.h:
  • src/WebLayerTreeViewImpl.cpp:

(WebKit::WebLayerTreeViewImpl::create):
(WebKit::WebLayerTreeViewImpl::WebLayerTreeViewImpl):

  • src/WebLayerTreeViewImpl.h:
  • tests/CCLayerTreeHostTest.cpp:

(WTF::MockLayerTreeHost::create):
(WTF::MockLayerTreeHost::MockLayerTreeHost):
(WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
(WTF::CCLayerTreeHostTestScrollSimple::animateAndLayout):

  • tests/CompositorMockGraphicsContext3D.h: Added.

(WebCore::createCompositorMockGraphicsContext3D):

  • tests/CompositorMockWebGraphicsContext3D.h: Added.

(WebKit::CompositorMockWebGraphicsContext3D::create):
(WebKit::CompositorMockWebGraphicsContext3D::makeContextCurrent):
(WebKit::CompositorMockWebGraphicsContext3D::createProgram):
(WebKit::CompositorMockWebGraphicsContext3D::createShader):
(WebKit::CompositorMockWebGraphicsContext3D::getShaderiv):
(WebKit::CompositorMockWebGraphicsContext3D::getProgramiv):
(WebKit::CompositorMockWebGraphicsContext3D::CompositorMockWebGraphicsContext3D):

  • tests/LayerChromiumTest.cpp:
  • tests/MockWebGraphicsContext3D.h:

(WebKit::MockWebGraphicsContext3D::getContextAttributes):

  • tests/WebGLLayerChromiumTest.cpp:

(WebKit::TEST):

  • tests/WebLayerTest.cpp:

(testing::MockWebLayerTreeViewClient::animateAndLayout):
(testing::MockWebLayerTreeViewClient::applyScrollAndScale):
(testing::MockWebLayerTreeViewClient::createContext3D):
(testing::MockWebLayerTreeViewClient::didRebindGraphicsContext):
(testing::WebLayerTest::SetUp):
(testing::WebLayerTest::TearDown):
(testing::TEST_F):

6:42 PM Changeset in webkit [103292] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

If we detect that we can use the JIT, don't use computed opcode lookups
https://bugs.webkit.org/show_bug.cgi?id=74899
<rdar://problem/10604551>

Reviewed by Gavin Barraclough.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::Interpreter):
(JSC::Interpreter::initialize):
(JSC::Interpreter::privateExecute):

  • interpreter/Interpreter.h:

(JSC::Interpreter::getOpcode):
(JSC::Interpreter::getOpcodeID):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):

6:01 PM Changeset in webkit [103291] by commit-queue@webkit.org
  • 13 edits
    1 copy
    4 deletes in trunk/Source/WebCore

Merge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
https://bugs.webkit.org/show_bug.cgi?id=61144

Patch by Sailesh Agrawal <sail@chromium.org> on 2011-12-19
Reviewed by Beth Dakin.

At a high level the main changes are:

  • replace #ifdefs in ScrollAnimatorMac and ScrollbarThemeMac with run time checks
  • delete duplicate code in ScrollbarThemeChromiumMac. Keep the paint code since it does tickmarks and SKIA stuff.
  • delete ScrollAnimatorChromiumMac since ScrollAnimatorMac does the exact same thing
  • delete ScrollbarOverlayUtilitiesChromiumMac since NSScrollerImpDetails does the same thing

No new tests. Just refactoring.

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
  • platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
  • platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Removed.
  • platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Removed.
  • platform/chromium/ScrollbarThemeChromiumMac.h:
  • platform/chromium/ScrollbarThemeChromiumMac.mm:

(WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
(WebCore::scrollbarPainterPaintTrack):
(WebCore::ScrollbarThemeChromiumMac::paint):

  • platform/mac/EmptyProtocolDefinitions.h:
  • platform/mac/NSScrollerImpDetails.h:

(WebCore::isScrollbarOverlayAPIAvailable):

  • platform/mac/NSScrollerImpDetails.mm: Added.

(WebCore::isScrollbarOverlayAPIAvailable):
(WebCore::recommendedScrollerStyle):

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(scrollbarPainterForScrollbar):
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::notifyPositionChanged):
(WebCore::ScrollAnimatorMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
(WebCore::ScrollAnimatorMac::willStartLiveResize):
(WebCore::ScrollAnimatorMac::contentsResized):
(WebCore::ScrollAnimatorMac::willEndLiveResize):
(WebCore::ScrollAnimatorMac::contentAreaDidShow):
(WebCore::ScrollAnimatorMac::contentAreaDidHide):
(WebCore::ScrollAnimatorMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorMac::didEndScrollGesture):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::cancelAnimations):
(WebCore::ScrollAnimatorMac::setIsActive):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
(WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):

  • platform/mac/ScrollElasticityController.h:
  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm:

(+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
(+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
(WebCore::updateArrowPlacement):
(WebCore::ScrollbarThemeMac::registerScrollbar):
(WebCore::ScrollbarThemeMac::setIsCurrentlyDrawingIntoLayer):
(WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::hasButtons):
(WebCore::ScrollbarThemeMac::hasThumb):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::scrollbarPartToHIPressedState):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::scrollbarPainterPaint):
(WebCore::ScrollbarThemeMac::paint):

5:35 PM Changeset in webkit [103290] by jamesr@google.com
  • 15 edits in trunk

[chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
https://bugs.webkit.org/show_bug.cgi?id=74477

Reviewed by Kenneth Russell.

Source/WebCore:

This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
lazily setting it in the paintContents loop. There are two invariants:
1.) If a LayerChromium is the root layer of a CCLayerTreeHost, or is reachable via the children, mask, or
replica pointers from the root layer of a CCLayerTreeHost, then that LayerChromium's m_layerTreeHost pointer
refers to that CCLayerTreeHost
2.) If a LayerChromium is not a root layer or reachable from a root layer of any CCLayerTreeHost, its
CCLayerTreeHost pointer is nil.

Covered by several new layout tests in LayerChromiumTest

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::setLayerTreeHost):
(WebCore::LayerChromium::setParent):
(WebCore::LayerChromium::setMaskLayer):
(WebCore::LayerChromium::setReplicaLayer):

  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::createTile):

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

(WebCore::CCLayerTreeHost::setRootLayer):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):

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

Source/WebKit/chromium:

Add some new tests for LayerChromium::m_layerTreeHost behavior.

  • tests/CCLayerTreeHostTest.cpp:

(::MockLayerTreeHost::create):
(::MockLayerTreeHost::MockLayerTreeHost):
(::CCLayerTreeHostTestShortlived1::beginTest):
(::CCLayerTreeHostTestShortlived2::beginTest):
(::CCLayerTreeHostTestShortlived3::beginTest):

  • tests/LayerChromiumTest.cpp:

LayoutTests:

  • platform/chromium/test_expectations.txt:
5:16 PM Changeset in webkit [103289] by dpranke@chromium.org
  • 14 edits in trunk/Tools

webkitpy: remove port.executive, port.filesystem, port.user properties
https://bugs.webkit.org/show_bug.cgi?id=74896

Reviewed by Eric Seidel.

Following on the refactoring of the port and host objects, this
removes the public executive, filesystem, and user properties
from the Port interface (protected versions of executive and
filesystem still exist). There is still some more clean up to
make the code more consistent and rearrange some other files to
talk to Hosts directly instead of getting them off of the Port
class.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.init):
(Manager.results_directory):
(Manager._log_worker_stack):

  • Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:

(ManagerTest.test_fallback_path_in_config):

  • Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:

(_InlineManager.start_worker):
(_InlineWorkerConnection.init):

  • Scripts/webkitpy/layout_tests/controllers/worker.py:

(Worker.safe_init):

  • Scripts/webkitpy/layout_tests/models/test_configuration.py:

(TestConfiguration.from_port):

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

(Port.init):
(Port.tests):
(Port.show_results_html_file):

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

(PortTest.test_layout_tests_skipping):
(PortTest.test_test_dirs):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.init):

  • Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py:

(HtmlGenerator.init):
(HtmlGenerator.show_html):
(real_main):

  • Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests_unittest.py:

(TestHtmlGenerator.make_generator):

5:13 PM Changeset in webkit [103288] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit/efl

[EFL] Change the behavior of ewk_view_scale_set.
https://bugs.webkit.org/show_bug.cgi?id=70078

Reviewed by Eric Seidel.

Remove center point basis zoom alignment from ewk_view_scale_set to call
Page::setPageScaleFactor without any adjustment.

  • ewk/ewk_view.cpp:

(ewk_view_scale_set):

  • ewk/ewk_view.h:
5:13 PM Changeset in webkit [103287] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Try to fix the Qt build.

Unreviewed.

  • wtf/ThreadSpecific.h: #include!
5:11 PM Changeset in webkit [103286] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

It should be possible to change the value of an Options variable without recompiling the world
https://bugs.webkit.org/show_bug.cgi?id=74807

Reviewed by Gavin Barraclough.

  • runtime/Options.cpp:

(JSC::Options::initializeOptions):

  • runtime/Options.h:
5:06 PM Changeset in webkit [103285] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

Rebaseline results from https://bugs.webkit.org/show_bug.cgi?id=74870

Unreviewed; rebaseline only.

  • media/media-controller-playback-expected.txt:
5:03 PM Changeset in webkit [103284] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed, mark svg/filters/big-sized-filter.svg as slow in debug.

  • platform/chromium/test_expectations.txt:
4:57 PM Changeset in webkit [103283] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

IndexedDB multiple calls to transaction.objectStore(name) should return the same instance
https://bugs.webkit.org/show_bug.cgi?id=60208

Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-19
Reviewed by Tony Chang.

Source/WebCore:

Ditto for calls to IDBObjectStore.index(). Calling these methods after the
enclosing transaction has finished now consistently throws an error, which
allows us to break reference cycles.

Test: storage/indexeddb/mozilla/object-identity.html

  • storage/IDBDatabase.cpp:

(WebCore::IDBDatabase::createObjectStore):

  • storage/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::transactionFinished):

  • storage/IDBObjectStore.h:
  • storage/IDBTransaction.cpp:

(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::objectStoreCreated):
(WebCore::IDBTransaction::dispatchEvent):

  • storage/IDBTransaction.h:

LayoutTests:

  • storage/indexeddb/mozilla/object-identity-expected.txt: Added.
  • storage/indexeddb/mozilla/object-identity.html: Added.
  • storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
  • storage/indexeddb/transaction-and-objectstore-calls.html:
  • storage/indexeddb/tutorial.html:
4:52 PM Changeset in webkit [103282] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed, adding a bug number for svg/carto.net/selectionlist.svg.

  • platform/chromium/test_expectations.txt:
4:51 PM Changeset in webkit [103281] by jonlee@apple.com
  • 11 edits in trunk/Source/WebKit2

[WK2] Extend show notification API to include the source page
https://bugs.webkit.org/show_bug.cgi?id=74751
<rdar://problem/10514541>

Reviewed by John Sullivan.

We add the source page that dispatched the notification in the API for convenience. In order to include the page,
we move the show() message sent by WebNotificationManager from WebNotificationManagerProxy to WebPageProxy.

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::show): We aim the message at WebPageProxy instead of WebNotificationManagerProxy.

  • UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove the show() message.
  • UIProcess/WebPageProxy.messages.in: Add a showNotification() message.
  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::show): This function is now called from the WebPageProxy.

  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • UIProcess/API/C/WKNotificationProvider.h:
  • UIProcess/Notifications/WebNotificationProvider.cpp:

(WebKit::WebNotificationProvider::show):

  • UIProcess/Notifications/WebNotificationProvider.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showNotification):

  • UIProcess/WebPageProxy.h:
4:39 PM Changeset in webkit [103280] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Replace accidentally removed expectation in r103270.

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
4:31 PM Changeset in webkit [103279] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed, according to the flakiness dashboard,
fast/dom/Document/early-document-access.html consistently passes.

  • platform/chromium/test_expectations.txt:
4:12 PM Changeset in webkit [103278] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] QWebDownloadItems are leaking
https://bugs.webkit.org/show_bug.cgi?id=74618

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2011-12-19
Reviewed by Kenneth Rohde Christiansen.

QWebDownloadItems are leaking when WebProcess raises a
download failure before sending didReceiveResponse back to UIProcess.
This can happen when QtFileDownloader fails in determineFilename(), for instance.
It happens when QtDownloadManager::downloadFailed() is reached
and has an "empty" downloadItem, which means we never got to
QtDownloadManager::downloadReceivedResponse(). At this point
QQuickWebView::downloadRequested() signal hasn't been emitted and
the downloadItem will have null parent. Therefore, it will leak
unless we delete it ourselves.

  • UIProcess/qt/QtDownloadManager.cpp:

(WebKit::QtDownloadManager::downloadFailed):

3:53 PM Changeset in webkit [103277] by andersca@apple.com
  • 11 edits in trunk/Source

Send gesture events through the event dispatcher and scrolling coordinator
https://bugs.webkit.org/show_bug.cgi?id=74879

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in:

Export ScrollingCoordinator::handleGestureEvent.

  • page/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::handleGestureEvent):

  • page/ScrollingCoordinator.h:

Add handleGestureEvent stub.

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleGestureEvent):
Use the EventDispatcher message.

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::gestureEvent):
Try to send the event to the scrolling coordinator first before dispatching it on the main thread.

(WebKit::EventDispatcher::dispatchGestureEvent):
Just call through to the WebPageProxy.

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/EventDispatcher.messages.in:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Move the GestureEvent message from WebPage to EventDispatcher.

3:40 PM Changeset in webkit [103276] by dbates@webkit.org
  • 2 edits in trunk/Tools

Pass command line arguments to GDB when debugging a Mac WebKit application
https://bugs.webkit.org/show_bug.cgi?id=72829

Reviewed by David Kilzer.

Pass through any command line arguments given to debug-{safari, minibrowser}
to GDB so that they may influence the application instance launched by GDB.

  • Scripts/webkitdirs.pm:

(execMacWebKitAppForDebugging):

3:39 PM Changeset in webkit [103275] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[Qt] Setting QWebPreferences affect multiple WebViews
https://bugs.webkit.org/show_bug.cgi?id=71559

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2011-12-19
Reviewed by Kenneth Rohde Christiansen.

The QWebPreferences are per WebView, but the actual implementation
in WebKit2 make them per page group. Currently we share only one
page group between all the views, so if we set preferences
to one WebView the preferences are shared between them all, generating
unexpected behavior. This patch fixes this by making each WebView have
its own page group.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::QQuickWebViewPrivate):

  • UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
3:26 PM Changeset in webkit [103274] by haraken@chromium.org
  • 10 edits
    2 adds in trunk/Source/WebCore

Move WebAudio and WebSocket getters from JSDOMWindowCustom.cpp
to JSDOMWindow{WebAudio,WebSocket}Custom.cpp
https://bugs.webkit.org/show_bug.cgi?id=74841

Reviewed by Adam Barth.

This is the second step for bug 74599. We are planning to enable the [Supplemental]
IDL and modularize WebAudio and WebSocket on AppleWebKit. This patch moves
webkitAudioContext() and webSocket() from JSDOMWindowCustom.cpp to JSDOMWindowWebAudioCustom.cpp
and JSDOMWindowWebSocketCustom.cpp, for modularization.

Tests: Confirm that build succeeds.

http/tests/websocket/tests/*

  • GNUmakefile.list.am: Added JSDOMWindowWebAudioCustom.cpp and JSDOMWindowWebSocketCustom.cpp.
  • Target.pri: Ditto.
  • UseJSC.cmake: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSBindingsAllInOne.cpp: Ditto.
  • bindings/js/JSDOMWindowCustom.cpp: For now we do not remove settingsForWindow(),

webkitAudioContext() and webSocket(), since other build systems are still using them.
We will remove them after all build systems implement the [Supplemental] IDL.

  • bindings/js/JSDOMWindowWebAudioCustom.cpp: Added.

(WebCore::settingsForWindowWebAudio):
(WebCore::JSDOMWindow::webkitAudioContext):

  • bindings/js/JSDOMWindowWebSocketCustom.cpp: Added.

(WebCore::settingsForWindowWebSocket):
(WebCore::JSDOMWindow::webSocket):

  • bindings/scripts/CodeGeneratorJS.pm: Until we implement the [Supplemental] IDL

on all build systems, we need to temporarily allow two kinds of webkitAudioContext()
and webSocket().
(GenerateHeader):

3:10 PM Changeset in webkit [103273] by enne@google.com
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Add more using statements to (re)fix Chromium builders.

Unreviewed gardening.

  • tests/Canvas2DLayerChromiumTest.cpp:
3:03 PM Changeset in webkit [103272] by zmo@google.com
  • 8 edits in trunk

Postpone deleteRenderbuffer/deleteTexture until all framebuffer attachment points are removed.
https://bugs.webkit.org/show_bug.cgi?id=74741

Reviewed by Kenneth Russell.

Source/WebCore:

Use WebGLObject's attachment count mechanism to track if a renderbuffer/texture
is still attached to framebuffers, and if its deletion should be delated or not.

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
(WebCore::WebGLFramebuffer::getAttachment):
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
(WebCore::WebGLFramebuffer::deleteObjectImpl):
(WebCore::WebGLFramebuffer::isBound):

  • html/canvas/WebGLFramebuffer.h:

LayoutTests:

  • fast/canvas/webgl/object-deletion-behaviour-expected.txt:
  • fast/canvas/webgl/object-deletion-behaviour.html: synced with khronos side.
2:51 PM Changeset in webkit [103271] by enne@google.com
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Fix win builder due to more NotNull ambiguity errors.

Unreviewed gardening.

  • tests/Canvas2DLayerChromiumTest.cpp:
2:37 PM Changeset in webkit [103270] by enne@google.com
  • 8 edits in trunk/LayoutTests

[chromium] Rebaseline table-cell-collapsed-border after r103251.

Unreviewed gardening.

mwenge asked for this test to be rebaselined. Also, marking a failing
border-conflict-element-001d failure on CG only as WONTFIX, as
Chromium's CG configurations are going away soon.

  • platform/chromium-cg-mac-leopard/fast/repaint/table-cell-collapsed-border-expected.png:
  • platform/chromium-cg-mac-snowleopard/fast/repaint/table-cell-collapsed-border-expected.png:
  • platform/chromium-linux/fast/repaint/table-cell-collapsed-border-expected.png:
  • platform/chromium-mac-leopard/fast/repaint/table-cell-collapsed-border-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/table-cell-collapsed-border-expected.png:
  • platform/chromium-win/fast/repaint/table-cell-collapsed-border-expected.png:
  • platform/chromium/test_expectations.txt:
2:31 PM Changeset in webkit [103269] by kerz@chromium.org
  • 2 edits in branches/chromium/963/Source/WebCore

Merge 102519 - WebPImageDecoder progressive decodes fail to decode valid images
https://bugs.webkit.org/show_bug.cgi?id=74062

Reviewed by Adam Barth.

The WEBP header is followed by a so-called P0 header, then some data to
decode. If a partial P0 header is received during progressive decodes,
WebPIDecGetRGB() returns false; that makes the decoder enter the failed
state, no image appears on the page.

James Zern (webp) recommended the following via e-mail:

WebPIUpdate() validates input data, and will return an error status for
malformed data (bit-stream error, invalid data). Otherwise, it returns
OK or SUSPENDED. OK means that decoding is done/complete/no-error, and
SUSPENDED means more input data is needed to complete decoding. A NULL
return from WebPIDecGetRGB() is valid at this time due to a partial P0,
and should not be interpreted as a decoding failure.

No new tests. Not something DumpRenderTree can easily test.

  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::decode): A NULL WebPIDecGetRGB() return is
acceptable here. Return false instead of failing the decoder.

TBR=noel.gordon@gmail.com
Review URL: http://codereview.chromium.org/8992026

2:30 PM BuildingQtOnLinux edited by Csaba Osztrogonác
(diff)
2:29 PM Changeset in webkit [103268] by kerz@chromium.org
  • 2 edits in branches/chromium/963/Source/WebCore

Merge 102310 - WebPImageDecoder should not do a full image decode if progressive decoding is active
https://bugs.webkit.org/show_bug.cgi?id=74041

Reviewed by Adam Barth.

If the decoder input data state reaches allDataReceived during a progressive image
decode, the decoder performs a full image decode.

On allDataReceived, check if we already have a decoder, and if so, continue to run
the progressive decoder.

No new tests. No change in behavior.

  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::decode):

TBR=noel.gordon@gmail.com
Review URL: http://codereview.chromium.org/8974025

2:23 PM Changeset in webkit [103267] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed, according to the flakiness dashboard,
fast/body-propagation/overflow/003-xhtml.xhtml consistently passes.

  • platform/chromium/test_expectations.txt:
2:17 PM Changeset in webkit [103266] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt-wk2/Skipped: Unskip now passing tests.
2:14 PM Changeset in webkit [103265] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed, according to the flakiness dashboard,
http/tests/security/mixedContent/insecure-css-in-main-frame.html
consistently passes.

  • platform/chromium/test_expectations.txt:
1:45 PM Changeset in webkit [103264] by commit-queue@webkit.org
  • 11 edits
    1 add in trunk/Source

[chromium] Accelerated canvas broken in threaded compositing mode
https://bugs.webkit.org/show_bug.cgi?id=72738

We were flushing the Skia canvas in updateCompositorResources, which
is illegal as it runs on the wrong thread. Moved to paintContentsIfDirty
instead. For correct rendering on the compositor thread, we make a copy
of the canvas texture in updateCompositorResources.

Removed m_textureId and pushPropertiesTo from CanvasLayerChromium, as
it's no longer common between Canvas2DLayerChromium and
WebGLLayerChromium. WebGL changes do not change functionality.

Patch by Iain Merrick <husky@google.com> on 2011-12-19
Reviewed by James Robinson.

Source/WebCore:

  • platform/graphics/chromium/Canvas2DLayerChromium.cpp:

(WebCore::Canvas2DLayerChromium::create):
(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::setTextureId):
(WebCore::Canvas2DLayerChromium::contentChanged):
(WebCore::Canvas2DLayerChromium::drawsContent):
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
(WebCore::Canvas2DLayerChromium::setLayerTreeHost):
(WebCore::Canvas2DLayerChromium::setTextureManager):
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
(WebCore::Canvas2DLayerChromium::pushPropertiesTo):
(WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
(WebCore::Canvas2DLayerChromium::cleanupResources):

  • platform/graphics/chromium/Canvas2DLayerChromium.h:
  • platform/graphics/chromium/CanvasLayerChromium.cpp:

(WebCore::CanvasLayerChromium::CanvasLayerChromium):

  • platform/graphics/chromium/CanvasLayerChromium.h:
  • platform/graphics/chromium/WebGLLayerChromium.cpp:

(WebCore::WebGLLayerChromium::WebGLLayerChromium):
(WebCore::WebGLLayerChromium::pushPropertiesTo):

  • platform/graphics/chromium/WebGLLayerChromium.h:

(WebCore::WebGLLayerChromium::textureId):
(WebCore::WebGLLayerChromium::setTextureId):

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

(WebCore::CCCanvasLayerImpl::textureId):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::createAcceleratedCanvas):

Source/WebKit/chromium:

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

(WebCore::Canvas2DLayerChromiumTest::setTextureManager):

1:42 PM Changeset in webkit [103263] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Chromium DEPS from 114686 to 115012.

  • DEPS:
1:40 PM Changeset in webkit [103262] by reed@google.com
  • 6 edits in trunk/Source/WebCore

[skia] cache typeface in FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=74415

Reviewed by Stephen White.

No new tests. optimization only, existing tests in play

  • platform/graphics/chromium/FontChromiumWin.cpp:

(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
(WebCore::Font::drawGlyphs):

  • platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:

(WebCore::CreateTypefaceFromHFont):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::~FontPlatformData):

  • platform/graphics/chromium/FontPlatformDataChromiumWin.h:

(WebCore::FontPlatformData::typeface):
(WebCore::FontPlatformData::lfQuality):
(WebCore::FontPlatformData::hash):

  • platform/graphics/skia/SkiaFontWin.cpp:

(WebCore::setupPaintForFont):
(WebCore::paintSkiaText):

  • platform/graphics/skia/SkiaFontWin.h:
1:28 PM Changeset in webkit [103261] by dpranke@chromium.org
  • 2 edits in trunk/Tools

webkitpy: remove executive,filesystem,user parameters from Port constructor
https://bugs.webkit.org/show_bug.cgi?id=74878

Reviewed by Eric Seidel.

This change concludes the refactoring that makes Host a required
parameter for Port and ensures that all access to filesystem,
executives, etc. is going through the Host.

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

(Port.init):

1:16 PM Changeset in webkit [103260] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark all the media-controller-playback tests as failing.

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
1:06 PM Changeset in webkit [103259] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark unreachable-overflow-rtl-bug as failing after r103245.
https://bugs.webkit.org/show_bug.cgi?id=74881

Unreviewed gardening.

Also, make expectation file pass linting.

  • platform/chromium/test_expectations.txt:
1:01 PM Changeset in webkit [103258] by tommyw@google.com
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] MediaStream API: Fixing memory leak in WebMediaStreamSource
https://bugs.webkit.org/show_bug.cgi?id=74714

Reviewed by Eric Seidel.

Missed that PassRefPtr does a ref if constructed with a raw pointer.
Also removed an extra space in WebMediaStreamDescriptor.cpp.

  • src/WebMediaStreamDescriptor.cpp:

(WebKit::WebMediaStreamDescriptor::sources):

  • src/WebMediaStreamSource.cpp:

(WebKit::WebMediaStreamSource::operator=):

12:55 PM Changeset in webkit [103257] by robert@webkit.org
  • 5 edits in trunk/LayoutTests

Update suppressions for r103251

Unreviewed, expectaions update - missed suppressing a few of the border conflict tests that need rebaselining.

  • platform/chromium/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/test_expectations.txt:
  • platform/qt/test_expectations.txt:
12:45 PM Changeset in webkit [103256] by enne@google.com
  • 2 edits in trunk/Source/WebKit/chromium

Try to fix the Chromium win builder NotNull conflict.

Unreviewed gardening.

  • tests/MockGraphicsContext3DTest.cpp:
12:22 PM Changeset in webkit [103255] by commit-queue@webkit.org
  • 9 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r103250.
http://trac.webkit.org/changeset/103250
https://bugs.webkit.org/show_bug.cgi?id=74877

it still breaks codegen (Requested by olliej on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-19

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGNode.h:
  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::propagateArithNodeFlags):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::byValIsPure):
(JSC::DFG::Propagator::clobbersWorld):
(JSC::DFG::Propagator::getByValLoadElimination):
(JSC::DFG::Propagator::checkStructureLoadElimination):
(JSC::DFG::Propagator::getByOffsetLoadElimination):
(JSC::DFG::Propagator::getPropertyStorageLoadElimination):
(JSC::DFG::Propagator::getIndexedPropertyStorageLoadElimination):
(JSC::DFG::Propagator::performNodeCSE):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

12:22 PM Changeset in webkit [103254] by dpranke@chromium.org
  • 9 edits in trunk/Tools

webkitpy: finish refactoring port classes to make a host mandatory
https://bugs.webkit.org/show_bug.cgi?id=74566

Reviewed by Eric Seidel.

This change makes all Port objects take a required (System)Host
parameter, and updates the TestPort object to no longer create a
mock filesystem or add files to the existing filesystem by
default.

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

(Port.init):

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

(PortFactory.init):
(PortFactory._get_kwargs):

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

(TestInstance.init):
(TestPort.init):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(passing_run):
(logging_run):
(get_tests_run):
(MainTest.test_single_file):
(MainTest.test_stderr_is_saved):
(MainTest.test_test_list):
(MainTest.test_test_list_with_prefix):
(MainTest.test_missing_and_unexpected_results):
(MainTest.test_missing_and_unexpected_results_with_custom_exit_code):
(MainTest.test_crash_with_stderr):
(MainTest.test_no_image_failure_with_image_diff):
(MainTest.test_crash_log):
(MainTest.test_web_process_crash_log):
(MainTest.test_exit_after_n_failures_upload):
(MainTest.test_results_directory_absolute):
(MainTest.test_results_directory_relative):
(MainTest.test_retries_directory):
(MainTest.test_tolerance.get_port_for_run):
(MainTest.test_reftest_should_not_use_naming_convention_if_not_listed_in_reftestlist):
(EndToEndTest.test_end_to_end):
(EndToEndTest.test_reftest_with_two_notrefs):
(RebaselineTest.test_reset_results):
(RebaselineTest.test_missing_results):
(RebaselineTest.test_new_baseline):

  • Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py:

(Rebaseliner.init):
(main):
(real_main):

  • Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests_unittest.py:

(test_host_port_and_filesystem):
(TestRebaseliner.make_rebaseliner):
(TestRealMain.test_all_platforms):
(TestHtmlGenerator.make_generator):

12:04 PM Changeset in webkit [103253] by dpranke@chromium.org
  • 14 edits in trunk/Tools

webkitpy: update unit tests in preparation for making host a mandatory parameter to Port objects
https://bugs.webkit.org/show_bug.cgi?id=74562

Reviewed by Eric Seidel.

Apart from a minor change to style/checkers/test_expectations.py
to take a host as a parameter to a TestExpectationsChecker(),
there are only refactoring changes to unit tests here.

  • Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py:

(TestResultWriterTest.test_reftest_diff_image):

  • Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:

(JSONGeneratorTest._test_json_generation):
(JSONGeneratorTest.test_test_timings_trie):

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:

(Base.init):

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

(PortTest.make_port):
(PortTest.test_layout_tests_skipping):
(PortTest.test_test_dirs):
(PortTest.test_additional_platform_directory):
(PortTest.test_uses_test_expectations_file):
(PortTest.test_find_no_paths_specified):
(PortTest.test_find_one_test):
(PortTest.test_find_glob):
(PortTest.test_find_with_skipped_directories):
(PortTest.test_find_with_skipped_directories_2):
(PortTest.test_parse_reftest_list):

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

(DryRunPort.init):

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

(FactoryTest.setUp):
(FactoryTest.tearDown):
(FactoryTest.assert_port):
(FactoryTest.assert_platform_port):
(FactoryTest.test_unknown_specified):
(FactoryTest.test_unknown_default):

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

(GetGoogleChromePortTest._verify_expectations_overrides):

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

(MockDRTPortTest.make_port):
(MockDRTTest.assertTest):
(MockDRTTest.test_main):
(MockChromiumDRTTest.test_pixeltestfails):

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

(QtPortTest._assert_search_path):

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

(TestWebKitPort.init):
(WebKitPortTest.test_skipped_directories_for_symbols):
(test_skipped_directories_for_features):
(test_skipped_layout_tests):
(test_skipped_file_search_paths):
(test_root_option):
(test_test_expectations):
(test_build_driver):
(test_linux_distro_detection):
(test_apache_config_file_name_for_platform):
(test_path_to_apache_config_file):
(WebKitDriverTest.test_read_block):

  • Scripts/webkitpy/style/checkers/test_expectations.py:

(TestExpectationsChecker.init):

  • Scripts/webkitpy/style/checkers/test_expectations_unittest.py:

(TestExpectationsTestCase._expect_port_for_expectations_path):
(TestExpectationsTestCase.assert_lines_lint):

  • Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:

(get_test_config.TestMacPort):

12:00 PM Changeset in webkit [103252] by kubo@profusion.mobi
  • 3 edits in trunk/Source/WebKit/efl

Unreviewed; fix the build with ENABLE(TOUCH_EVENTS) after r103167.

This partly reverts r102297: the Touch{Start,Move,End,Cancel} events
are not in a separate enum anymore (they are part of
WebCore::PlatformEvent), so the assertions in AssertMatchingEnums.cpp
always fail. Setting EWK_TOUCH_START to TouchStart feels even more
hackish, so we just convert the types manually again for now.

  • WebCoreSupport/AssertMatchingEnums.cpp:
  • ewk/ewk_frame.cpp:

(ewk_frame_feed_touch_event):

11:49 AM Changeset in webkit [103251] by robert@webkit.org
  • 57 edits
    88 adds in trunk

CSS 2.1 failure: border-conflict-element-*
https://bugs.webkit.org/show_bug.cgi?id=71244

Reviewed by Darin Adler.

Source/WebCore:

From http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution :

"When two adjacent cells have the same border-width and the same border-style in a

'border-collapse: collapse' table, then the color of the border from the leftmost cell wins
(if the table's 'direction' is 'ltr'; right, if it is 'rtl') and the color of the border
from the topmost cell wins."

RenderTable manages collapsed borders by first creating a list of unique border values sorted in ascending
priority. A unique border value is determined by style, width and color and cell-type precedence. For each
entry in this list RenderTableSection paints each cell in its section starting at the top-left. If a cell
is using the border RenderTable is currently iterating for, the cell will paint that border.

The problems with this approach are:

  1. Painting cells from the top-left to the bottom-right means that borders further to the right and to the bottom of the table will paint over those further to the left and the top, breaking the precedence due to cell position.
  2. It creates more unique borders in the list than necessary. Borders that differ only on color do not need to be painted in a separate iteration. Precedence in such cases is determined by cell position.

So in order to respect cell position when painting collapsed borders:

  1. RenderTableCell now treats borders with the same style, width and precedence as equal. This results in a performance improvement on tables where collapsed borders differ only in color, since RenderTable is no longer painting every cell in the table for each unique collapsed border color. It also allows color to be a function of cell position rather than border type.
  2. RenderTableSection now paints collapsed borders separately from cells and from the bottom-right to the top-left instead of top-left to bottom-right. If a collapsed border has precedence due to style, width or cell-group-type it will still be respected but precedence due to color is enforced by painting cells nearer to the top and left *after* cells nearer to the bottom and right.

The order in which collapsed borders paint over each other in the same cell has not changed. Unlike Firefox,
WebKit does not attempt render them as diagonals or attempt to give borders on the edge of the table precedence
so that grooved and ridged styles have a smooth edge all round the table.

This fixes the following failing tests from the border-conflict-element-* set
in the CSS 2.1 test suite:

border-conflict-element-001d.htm
border-conflict-element-0037.htm
border-conflict-element-0038.htm

One test in the suite is known to be wrong, so a corrected version has been landed outside the
css2.1 folder:

border-conflict-element-002.htm

This change entails rebaselining quite a few tests, see the LayoutTests ChangeLog for a full
explanation of the rebaselines.

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paint):
(WebCore::addBorderStyle):
(WebCore::compareBorderValuesForQSort):
(WebCore::RenderTableCell::paintCollapsedBorders):

  • rendering/RenderTableCell.h:
  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::paintCell):
(WebCore::RenderTableSection::paintObject):

  • rendering/style/CollapsedBorderValue.h:

(WebCore::CollapsedBorderValue::isSameIgnoringColor):

LayoutTests:

Add all the passing border-conflict-element* tests from the CSS 2.1 test suite.

Add a corrected version of the CSS suite test border-conflict-element-002.htm, which can sit here until

the corrected version is landed upstream. See http://lists.w3.org/Archives/Public/public-css-testsuite/2011Nov/0002.html

Rebaseline all t170602-bdr-conflct-w-* tests. The rendering of the collapsed borders in these

tests now obeys the order of precedence for the position of the cell and the precendece of the position
of the borders within the same cell.

Rebaseline two border-conflict-style-* tests: ditto

Rebaseline fast/borders/border-antialiasing.html, the result is too small to confirm the difference but

presume it is one of the above.

Rebaseline floating-replaced-height-008.html as the support file it uses is added by this patch (in order to

support border-conflict-element-001d.htm).

  • css2.1/20110323/border-conflict-element-001-expected.html: Added.
  • css2.1/20110323/border-conflict-element-001.htm: Added.
  • css2.1/20110323/border-conflict-element-001d-expected.html: Added.
  • css2.1/20110323/border-conflict-element-001d.htm: Added.
  • css2.1/20110323/border-conflict-element-003-expected.html: Added.
  • css2.1/20110323/border-conflict-element-003.htm: Added.
  • css2.1/20110323/border-conflict-element-004-expected.html: Added.
  • css2.1/20110323/border-conflict-element-004.htm: Added.
  • css2.1/20110323/border-conflict-element-005-expected.html: Added.
  • css2.1/20110323/border-conflict-element-005.htm: Added.
  • css2.1/20110323/border-conflict-element-006-expected.html: Added.
  • css2.1/20110323/border-conflict-element-006.htm: Added.
  • css2.1/20110323/border-conflict-element-007-expected.html: Added.
  • css2.1/20110323/border-conflict-element-007.htm: Added.
  • css2.1/20110323/border-conflict-element-008-expected.html: Added.
  • css2.1/20110323/border-conflict-element-008.htm: Added.
  • css2.1/20110323/border-conflict-element-009-expected.html: Added.
  • css2.1/20110323/border-conflict-element-009.htm: Added.
  • css2.1/20110323/border-conflict-element-010-expected.html: Added.
  • css2.1/20110323/border-conflict-element-010.htm: Added.
  • css2.1/20110323/border-conflict-element-011-expected.html: Added.
  • css2.1/20110323/border-conflict-element-011.htm: Added.
  • css2.1/20110323/border-conflict-element-012-expected.html: Added.
  • css2.1/20110323/border-conflict-element-012.htm: Added.
  • css2.1/20110323/border-conflict-element-013-expected.html: Added.
  • css2.1/20110323/border-conflict-element-013.htm: Added.
  • css2.1/20110323/border-conflict-element-014-expected.html: Added.
  • css2.1/20110323/border-conflict-element-014.htm: Added.
  • css2.1/20110323/border-conflict-element-015-expected.html: Added.
  • css2.1/20110323/border-conflict-element-015.htm: Added.
  • css2.1/20110323/border-conflict-element-016-expected.html: Added.
  • css2.1/20110323/border-conflict-element-016.htm: Added.
  • css2.1/20110323/border-conflict-element-017-expected.html: Added.
  • css2.1/20110323/border-conflict-element-017.htm: Added.
  • css2.1/20110323/border-conflict-element-018-expected.html: Added.
  • css2.1/20110323/border-conflict-element-018.htm: Added.
  • css2.1/20110323/border-conflict-element-019-expected.html: Added.
  • css2.1/20110323/border-conflict-element-019.htm: Added.
  • css2.1/20110323/border-conflict-element-020-expected.html: Added.
  • css2.1/20110323/border-conflict-element-020.htm: Added.
  • css2.1/20110323/border-conflict-element-021-expected.html: Added.
  • css2.1/20110323/border-conflict-element-021.htm: Added.
  • css2.1/20110323/border-conflict-element-022-expected.html: Added.
  • css2.1/20110323/border-conflict-element-022.htm: Added.
  • css2.1/20110323/border-conflict-element-023-expected.html: Added.
  • css2.1/20110323/border-conflict-element-023.htm: Added.
  • css2.1/20110323/border-conflict-element-024-expected.html: Added.
  • css2.1/20110323/border-conflict-element-024.htm: Added.
  • css2.1/20110323/border-conflict-element-025-expected.html: Added.
  • css2.1/20110323/border-conflict-element-025.htm: Added.
  • css2.1/20110323/border-conflict-element-026-expected.html: Added.
  • css2.1/20110323/border-conflict-element-026.htm: Added.
  • css2.1/20110323/border-conflict-element-027-expected.html: Added.
  • css2.1/20110323/border-conflict-element-027.htm: Added.
  • css2.1/20110323/border-conflict-element-028-expected.html: Added.
  • css2.1/20110323/border-conflict-element-028.htm: Added.
  • css2.1/20110323/border-conflict-element-029-expected.html: Added.
  • css2.1/20110323/border-conflict-element-029.htm: Added.
  • css2.1/20110323/border-conflict-element-030-expected.html: Added.
  • css2.1/20110323/border-conflict-element-030.htm: Added.
  • css2.1/20110323/border-conflict-element-031-expected.html: Added.
  • css2.1/20110323/border-conflict-element-031.htm: Added.
  • css2.1/20110323/border-conflict-element-032-expected.html: Added.
  • css2.1/20110323/border-conflict-element-032.htm: Added.
  • css2.1/20110323/border-conflict-element-033-expected.html: Added.
  • css2.1/20110323/border-conflict-element-033.htm: Added.
  • css2.1/20110323/border-conflict-element-034-expected.html: Added.
  • css2.1/20110323/border-conflict-element-034.htm: Added.
  • css2.1/20110323/border-conflict-element-035-expected.html: Added.
  • css2.1/20110323/border-conflict-element-035.htm: Added.
  • css2.1/20110323/border-conflict-element-036-expected.html: Added.
  • css2.1/20110323/border-conflict-element-036.htm: Added.
  • css2.1/20110323/border-conflict-element-037-expected.html: Added.
  • css2.1/20110323/border-conflict-element-037.htm: Added.
  • css2.1/20110323/border-conflict-element-038-expected.html: Added.
  • css2.1/20110323/border-conflict-element-038.htm: Added.
  • css2.1/20110323/border-conflict-element-039-expected.html: Added.
  • css2.1/20110323/border-conflict-element-039.htm: Added.
  • css2.1/20110323/support/swatch-blue.png: Added.
  • css2.1/20110323/support/swatch-green.png: Added.
  • css2.1/20110323/support/swatch-lime.png: Added.
  • css2.1/20110323/support/swatch-orange.png: Added.
  • css2.1/20110323/support/swatch-red.png: Added.
  • css2.1/20110323/support/swatch-teal.png: Added.
  • css2.1/20110323/support/swatch-white.png: Added.
  • css2.1/20110323/support/swatch-yellow.png: Added.
  • fast/css/border-conflict-element-002-expected.html: Added.
  • fast/css/border-conflict-element-002.htm: Added.
  • platform/chromium-linux/css2.1/20110323/border-conflict-style-079-expected.png:
  • platform/chromium-linux/css2.1/20110323/floating-replaced-height-008-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-05-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-06-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-07-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-08-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-15-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-16-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-17-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-18-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-51-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-52-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-53-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-54-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-55-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-56-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-57-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-58-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-59-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-61-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-62-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-63-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-64-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-65-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-66-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-67-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-68-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-69-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-71-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-72-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-73-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-74-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-75-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-76-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-77-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-78-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-79-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-81-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-82-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-83-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-84-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-85-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-86-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-87-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-88-d-expected.png:
  • platform/chromium-linux/css2.1/t170602-bdr-conflct-w-89-d-expected.png:
  • platform/chromium-linux/fast/borders/border-antialiasing-expected.png:
11:36 AM Changeset in webkit [103250] by oliver@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Rolling r103120 back in with merge errors corrected.

11:15 AM Changeset in webkit [103249] by jer.noble@apple.com
  • 6 edits in trunk

MediaController: cannot scrub while playing.
https://bugs.webkit.org/show_bug.cgi?id=74870
rdar://problem/10602037

Reviewed by Eric Carlson.

Source/WebCore:

Updated media/media-controller-playback.html test.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setController): Change order of operations; set the controllers media

element before passing controller to the controls.

  • html/MediaController.cpp:

(MediaController::updatePlaybackState): Stop the playback clock when WAITING or ENDED.
(MediaController::beginScrubbing): Stop the playback clock.
(MediaController::endScrubbing): Restart (if necessary) the playback clock.
(MediaController::canPlay): Return true if paused.

  • platform/mac/PlatformClockCA.cpp:

(PlatformClockCA::setCurrentTime): Stop the CAClock before changing the current time.

LayoutTests:

  • media/media-controller-playback.html:
10:37 AM Changeset in webkit [103248] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark more worker tests as being flaky crashers
https://bugs.webkit.org/show_bug.cgi?id=74746

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
10:35 AM Changeset in webkit [103247] by abarth@webkit.org
  • 6 edits in trunk

We don't pass all of the html5lib unsafe-text.dat tests
https://bugs.webkit.org/show_bug.cgi?id=74825

Reviewed by Eric Seidel.

Source/WebCore:

This patch is actually three (tiny) related patches. Together these
changes cause use to pass the plain-text-unsafe.dat tests from html5lib.

Tests: html5lib/runner.html

  • html/parser/HTMLTokenizer.cpp:

(WebCore::::shouldSkipNullCharacters):

  • We're not supposed to skip null characters in the PLAINTEXTState. This might cause compatibility problems with text/plain documents that contains NUL characters because we use the PLAINTEXTState to parse them. If we run into any trouble, it's easy to fix in TextDocumentParser.
  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::constructTreeFromToken):

  • Fix typo.

(WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):

  • We're supposed to replace NUL characters if the next character token if we're in foreign content. The previous check didn't quite get this case correctly.

(WebCore::HTMLTreeBuilder::processTokenInForeignContent):

  • Now that we replace NUL characters with the replacement character, we need to be more careful about the fact that replacement characters don't flip m_framesetOk to false. Note: This new check matches the check for non-foreign content.

LayoutTests:

Show test progression.

  • html5lib/runner-expected.txt:
  • platform/chromium/html5lib/runner-expected.txt:
10:30 AM Changeset in webkit [103246] by abarth@webkit.org
  • 14 edits in trunk

WebKit should support HTML entities that expand to more than one character
https://bugs.webkit.org/show_bug.cgi?id=74826

Reviewed by Darin Adler.

Source/WebCore:

Tests: html5lib/runner.html

  • html/parser/HTMLEntityNames.in:
    • Add missing HTML entities from HTML5 spec. I'll sort this file in a followup patch. (It's not quite sorted perfectly and sorting in this patch would introduce noise into the patch.)
  • html/parser/HTMLEntityParser.cpp:

(WebCore::decodeNamedEntity):

  • convertToUTF16 always returns true, so make it return void instead.
  • Teach the entity parse that some entities expand to two characters.
  • html/parser/HTMLEntityParser.h:
    • Add a warning that decodeNamedEntity is really a broken API.
    • This patch doesn't actually change any behavior of this API, but it does illustrate that the two callers of this API (the two XML parsers) really need to move a more sensible API.
  • html/parser/HTMLEntitySearch.cpp:

(WebCore::HTMLEntitySearch::HTMLEntitySearch):
(WebCore::HTMLEntitySearch::advance):

  • html/parser/HTMLEntitySearch.h:

(WebCore::HTMLEntitySearch::fail):

  • Remove the concept of currentValue. This isn't really used for anything and conflicts with the idea that entities can expand to more than one character.
  • html/parser/HTMLEntityTable.h:
    • Add storage for two UChar32 values per entity.
  • html/parser/create-html-entity-table:

(convert_value_to_int):

  • Teach this script to handle entities that expand to multiple Unicode characters.
  • xml/parser/CharacterReferenceParserInlineMethods.h:

(WebCore::consumeCharacterReference):

  • Update this function now that convertToUTF16 returns void.
  • xml/parser/XMLCharacterReferenceParser.cpp:
    • The XML version of convertToUTF16 also needs to return void to match the HTML signature. (It used to return true all the time as well.)
  • xml/parser/XMLTreeBuilder.cpp:

(WebCore::XMLTreeBuilder::processHTMLEntity):

  • Update this caller use leftValue instead of value. My sense is that this code is moderately broken today because it's using HTML entities in parsing XML. I've added a FIXME. This code is disabled in all builds, so I don't feel a big need to fix this issue in this patch. We should either finish this project or delete this complexity from the project.

LayoutTests:

Show test progression.

  • html5lib/runner-expected.txt:
  • platform/chromium/html5lib/runner-expected.txt:
10:11 AM Changeset in webkit [103245] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

Avoid instantiating ScrollAnimators when possible.
<http://webkit.org/b/74830>

Reviewed by Beth Dakin.

Have RenderLayer::scrollToOffset() check if we're scrolling to the already
current offset. In that case, don't call down to scrollToOffsetWithoutAnimation(),
avoiding the instantiation of a ScrollAnimator.

This reduces memory consumption by 400 kB (on 32-bit) when viewing the full HTML5
spec on <http://whatwg.org/c>, since we were creating a ScrollAnimator for every
single RenderLayer.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollToOffset):

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

[BlackBerry] remove one file related to multipart from the BlackBerry build system
https://bugs.webkit.org/show_bug.cgi?id=74839

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2011-12-19
Reviewed by Daniel Bates.

After refactored multipart, the code of MultipartResponseDelegate have been moved
out of WebCore, we do not need to upstream MultipartResponseDelegate any more.
So remove it from PlatformBlackBerry.cmake to update build system.

  • PlatformBlackBerry.cmake:
9:45 AM Changeset in webkit [103243] by ggaren@apple.com
  • 112 edits in trunk/Source

Placement new does an unnecessary NULL check
https://bugs.webkit.org/show_bug.cgi?id=74676

Reviewed by Sam Weinig.

Source/JavaScriptCore:

We can define our own version, which skips the NULL check.

Not a measurable speedup, but code inspection shows better code generated,
and I believe this is a step toward turning off -fomit-frame-pointer.

  • API/JSCallbackConstructor.h:

(JSC::JSCallbackConstructor::create):

  • API/JSCallbackFunction.h:

(JSC::JSCallbackFunction::create): Use the NotNull version of placement
new to skip the NULL check.

  • API/JSCallbackObject.h: Removed a conflicting, unnecessaray placement new.

(JSC::JSCallbackObject::create):

  • debugger/DebuggerActivation.h:

(JSC::DebuggerActivation::create):

  • heap/HandleHeap.cpp:

(JSC::HandleHeap::grow):

  • heap/HandleHeap.h:

(JSC::HandleHeap::allocate):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::create):
(JSC::MarkedBlock::recycle):

  • jit/JITCode.h:

(JSC::JITCode::clear):

  • jsc.cpp:

(GlobalObject::create):

  • profiler/CallIdentifier.h:
  • runtime/Arguments.h:

(JSC::Arguments::create):

  • runtime/ArrayConstructor.h:

(JSC::ArrayConstructor::create):

  • runtime/ArrayPrototype.h:

(JSC::ArrayPrototype::create):

  • runtime/BooleanConstructor.h:

(JSC::BooleanConstructor::create):

  • runtime/BooleanObject.h:

(JSC::BooleanObject::create):

  • runtime/BooleanPrototype.h:

(JSC::BooleanPrototype::create):

  • runtime/DateConstructor.h:

(JSC::DateConstructor::create):

  • runtime/DateInstance.h:

(JSC::DateInstance::create):

  • runtime/DatePrototype.h:

(JSC::DatePrototype::create):

  • runtime/Error.h:

(JSC::StrictModeTypeErrorFunction::create):

  • runtime/ErrorConstructor.h:

(JSC::ErrorConstructor::create):

  • runtime/ErrorInstance.h:

(JSC::ErrorInstance::create):

  • runtime/ErrorPrototype.h:

(JSC::ErrorPrototype::create):

  • runtime/ExceptionHelpers.h:

(JSC::InterruptedExecutionError::create):
(JSC::TerminatedExecutionError::create):

  • runtime/Executable.h:

(JSC::NativeExecutable::create):
(JSC::EvalExecutable::create):
(JSC::ProgramExecutable::create):
(JSC::FunctionExecutable::create):

  • runtime/FunctionConstructor.h:

(JSC::FunctionConstructor::create):

  • runtime/FunctionPrototype.h:

(JSC::FunctionPrototype::create):

  • runtime/GetterSetter.h:

(JSC::GetterSetter::create):

  • runtime/JSAPIValueWrapper.h:

(JSC::JSAPIValueWrapper::create):

  • runtime/JSActivation.h:

(JSC::JSActivation::create):

  • runtime/JSArray.h:

(JSC::JSArray::create):

  • runtime/JSBoundFunction.cpp:

(JSC::JSBoundFunction::create):

  • runtime/JSByteArray.h:

(JSC::JSByteArray::create): Use the NotNull version of placement
new to skip the NULL check.

  • runtime/JSCell.h: Removed a conflicting, unnecessaray placement new.
  • runtime/JSFunction.cpp:

(JSC::JSFunction::create):

  • runtime/JSFunction.h:

(JSC::JSFunction::create):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::create):

  • runtime/JSGlobalThis.h:

(JSC::JSGlobalThis::create):

  • runtime/JSNotAnObject.h:

(JSC::JSNotAnObject::create):

  • runtime/JSONObject.h:

(JSC::JSONObject::create):

  • runtime/JSObject.h:

(JSC::JSFinalObject::create):

  • runtime/JSPropertyNameIterator.cpp:

(JSC::JSPropertyNameIterator::create):

  • runtime/JSPropertyNameIterator.h:

(JSC::JSPropertyNameIterator::create):

  • runtime/JSStaticScopeObject.h:

(JSC::JSStaticScopeObject::create):

  • runtime/JSString.cpp:

(JSC::StringObject::create):

  • runtime/JSString.h:

(JSC::RopeBuilder::createNull):
(JSC::RopeBuilder::create):
(JSC::RopeBuilder::createHasOtherOwner):

  • runtime/MathObject.h:

(JSC::MathObject::create):

  • runtime/NativeErrorConstructor.h:

(JSC::NativeErrorConstructor::create):

  • runtime/NativeErrorPrototype.h:

(JSC::NativeErrorPrototype::create):

  • runtime/NumberConstructor.h:

(JSC::NumberConstructor::create):

  • runtime/NumberObject.h:

(JSC::NumberObject::create):

  • runtime/NumberPrototype.h:

(JSC::NumberPrototype::create):

  • runtime/ObjectConstructor.h:

(JSC::ObjectConstructor::create):

  • runtime/ObjectPrototype.h:

(JSC::ObjectPrototype::create):

  • runtime/RegExp.cpp:

(JSC::RegExp::createWithoutCaching):

  • runtime/RegExpConstructor.h:

(JSC::RegExpConstructor::create):

  • runtime/RegExpMatchesArray.h:

(JSC::RegExpMatchesArray::create):

  • runtime/RegExpObject.h:

(JSC::RegExpObject::create):

  • runtime/RegExpPrototype.h:

(JSC::RegExpPrototype::create):

  • runtime/ScopeChain.h:

(JSC::ScopeChainNode::create):

  • runtime/StrictEvalActivation.h:

(JSC::StrictEvalActivation::create):

  • runtime/StringConstructor.h:

(JSC::StringConstructor::create):

  • runtime/StringObject.h:

(JSC::StringObject::create):

  • runtime/StringPrototype.h:

(JSC::StringPrototype::create):

  • runtime/Structure.h:

(JSC::Structure::create):
(JSC::Structure::createStructure):

  • runtime/StructureChain.h:

(JSC::StructureChain::create):

  • testRegExp.cpp:

(GlobalObject::create):

  • wtf/BitVector.cpp:

(WTF::BitVector::OutOfLineBits::create): Use the NotNull version of placement
new to skip the NULL check.

  • wtf/BumpPointerAllocator.h:

(WTF::BumpPointerPool::create): Standardized spacing to make grep easier.

  • wtf/ByteArray.cpp:

(WTF::ByteArray::create):

  • wtf/Deque.h:

(WTF::::append):
(WTF::::prepend): Use NotNull, as above.

  • wtf/FastAllocBase.h: Added a placement new, since this class would otherwise

hide the name of the global placement new.

(WTF::fastNew): Standardized spacing. Most of these functions don't need
NotNull, since they check for NULL, and the optimizer can see that.

  • wtf/HashTable.h:
  • wtf/HashTraits.h:

(WTF::SimpleClassHashTraits::constructDeletedValue):

  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::allocFreeSpaceNode): NotNull, as above.

  • wtf/StdLibExtras.h:

(throw): This is our NotNull placement new. Declaring that we throw is
the C++ way to say that operator new will not return NULL.

  • wtf/ThreadSpecific.h:

(WTF::T):

  • wtf/Vector.h:

(WTF::::append):
(WTF::::tryAppend):
(WTF::::uncheckedAppend):
(WTF::::insert):

  • wtf/text/AtomicStringHash.h:
  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::createUninitialized):
(WTF::StringImpl::reallocate):

  • wtf/text/StringImpl.h:

(WTF::StringImpl::tryCreateUninitialized):

  • wtf/text/StringStatics.cpp:

(WTF::AtomicString::init): Use NotNull, as above.

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::allocDisjunctionContext):
(JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::ParenthesesDisjunctionContext):
(JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext): Standardized
spacing for easy grep.

Source/WebCore:

  • bindings/js/JSImageConstructor.h:

(WebCore::JSImageConstructor::create):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateConstructorDeclaration):

  • bridge/c/CRuntimeObject.h:

(JSC::Bindings::CRuntimeObject::create):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CRuntimeMethod::create):

  • bridge/jni/jsc/JavaInstanceJSC.cpp:

(JavaRuntimeMethod::create):

  • bridge/jni/jsc/JavaRuntimeObject.h:

(JSC::Bindings::JavaRuntimeObject::create):

  • bridge/objc/ObjCRuntimeObject.h:

(JSC::Bindings::ObjCRuntimeObject::create):

  • bridge/objc/objc_instance.mm:

(ObjCRuntimeMethod::create):

  • bridge/objc/objc_runtime.h:

(JSC::Bindings::ObjcFallbackObjectImp::create):

  • bridge/runtime_array.h:

(JSC::RuntimeArray::create):

  • bridge/runtime_method.h:

(JSC::RuntimeMethod::create):

  • bridge/runtime_object.h:

(JSC::Bindings::RuntimeObject::create):

  • dom/Document.h:

(WebCore::FormElementKeyHashTraits::constructDeletedValue): Use NotNull
placement new, as in JavaScriptCore.

  • platform/PODArena.h:

(WebCore::PODArena::allocateObject): No need to check for NULL explicitly,
since that's the built-in behavior of placement new.

  • platform/graphics/FontCache.cpp:

(WebCore::FontDataCacheKeyTraits::constructDeletedValue):

  • platform/graphics/IntRectHash.h:
  • platform/graphics/IntSizeHash.h: More NotNull.
  • rendering/RenderObject.h: Declaring that we throw is the C++ way to say

that operator new will not return NULL.

9:25 AM Changeset in webkit [103242] by eric.carlson@apple.com
  • 15 edits
    3 adds in trunk

Render text tracks
https://bugs.webkit.org/show_bug.cgi?id=62886

Reviewed by Sam Weinig.

Source/WebCore:

Test: media/track/track-cue-rendering.html

  • css/mediaControls.css:

(video::-webkit-media-text-track-container):
(video::-webkit-media-text-track-display):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_haveVisibleTextTrack.
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Trigger an update of the text

track display.

(WebCore::HTMLMediaElement::textTrackModeChanged): call configureTextTrackDisplay() so

the text track display is hidden or shown when necessary.

(WebCore::HTMLMediaElement::userIsInterestedInThisTrack): Minor cleanup.
(WebCore::HTMLMediaElement::createMediaControls): configureMediaControls() always called

reset after creating the controls, do it here instead.

(WebCore::HTMLMediaElement::configureMediaControls): Simplify and cleanup.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Show and hide text track display.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::currentlyVisibleCues):

  • html/shadow/MediaControlElements.cpp:

(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): New.
(WebCore::RenderTextTrackContainerElement::layout): New. Call the display element so it can

update the position and font size.

(WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): New.
(WebCore::MediaControlTextTrackContainerElement::create): Ditto.
(WebCore::MediaControlTextTrackContainerElement::createRenderer): Ditto.
(WebCore::MediaControlTextTrackContainerElement::shadowPseudoId): Ditto.
(WebCore::MediaControlTextTrackContainerElement::updateSizes): Keep the cue display element

positioned above the bottom of the video box, and size the font according to the video height.

(WebCore::MediaControlTextTrackDisplayElement::MediaControlTextTrackDisplayElement): New.
(WebCore::MediaControlTextTrackDisplayElement::create): Ditto.
(WebCore::MediaControlTextTrackDisplayElement::shadowPseudoId): Ditto.

  • html/shadow/MediaControlElements.h:

(WebCore::MediaControlTextTrackContainerElement::displayType):
(WebCore::MediaControlTextTrackDisplayElement::displayType):

  • html/shadow/MediaControlRootElement.cpp:

(WebCore::MediaControlRootElement::MediaControlRootElement): New.
(WebCore::MediaControlRootElement::setMediaController): Ditto.
(WebCore::MediaControlRootElement::createTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::showTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::hideTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::updateTextTrackDisplay): Ditto.

  • html/shadow/MediaControlRootElement.h:
  • html/shadow/MediaControlRootElementChromium.cpp:

(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): New.
(WebCore::MediaControlRootElement::createTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::showTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::hideTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::updateTextTrackDisplay): Ditto.

  • html/shadow/MediaControlRootElementChromium.h:
  • html/shadow/MediaControls.h:

LayoutTests:

  • media/media-controls.js:

(mediaControlsElement): Don't always look for a controller element.
(mediaControlsButtonCoordinates):
(textTrackDisplayElement): Find the cue display element.

  • media/track/track-cue-rendering-expected.txt: Added.
  • media/track/track-cue-rendering.html: Added.
9:12 AM Changeset in webkit [103241] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Test fonts are not used with Qt5
https://bugs.webkit.org/show_bug.cgi?id=72513

  • platform/qt-5.0/Skipped: Unskip now passing tests.
7:59 AM Changeset in webkit [103240] by eric.carlson@apple.com
  • 9 edits in trunk/Source

Enable <track> for Mac build
https://bugs.webkit.org/show_bug.cgi?id=74838

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • wtf/Platform.h:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • bindings/generic/RuntimeEnabledFeatures.cpp:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
7:56 AM Changeset in webkit [103239] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

[Qt] Test fonts are not used with Qt5
https://bugs.webkit.org/show_bug.cgi?id=72513

  • platform/qt-5.0/Skipped: Unskip now passing tests.
  • platform/qt-wk2/Skipped: Skip unskipped qt-5.0 tests fail on qt-wk2.
7:34 AM Changeset in webkit [103238] by caio.oliveira@openbossa.org
  • 2 edits in trunk/Source/WebKit2

[Qt] [WK2] Fix build error due to unused variables
https://bugs.webkit.org/show_bug.cgi?id=74862

Reviewed by Kenneth Rohde Christiansen.

  • UIProcess/qt/QtWebPageEventHandler.cpp:

(QtWebPageEventHandler::inputMethodEvent):

7:29 AM Changeset in webkit [103237] by kenneth@webkit.org
  • 8 edits in trunk/Source

Source/WebCore: Make the Editor::setIgnoreCompositionSelectionChange public as it is needed by Qt

Reviewed by Simon Hausmann.

  • editing/Editor.h:

Source/WebKit2: [Qt] Add methods for setting, cancelling and confirming the composition

Reviewed by Simon Hausmann.

  • UIProcess/WebPageProxy.h:
  • UIProcess/qt/WebPageProxyQt.cpp:

(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::cancelComposition):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/qt/WebPageQt.cpp:

(WebKit::targetFrameForEditing):
(WebKit::WebPage::confirmComposition):
(WebKit::WebPage::setComposition):
(WebKit::WebPage::cancelComposition):

7:14 AM Changeset in webkit [103236] by apavlov@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Implement CSS selector profiler backend
https://bugs.webkit.org/show_bug.cgi?id=74603

Reviewed by Pavel Feldman.

No new tests, as the changed code does not result in visible effects yet.

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

(WebCore::RuleMatchingStats::RuleMatchingStats):
(WebCore::SelectorProfile::SelectorProfile):
(WebCore::SelectorProfile::~SelectorProfile):
(WebCore::SelectorProfile::totalMatchingTimeMs):
(WebCore::SelectorProfile::startSelector):
(WebCore::SelectorProfile::commitSelector):
(WebCore::SelectorProfile::commitSelectorTime):
(WebCore::SelectorProfile::toInspectorObject):
(WebCore::InspectorCSSAgent::clearFrontend):
(WebCore::InspectorCSSAgent::restore):
(WebCore::InspectorCSSAgent::startSelectorProfiler):
(WebCore::InspectorCSSAgent::stopSelectorProfiler):
(WebCore::InspectorCSSAgent::willMatchRule):
(WebCore::InspectorCSSAgent::didMatchRule):
(WebCore::InspectorCSSAgent::willProcessRule):
(WebCore::InspectorCSSAgent::didProcessRule):

  • inspector/InspectorCSSAgent.h:
7:04 AM Changeset in webkit [103235] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Status bar button glyph for the "Record" buttons broken
https://bugs.webkit.org/show_bug.cgi?id=74861

Reviewed by Pavel Feldman.

  • inspector/front-end/inspector.css:

(.record-cpu-profile-status-bar-item .glyph, .record-profile-status-bar-item .glyph):
(.record-cpu-profile-status-bar-item.toggled-on .glyph, .record-profile-status-bar-item.toggled-on .glyph):

6:31 AM Changeset in webkit [103234] by kubo@profusion.mobi
  • 2 edits in trunk/Tools

[Efl] Fix path returned by builtDylibPathForName in webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=74854

Reviewed by Csaba Osztrogonác.

Since r101052, libewebkit.so is built in a different location, so we
need to adjust the path returned by builtDylibPathForName.

usesPerConfigurationBuildDirectory also needs to be fixed, as the Efl
port also respects Release/Debug configurations.

These changes should make run-launcher finally work correctly with
webkit-efl.

  • Scripts/webkitdirs.pm:

(usesPerConfigurationBuildDirectory):
(builtDylibPathForName):

6:27 AM Changeset in webkit [103233] by kenneth@webkit.org
  • 3 edits in trunk/Source/WebKit2

First stab at upstreaming our virtual keyboard code

Reviewed by Simon Hausmann.

Add basic implementation of inputMethodEvent

  • UIProcess/qt/QtWebPageEventHandler.cpp:

(QtWebPageEventHandler::handleEvent):
(QtWebPageEventHandler::inputMethodEvent):

  • UIProcess/qt/QtWebPageEventHandler.h:
6:01 AM Changeset in webkit [103232] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/qt

[Qt] Cleanup QTM_NAMESPACE usage in DeviceOrientationProviderQt
https://bugs.webkit.org/show_bug.cgi?id=74853

Patch by Alexander Færøy <ahf@0x90.dk> on 2011-12-19
Reviewed by Simon Hausmann.

  • Api/qwebframe_p.h:
  • WebCoreSupport/DeviceOrientationProviderQt.cpp:
  • WebCoreSupport/DeviceOrientationProviderQt.h:
5:35 AM Changeset in webkit [103231] by pfeldman@chromium.org
  • 5 edits in trunk

Web Inspector: only the first @rule is highlighted in CSS
https://bugs.webkit.org/show_bug.cgi?id=74568

Patch by Pavel Feldman <pavel.feldman@gmail.com> on 2011-12-19
Reviewed by Timothy Hatcher.

  • inspector/front-end/SourceCSSTokenizer.js:

(WebInspector.SourceCSSTokenizer.prototype.nextToken):

  • inspector/front-end/SourceCSSTokenizer.re2js:
5:22 AM Changeset in webkit [103230] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit/qt

[Qt] Cleanup DeviceMotionClientQt and friends.
https://bugs.webkit.org/show_bug.cgi?id=74849

This patch cleans up the DeviceMotionQt class and friends by applying
the following changes:

  • Remove unnecessary pointer to QWebPage. This is needed to be able to reuse the code for WebKit2.
  • Remove QObject dependencies and all signals/slots. Instead, we call didChangeDeviceMotion() on the controller directly from DeviceMotionProviderQt.

Patch by Alexander Færøy <ahf@0x90.dk> on 2011-12-19
Reviewed by Simon Hausmann.

  • Api/qwebpage.cpp:

(QWebPagePrivate::QWebPagePrivate):

  • WebCoreSupport/DeviceMotionClientQt.cpp:

(WebCore::DeviceMotionClientQt::DeviceMotionClientQt):
(WebCore::DeviceMotionClientQt::~DeviceMotionClientQt):
(WebCore::DeviceMotionClientQt::setController):

  • WebCoreSupport/DeviceMotionClientQt.h:
  • WebCoreSupport/DeviceMotionProviderQt.cpp:

(WebCore::DeviceMotionProviderQt::DeviceMotionProviderQt):
(WebCore::DeviceMotionProviderQt::setController):
(WebCore::DeviceMotionProviderQt::filter):

  • WebCoreSupport/DeviceMotionProviderQt.h:
5:07 AM Changeset in webkit [103229] by loislo@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Feature Request: Able to remove all breakpoints.
https://bugs.webkit.org/show_bug.cgi?id=63055

Reviewed by Pavel Feldman.

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

(WebInspector.BreakpointManager.prototype.removeAllBreakpoints):

  • inspector/front-end/BreakpointsSidebarPane.js:

(WebInspector.JavaScriptBreakpointsSidebarPane):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):

  • inspector/front-end/DebuggerPresentationModel.js:

(WebInspector.DebuggerPresentationModel.prototype.removeAllBreakpoints):

4:27 AM Changeset in webkit [103228] by Simon Hausmann
  • 6 edits in trunk

[Qt][WK2] Add support for modal event loop processing for WTR https://bugs.webkit.org/show_bug.cgi?id=74852

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add support for nested event loops, used by WebPage::runModal().

  • Platform/qt/RunLoopQt.cpp:

(RunLoop::run):
(RunLoop::stop):

Tools:

Rewrote event loop processing: Instead of terminating the event loop
in notifyDone() - something no other platform does - we now respect the
"bool& condition" parameter passed to platformRunUntil. This ensures
proper termination even when the condition is changed from within a
nested event loop, because only when we _exit_ from the nested event
loop we will check the condition and terminate the test properly.

In addition this patch implements TestController::runModal by means of
a nested event loop, which is passed to the platform webview that is
supposed to be modal. It is that view's responsibility to exit the
loop, upon destruction. I believe that's similar to how it works on the Mac,
where it doesn't seem that NSApp's runModalForWindow is terminate via
abort/stopModal but simply because the window is closed.

  • WebKitTestRunner/PlatformWebView.h:

(WTR::PlatformWebView::setModalEventLoop):

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::~PlatformWebView):

  • WebKitTestRunner/qt/TestControllerQt.cpp:

(WTR::TestController::notifyDone):
(WTR::TestController::platformRunUntil):
(WTR::TestController::runModal):

4:07 AM QtWebKitBuildBots edited by Csaba Osztrogonác
Update Qt5 on the bots (diff)
3:15 AM Changeset in webkit [103227] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix for ScrollingCoordinatorMac.mm when building on a case sensitive system

Unreviewed build fix for r103180. StdlibExtras.h->StdLibExtras.h to compile on case sensitive system.

  • page/mac/ScrollingCoordinatorMac.mm:
2:56 AM Changeset in webkit [103226] by mnaganov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Removing suppressions from:
https://bugs.webkit.org/show_bug.cgi?id=74726.

Tests pass on bots:
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.5%20%28CG%29/builds/1832/steps/webkit_tests/logs/stdio
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6%20%28CG%29%28dbg%29/builds/2097/steps/webkit_tests/logs/stdio

  • platform/chromium/test_expectations.txt:
2:37 AM Changeset in webkit [103225] by Csaba Osztrogonác
  • 5 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/Skipped: Skip a new failing test.
  • platform/qt/fast/dom/Window/window-properties-expected.txt: Updated after r103217.
  • platform/qt/fast/dom/Window/window-property-descriptors-expected.txt: Updated after r103217.
  • platform/qt/fast/dom/prototype-inheritance-2-expected.txt: Updated after r103217.
12:48 AM Changeset in webkit [103224] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

Remove unnecessary [JSCCustomGetter] IDLs from DOMWindow.idl
https://bugs.webkit.org/show_bug.cgi?id=74829

Reviewed by Adam Barth.

Now JSC has implemented the [Constructor] IDL and it generates
getDOMConstructor() automatically. This patch removes hand-written
unnecessary getDOMConstructor()s from JSDOMWindowCustom.cpp.

No new tests. No change in behavior.

  • bindings/js/JSDOMWindowCustom.cpp:
  • page/DOMWindow.idl:
12:28 AM Changeset in webkit [103223] by abarth@webkit.org
  • 7 edits in trunk

The HTML parser doesn't enforce the "Noah's Ark condition" from the HTML5 spec
https://bugs.webkit.org/show_bug.cgi?id=74828

Reviewed by Darin Adler.

Source/WebCore:

This patch implement the "Noah's Ark condition" from the HTML5
specification. This condition limits the number of identitical
elements that can be in the list of active formatting elements. I'm not
entirely sure that enforcing this condition is worth the complexity,
but given that we've come this far in support of the HTML5 parsing
algorithm, we might as well finish it.

After this patch, we pass all but one of the html5lib parsing tests!

Tests: html5lib/runner.html

  • html/parser/HTMLFormattingElementList.cpp:

(WebCore::attributeCount):
(WebCore::HTMLFormattingElementList::append):
(WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
(WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):

  • html/parser/HTMLFormattingElementList.h:

LayoutTests:

Show test progression.

  • fast/parser/residual-style-dom-expected.txt:
    • This isn't a great test because it's hard to see how changes affect the output. However, we have good coverage of these topics in the HTML5lib tests.
  • html5lib/runner-expected.txt:
  • platform/chromium/html5lib/runner-expected.txt:
12:11 AM Changeset in webkit [103222] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

Add support for 8 bits strings to Document::isValidName()
https://bugs.webkit.org/show_bug.cgi?id=74784

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-19
Reviewed by Darin Adler.

Source/WebCore:

Avoid the conversion to 16bits when we are in the ASCII fast path,
otherwise fallback to the Unicode testing in 16bits.

  • dom/Document.cpp:

(WebCore::isValidNameASCII):
(WebCore::Document::isValidName):

LayoutTests:

Add tests for valid and invalid names for nodes.

  • fast/dom/Document/createElement-invalid-names-expected.txt: Added.
  • fast/dom/Document/createElement-invalid-names.html: Added.
  • fast/dom/Document/createElement-valid-names-expected.txt: Added.
  • fast/dom/Document/createElement-valid-names.html: Added.

Dec 18, 2011:

11:15 PM Changeset in webkit [103221] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

REGRESSION(r101445): [JSC] Generated code for custom getters and setters
with the [Supplemental] IDL is wrong
https://bugs.webkit.org/show_bug.cgi?id=74837

Reviewed by Darin Adler.

In bug 73162, we implemented the [Supplemental] IDL, but the generated code
for custom getters and setters was wrong in JSC. This patch fixes CodeGeneratorJS.pm
so that the result of WebCore/bindings/scripts/test/TestInterface.idl becomes as follows:

Wrong:

JSValue jsTestInterfaceStr3(ExecState* exec, JSValue slotBase, const Identifier&)
{

JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
return JSTestSupplemental::str3(castedThis, exec);

}

Correct:

JSValue jsTestInterfaceStr3(ExecState* exec, JSValue slotBase, const Identifier&)
{

JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
TestInterface* imp = static_cast<TestInterface*>(castedThis->impl());
return castedThis->str3(imp, exec);

}

Tests: bindings/scripts/test/JS/TestInterface.idl

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests result.

(WebCore::jsTestInterfaceStr3):
(WebCore::setJSTestInterfaceStr3):

  • bindings/scripts/test/JS/JSTestInterface.h: Ditto.
10:59 PM Changeset in webkit [103220] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/LayoutTests

A test that mutation happens when asynchronous spell checking is in process.
https://bugs.webkit.org/show_bug.cgi?id=72940

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-12-18
Reviewed by Hajime Morita.

Added a test that mutation happens when spellchecking.
This test confirms crash won't happen, and how markers are used.

  • editing/spelling/spellcheck-async-mutation-expected.txt: Added.
  • editing/spelling/spellcheck-async-mutation.html: Added.
  • platform/gtk/Skipped:
  • platform/mac-leopard/Skipped:
  • platform/qt/Skipped:
10:39 PM Changeset in webkit [103219] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix typo in comment.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

10:36 PM Changeset in webkit [103218] by fpizlo@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

DFG is too sloppy with register allocation
https://bugs.webkit.org/show_bug.cgi?id=74835

Reviewed by Gavin Barraclough.

Added assertions that at the end of a successfully generated basic block,
all use counts should be zero. This revealed a number of bugs:

  • Array length optimizations were turning a must-generate node into one that is not must-generate, but failing to change the ref count accordingly.


  • Indexed property storage optimizations were failing to deref their children, or to deref the indexed property storage node itself. Also, they used the Phantom node as a replacement. But the Phantom node is must-generate, which was causing bizarre issues. So this introduces a Nop node, which should be used in cases where you want a node that is skipped and has no children.


This does not have any significant performance effect, but it should
relieve some register pressure. The main thing this patch adds, though,
are the assertions, which should make it easier to do register allocation
related changes in the future.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGGenerationInfo.h:

(JSC::DFG::GenerationInfo::initConstant):
(JSC::DFG::GenerationInfo::initInteger):
(JSC::DFG::GenerationInfo::initJSValue):
(JSC::DFG::GenerationInfo::initCell):
(JSC::DFG::GenerationInfo::initBoolean):
(JSC::DFG::GenerationInfo::initDouble):
(JSC::DFG::GenerationInfo::initStorage):
(JSC::DFG::GenerationInfo::use):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::clearAndDerefChild1):
(JSC::DFG::Graph::clearAndDerefChild2):
(JSC::DFG::Graph::clearAndDerefChild3):

  • dfg/DFGNode.h:

(JSC::DFG::Node::deref):

  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::fixupNode):

  • dfg/DFGSpeculativeJIT.cpp:

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

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

10:26 PM Changeset in webkit [103217] by Darin Adler
  • 6 edits
    2 copies
    8 moves
    1 add
    1 delete in trunk/LayoutTests

Fixed some test expectations the best I could using my Lion machine.
Some of these may require additional tuning.

  • fast/dom/Window/script-tests/window-property-descriptors.js: Added webkitNotifications to the list of properties

to not dump, since it's different in different configurations. Also re-sorted the list and improved comments.

  • fast/dom/Window/window-properties.html: Ditto.
  • fast/dom/script-tests/prototype-inheritance-2.js: Ditto.
  • platform/mac/fast/dom/Window/window-properties-expected.txt: Updated for the change in WebKitCSSFilterValue constants.
  • platform/win/fast/dom/Window/window-properties-expected.txt: Ditto.
  • platform/mac-snowleopard/fast/regions/region-style-block-background-color-expected.png: Removed.
  • platform/mac-snowleopard/fast/regions/region-style-block-background-color-expected.txt: Removed.
  • platform/mac-snowleopard/fast/regions/region-style-block-background-color2-expected.png: Removed.
  • platform/mac-snowleopard/fast/regions/region-style-block-background-color2-expected.txt: Removed.
  • platform/mac-snowleopard/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/mac-snowleopard/fast/regions/region-style-image-background-color-expected.txt: Removed.
  • platform/mac-snowleopard/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/mac-snowleopard/fast/regions/region-style-inline-background-color-expected.txt: Removed.
  • platform/mac-snowleopard/printing: Removed.
  • platform/mac-snowleopard/printing/width-overflow-expected.png: Removed.
  • platform/mac-snowleopard/printing/width-overflow-expected.txt: Removed.
  • platform/mac/fast/regions/region-style-block-background-color-expected.png: Copied from platform/mac-snowleopard/fast/regions/region-style-block-background-color-expected.png.
  • platform/mac/fast/regions/region-style-block-background-color-expected.txt: Copied from platform/mac-snowleopard/fast/regions/region-style-block-background-color-expected.txt.
  • platform/mac/fast/regions/region-style-block-background-color2-expected.png: Copied from platform/mac-snowleopard/fast/regions/region-style-block-background-color2-expected.png.
  • platform/mac/fast/regions/region-style-block-background-color2-expected.txt: Copied from platform/mac-snowleopard/fast/regions/region-style-block-background-color2-expected.txt.
  • platform/mac/fast/regions/region-style-image-background-color-expected.png: Copied from platform/mac-snowleopard/fast/regions/region-style-image-background-color-expected.png.
  • platform/mac/fast/regions/region-style-image-background-color-expected.txt: Copied from platform/mac-snowleopard/fast/regions/region-style-image-background-color-expected.txt.
  • platform/mac/fast/regions/region-style-inline-background-color-expected.png: Copied from platform/mac-snowleopard/fast/regions/region-style-inline-background-color-expected.png.
  • platform/mac/fast/regions/region-style-inline-background-color-expected.txt: Copied from platform/mac-snowleopard/fast/regions/region-style-inline-background-color-expected.txt.
  • platform/mac/printing/width-overflow-expected.png: Copied from platform/mac-snowleopard/printing/width-overflow-expected.png.
  • platform/mac/printing/width-overflow-expected.txt: Copied from platform/mac-snowleopard/printing/width-overflow-expected.txt.

Moved these test results from mac-snowleopard to mac. There's no reason to assume the results are
different post-Snow-Leopard.

  • platform/mac/fast/text/unicode-variation-selector-expected.txt: Added.

Landed the result generated on my computer.

9:47 PM Changeset in webkit [103216] by morrita@google.com
  • 1 edit
    16 adds in trunk/LayoutTests

Unreviewed expectations update.

  • platform/chromium-win-xp/svg/W3C-I18N/g-dirLTR-ubNone-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-I18N/g-dirLTR-ubOverride-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-I18N/g-dirRTL-ubNone-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-I18N/g-dirRTL-ubOverride-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-I18N/text-dirLTR-ubNone-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-I18N/text-dirRTL-ubNone-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-I18N/text-dirRTL-ubOverride-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-I18N/tspan-direction-rtl-expected.png: Added.
  • platform/chromium-win-xp/svg/text/bidi-tspans-expected.png: Added.
  • platform/chromium-win-xp/tables/mozilla/bugs/bug2479-4-expected.png: Added.
9:22 PM Changeset in webkit [103215] by keishi@webkit.org
  • 10 edits
    5 copies
    1 move in trunk/Source

Implement <input type=color> UI WebKit chromium part
https://bugs.webkit.org/show_bug.cgi?id=65897

Reviewed by Darin Fisher.

Source/WebCore:

  • GNUmakefile.list.am: Removed ColorChooser.cpp and added ColorChooserClient.h
  • WebCore.gypi: Added ColorChooser.h and ColorChooserClient.h
  • WebCore.xcodeproj/project.pbxproj: Removed ColorChooser.cpp and added ColorChooserClient.h

Source/WebKit/chromium:

  • WebKit.gyp: Added new files.
  • features.gypi: Added ENABLE_INPUT_COLOR.
  • public/WebColorChooser.h: Added. Interface for ColorChooserProxy to call.

(WebKit::WebColorChooser::~WebColorChooser):
(WebKit::WebColorChooser::setSelectedColor):
(WebKit::WebColorChooser::endChooser):

  • public/WebColorChooserClient.h: Added.

(WebKit::WebColorChooserClient::~WebColorChooserClient):
(WebKit::WebColorChooserClient::didChooseColor): Only called when user changes the color.
(WebKit::WebColorChooserClient::didEndChooser): Called when WebColorChooser::endChooser is called.

  • public/WebViewClient.h:

(WebKit::WebViewClient::createColorChooser): Creates a new color chooser. If there is an old color chooser, this will end it.

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::createColorChooser): Calls WebViewClient::createColorChooser.

  • src/ChromeClientImpl.h:
  • src/ColorChooserProxy.cpp: Proxies calls to WebCore::ColorChooser to WebKit::WebColorChooser.

(WebKit::ColorChooserProxy::ColorChooserProxy):
(WebKit::ColorChooserProxy::~ColorChooserProxy):
(WebKit::ColorChooserProxy::setSelectedColor):
(WebKit::ColorChooserProxy::endChooser):

  • src/ColorChooserProxy.h:
  • src/WebColorChooserClientImpl.cpp: Proxies calls to WebKit::WebColorChooserClient to WebCore::ColorChooserClient.

(WebKit::WebColorChooserClientImpl::WebColorChooserClientImpl):
(WebKit::WebColorChooserClientImpl::~WebColorChooserClientImpl):
(WebKit::WebColorChooserClientImpl::didChooseColor):
(WebKit::WebColorChooserClientImpl::didEndChooser):

  • src/WebColorChooserClientImpl.h: Added.
9:06 PM Changeset in webkit [103214] by morrita@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed test_expectations.txt update.

  • platform/chromium/test_expectations.txt:
8:25 PM Changeset in webkit [103213] by commit-queue@webkit.org
  • 20 edits in trunk

<msup>, <munder>, <mover>, and <munderover> baseline positions are wrong
https://bugs.webkit.org/show_bug.cgi?id=72821

Patch by David Barton <Dave Barton> on 2011-12-18
Reviewed by Darin Adler.

Source/WebCore:

Tested by rebaselining 8 existing tests. (Pardon the pun.)

  • rendering/mathml/RenderMathMLSubSup.cpp:

(WebCore::RenderMathMLSubSup::baselinePosition):
Just using the base's (these puns are not my fault) baseline did not leave room for the exponent.

  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::baselinePosition):
Added a guard condition, and removed some bad lines apparently mistakenly copied from RenderMathMLSubSup.cpp.

LayoutTests:

  • platform/mac/mathml/presentation/msup-base-changed-expected.png:
  • platform/mac/mathml/presentation/msup-base-changed-expected.txt:
  • platform/mac/mathml/presentation/msup-sup-changed-expected.png:
  • platform/mac/mathml/presentation/msup-sup-changed-expected.txt:
  • platform/mac/mathml/presentation/over-expected.png:
  • platform/mac/mathml/presentation/over-expected.txt:
  • platform/mac/mathml/presentation/roots-expected.png:
  • platform/mac/mathml/presentation/roots-expected.txt:
  • platform/mac/mathml/presentation/row-alignment-expected.png:
  • platform/mac/mathml/presentation/row-alignment-expected.txt:
  • platform/mac/mathml/presentation/sup-expected.png:
  • platform/mac/mathml/presentation/sup-expected.txt:
  • platform/mac/mathml/presentation/under-expected.png:
  • platform/mac/mathml/presentation/under-expected.txt:
  • platform/mac/mathml/presentation/underover-expected.png:
  • platform/mac/mathml/presentation/underover-expected.txt:
7:50 PM Changeset in webkit [103212] by macpherson@chromium.org
  • 4 edits in trunk/Source/WebCore

Implement CSS line-height property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74561

Reviewed by Andreas Kling.

No new tests / refactoring only.

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::isNumber):

  • css/CSSStyleApplyProperty.cpp:

(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyLineHeight::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

7:27 PM Changeset in webkit [103211] by macpherson@chromium.org
  • 4 edits in trunk/Source/WebCore

Implement CSS outline shorthand property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74467

Reviewed by Andreas Kling.

No new tests / refactoring only.

RenderStyle::resetOutline was removed in favor of explicity expanding to the
initial values of the shorthand expansion. This improves consistency because
the initial values to use are more clearly (and singularly) defined.

  • css/CSSStyleApplyProperty.cpp:

(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

  • rendering/style/RenderStyle.h:
7:13 PM Changeset in webkit [103210] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r103205.
http://trac.webkit.org/changeset/103205
https://bugs.webkit.org/show_bug.cgi?id=74833

There are valid characters above 0x80 when the string is
8bits (Requested by benjaminp on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-18

  • dom/Document.cpp:

(WebCore::isValidNameASCII):
(WebCore::Document::isValidName):

7:07 PM Changeset in webkit [103209] by macpherson@chromium.org
  • 9 edits in trunk/Source/WebCore

Separate box alignment and box pack values into separate enums.
https://bugs.webkit.org/show_bug.cgi?id=74580

Reviewed by Andreas Kling.

No new tests / refactoring only.

Separating these types cleans up the code by removing several assertions that
values are in the correct ranges, as this is ensured by the type system.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EBoxPack):
(WebCore::CSSPrimitiveValue::operator EBoxAlignment):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderFullScreen.cpp:

(createFullScreenStyle):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::boxPack):
(WebCore::InheritedFlags::setBoxAlign):
(WebCore::InheritedFlags::setBoxPack):
(WebCore::InheritedFlags::initialBoxPack):

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleDeprecatedFlexibleBoxData.h:
7:01 PM Changeset in webkit [103208] by macpherson@chromium.org
  • 4 edits in trunk/Source/WebCore

Implement CSS font-size property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74368

Reviewed by Andreas Kling.

No new tests / refactoring only.

  • css/CSSStyleApplyProperty.cpp:

(WebCore::ApplyPropertyFontSize::largerFontSize):
(WebCore::ApplyPropertyFontSize::smallerFontSize):
(WebCore::ApplyPropertyFontSize::applyInheritValue):
(WebCore::ApplyPropertyFontSize::applyInitialValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyFontSize::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

  • css/CSSStyleSelector.h:

(WebCore::CSSStyleSelector::hasParentNode):

6:59 PM Changeset in webkit [103207] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r103199.
http://trac.webkit.org/changeset/103199
https://bugs.webkit.org/show_bug.cgi?id=74832

Caused a bot crashiness extravaganza! (Requested by kling on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-18

  • platform/KURL.cpp:

(WebCore::isLetterMatchIgnoringCase):
(WebCore::protocolIs):

6:51 PM Changeset in webkit [103206] by mitz@apple.com
  • 3 edits
    3 adds in trunk

Positioned Floats: Assertion hit in fast/block/positioning/positioned-float-layout-after-image-load.html
https://bugs.webkit.org/show_bug.cgi?id=67759

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/block/positioning/positioned-float-layout-after-image-load.html

Positioned floats are both floating and positioned. Made the following functions treat them as
positioned rather than as floats by reordering code.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

LayoutTests:

Re-added this test from r94695.

  • fast/block/positioning/positioned-float-layout-after-image-load-expected.txt: Copied from LayoutTests/fast/block/positioning/positioned-float-layout-after-image-load-expected.txt.
  • fast/block/positioning/positioned-float-layout-after-image-load.html: Copied from LayoutTests/fast/block/positioning/positioned-float-layout-after-image-load.html.
  • fast/block/positioning/resources/positioned-float-layout-after-image-load-2.html: Copied from LayoutTests/fast/block/positioning/resources/positioned-float-layout-after-image-load-2.html.
6:17 PM Changeset in webkit [103205] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Add support for 8 bits strings to Document::isValidName()
https://bugs.webkit.org/show_bug.cgi?id=74784

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-18
Reviewed by Andreas Kling.

The valid name has a fast path for ASCII, and a slow path
taking Unicode characters into account.

For 8-bit strings, we don't need to take the non-ASCII path
as it could never succeed if the ASCII path didn't.

  • dom/Document.cpp:

(WebCore::isValidNameASCII):
(WebCore::Document::isValidName):

6:13 PM Changeset in webkit [103204] by morrita@google.com
  • 17 edits
    3 moves
    14 deletes in trunk/LayoutTests

Unreviewed expectations update.

  • platform/chromium-cg-mac-snowleopard/fast/text/drawBidiText-expected.png: Renamed from LayoutTests/platform/chromium-cg-mac/fast/text/drawBidiText-expected.png.
  • platform/chromium-mac-snowleopard/fast/text/drawBidiText-expected.png: Renamed from LayoutTests/platform/chromium-mac/fast/text/drawBidiText-expected.png.
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug2479-4-expected.png: Renamed from LayoutTests/platform/chromium-mac/tables/mozilla/bugs/bug2479-4-expected.png.
  • platform/chromium-win-vista/fast/text/drawBidiText-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubNone-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubNone-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubOverride-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubOverride-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubNone-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubOverride-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubNone-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubNone-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubOverride-expected.png:
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubNone-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubOverride-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.png:
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-direction-rtl-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-direction-rtl-expected.txt:
  • platform/chromium-win-vista/svg/text/bidi-tspans-expected.png: Removed.
  • platform/chromium-win-vista/svg/text/bidi-tspans-expected.txt:
  • platform/chromium-win-vista/tables/mozilla/bugs/bug2479-4-expected.png: Removed.
6:07 PM Changeset in webkit [103203] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Remove redundant m_glWidget->makeCurrent() calls in GraphicsContext3DQt.
https://bugs.webkit.org/show_bug.cgi?id=73814

It causes a performance hit.
Moved the redundant function calls to makeContextCurrent().

Patch by Huang Dongsung <luxtella@company100.net> on 2011-12-18
Reviewed by Noam Rosenthal.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
(WebCore::GraphicsContext3DPrivate::paint):
(WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::reshape):
(WebCore::GraphicsContext3D::activeTexture):
(WebCore::GraphicsContext3D::attachShader):
(WebCore::GraphicsContext3D::getAttachedShaders):
(WebCore::GraphicsContext3D::bindAttribLocation):
(WebCore::GraphicsContext3D::bindBuffer):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindRenderbuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::blendColor):
(WebCore::GraphicsContext3D::blendEquation):
(WebCore::GraphicsContext3D::blendEquationSeparate):
(WebCore::GraphicsContext3D::blendFunc):
(WebCore::GraphicsContext3D::blendFuncSeparate):
(WebCore::GraphicsContext3D::bufferData):
(WebCore::GraphicsContext3D::bufferSubData):
(WebCore::GraphicsContext3D::checkFramebufferStatus):
(WebCore::GraphicsContext3D::clearColor):
(WebCore::GraphicsContext3D::clear):
(WebCore::GraphicsContext3D::clearDepth):
(WebCore::GraphicsContext3D::clearStencil):
(WebCore::GraphicsContext3D::colorMask):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::compressedTexImage2D):
(WebCore::GraphicsContext3D::compressedTexSubImage2D):
(WebCore::GraphicsContext3D::copyTexImage2D):
(WebCore::GraphicsContext3D::copyTexSubImage2D):
(WebCore::GraphicsContext3D::cullFace):
(WebCore::GraphicsContext3D::depthFunc):
(WebCore::GraphicsContext3D::depthMask):
(WebCore::GraphicsContext3D::depthRange):
(WebCore::GraphicsContext3D::detachShader):
(WebCore::GraphicsContext3D::disable):
(WebCore::GraphicsContext3D::disableVertexAttribArray):
(WebCore::GraphicsContext3D::drawArrays):
(WebCore::GraphicsContext3D::drawElements):
(WebCore::GraphicsContext3D::enable):
(WebCore::GraphicsContext3D::enableVertexAttribArray):
(WebCore::GraphicsContext3D::finish):
(WebCore::GraphicsContext3D::flush):
(WebCore::GraphicsContext3D::framebufferRenderbuffer):
(WebCore::GraphicsContext3D::framebufferTexture2D):
(WebCore::GraphicsContext3D::frontFace):
(WebCore::GraphicsContext3D::generateMipmap):
(WebCore::GraphicsContext3D::getActiveAttrib):
(WebCore::GraphicsContext3D::getActiveUniform):
(WebCore::GraphicsContext3D::getAttribLocation):
(WebCore::GraphicsContext3D::getError):
(WebCore::GraphicsContext3D::getString):
(WebCore::GraphicsContext3D::hint):
(WebCore::GraphicsContext3D::isBuffer):
(WebCore::GraphicsContext3D::isEnabled):
(WebCore::GraphicsContext3D::isFramebuffer):
(WebCore::GraphicsContext3D::isProgram):
(WebCore::GraphicsContext3D::isRenderbuffer):
(WebCore::GraphicsContext3D::isShader):
(WebCore::GraphicsContext3D::isTexture):
(WebCore::GraphicsContext3D::lineWidth):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::pixelStorei):
(WebCore::GraphicsContext3D::polygonOffset):
(WebCore::GraphicsContext3D::readPixels):
(WebCore::GraphicsContext3D::releaseShaderCompiler):
(WebCore::GraphicsContext3D::renderbufferStorage):
(WebCore::GraphicsContext3D::sampleCoverage):
(WebCore::GraphicsContext3D::scissor):
(WebCore::GraphicsContext3D::shaderSource):
(WebCore::GraphicsContext3D::stencilFunc):
(WebCore::GraphicsContext3D::stencilFuncSeparate):
(WebCore::GraphicsContext3D::stencilMask):
(WebCore::GraphicsContext3D::stencilMaskSeparate):
(WebCore::GraphicsContext3D::stencilOp):
(WebCore::GraphicsContext3D::stencilOpSeparate):
(WebCore::GraphicsContext3D::texParameterf):
(WebCore::GraphicsContext3D::texParameteri):
(WebCore::GraphicsContext3D::uniform1f):
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform2f):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform3f):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform4f):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform1i):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2i):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3i):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4i):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
(WebCore::GraphicsContext3D::useProgram):
(WebCore::GraphicsContext3D::validateProgram):
(WebCore::GraphicsContext3D::vertexAttrib1f):
(WebCore::GraphicsContext3D::vertexAttrib1fv):
(WebCore::GraphicsContext3D::vertexAttrib2f):
(WebCore::GraphicsContext3D::vertexAttrib2fv):
(WebCore::GraphicsContext3D::vertexAttrib3f):
(WebCore::GraphicsContext3D::vertexAttrib3fv):
(WebCore::GraphicsContext3D::vertexAttrib4f):
(WebCore::GraphicsContext3D::vertexAttrib4fv):
(WebCore::GraphicsContext3D::vertexAttribPointer):
(WebCore::GraphicsContext3D::viewport):
(WebCore::GraphicsContext3D::getBooleanv):
(WebCore::GraphicsContext3D::getBufferParameteriv):
(WebCore::GraphicsContext3D::getFloatv):
(WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
(WebCore::GraphicsContext3D::getIntegerv):
(WebCore::GraphicsContext3D::getProgramiv):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getRenderbufferParameteriv):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
(WebCore::GraphicsContext3D::getTexParameterfv):
(WebCore::GraphicsContext3D::getTexParameteriv):
(WebCore::GraphicsContext3D::getUniformfv):
(WebCore::GraphicsContext3D::getUniformiv):
(WebCore::GraphicsContext3D::getUniformLocation):
(WebCore::GraphicsContext3D::getVertexAttribfv):
(WebCore::GraphicsContext3D::getVertexAttribiv):
(WebCore::GraphicsContext3D::getVertexAttribOffset):
(WebCore::GraphicsContext3D::texImage2D):
(WebCore::GraphicsContext3D::texSubImage2D):
(WebCore::GraphicsContext3D::createBuffer):
(WebCore::GraphicsContext3D::createFramebuffer):
(WebCore::GraphicsContext3D::createProgram):
(WebCore::GraphicsContext3D::createRenderbuffer):
(WebCore::GraphicsContext3D::createShader):
(WebCore::GraphicsContext3D::createTexture):
(WebCore::GraphicsContext3D::deleteBuffer):
(WebCore::GraphicsContext3D::deleteFramebuffer):
(WebCore::GraphicsContext3D::deleteProgram):
(WebCore::GraphicsContext3D::deleteRenderbuffer):
(WebCore::GraphicsContext3D::deleteShader):
(WebCore::GraphicsContext3D::deleteTexture):

6:03 PM Changeset in webkit [103202] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove the duplicated code from ASCIICType.h
https://bugs.webkit.org/show_bug.cgi?id=74771

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-18
Reviewed by Andreas Kling.

Use isASCIIDigit() and isASCIIAlpha() instead of copying the code.

  • wtf/ASCIICType.h:

(WTF::isASCIIDigit):
(WTF::isASCIIAlphanumeric):
(WTF::isASCIIHexDigit):

5:47 PM Changeset in webkit [103201] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

Removing unrelated printf() that slipped into my last commit.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):

5:43 PM Changeset in webkit [103200] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Another attempt to fix the windows build.

  • Platform/win/WorkQueueWin.cpp:

(WorkQueue::performWorkOnRegisteredWorkThread):
(WorkQueue::dispatch):

5:40 PM Changeset in webkit [103199] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

KURL::protocolIs() should handle 8-bit strings.
<http://webkit.org/b/74827>

Reviewed by Antti Koivisto.

  • platform/KURL.cpp:

(WebCore::isLetterMatchIgnoringCase):

Turned this into a template method so it can be used for both UChar and LChar.

(WebCore::charactersAreProtocol):
(WebCore::protocolIs):

Handle 8/16 bit strings separately to avoid conversion.

5:27 PM Changeset in webkit [103198] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the windows build.

  • Platform/win/WorkQueueWin.cpp:

(WorkQueue::performWorkOnRegisteredWorkThread):

5:12 PM Changeset in webkit [103197] by aboxhall@chromium.org
  • 6 edits in trunk

Make AccessibilityObject::lineForPosition return the correct value for cases where the position is not within the current object.
https://bugs.webkit.org/show_bug.cgi?id=71348

Reviewed by Chris Fleizach.

Source/WebCore:

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::lineForPosition):

  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • accessibility/textarea-insertion-point-line-number-expected.txt:
  • accessibility/textarea-insertion-point-line-number.html:
4:42 PM Changeset in webkit [103196] by weinig@apple.com
  • 13 edits in trunk/Source/WebCore

Make EventHandler::handleWheelEvent take const PlatformWheelEvent&
https://bugs.webkit.org/show_bug.cgi?id=74824

Reviewed by Anders Carlsson.

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

(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:
  • page/blackberry/EventHandlerBlackBerry.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/chromium/EventHandlerChromium.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/efl/EventHandlerEfl.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/qt/EventHandlerQt.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/win/EventHandlerWin.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/wx/EventHandlerWx.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::copyTurningVerticalTicksIntoHorizontalTicks):

4:37 PM Changeset in webkit [103195] by koz@chromium.org
  • 10 edits in trunk/Source

[chromium] Add worldId parameter to allowScriptExtension()
https://bugs.webkit.org/show_bug.cgi?id=74214

Chromium uses the worldId to determine what extension is running in a
v8 context and knowing that at the time allowScriptExtension() is
called allows us to conditionally inject extension APIs.

Reviewed by Darin Fisher.

Source/WebCore:

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initContextIfNeeded):
(WebCore::V8DOMWindowShell::createNewContext):

  • bindings/v8/V8DOMWindowShell.h:
  • bindings/v8/V8IsolatedContext.cpp:

(WebCore::V8IsolatedContext::V8IsolatedContext):

  • loader/EmptyClients.h:

(WebCore::EmptyFrameLoaderClient::allowScriptExtension):

  • loader/FrameLoaderClient.h:

Source/WebKit/chromium:

  • public/WebPermissionClient.h:

(WebKit::WebPermissionClient::allowScriptExtension):

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::allowScriptExtension):

  • src/FrameLoaderClientImpl.h:
4:37 PM Changeset in webkit [103194] by weinig@apple.com
  • 15 edits
    1 delete in trunk/Source/WebKit2

Remove now unused WorkItem.h
https://bugs.webkit.org/show_bug.cgi?id=74818

Reviewed by Andreas Kling.

  • GNUmakefile.am:
  • Platform/CoreIPC/Connection.cpp:
  • Platform/RunLoop.cpp:
  • Platform/RunLoop.h:
  • Platform/WorkItem.h: Removed.
  • Platform/gtk/RunLoopGtk.cpp:
  • Platform/mac/RunLoopMac.mm:
  • Platform/mac/WorkQueueMac.cpp:

(WorkQueue::platformInvalidate):

  • Platform/qt/RunLoopQt.cpp:
  • Platform/win/RunLoopWin.cpp:
  • Target.pri:
  • UIProcess/ResponsivenessTimer.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  • win/WebKit2.vcproj:
4:29 PM Changeset in webkit [103193] by abarth@webkit.org
  • 6 edits in trunk

Adoption agency iteration limits in HTML parser don't match HTML5 spec
https://bugs.webkit.org/show_bug.cgi?id=74822

Reviewed by Eric Seidel.

Source/WebCore:

Previously, we were using the iteration limits from the old tree
builder. Now we use the iteration limits from the HTML5 specification.

Tests: html5lib/runner.html

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

LayoutTests:

Show test progression.

  • fast/parser/residual-style-dom-expected.txt:
  • html5lib/runner-expected.txt:
  • platform/chromium/html5lib/runner-expected.txt:
3:47 PM Changeset in webkit [103192] by Antti Koivisto
  • 5 edits
    2 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=73954
REGRESSION (r97745): Transitions don't work on links

Source/WebCore:

Reviewed by Andreas Kling.

Test: transitions/visited-link-color.html

Since visited link colors are now part of the RenderStyle, they need to be transitioned
along with the corresponding regular colors.

  • page/animation/AnimationBase.cpp:

(WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
(WebCore::PropertyWrapperVisitedAffectedColor::equals):
(WebCore::PropertyWrapperVisitedAffectedColor::blend):
(WebCore::AnimationBase::ensurePropertyMap):

Add new wrapper class that applies both regular and visited color.


  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::visitedLinkColor):
(WebCore::InheritedFlags::visitedLinkBackgroundColor):
(WebCore::InheritedFlags::visitedLinkBorderLeftColor):
(WebCore::InheritedFlags::visitedLinkBorderRightColor):
(WebCore::InheritedFlags::visitedLinkBorderBottomColor):
(WebCore::InheritedFlags::visitedLinkBorderTopColor):
(WebCore::InheritedFlags::visitedLinkOutlineColor):
(WebCore::InheritedFlags::visitedLinkColumnRuleColor):
(WebCore::InheritedFlags::visitedLinkTextEmphasisColor):
(WebCore::InheritedFlags::visitedLinkTextFillColor):
(WebCore::InheritedFlags::visitedLinkTextStrokeColor):

Add accessors.


  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

Opportunistic fix. Don't know how to test.

LayoutTests:

Reviewed by Andreas Kling.

Unfortunately the automatic test provides code coverage only as reading back the properties
from the style always gives back non-visited values. The bug is visible running the test
manually.

  • transitions/visited-link-color-expected.txt: Added.
  • transitions/visited-link-color.html: Added.
2:28 PM Changeset in webkit [103191] by andersca@apple.com
  • 8 edits in trunk/Source

Set the main frame view scroll position asynchronously
https://bugs.webkit.org/show_bug.cgi?id=74823

Reviewed by Sam Weinig.

Source/JavaScriptCore:

Source/WebCore:

  • page/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::ScrollingCoordinator):
Initialize m_didDispatchDidUpdateMainFrameScrollPosition to false.

(WebCore::ScrollingCoordinator::didUpdateMainFrameScrollPosition):
Get the scroll position, reset m_didDispatchDidUpdateMainFrameScrollPosition to false and
then call FrameView::setScrollOffset to update the scroll position.

  • page/ScrollingCoordinator.h:
  • page/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
Update the scroll position and dispatch ScrollingCoordinator::didUpdateMainFrameScrollPosition on
the main thread if needed.

Source/WebKit2:

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
Don't make the background red.

2:21 PM Changeset in webkit [103190] by kling@webkit.org
  • 5 edits in trunk/Source/WebCore

JSC/HTMLCollection: Optimize canGetItemsForName().
<http://webkit.org/b/74806>

Reviewed by Sam Weinig.

Add HTMLCollection::hasNamedItem(name) and use that in the JSC bindings'
canGetItemsForName() instead of fetching the list of named items just to
check if it's empty or not.

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::JSHTMLAllCollection::canGetItemsForName):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::JSHTMLCollection::canGetItemsForName):

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::hasNamedItem):

  • html/HTMLCollection.h:
1:54 PM Changeset in webkit [103189] by weinig@apple.com
  • 3 edits in trunk/Source/WebCore

Spruce up PlatformWheelEvent a bit
https://bugs.webkit.org/show_bug.cgi?id=74821

Reviewed by Dan Bernstein.

  • dom/WheelEvent.cpp:

(WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):

  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::directionInvertedFromDevice):
Remove x/y getters in favor of direct access to the IntPoints, and rename
webkitDirectionInvertedFromDevice() to directionInvertedFromDevice() since
it is not an exposed API.

1:49 PM Changeset in webkit [103188] by Simon Hausmann
  • 4 edits
    2 moves in trunk

Rename EditCommandQt to UndoStepQt
https://bugs.webkit.org/show_bug.cgi?id=74754

Reviewed by Ryosuke Niwa.

.:

  • Source/api.pri:

Source/WebKit/qt:

  • WebCoreSupport/EditorClientQt.cpp:

(WebCore::EditorClientQt::registerUndoStep):

  • WebCoreSupport/UndoStepQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/EditCommandQt.cpp.

(UndoStepQt::UndoStepQt):
(UndoStepQt::~UndoStepQt):
(UndoStepQt::redo):
(UndoStepQt::undo):

  • WebCoreSupport/UndoStepQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/EditCommandQt.h.
1:41 PM Changeset in webkit [103187] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Scroll the main frame on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=74820

Reviewed by Andreas Kling.

  • page/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::handleWheelEvent):
Compute a scroll offset from the wheel event and tell the scrolling thread to scroll by the given offset.

  • page/ScrollingCoordinator.h:
  • page/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
Clamp the updated position to the minimum and maximum scrollable position.

(WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPositionOnScrollingThread):
Actually reposition the layer.

12:43 PM Changeset in webkit [103186] by kling@webkit.org
  • 7 edits
    2 adds in trunk

HTMLAllCollection: Get rid of stateful namedItem traversal.
<http://webkit.org/b/74803>

Reviewed by Sam Weinig.

Source/WebCore:

Add a namedItemWithIndex() function to HTMLAllCollection to cover the
document.all(name, index) use-case. This moves the collection traversal
into WebCore and allows us to remove some complexity.

This incidentally fixes a bug where the CollectionCache would point to
the last node returned by document.all(name, index) without the correct
associated node index (because info()->current was getting set without
updating info()->position.) Added a layout test for that.

Test: fast/dom/htmlallcollection-call-with-index-caching-bug.html

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::callHTMLAllCollection):

  • bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:

(WebCore::V8HTMLAllCollection::callAsFunctionCallback):

Replace collection traversal by calls to namedItemWithIndex().

  • html/HTMLCollection.h:

Promoted updateNameCache() to protected (for HTMLAllCollection.)
Demoted checkForNameMatch() to private.

  • html/HTMLAllCollection.cpp:

(WebCore::HTMLAllCollection::namedItemWithIndex):

Added for document.all(name, index). Uses the name/id cache.

  • html/HTMLAllCollection.cpp:
  • html/HTMLAllCollection.h:

(WebCore::HTMLAllCollection::HTMLAllCollection):

Removed m_idsDone, HTMLAllCollection is now stateless.

LayoutTests:

  • fast/dom/htmlallcollection-call-with-index-caching-bug-expected.txt: Added.
  • fast/dom/htmlallcollection-call-with-index-caching-bug.html: Added.
12:27 PM Changeset in webkit [103185] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

The scrolling coordinator should know about the main frame scroll layer
https://bugs.webkit.org/show_bug.cgi?id=74817

Reviewed by Andreas Kling.

  • page/ScrollingCoordinator.h:
  • page/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingThread::threadCallback):
Move the * to where it belongs.

(WebCore::ScrollingCoordinator::setFrameScrollLayer):
Keep track of the underlying CALayer of the frame scroll layer.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::ensureRootLayer):
Call ScrollingCoordinator::setFrameScrollLayer.

12:09 PM Changeset in webkit [103184] by kling@webkit.org
  • 1 edit in trunk/Source/WebCore/ChangeLog

Correct ChangeLog author mixup.

12:07 PM Changeset in webkit [103183] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

Interacting with GMail message lists is sluggish.
<http://webkit.org/b/74813>

Patch by Anders Carlsson <andersca@apple.com> on 2011-12-18
Reviewed by Dan Bernstein.

Add an argument to collapsed*Border() to control whether the border
color is computed or not. This allows us to avoid expensive work when
we're only interested in the metrics.

RenderStyle::visitedDependentColor() was very hot (4.5%) when hit-testing
on GMail and this removes its usage altogether.
This should be an improvement for table rendering as well, since it was
all happening below RenderBox::overflowClipRect().

  • rendering/RenderTableCell.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::collapsedLeftBorder):
(WebCore::RenderTableCell::collapsedRightBorder):
(WebCore::RenderTableCell::collapsedTopBorder):
(WebCore::RenderTableCell::collapsedBottomBorder):

Add and propagate an IncludeBorderColorOrNot argument that decides
whether we compute the CollapsedBorderValue's color.

(WebCore::RenderTableCell::collapsedStartBorder):
(WebCore::RenderTableCell::collapsedEndBorder):

Renamed start & end to startColorProperty & endColorProperty
for clarity. Also same modifications as the above functions.

(WebCore::RenderTableCell::collapsedBeforeBorder):
(WebCore::RenderTableCell::collapsedAfterBorder):

Renamed before & after to beforeColorProperty & afterColorProperty
for clarity. Also same modifications as the above functions.

(WebCore::RenderTableCell::borderHalfStart):
(WebCore::RenderTableCell::borderHalfEnd):
(WebCore::RenderTableCell::borderHalfBefore):
(WebCore::RenderTableCell::borderHalfAfter):

Pass DoNotIncludeBorderColor to collapsed*Border() since we only care
about the metrics here.

11:52 AM Changeset in webkit [103182] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

The scrolling coordinator should keep track of the main frame geometry
https://bugs.webkit.org/show_bug.cgi?id=74816

Reviewed by Andreas Kling.

  • page/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::syncFrameGeometry):
Update the frame geometry accordingly when it changes.

  • page/ScrollingCoordinator.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
Call ScrollingCoordinator::syncFrameGeometry.

(WebCore::RenderLayerCompositor::scrollingCoordinator):
Add new getter.

11:45 AM Changeset in webkit [103181] by weinig@apple.com
  • 25 edits in trunk/Source

Move timestamp down from PlatformEvent subclasses to the base class
https://bugs.webkit.org/show_bug.cgi?id=74805

Reviewed by Anders Carlsson.

../WebCore:

  • platform/PlatformEvent.h:

(WebCore::PlatformEvent::type):
(WebCore::PlatformEvent::timestamp):
(WebCore::PlatformEvent::PlatformEvent):

  • platform/PlatformGestureEvent.h:

(WebCore::PlatformGestureEvent::PlatformGestureEvent):

  • platform/PlatformMouseEvent.h:

(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformMouseEvent::clickCount):

  • platform/PlatformTouchEvent.h:

(WebCore::PlatformTouchEvent::PlatformTouchEvent):

  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/efl/PlatformKeyboardEventEfl.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/efl/PlatformMouseEventEfl.cpp:

(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/efl/PlatformTouchEventEfl.cpp:

(WebCore::PlatformTouchEvent::PlatformTouchEvent):

  • platform/efl/PlatformWheelEventEfl.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/gtk/PlatformKeyboardEventGtk.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/gtk/PlatformWheelEventGtk.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/mac/KeyEventMac.mm:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/mac/PlatformMouseEventMac.mm:

(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/mac/WheelEventMac.mm:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/qt/PlatformKeyboardEventQt.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/qt/WheelEventQt.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/win/KeyEventWin.cpp:

(WebCore::singleCharacterString):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/win/PlatformMouseEventWin.cpp:

(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/win/WheelEventWin.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/wx/KeyboardEventWx.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/wx/MouseEventWx.cpp:

(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/wx/MouseWheelEventWx.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

../WebKit2:

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):

10:56 AM Changeset in webkit [103180] by andersca@apple.com
  • 7 edits
    1 add in trunk/Source

Add a scrolling thread to the scrolling coordinator
https://bugs.webkit.org/show_bug.cgi?id=74814

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in:

Export ScrollingCoordinator::handleWheelEvent.

  • WebCore.xcodeproj/project.pbxproj:

Add ScrollingCoordinatorMac.mm

  • page/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::handleWheelEvent):
Add a stub function.

  • page/ScrollingCoordinator.h:
  • page/mac/ScrollingCoordinatorMac.mm: Added.

Add a ScrollingThread object which creates a thread and attaches a run loop source
to it, allowing for functions to be dispatched and run on said thread.

(WebCore::ScrollingCoordinator::isScrollingThread):
Call ScrollingThread::isCurrentThread.

(WebCore::ScrollingCoordinator::dispatchOnScrollingThread):
Call ScrollingThread::dispatch.

Source/WebKit2:

Check if the scrolling coordinator can handle the wheel event before dispatching it
to the main thread.

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):

10:01 AM Changeset in webkit [103179] by andersca@apple.com
  • 7 edits in trunk/Source

EventDispatcher should keep track of all scrolling coordinators
https://bugs.webkit.org/show_bug.cgi?id=74810

Reviewed by Andreas Kling.

Source/WebCore:

Export symbols needed by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::addScrollingCoordinatorForPage):
Get the scrolling coordinator from the WebCore page and add it to the map.

(WebKit::EventDispatcher::removeScrollingCoordinatorForPage):
Remove the scrolling coordinator from the map.

(WebKit::EventDispatcher::sendDidHandleEvent):
Add a new helper function, currently unused.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
Add the scrolling coordinator.

(WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
Remove the scrolling coordinator.

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::eventDispatcher):
Add a getter.

9:06 AM Changeset in webkit [103178] by andersca@apple.com
  • 16 edits in trunk/Source/WebKit2

Move everyone off of WorkItem
https://bugs.webkit.org/show_bug.cgi?id=74773

Reviewed by Darin Adler.

  • Platform/CoreIPC/unix/ConnectionUnix.cpp:

(CoreIPC::Connection::open):
(CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):

  • Platform/CoreIPC/win/ConnectionWin.cpp:

(CoreIPC::Connection::open):

  • Platform/RunLoop.cpp:

(RunLoop::performWork):
(RunLoop::dispatch):

  • Platform/RunLoop.h:
  • Platform/WorkQueue.cpp:
  • Platform/WorkQueue.h:

(WorkQueue::WorkItemWin::function):

  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::EventSource::EventSource):
(WorkQueue::EventSource::executeEventSource):
(WorkQueue::registerEventSourceHandler):
(WorkQueue::dispatchOnSource):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
(WorkQueue::dispatchOnTermination):

  • Platform/mac/WorkQueueMac.cpp:

(WorkQueue::executeFunction):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):

  • Platform/qt/WorkQueueQt.cpp:

(WorkQueue::WorkItemQt::WorkItemQt):
(WorkQueue::WorkItemQt::~WorkItemQt):
(WorkQueue::WorkItemQt::execute):
(WorkQueue::registerSocketEventHandler):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
(WorkQueue::dispatchOnTermination):

  • Platform/win/RunLoopWin.cpp:

(RunLoop::wakeUp):

  • Platform/win/WorkQueueWin.cpp:

(WorkQueue::WorkItemWin::WorkItemWin):
(WorkQueue::WorkItemWin::create):
(WorkQueue::HandleWorkItem::HandleWorkItem):
(WorkQueue::HandleWorkItem::createByAdoptingHandle):
(WorkQueue::registerHandle):
(WorkQueue::dispatch):

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Launcher/qt/ProcessLauncherQt.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Launcher/win/ProcessLauncherWin.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • WebProcess/mac/CoreIPCClientRunLoop.mm:

(WebKit::callOnCoreIPCClientRunLoopAndWait):

8:39 AM Changeset in webkit [103177] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Add transform function completion to web-inspector

Web Inspector: Auto-complete transform functions for -webkit-transform
https://bugs.webkit.org/show_bug.cgi?id=74730

Patch by Raul Hudea <rhudea@adobe.com> on 2011-12-18
Reviewed by Pavel Feldman.

No new test. Trivial change.

  • inspector/front-end/CSSKeywordCompletions.js:
7:24 AM Changeset in webkit [103176] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: chromium profiler: change default root type for retaining paths from GC Roots to DOMWindow.
https://bugs.webkit.org/show_bug.cgi?id=74697

Reviewed by Pavel Feldman.

  • inspector/front-end/DetailedHeapshotView.js:

(WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects):

7:13 AM Changeset in webkit [103175] by loislo@chromium.org
  • 2 edits in trunk/PerformanceTests

Web Inspector: move heap data stats to separate tab.
https://bugs.webkit.org/show_bug.cgi?id=74704

Reviewed by Pavel Feldman.

  • inspector/performance-test.js:

(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
(initialize_TimeTracker.InspectorTest.runPerformanceTest):

7:05 AM Changeset in webkit [103174] by loislo@chromium.org
  • 9 edits in trunk

Web Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp, InspectorDebuggerAgent.cpp, ScriptCallFrame.cpp
https://bugs.webkit.org/show_bug.cgi?id=74549

Patch by Peter Rybin <peter.rybin@gmail.com> on 2011-12-18
Reviewed by Pavel Feldman.

Source/WebCore:

Work with InspectorObject is replaced with type-safe generated API
usage.
Inspector.json and Inspector-0.1.json are also changed to better
reflect data types that are actually being transmitted.

  • inspector/ConsoleMessage.cpp:

(WebCore::ConsoleMessage::addToFrontend):

  • inspector/Inspector-0.1.json:
  • inspector/Inspector.json:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):

  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::resolveBreakpoint):

  • inspector/ScriptCallFrame.cpp:

(WebCore::ScriptCallFrame::buildInspectorObject):

LayoutTests:

Expected file modified as JSON properties are now in different
order.

  • inspector/protocol/console-agent-expected.txt:
6:54 AM Changeset in webkit [103173] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: CodeGeneratorInspector.py: use generated types in method parameters
https://bugs.webkit.org/show_bug.cgi?id=74661

Patch by Peter Rybin <peter.rybin@gmail.com> on 2011-12-18
Reviewed by Pavel Feldman.

Type binding object is added to raw_type object.

  • inspector/CodeGeneratorInspector.py:

(TypeBindings.create_for_named_type_declaration.EnumBinding.generate_type_builder):
(TypeBindings.create_for_named_type_declaration.EnumBinding.get_in_c_type_text):
(TypeBindings.create_for_named_type_declaration.EnumBinding):
(TypeBindings.create_for_named_type_declaration.EnumBinding.reduce_to_raw_type):
(TypeBindings.create_for_named_type_declaration.PlainString.generate_type_builder):
(TypeBindings.create_for_named_type_declaration.PlainString.reduce_to_raw_type):
(TypeBindings.create_for_named_type_declaration.PlainString):
(TypeBindings.create_for_named_type_declaration.PlainString.get_in_c_type_text):
(TypeBindings):
(TypeBindings.create_for_named_type_declaration.ClassBinding):
(get_in_c_type_text):
(reduce_to_raw_type):
(PlainObjectBinding.generate_type_builder):
(PlainObjectBinding.get_in_c_type_text):
(PlainObjectBinding):
(PlainObjectBinding.reduce_to_raw_type):
(RawTypesBinding.generate_type_builder):
(RawTypesBinding.get_in_c_type_text):
(RawTypesBinding):
(RawTypesBinding.reduce_to_raw_type):
(resolve_param_type.RawTypeBinding.reduce_to_raw_type):
(resolve_param_type.RawTypeBinding):
(resolve_param_type.RawTypeBinding.get_in_c_type_text):
(resolve_param_type):
(Generator.process_event):

6:46 AM Changeset in webkit [103172] by loislo@chromium.org
  • 8 edits
    1 move
    5 deletes in trunk/Source

Unreviewed, rolling out r103169.
http://trac.webkit.org/changeset/103169
https://bugs.webkit.org/show_bug.cgi?id=74809

it broke compilation on many platforms (Requested by loislo_
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-18

Source/WebCore:

  • WebCore.gypi:
  • platform/ColorChooser.cpp: Renamed from Source/WebKit/chromium/src/ColorChooserProxy.h.

(WebCore::ColorChooserClient::~ColorChooserClient):
(WebCore::ColorChooserClient::newColorChooser):
(WebCore::ColorChooserClient::discardChooser):
(WebCore::ColorChooser::ColorChooser):
(WebCore::ColorChooser::create):
(WebCore::ColorChooser::~ColorChooser):
(WebCore::ColorChooser::didChooseColor):
(WebCore::ColorChooser::didCleanup):

Source/WebKit/chromium:

  • WebKit.gyp:
  • features.gypi:
  • public/WebColorChooser.h: Removed.
  • public/WebColorChooserClient.h: Removed.
  • public/WebViewClient.h:
  • src/ChromeClientImpl.cpp:
  • src/ChromeClientImpl.h:
  • src/ColorChooserProxy.cpp: Removed.
  • src/WebColorChooserClientImpl.cpp: Removed.
  • src/WebColorChooserClientImpl.h: Removed.
6:43 AM Changeset in webkit [103171] by haraken@chromium.org
  • 2 edits in trunk/Tools

REGRESSION(r103149): prepare-ChangeLog outputs a warning
https://bugs.webkit.org/show_bug.cgi?id=74808

Reviewed by David Kilzer.

Added the prototype declaration of main() to avoid warning messages.
Sorted subroutine declarations in the alphabetical order.

  • Scripts/prepare-ChangeLog:
3:02 AM Changeset in webkit [103170] by Alexandru Chiculita
  • 20 edits
    1 copy
    12 adds in trunk

[CSS Shaders] Add FECustomFilter that renders custom filters
https://bugs.webkit.org/show_bug.cgi?id=73317

Source/WebCore:

Using a GraphicsContext3D to render the shaders in GPU, read the
result back and use it in the software filters pipeline.

Reviewed by Chris Marrin.

Test: css3/filters/effect-custom.html

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

(WebCore::CachedShader::CachedShader):
(WebCore::CachedShader::shaderString):
(WebCore::CachedShader::data):

  • loader/cache/CachedShader.h:
  • platform/graphics/filters/CustomFilterMesh.cpp: Added.

(WebCore::MeshGenerator::MeshGenerator):
(WebCore::MeshGenerator::vertices):
(WebCore::MeshGenerator::indices):
(WebCore::MeshGenerator::points):
(WebCore::MeshGenerator::pointsCount):
(WebCore::MeshGenerator::tiles):
(WebCore::MeshGenerator::tilesCount):
(WebCore::MeshGenerator::indicesCount):
(WebCore::MeshGenerator::floatsPerVertex):
(WebCore::MeshGenerator::vertexCount):
(WebCore::MeshGenerator::addTile):
(WebCore::MeshGenerator::addAttachedMeshIndex):
(WebCore::MeshGenerator::generateAttachedMesh):
(WebCore::MeshGenerator::addDetachedMeshVertexAndIndex):
(WebCore::MeshGenerator::generateDetachedMesh):
(WebCore::MeshGenerator::addPositionAttribute):
(WebCore::MeshGenerator::addTexCoordAttribute):
(WebCore::MeshGenerator::addMeshCoordAttribute):
(WebCore::MeshGenerator::addTriangleCoordAttribute):
(WebCore::MeshGenerator::addAttachedMeshVertexAttributes):
(WebCore::MeshGenerator::addDetachedMeshVertexAttributes):
(WebCore::MeshGenerator::dumpBuffers):
(WebCore::CustomFilterMesh::CustomFilterMesh):
(WebCore::CustomFilterMesh::~CustomFilterMesh):

  • platform/graphics/filters/CustomFilterMesh.h: Added.

(WebCore::CustomFilterMesh::create):
(WebCore::CustomFilterMesh::verticesBufferObject):
(WebCore::CustomFilterMesh::bytesPerVertex):
(WebCore::CustomFilterMesh::elementsBufferObject):
(WebCore::CustomFilterMesh::indicesCount):
(WebCore::CustomFilterMesh::meshBox):
(WebCore::CustomFilterMesh::meshType):

  • platform/graphics/filters/CustomFilterShader.cpp: Added.

(WebCore::CustomFilterShader::defaultVertexShaderString):
(WebCore::CustomFilterShader::defaultFragmentShaderString):
(WebCore::CustomFilterShader::CustomFilterShader):
(WebCore::CustomFilterShader::~CustomFilterShader):

  • platform/graphics/filters/CustomFilterShader.h: Added.
  • platform/graphics/filters/FECustomFilter.cpp: Added.

(WebCore::orthoMatrix):
(WebCore::FECustomFilter::FECustomFilter):
(WebCore::FECustomFilter::create):
(WebCore::FECustomFilter::platformApplySoftware):
(WebCore::FECustomFilter::dump):
(WebCore::FECustomFilter::externalRepresentation):

  • platform/graphics/filters/FECustomFilter.h: Added.
  • platform/graphics/gpu/Texture.cpp:
  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::toColumnMajorFloatArray):

  • platform/graphics/transforms/TransformationMatrix.h:
  • rendering/FilterEffectObserver.h: Copied from Source/WebCore/loader/cache/CachedShader.cpp.

(WebCore::FilterEffectObserver::~FilterEffectObserver):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::isWebGLEnabled):
(WebCore::FilterEffectRenderer::FilterEffectRenderer):
(WebCore::FilterEffectRenderer::build):
(WebCore::FilterEffectRenderer::notifyFinished):

  • rendering/FilterEffectRenderer.h:

(WebCore::FilterEffectRenderer::create):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateOrRemoveFilterEffect):
(WebCore::RenderLayer::filterNeedsRepaint):

  • rendering/RenderLayer.h:
  • rendering/style/StyleCachedShader.h:

(WebCore::StyleCachedShader::cachedShader):

  • rendering/style/StyleShader.h:

(WebCore::StyleShader::cachedShader):

LayoutTests:

WebKit2 doesn't support the WebGL flag in layoutTestController.overridePreference.
Skipping the test like all the other WebGL tests do.

Reviewed by Chris Marrin.

  • css3/filters/effect-custom-expected.png: Added.
  • css3/filters/effect-custom-expected.txt: Added.
  • css3/filters/effect-custom.html: Added.
  • css3/filters/resources/color-offset.fs: Added.
  • css3/filters/resources/vertex-explode-detached.vs: Added.
  • css3/filters/resources/vertex-offset.vs: Added.
  • platform/wk2/Skipped: Skipping the test until WebGL can be enabled from layoutTestController.
2:37 AM Changeset in webkit [103169] by keishi@webkit.org
  • 8 edits
    5 copies
    1 move in trunk/Source

Implement <input type=color> UI WebKit chromium part
https://bugs.webkit.org/show_bug.cgi?id=65897

Reviewed by Darin Fisher.

Source/WebCore:

  • WebCore.gypi: Added ColorChooser.h and ColorChooserClient.h

Source/WebKit/chromium:

  • WebKit.gyp: Added new files.
  • features.gypi: Added ENABLE_INPUT_COLOR.
  • public/WebColorChooser.h: Added. Interface for ColorChooserProxy to call.

(WebKit::WebColorChooser::~WebColorChooser):
(WebKit::WebColorChooser::setSelectedColor):
(WebKit::WebColorChooser::endChooser):

  • public/WebColorChooserClient.h: Added.

(WebKit::WebColorChooserClient::~WebColorChooserClient):
(WebKit::WebColorChooserClient::didChooseColor): Only called when user changes the color.
(WebKit::WebColorChooserClient::didEndChooser): Called when WebColorChooser::endChooser is called.

  • public/WebViewClient.h:

(WebKit::WebViewClient::createColorChooser): Creates a new color chooser. If there is an old color chooser, this will end it.

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::createColorChooser): Calls WebViewClient::createColorChooser.

  • src/ChromeClientImpl.h:
  • src/ColorChooserProxy.cpp: Proxies calls to WebCore::ColorChooser to WebKit::WebColorChooser.

(WebKit::ColorChooserProxy::ColorChooserProxy):
(WebKit::ColorChooserProxy::~ColorChooserProxy):
(WebKit::ColorChooserProxy::setSelectedColor):
(WebKit::ColorChooserProxy::endChooser):

  • src/ColorChooserProxy.h:
  • src/WebColorChooserClientImpl.cpp: Proxies calls to WebKit::WebColorChooserClient to WebCore::ColorChooserClient.

(WebKit::WebColorChooserClientImpl::WebColorChooserClientImpl):
(WebKit::WebColorChooserClientImpl::~WebColorChooserClientImpl):
(WebKit::WebColorChooserClientImpl::didChooseColor):
(WebKit::WebColorChooserClientImpl::didEndChooser):

  • src/WebColorChooserClientImpl.h: Added.
Note: See TracTimeline for information about the timeline view.