Timeline


and

12/19/11:

23:49 Changeset [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.

23:31 Changeset [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):

22:22 Changeset [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.

21:43 Changeset [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:
21:26 Changeset [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:
21:10 Changeset [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.
21:01 Changeset [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):

20:34 Changeset [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:
20:33 Changeset [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:
20:27 Changeset [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):

20:08 Changeset [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.

19:42 Changeset [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):

19:36 Changeset [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):

19:16 Changeset [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):

18:54 Changeset [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):

18:42 Changeset [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):

18:01 Changeset [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):

17:35 Changeset [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:
17:16 Changeset [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):

17:13 Changeset [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:
17:13 Changeset [103287] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Try to fix the Qt build.

Unreviewed.

  • wtf/ThreadSpecific.h: #include!
17:11 Changeset [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:
17:06 Changeset [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:
17:03 Changeset [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:
16:57 Changeset [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:
16:52 Changeset [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:
16:51 Changeset [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:
16:39 Changeset [103280] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Replace accidentally removed expectation in r103270.

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
16:31 Changeset [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:
16:12 Changeset [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):

15:53 Changeset [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.

15:40 Changeset [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):

15:39 Changeset [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:
15:26 Changeset [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):

15:10 Changeset [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:
15:03 Changeset [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.
14:51 Changeset [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:
14:37 Changeset [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:
14:31 Changeset [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

14:30 BuildingQtOnLinux edited by ossy@webkit.org
(diff)
14:29 Changeset [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

14:23 Changeset [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:
14:17 Changeset [103266] by ossy@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt-wk2/Skipped: Unskip now passing tests.
14:14 Changeset [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:
13:45 Changeset [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):

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

Chromium DEPS from 114686 to 115012.

  • DEPS:
13:40 Changeset [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:
13:28 Changeset [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):

13:16 Changeset [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:
13:06 Changeset [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:
13:01 Changeset [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 Changeset [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 Changeset [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 Changeset [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 Changeset [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 Changeset [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 Changeset [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 Changeset [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 Changeset [103250] by oliver@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Rolling r103120 back in with merge errors corrected.

11:15 Changeset [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 Changeset [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 Changeset [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 Changeset [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 Changeset [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 Changeset [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:
09:45 Changeset [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.

09:25 Changeset [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.
09:12 Changeset [103241] by ossy@webkit.org
  • 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.
07:59 Changeset [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:
07:56 Changeset [103239] by ossy@webkit.org
  • 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.
07:34 Changeset [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):

07:29 Changeset [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):

07:14 Changeset [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:
07:04 Changeset [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):

06:31 Changeset [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):

06:27 Changeset [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:
06:01 Changeset [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:
05:35 Changeset [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:
05:22 Changeset [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:
05:07 Changeset [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):

04:27 Changeset [103228] by hausmann@webkit.org
  • 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):

04:07 QtWebKitBuildBots edited by ossy@webkit.org
Update Qt5 on the bots (diff)
03:15 Changeset [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:
02:56 Changeset [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:
02:37 Changeset [103225] by ossy@webkit.org
  • 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.
00:48 Changeset [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:
00:28 Changeset [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:
00:11 Changeset [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.

12/18/11:

23:15 Changeset [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.
22:59 Changeset [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:
22:39 Changeset [103219] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix typo in comment.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

22:36 Changeset [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):

22:26 Changeset [103217] by darin@apple.com
  • 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.

21:47 Changeset [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.
21:22 Changeset [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.
21:06 Changeset [103214] by morrita@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed test_expectations.txt update.

  • platform/chromium/test_expectations.txt:
20:25 Changeset [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 <dbarton@mathscribe.com> 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:
19:50 Changeset [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):

19:27 Changeset [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:
19:13 Changeset [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):

19:07 Changeset [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:
19:01 Changeset [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):

18:59 Changeset [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):

18:51 Changeset [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.
18:17 Changeset [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):

18:13 Changeset [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.
18:07 Changeset [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):

18:03 Changeset [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):

17:47 Changeset [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):

17:43 Changeset [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):

17:40 Changeset [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.

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

Try to fix the windows build.

  • Platform/win/WorkQueueWin.cpp:

(WorkQueue::performWorkOnRegisteredWorkThread):

17:12 Changeset [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:
16:42 Changeset [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):

16:37 Changeset [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:
16:37 Changeset [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:
16:29 Changeset [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:
15:47 Changeset [103192] by antti@apple.com
  • 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.
14:28 Changeset [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.

14:21 Changeset [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:
13:54 Changeset [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.

13:49 Changeset [103188] by hausmann@webkit.org
  • 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.
13:41 Changeset [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 Changeset [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 Changeset [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 Changeset [103184] by kling@webkit.org
  • 1 edit in trunk/Source/WebCore/ChangeLog

Correct ChangeLog author mixup.

12:07 Changeset [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 Changeset [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 Changeset [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 Changeset [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 Changeset [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.

09:06 Changeset [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):

08:39 Changeset [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:
07:24 Changeset [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):

07:13 Changeset [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):

07:05 Changeset [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:
06:54 Changeset [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):

06:46 Changeset [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.
06:43 Changeset [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:
03:02 Changeset [103170] by achicu@adobe.com
  • 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.
02:37 Changeset [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.

12/17/11:

23:03 Changeset [103168] by keishi@webkit.org
  • 10 edits
    1 add in trunk/Source/WebCore

Refactor input type color WebCore part
https://bugs.webkit.org/show_bug.cgi?id=74591

Reviewed by Kent Tamura.

Changing ColorChooser to address issues raised in Bug 65897.
Chrome::createColorChooser will return a WebCore::ColorChooser instance
so the WebCore side (ColorInputType) and call the WebKit side. We pass the ColorChooserClient as an argument
to Chrome::createColorChooser so the WebKit side can call callbacks, didEndChooser and didChooseColor.

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::~ColorInputType):
(WebCore::ColorInputType::setValue):
(WebCore::ColorInputType::handleDOMActivateEvent): Calls createColorChooser to open the color chooser.
(WebCore::ColorInputType::detach):
(WebCore::ColorInputType::didEndChooser): Release the ColorChooser object.
(WebCore::ColorInputType::endColorChooser):
(WebCore::ColorInputType::updateColorSwatch): Added argument so it will compile again.

  • html/ColorInputType.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::selectColorInColorChooser):

  • loader/EmptyClients.h:

(WebCore::EmptyChromeClient::createColorChooser):

  • loader/FrameLoader.cpp:
  • page/Chrome.cpp:

(WebCore::Chrome::createColorChooser): Opens the color chooser. Returns a ColorChooser PassOwnPtr.

  • page/Chrome.h:
  • page/ChromeClient.h:
  • platform/ColorChooser.h:

(WebCore::ColorChooser::~ColorChooser):
(WebCore::ColorChooser::setSelectedColor):
(WebCore::ColorChooser::endChooser):

  • platform/ColorChooserClient.h: Added.
22:09 Changeset [103167] by weinig@apple.com
  • 13 edits in trunk/Source

Make PlatformTouchEvent inherit from PlatformEvent
https://bugs.webkit.org/show_bug.cgi?id=74777

Reviewed by Andreas Kling.

../WebCore:

  • platform/PlatformEvent.h:

Add TouchEvent types.

  • platform/PlatformTouchEvent.h:

(WebCore::PlatformTouchEvent::PlatformTouchEvent):
Make inherit from PlatformEvent.

  • platform/blackberry/PlatformTouchEventBlackBerry.cpp:

(WebCore::touchEventType):
(WebCore::PlatformTouchEvent::PlatformTouchEvent):

  • platform/efl/PlatformTouchEventEfl.cpp:

(WebCore::PlatformTouchEvent::PlatformTouchEvent):

  • platform/qt/PlatformTouchEventQt.cpp:

(WebCore::PlatformTouchEvent::PlatformTouchEvent):
Make necessary changes to work with new base class.

../WebKit/chromium:

  • src/WebInputEventConversion.cpp:

(WebKit::toPlatformTouchEventType):

  • tests/InnerGestureRecognizerTest.cpp:

(BuildablePlatformTouchEvent::BuildablePlatformTouchEvent):
(SimulateAndTestFirstClick):
(TouchPointAndEvent::TouchPointAndEvent):
Add PlatformEvent prefix to enum types.

../WebKit/efl:

  • ewk/ewk_frame.cpp:

(ewk_frame_feed_touch_event):
Rename TouchEventType to PlatformEvent::Type.

../WebKit2:

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
Add PlatformEvent prefix to enum types.

19:57 Changeset [103166] by kling@webkit.org
  • 12 edits in trunk

Cache and reuse the HTMLAllCollection returned by document.all.
<http://webkit.org/b/74768>

Reviewed by Antti Koivisto.

Source/WebCore:

Let Document cache the document.all collection, just like we do for
the other collections (.links, .images, etc.)
This is primarily a memory optimization, as repeated calls to
document.all will no longer cause collection objects to stack up.

Tests: fast/dom/document-collection-idempotence.html

fast/dom/gc-9.html

  • dom/Document.h:
  • dom/Document.cpp:

(WebCore::Document::all):

Cache the HTMLAllCollection and reuse it across calls instead of
creating a new one each time.

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

(WebCore::HTMLAllCollection::create):
(WebCore::HTMLAllCollection::HTMLAllCollection):

Make the HTMLAllCollection constructor take a Document* to enforce
the fact that it's the only way it should ever be created.

  • html/HTMLAllCollection.idl:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

Custom reachability code for JSC, same as HTMLCollection.

LayoutTests:

Update tests to document the new behavior of document.all.

  • fast/dom/document-collection-idempotence-expected.txt:
  • fast/dom/document-collection-idempotence.html:
  • fast/dom/gc-9-expected.txt:
  • fast/dom/gc-9.html:
19:41 Changeset [103165] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

HTMLCollection: Simplify itemAfter().
<http://webkit.org/b/74795>

Reviewed by Antti Koivisto.

Whether to do deep traversal of children depends on m_type which
doesn't change after construction, so move that decision there
by caching it in a "m_includeChildren" bit.

Also factored out the big switch statement in itemAfter() into
an isAcceptableElement() function.

Last and least, use fastHasAttribute() to check for itempropAttr
since it's not SVG animatable.

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::shouldIncludeChildren):
(WebCore::HTMLCollection::isAcceptableElement):
(WebCore::HTMLCollection::itemAfter):

  • html/HTMLCollection.h:
19:35 Changeset [103164] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Qt] Fix QtTestBrowser compilation with QtWidgets module
https://bugs.webkit.org/show_bug.cgi?id=74791

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2011-12-17
Reviewed by Andreas Kling.

  • QtTestBrowser/QtTestBrowser.pro:
19:32 Changeset [103163] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

TagNodeList: Optimize nodeMatches() for the common case.
<http://webkit.org/b/74796>

Reviewed by Antti Koivisto.

Reject based on tag name mismatch before comparing the namespaces,
as this case is vastly more common.

nodeMatches() is very hot on the DOM Query (Dojo) test on Dromaeo.
This change takes it from 8.3% to 7.7% on my MBP.

  • dom/TagNodeList.cpp:

(WebCore::TagNodeList::nodeMatches):

19:28 Changeset [103162] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

NameNodeList: Use fastGetAttribute() in nodeMatches().
<http://webkit.org/b/74797>

Reviewed by Darin Adler.

It's safe and slightly more efficient to use fastGetAttribute()
for HTMLNames::nameAttr here.

  • dom/NameNodeList.cpp:

(WebCore::NameNodeList::nodeMatches):

19:26 Changeset [103161] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

CSSPrimitiveValue: Inline getIdent().
<http://webkit.org/b/74793>

Reviewed by Antti Koivisto.

Inline the trivial getIdent(), the same as its getFoo() siblings.

  • css/CSSPrimitiveValue.cpp:
  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::getIdent):

19:17 Changeset [103160] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

CSSStyleSelector: Clean up matchRules().
<http://webkit.org/b/74794>

Reviewed by Antti Koivisto.

  • Early return from the isCollectingRulesOnly() path to reduce nesting.
  • Move the creation of m_ruleList out of the loop that builds the list.
  • Removed some comments from the Captain Obvious department.
  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::matchRules):

19:06 Changeset [103159] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

RuleSet: Remove style sheet null-check in addRulesFromSheet().
<http://webkit.org/b/74792>

Reviewed by Antti Koivisto.

Replace the "sheet" null-check in addRulesFromSheet() by an assertion.
The only call-site where it could be null was when adding rules from
an @import'ed sheet, so add a check there instead.

  • css/CSSStyleSelector.cpp:

(WebCore::RuleSet::addRulesFromSheet):

19:00 Changeset [103158] by kling@webkit.org
  • 6 edits in trunk/Source/WebCore

CSSStyleSelector: Clean up getColorFromPrimitiveValue().
<http://webkit.org/b/74789>

Reviewed by Antti Koivisto.

Rename getColorFromPrimitiveValue() to colorFromPrimitiveValue() and rework
it to be a bit more readable.

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops):

  • css/CSSStyleApplyProperty.cpp:

(WebCore::ApplyPropertyColor::applyValue):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::colorFromPrimitiveValue):
(WebCore::CSSStyleSelector::createFilterOperations):

  • css/CSSStyleSelector.h:
  • css/SVGCSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applySVGProperty):

15:17 Changeset [103157] by kling@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

OpaqueJSClass: Remove RVCT2 workarounds.
<http://webkit.org/b/74250>

Reviewed by Benjamin Poulain.

We no longer need workarounds for the RVCT2 compiler since it was
only used for the Symbian port of WebKit which is now defunct.

  • API/JSClassRef.cpp:

(OpaqueJSClass::OpaqueJSClass):
(OpaqueJSClassContextData::OpaqueJSClassContextData):

13:19 Changeset [103156] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark svg/W3C-SVG-1.1/animate-elem* tests as flaky crashers
https://bugs.webkit.org/show_bug.cgi?id=74788

Unreviewed gardening.

There are only about a dozen tests that have been seen to fail on the
bots, but the set keeps changing. Rather than just marking known
failures, mark all these tests to avoid further gardening fallout.

  • platform/chromium/test_expectations.txt:
12:23 Changeset [103155] by bashi@chromium.org
  • 3 edits
    3 adds in trunk

Text dispappear when SVG font has no latin character
https://bugs.webkit.org/show_bug.cgi?id=71765

Reviewed by Nikolas Zimmermann.

Source/WebCore:

Initialize SVG font metrics even if the font doesn't contain latin characters.

Test: svg/custom/svg-fonts-no-latin-glyph.html

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::initializeFontData): Initializes metrics even if the zeroGlyphPage doesn't exist.

LayoutTests:

Test that text can be displayed with a SVG font which has no latin character.

  • svg/custom/svg-fonts-no-latin-glyph-expected.txt: Added.
  • svg/custom/resources/no-latin-glyph-font.svg: Added.
  • svg/custom/svg-fonts-no-latin-glyph.html: Added.
12:09 Changeset [103154] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Rebaseline huge-layer-rotated after r103129.
https://bugs.webkit.org/show_bug.cgi?id=72686

Unreviewed gardening.

I don't understand why this would have changed rendering on any test,
but there are only small diffences in the lower left, so rebaselining.
It's also possible, but far less likely, that this was from r103130.

  • platform/chromium-cg-mac-snowleopard/platform/chromium/compositing/huge-layer-rotated-expected.png:
11:52 Changeset [103153] by enne@google.com
  • 2 edits in trunk/LayoutTests

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

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
11:47 Changeset [103152] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark fast/js/dfg-poison-fuzz.html as slow in debug.
https://bugs.webkit.org/show_bug.cgi?id=74787

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
10:51 Changeset [103151] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Radical sign drawn incorrectly due to refactoring typo
https://bugs.webkit.org/show_bug.cgi?id=74780

Patch by David Barton <dbarton@mathscribe.com> on 2011-12-17
Reviewed by Dan Bernstein.

LayoutTests/mathml/presentation/roots.xhtml shows the bug, but apparently its .png
checksum is ok so run-webkit-tests can't detect the problem.

  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::paint):
In revision 88250, one paintOffset should have been adjustedPaintOffset.

10:35 Changeset [103150] by enne@google.com
  • 34 edits
    2 moves
    2 deletes in trunk

[chromium] Reverting r103011, r103135 due to Aura test failures

Unreviewed gardening.

Source/WebCore:

  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerChromium::~ContentLayerChromium):

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::notifySyncRequired):

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

(WebCore::ImageLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/LayerChromium.cpp:

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

  • platform/graphics/chromium/LayerChromium.h:

(WebCore::LayerChromium::setReplicaLayer):

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::setLayerTreeHost):

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

(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):

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

(WebCore::CCLayerTreeHost::setRootLayer):

Source/WebKit/chromium:

  • 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):
(WebKit::WebContentLayerImpl::notifySyncRequired):

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

(WebKit::WebExternalTextureLayer::create):

  • src/WebExternalTextureLayerImpl.cpp:

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

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

(WebKit::WebLayer::create):

  • src/WebLayerImpl.cpp:

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

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

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

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

(WTF::MockLayerTreeHost::create):
(WTF::MockLayerTreeHost::MockLayerTreeHost):
(WTF::CompositorMockWebGraphicsContext3D::create):
(WTF::CompositorMockWebGraphicsContext3D::makeContextCurrent):
(WTF::CompositorMockWebGraphicsContext3D::createProgram):
(WTF::CompositorMockWebGraphicsContext3D::createShader):
(WTF::CompositorMockWebGraphicsContext3D::getShaderiv):
(WTF::CompositorMockWebGraphicsContext3D::getProgramiv):
(WTF::CompositorMockWebGraphicsContext3D::CompositorMockWebGraphicsContext3D):
(WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
(WTF::CCLayerTreeHostTestShortlived1::beginTest):
(WTF::CCLayerTreeHostTestShortlived2::beginTest):
(WTF::CCLayerTreeHostTestShortlived3::beginTest):
(WTF::CCLayerTreeHostTestScrollSimple::beginCommitOnCCThread):
(WTF::TestOpacityChangeLayerDelegate::notifySyncRequired):

  • tests/CompositorFakeGraphicsContext3D.h: Removed.
  • tests/CompositorFakeWebGraphicsContext3D.h: Removed.
  • tests/LayerChromiumTest.cpp:
  • tests/MockGraphicsContext3DTest.cpp: Renamed from Source/WebKit/chromium/tests/FakeGraphicsContext3DTest.cpp.

(FrameCountingContext::FrameCountingContext):
(FrameCountingContext::prepareTexture):
(FrameCountingContext::frameCount):
(TEST):
(ContextThatCountsMakeCurrents::ContextThatCountsMakeCurrents):
(ContextThatCountsMakeCurrents::makeContextCurrent):
(ContextThatCountsMakeCurrents::makeCurrentCount):
(ContextWithMakeCurrentThatFails::ContextWithMakeCurrentThatFails):
(ContextWithMakeCurrentThatFails::makeContextCurrent):

  • tests/MockWebGraphicsContext3D.h: Renamed from Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h.

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

  • tests/WebGLLayerChromiumTest.cpp:

(WebKit::CompositorMockWebGraphicsContext3D::create):
(WebKit::CompositorMockWebGraphicsContext3D::makeContextCurrent):
(WebKit::CompositorMockWebGraphicsContext3D::createProgram):
(WebKit::CompositorMockWebGraphicsContext3D::createShader):
(WebKit::CompositorMockWebGraphicsContext3D::getShaderiv):
(WebKit::CompositorMockWebGraphicsContext3D::getProgramiv):
(WebKit::CompositorMockWebGraphicsContext3D::getContextAttributes):
(WebKit::CompositorMockWebGraphicsContext3D::CompositorMockWebGraphicsContext3D):
(WebKit::createGraphicsContext):
(WebKit::TEST):

  • tests/WebLayerTest.cpp:

(testing::WebLayerTest::WebLayerTest):
(testing::TEST_F):

LayoutTests:

  • platform/chromium/test_expectations.txt:
10:15 Changeset [103149] by haraken@chromium.org
  • 2 edits in trunk/Tools

Remove top-level code completely from prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=74698

Reviewed by Darin Adler.

We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest manner.
This patch just moves all top-level code into main().

  • Scripts/prepare-ChangeLog:

(main):

09:46 Changeset [103148] by cmarrin@apple.com
  • 14 edits
    27 adds in trunk

Hardware acceleration of W3C Filter Effects
https://bugs.webkit.org/show_bug.cgi?id=68479

Reviewed by Simon Fraser.

Tests: css3/filters/effect-blur-hw.html

css3/filters/effect-combined-hw.html
css3/filters/effect-drop-shadow-hw.html
css3/filters/effect-grayscale-hw.html
css3/filters/effect-hue-rotate-hw.html
css3/filters/effect-invert-hw.html
css3/filters/effect-opacity-hw.html
css3/filters/effect-saturate-hw.html
css3/filters/effect-sepia-hw.html

Implement hardware acceleration of filters. If a filter is
on a RenderLayer and that layer has a GraphicsLayer, a test
is done to see if the desired filter can be rendered in hardware.
If so, skip rendering it when painting, and add the filters to the
CALayer. Currently Mac only, using CoreImage. Animation is done in
software, with the filters being recreated every frame. There are
some fidelity issues with the software renderer, but those will
be dealt with as bugs to be fixed.

09:10 Changeset [103147] by bashi@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[Chromium] Implement PluginViewBase::getFormValue
https://bugs.webkit.org/show_bug.cgi?id=64434

Reviewed by Darin Fisher.

This patch was landed as r102873, but reverted because of Chromium Mac build failure.
The fix was landed as Chromium r114920. The patch should be safe to land.

No new tests. No behavior change at this time. We should add a test for PPAPI after chromium supports the feature.

  • public/WebPlugin.h: Added getFormValue().
  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::getFormValue): Added.

  • src/WebPluginContainerImpl.h: Added getFormValue().
05:07 Changeset [103146] by ossy@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt] fast/canvas/2d.text.draw.fill.maxWidth.gradient.html fails with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=74785

  • platform/qt-5.0/Skipped: Skip fast/canvas/2d.text.draw.fill.maxWidth.gradient.html.
00:59 Changeset [103145] by philn@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, GTK build fix after r103131.

  • GNUmakefile.list.am: Fix typo... s/.cop/.cpp

12/16/11:

22:35 Changeset [103144] 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-16
Reviewed by Andreas Kling.

The functions were sharing similar code and were defined for the various input types.
Use templates instead to avoid code duplication.

  • wtf/ASCIICType.h:

(WTF::isASCII):
(WTF::isASCIIAlpha):
(WTF::isASCIIAlphanumeric):
(WTF::isASCIIDigit):
(WTF::isASCIIHexDigit):
(WTF::isASCIILower):
(WTF::isASCIIOctalDigit):
(WTF::isASCIIPrintable):
(WTF::isASCIISpace):
(WTF::isASCIIUpper):
(WTF::toASCIILower):
(WTF::toASCIIUpper):
(WTF::toASCIIHexValue):
(WTF::lowerNibbleToASCIIHexDigit):
(WTF::upperNibbleToASCIIHexDigit):

21:53 Changeset [103143] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

FEComposite does not build when you disable filters on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=74772

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-16
Reviewed by David Kilzer.

Add the missing ENABLE(FILTERS).

  • platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp:
  • platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
20:50 Changeset [103142] by mrowe@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Roll out r103139 because it breaks the build.

20:44 Changeset [103141] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Mac build fix after r103104.

  • WebCore.xcodeproj/project.pbxproj:
20:36 Changeset [103140] by adamk@chromium.org
  • 5 edits in trunk/Source/WebCore

Consolidate before-advice regarding attribute modification into a single method
https://bugs.webkit.org/show_bug.cgi?id=74752

Reviewed by Ryosuke Niwa.

Adds a willModifyAttribute method to Element, meant to be called
before an attribute on that Element is added/removed/changed.

Replace most calls to Element::updateId and all calls to
Element::enqueueAttributesMutationRecordIfRequested with calls to
willModifyAttribute. Moreover, enqueueAttributesMutation... can now
be private since its only caller is willModifyAttribute.

The only remaining direct calls to updateId are in cases the entire
NamedNodeMap is being replaced. These are implementation details of
WebCore that shouldn't be exposed via MutationObservers.

No new tests, no expected change in behavior.

  • dom/Attr.cpp:

(WebCore::Attr::setValue):
(WebCore::Attr::childrenChanged): Besides the above change, use a
StringBuilder to build up value, and only do String -> AtomicString
conversion once.

  • dom/Element.cpp:

(WebCore::Element::setAttributeInternal):

  • dom/Element.h:

(WebCore::Element::willModifyAttribute):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::setNamedItem):
(WebCore::NamedNodeMap::removeNamedItem):

19:46 Changeset [103139] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove unused variable after r74747 (buildfix)
https://bugs.webkit.org/show_bug.cgi?id=74767

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-16
Reviewed by Darin Adler.

  • dfg/DFGSpeculativeJIT.cpp:

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

18:40 Changeset [103138] by barraclough@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Reverted r103120, this breaks v8 on ARMv7 DFG.

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

18:37 Changeset [103137] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Layout Test media/controls-right-click-on-timebar.html is flaky - Crash on LEOPARD CG DEBUG
ffmpeg_video_decoder.cc has been reworked extensively since the reported crashes
and the test is 0% flaky now.
https://bugs.webkit.org/show_bug.cgi?id=68747

Patch by Ami Fischman <fischman@chromium.org> on 2011-12-16
Reviewed by Eric Carlson.

  • platform/chromium/test_expectations.txt:
18:16 Changeset [103136] by tony@chromium.org
  • 2 edits
    1 move
    5 adds
    1 delete in trunk/LayoutTests

[chromium] 2 repaint test failures on mac
https://bugs.webkit.org/show_bug.cgi?id=66338

Unreviewed. These are expected differences between Apple DRT and Chromium DRT on Mac
caused by different code paths for drawing scrollbars.

  • platform/chromium-cg-mac-snowleopard/fast/repaint/background-scaling-expected.png: Added.
  • platform/chromium-cg-mac-snowleopard/fast/repaint/scale-page-shrink-expected.png: Added.
  • platform/chromium-mac-leopard/fast/repaint/scale-page-shrink-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/repaint/background-scaling-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/repaint/scale-page-shrink-expected.png: Added.
  • platform/chromium-win/fast/repaint/background-scaling-expected.png: Renamed from LayoutTests/platform/chromium/fast/repaint/background-scaling-expected.png.
  • platform/chromium/fast/repaint/background-scaling-expected.txt: Removed.
  • platform/chromium/test_expectations.txt:
18:11 Changeset [103135] by jamesr@google.com
  • 29 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):

18:04 Changeset [103134] by adamk@chromium.org
  • 4 edits in trunk/Source/WebCore

Fix typo in MarkupTokenBase: rename takeAtributes to takeAttributes
https://bugs.webkit.org/show_bug.cgi?id=74766

Reviewed by Darin Adler.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLConstructionSite::createHTMLElement):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::attributesForIsindexInput):

  • xml/parser/MarkupTokenBase.h:

(WebCore::AtomicMarkupTokenBase::takeAttributes):

17:19 Changeset [103133] by abarth@webkit.org
  • 5 edits in trunk

<option><span><option> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74760

Reviewed by Eric Seidel.

Source/WebCore:

The <option> start tag shouldn't be quite as aggressive in closing open
<option> tags. I'm not sure whether this was a change in the spec or a
mistranscription, but this patch causes us to match the spec. I've
checked the other optionTag checks, and they all seem to be correct.

  • html/parser/HTMLTreeBuilder.cpp:

LayoutTests:

Show test progression.

  • html5lib/runner-expected.txt:
17:03 Changeset [103132] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Convert more WorkItems over to WTF::Functions
https://bugs.webkit.org/show_bug.cgi?id=74770

Reviewed by Andreas Kling.

  • Platform/WorkQueue.cpp:

(WorkQueue::dispatchAfterDelay):

  • Platform/WorkQueue.h:
  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::didCloseOnConnectionWorkQueue):

  • UIProcess/Launcher/ThreadLauncher.cpp:

(WebKit::ThreadLauncher::launchThread):

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::launchProcess):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::pluginThreadAsyncCall):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::derefPluginView):
(WebKit::PluginView::unprotectPluginFromDestruction):

16:58 Changeset [103131] by commit-queue@webkit.org
  • 8 edits
    3 adds in trunk/Source/WebCore

[MutationObservers] Remove platform-dependent code in Document.cpp resulting from Mutation Event histogram collection
https://bugs.webkit.org/show_bug.cgi?id=73026

Patch by Rafael Weinstein <rafaelw@chromium.org> on 2011-12-16
Reviewed by Ryosuke Niwa.

This patch adds platform/HistogramSupport which has an empty implementation for all ports
except Chromium.

No tests need. This patch is just a refactor.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::histogramMutationEventUsage):
(WebCore::Document::~Document):

  • platform/HistogramSupport.h: Added.

(WebCore::HistogramSupport::histogramEnumeration):

  • platform/chromium/HistogramSupportChromium.cpp: Added.

(WebCore::HistogramSupport::histogramEnumeration):

16:32 Changeset [103130] by beidson@apple.com
  • 15 edits
    3 adds in trunk

<rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
REGRESSION(r102619): Reproducible crash closing window with video + poster image inside an object element

Reviewed by Darin Adler.

Source/WebCore:

Test: media/crash-closing-page-with-media-as-plugin-fallback.html

At some point documentWillBecomeInactive() was overloaded to not only notify elements they were going in to the page
cache but also do some other work that was necessary during Document teardown.

This crash occurs because we're notifying elements they're going in to the page cache at document teardown, so this
patch breaks that work back out in to a separate function.

  • dom/Document.cpp:

(WebCore::Document::detach): Remove obsolete comment.
(WebCore::Document::documentWillBecomeInactive): Handle only accelerated compositing cleanup.
(WebCore::Document::documentWillSuspendForPageCache): Call documentWillBecomeInactive before notifying elements of suspension.
(WebCore::Document::documentDidResumeFromPageCache):
(WebCore::Document::registerForPageCacheSuspensionCallbacks):
(WebCore::Document::unregisterForPageCacheSuspensionCallbacks):

  • dom/Document.h:
  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore): Call the renamed documentDidResumeFromPageCache.
(WebCore::CachedFrame::CachedFrame): Call documentWillSuspendForPageCache instead of documentDidBecomeInactive.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad): Call the renamed documentDidResumeFromPageCache.

  • dom/Element.h:

(WebCore::Element::documentWillSuspendForPageCache): Renamed from documentWillBecomeInactive()
(WebCore::Element::documentDidResumeFromPageCache): Renamed from documentDidBecomeActive()

Change to the renamed registration and callbacks functions in the handful of classes that use them:

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::~HTMLFormElement):
(WebCore::HTMLFormElement::parseMappedAttribute):
(WebCore::HTMLFormElement::documentDidResumeFromPageCache):
(WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
(WebCore::HTMLFormElement::didMoveToNewOwnerDocument):

  • html/HTMLFormElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::parseMappedAttribute):
(WebCore::HTMLInputElement::needsSuspensionCallback):
(WebCore::HTMLInputElement::registerForSuspensionCallbackIfNeeded):
(WebCore::HTMLInputElement::unregisterForSuspensionCallbackIfNeeded):
(WebCore::HTMLInputElement::documentDidResumeFromPageCache):
(WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
(WebCore::HTMLInputElement::didMoveToNewOwnerDocument):

  • html/HTMLInputElement.h:
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::createRenderer):
(WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument):
(WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument):
(WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
(WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):

  • html/HTMLPlugInImageElement.h:
  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::~SVGSVGElement):
(WebCore::SVGSVGElement::willMoveToNewOwnerDocument):
(WebCore::SVGSVGElement::didMoveToNewOwnerDocument):
(WebCore::SVGSVGElement::documentWillSuspendForPageCache):
(WebCore::SVGSVGElement::documentDidResumeFromPageCache):

  • svg/SVGSVGElement.h:

LayoutTests:

  • media/crash-closing-page-with-media-as-plugin-fallback-expected.txt: Added.
  • media/crash-closing-page-with-media-as-plugin-fallback.html: Added.
  • media/resources/video-with-poster-as-object-fallback.html: Added.
16:27 Changeset [103129] by commit-queue@webkit.org
  • 12 edits in trunk/Source

[chromium] Need to prepaint tiles in TiledLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=72686

Patch by Eric Penner <epenner@google.com> on 2011-12-16
Reviewed by James Robinson.

Source/WebCore:

Tests: TiledLayerChromiumTest (idlePaintOutOfMemory, pushIdlePaintTiles)

  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerChromium::idlePaintContentsIfDirty): added idle paint function

  • platform/graphics/chromium/ContentLayerChromium.h: ditto
  • platform/graphics/chromium/LayerChromium.h: ditto

(WebCore::LayerChromium::idlePaintContentsIfDirty): ditto

  • platform/graphics/chromium/TextureManager.cpp:

(WebCore::TextureManager::protectTexture): removed assert for protecting a texture twice

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::cleanupResources):
(WebCore::TiledLayerChromium::updateCompositorResources): refactoring to use tile indices
(WebCore::TiledLayerChromium::prepareToUpdateTiles): refactored common code and made idle/visible versions
(WebCore::TiledLayerChromium::prepareToUpdate): ditto
(WebCore::TiledLayerChromium::prepareToUpdateIdle): ditto
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):

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

(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::compositeAndReadback): set flag to avoid idle paint durring composite and readback
(WebCore::CCLayerTreeHost::updateLayers): added idle flag parameter
(WebCore::CCLayerTreeHost::paintContentsIfDirty): ditto
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface): ditto
(WebCore::CCLayerTreeHost::paintLayerContents): chooses idle or visible paint

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

Source/WebKit/chromium:

  • tests/CCLayerTreeHostTest.cpp:

(WTF::ContentLayerChromiumWithUpdateTracking::idlePaintContentsCount):
(WTF::ContentLayerChromiumWithUpdateTracking::resetPaintContentsCount):
(WTF::ContentLayerChromiumWithUpdateTracking::idlePaintContentsIfDirty):
(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
(WTF::CCLayerTreeHostTestOpacityChange::afterTest):

  • tests/TiledLayerChromiumTest.cpp:

(WTF::FakeTiledLayerChromium::prepareToUpdateIdle):
(WTF::FakeTiledLayerChromium::needsIdlePaint):
(WTF::TEST):

16:18 Changeset [103128] by mnaganov@chromium.org
  • 2 edits
    10 adds in trunk/LayoutTests

[Qt] Add platform-specific test results after r103073
[Chromium] Add test results for Mac 10.5

  • platform/chromium-cg-mac-leopard/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
  • platform/chromium-cg-mac-leopard/editing/input/caret-at-the-edge-of-input-expected.png: Added.
  • platform/chromium-cg-mac-leopard/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
  • platform/chromium-cg-mac-leopard/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
  • platform/chromium-cg-mac-leopard/fast/forms/input-text-scroll-left-on-blur-expected.png:
  • platform/chromium-cg-mac-snowleopard/fast/forms/input-text-scroll-left-on-blur-expected.png: Added.
  • platform/mac/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Renamed from LayoutTests/editing/input/caret-at-the-edge-of-contenteditable-expected.txt.
  • platform/mac/editing/input/caret-at-the-edge-of-input-expected.txt: Renamed from LayoutTests/editing/input/caret-at-the-edge-of-input-expected.txt.
  • platform/mac/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Renamed from LayoutTests/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt.
  • platform/mac/editing/input/reveal-caret-of-multiline-input-expected.txt: Renamed from LayoutTests/editing/input/reveal-caret-of-multiline-input-expected.txt.
  • platform/qt/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
  • platform/qt/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
  • platform/qt/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
  • platform/qt/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
16:09 Changeset [103127] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk

DFG OSR exit may get confused about where in the scratch buffer it stored a value
https://bugs.webkit.org/show_bug.cgi?id=74695

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

The code that reads from the scratch buffer now explicitly knows which locations to
read from. No new tests, since this patch covers a case so uncommon that I don't know
how to make a test for it.

  • dfg/DFGOSRExitCompiler.h:

(JSC::DFG::OSRExitCompiler::badIndex):
(JSC::DFG::OSRExitCompiler::initializePoisoned):
(JSC::DFG::OSRExitCompiler::poisonIndex):

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

LayoutTests:

Rubber stamped by Gavin Barraclough.

Wrote a custom fuzzer that does 2048 different combinations of integer and float
temporaries and induces a failure whilst all of them are live. If poisoning doesn't
work correctly, a large number (>hundred) of the fuzzing cases fail.

  • fast/js/dfg-poison-fuzz-expected.txt: Added.
  • fast/js/dfg-poison-fuzz.html: Added.
  • fast/js/script-tests/dfg-poison-fuzz.js: Added.
16:07 Changeset [103126] by dino@apple.com
  • 2 edits in trunk/Tools

Move webkit-bug-importer to Contributor. It won't
autocomplete as an Account.
See https://bugs.webkit.org/show_bug.cgi?id=74739
for some discussion.

Unreviewed.

  • Scripts/webkitpy/common/config/committers.py:
16:01 Changeset [103125] by dino@apple.com
  • 29 edits
    1 copy
    1 move
    5 adds
    2 deletes in trunk

Miscellaneous Filter updates to align with spec
https://bugs.webkit.org/show_bug.cgi?id=74736

Reviewed by Simon Fraser.

Source/WebCore:

Combine a bunch of small updates to filters where
we were not compliant with the specification.

  • blur() only takes one value, not two
  • blur() does not accept percentages. This allowed us to stop passing the borderBoxSize around while building the filter chain or calculating visual overflow.
  • gamma() and sharpen() removed
  • brightness() and contrast() added

Tests: css3/filters/effect-brightness.html

css3/filters/effect-contrast.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::valueForFilter): Create new
variations on component transfer functions for brightness() and
contrast() effects. Also remove sharpen() and gamma().

  • css/CSSParser.cpp:

(WebCore::filterInfoForName):
(WebCore::CSSParser::parseBuiltinFilterArguments): Ditto, and blur
only takes one argument.

  • css/CSSStyleSelector.cpp:

(WebCore::filterOperationForType):
(WebCore::CSSStyleSelector::createFilterOperations): Ditto, and
use ->isPercentage() to test rather than getting the type.

  • css/WebKitCSSFilterValue.cpp:

(WebCore::WebKitCSSFilterValue::customCssText):

  • css/WebKitCSSFilterValue.h:
  • css/WebKitCSSFilterValue.idl: Remove sharpen and gamma, add

brightness and contrast.

  • platform/graphics/filters/FilterOperation.cpp:

(WebCore::BlurFilterOperation::blend): Blurs only need to blend
between one standard deviation parameter.

  • platform/graphics/filters/FilterOperation.h: Remove sharpen and

gamma, add brightness and contrast.
(WebCore::BlurFilterOperation::create):
(WebCore::BlurFilterOperation::stdDeviation):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::BlurFilterOperation): Blur only takes
one standard deviation / radius parameter.

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::outsetSizeForBlur):
(WebCore::FilterOperations::getOutsets): No need for borderBox now.

  • platform/graphics/filters/FilterOperations.h:
  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build): Build new effect types.

  • rendering/FilterEffectRenderer.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::addVisualEffectOverflow): No need to pass
borderBox size when calculating overflow on filter.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateOrRemoveFilterEffect):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::getFilterOutsets): Ditto.

LayoutTests:

Test changes for small updates to filters where
we were not compliant with the specification.

  • blur() only takes one value, not two
  • blur() does not accept percentages.
  • gamma() and sharpen() removed
  • brightness() and contrast() added

Added bonus: New tests for percentage values in appropriate functions!

  • css3/filters/crash-filter-change.html:
  • css3/filters/effect-blur.html:
  • css3/filters/effect-brightness-expected.png: Added.
  • css3/filters/effect-brightness-expected.txt: Copied from LayoutTests/css3/filters/effect-gamma-expected.txt.
  • css3/filters/effect-brightness.html: Added.
  • css3/filters/effect-combined-expected.png:
  • css3/filters/effect-combined-expected.txt:
  • css3/filters/effect-combined.html:
  • css3/filters/effect-contrast-expected.png: Added.
  • css3/filters/effect-contrast-expected.txt: Renamed from LayoutTests/css3/filters/effect-gamma-expected.txt.
  • css3/filters/effect-contrast.html: Added.
  • css3/filters/effect-gamma-expected.png: Removed.
  • css3/filters/effect-gamma.html: Removed.
  • css3/filters/filter-animation-expected.txt: Added.
  • css3/filters/filter-animation.html:
  • css3/filters/filter-property-computed-style-expected.txt:
  • css3/filters/filter-property-parsing-expected.txt:
  • css3/filters/filter-property-parsing-invalid-expected.txt:
  • css3/filters/script-tests/filter-property-computed-style.js:
  • css3/filters/script-tests/filter-property-parsing-invalid.js:
  • css3/filters/script-tests/filter-property-parsing.js:
16:01 Changeset [103124] by jamesr@google.com
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] Remove WebCString's dependency on WebCore
https://bugs.webkit.org/show_bug.cgi?id=74761

Reviewed by Darin Fisher.

Remove WebCString::fromUTF16(), which are never called, and implement WebCString::utf16() using WTF instead of
WebCore/platform/text/TextEncoding.

  • public/platform/WebCString.h:
  • src/WebCString.cpp:

(WebKit::WebCString::utf16):

15:59 Changeset [103123] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark CG failures for editing tests from r103073
https://bugs.webkit.org/show_bug.cgi?id=74726

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
15:45 Changeset [103122] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed debug build fix after r103115.

  • dom/Document.cpp:

(WebCore::Document::cachedCollection):

15:43 Changeset [103121] by mhahnenberg@apple.com
  • 6 edits in trunk/Source

Windows test fix

Source/WebCore:

No new tests.

Unreviewed test fix. All Windows tests were crashing when objects who were pointing to
static data members across DLL boundaries were getting garbage in their pointers.

  • WebCore.exp.in:
  • bindings/js/JSDOMWrapper.cpp:
  • bindings/js/JSDOMWrapper.h:

Source/WebKit2:

Unreviewed test fix. All Windows tests were crashing when objects who were pointing to
static data members across DLL boundaries were getting garbage in their pointers.

  • win/WebKit2.def:
15:36 Changeset [103120] by oliver@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

PutByVal[Alias] unnecessarily reloads the storage buffer
https://bugs.webkit.org/show_bug.cgi?id=74747

Reviewed by Gavin Barraclough.

Make PutByVal use GetIndexedStorage to load the storage buffer.
This required switching PutByVal to a vararg node (which is
responsible for most of the noise in this patch). This fixes the
remaining portion of the kraken regression caused by the GetByVal
storage load elimination, and a 1-5% win on some of the sub tests of
the typed array benchmark at:
http://stepheneb.github.com/webgl-matrix-benchmarks/matrix_benchmark.html

  • 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::byValIndexIsPure):
(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):

15:34 Changeset [103119] by rniwa@webkit.org
  • 31 edits in trunk/Source

Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
https://bugs.webkit.org/show_bug.cgi?id=74748

Reviewed by Eric Seidel.

Source/WebCore:

Renamed registerCommandForUndo and registerCommandForRedo to
registerUndoStep and registerRedoStep respectively.

  • editing/Editor.cpp:

(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):

  • loader/EmptyClients.h:

(WebCore::EmptyEditorClient::registerUndoStep):
(WebCore::EmptyEditorClient::registerRedoStep):

  • page/EditorClient.h:

Source/WebKit/chromium:

  • src/EditorClientImpl.cpp:

(WebKit::EditorClientImpl::registerUndoStep):
(WebKit::EditorClientImpl::registerRedoStep):

  • src/EditorClientImpl.h:

Source/WebKit/efl:

  • WebCoreSupport/EditorClientEfl.cpp:

(WebCore::EditorClientEfl::registerUndoStep):
(WebCore::EditorClientEfl::registerRedoStep):

  • WebCoreSupport/EditorClientEfl.h:

Source/WebKit/gtk:

  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit::EditorClient::registerUndoStep):
(WebKit::EditorClient::registerRedoStep):

  • WebCoreSupport/EditorClientGtk.h:

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::registerUndoOrRedoStep):
(WebEditorClient::registerUndoStep):
(WebEditorClient::registerRedoStep):

Source/WebKit/qt:

  • WebCoreSupport/EditorClientQt.cpp:

(WebCore::EditorClientQt::registerUndoStep):
(WebCore::EditorClientQt::registerRedoStep):

  • WebCoreSupport/EditorClientQt.h:

Source/WebKit/win:

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::registerUndoStep):
(WebEditorClient::registerRedoStep):

  • WebCoreSupport/WebEditorClient.h:

Source/WebKit/wince:

  • WebCoreSupport/EditorClientWinCE.cpp:

(WebKit::EditorClientWinCE::registerUndoStep):
(WebKit::EditorClientWinCE::registerRedoStep):

  • WebCoreSupport/EditorClientWinCE.h:

Source/WebKit/wx:

  • WebKitSupport/EditorClientWx.cpp:

(WebCore::EditorClientWx::registerUndoStep):
(WebCore::EditorClientWx::registerRedoStep):

  • WebKitSupport/EditorClientWx.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::registerUndoStep):
(WebKit::WebEditorClient::registerRedoStep):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
15:29 Changeset [103118] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

Canvas should respect backing store scale ratio when used as drawImage() source
https://bugs.webkit.org/show_bug.cgi?id=74758
<rdar://problem/10350194>

Reviewed by Simon Fraser.

Interpret the source rectangle passed into drawImage() when using a Canvas source in the source Canvas coordinate space,
instead of in the backing store coordinate space, without changing the behavior of drawImage(canvas, x, y).

No new tests.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::convertDeviceToLogical):

  • html/HTMLCanvasElement.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):

15:26 Changeset [103117] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Subpixel antialiasing not working in tiled mode
https://bugs.webkit.org/show_bug.cgi?id=74759

Reviewed by Simon Fraser.

Call setContentsOpaque(true) on the main frame render view layer so subpixel aa will be used
when drawing text into that layer.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

15:15 Changeset [103116] by rniwa@webkit.org
  • 20 edits
    2 adds in trunk

invalidateNodeListsCacheAfterAttributeChanged has too many callers
https://bugs.webkit.org/show_bug.cgi?id=74692

Reviewed by Sam Weinig.

Source/WebCore:

Call invalidateNodeListsCacheAfterAttributeChanged in Element::updateAfterAttributeChanged instead of
parsedMappedAttribute of various elements. Also make invalidateNodeListsCacheAfterAttributeChanged take
the qualified name of the changed attribute so that we can exit early when the changed attribute isn't
one of attributes we care.

In addition, added a missing call to invalidateNodeListsCacheAfterAttributeChanged in Attr::setValue.

Test: fast/dom/Attr/invalidate-nodelist-after-attr-setvalue.html

  • dom/Attr.cpp:

(WebCore::Attr::childrenChanged):

  • dom/Element.cpp:

(WebCore::Element::updateAfterAttributeChanged):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::addAttribute):
(WebCore::NamedNodeMap::removeAttribute):

  • dom/Node.cpp:

(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):

  • dom/Node.h:
  • dom/StyledElement.cpp:

(WebCore::StyledElement::classAttributeChanged):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseMappedAttribute):

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::parseMappedAttribute):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::parseMappedAttribute):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parseMappedAttribute):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::parseMappedAttribute):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::parseMappedAttribute):

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::parseMappedAttribute):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseMappedAttribute):

  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::parseMappedAttribute):

  • html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::parseMappedAttribute):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseMappedAttribute):

  • html/HTMLParamElement.cpp:

(WebCore::HTMLParamElement::parseMappedAttribute):

LayoutTests:

Add a regression test for setting Attr's value. WebKit should invalidate the cache as needed.

  • fast/dom/Attr/invalidate-nodelist-after-attr-setvalue-expected.txt: Added.
  • fast/dom/Attr/invalidate-nodelist-after-attr-setvalue.html: Added.
15:11 Changeset [103115] by kling@webkit.org
  • 8 edits
    2 adds in trunk

Cache and reuse HTMLCollections exposed by Document.
<http://webkit.org/b/71956>

Reviewed by Antti Koivisto.

Source/WebCore:

Let Document cache the various HTMLCollection objects it exposes.
This is a behavior change in two ways:

1) The lifetime of returned collections is now tied to the lifetime

of the Document. This matches the behavior of Firefox and Opera.

2) The cached collections returned by document are now exactly equal

to those returned by subsequent calls to the same getters.

This reduces memory consumption by ~800 kB (on 64-bit) when loading
the full HTML5 spec. document.links was called 34001 times, yielding
34001 separate HTMLCollections, and now we only need 1.

The document.all collection retains the old behavior, as caching it
will be a bit more complicated.

To avoid a reference cycle between Document and HTMLCollection,
collections that are cached on Document do not retained their base
node pointer (controlled by a m_baseIsRetained flag.)

Tests: fast/dom/document-collection-idempotence.html

fast/dom/gc-9.html

  • dom/Document.cpp:

(WebCore::Document::detach):
(WebCore::Document::cachedCollection):
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::objects):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):

  • dom/Document.h:
  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::createForCachingOnDocument):
(WebCore::HTMLCollection::~HTMLCollection):
(WebCore::HTMLCollection::itemAfter):

  • html/HTMLCollection.h:

(WebCore::HTMLCollection::base):

LayoutTests:

Added a test to verify that collections returned by document (excluding .all)
are equal to the collections returned by subsequent calls to the same getters.

Also update fast/dom/gc-9.html to cover the new lifetime behavior of
HTMLCollection objects returned by document.

  • fast/dom/document-collection-idempotence-expected.txt: Added.
  • fast/dom/document-collection-idempotence.html: Added.
  • fast/dom/gc-9-expected.txt:
  • fast/dom/gc-9.html:
15:05 Changeset [103114] by andersca@apple.com
  • 8 edits
    4 adds in trunk/Source

Add a pretty dumb tile cache to WebTileCacheLayer
https://bugs.webkit.org/show_bug.cgi?id=74753

Reviewed by Simon Fraser.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::requiresTiledLayer):
If a layer is a tile cache layer, we never want to swap it out for a tiled layer.

(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
Assert that we don't have a tile cache layer.

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

(PlatformCALayer::PlatformCALayer):
If we have a tile cache layer, add its tile container to the list of custom sublayers.

  • platform/graphics/ca/mac/TileCache.h: Added.

(WebCore::TileCache::tileContainerLayer):
Return the tile container layer.

  • platform/graphics/ca/mac/TileCache.mm: Added.

(WebCore::TileCache::tileCacheLayerBoundsChanged):
Resize the tile grid if necessary.

(WebCore::TileCache::setNeedsDisplayInRect):
Invalidate the necessary tiles.

(WebCore::TileCache::drawLayer):
Set up the transform and draw the layer.

(WebCore::TileCache::getTileRangeForRect):
Given a rect, return the range of tiles that it covers.

(WebCore::TileCache::numTilesForGridSize):
Given a size, return how many tiles are needed to completely cover it.

(WebCore::TileCache::resizeTileGrid):
Create new tile layers if needed, or reuse already existing ones.

(WebCore::TileCache::tileLayerAtPosition):
Given a position in the grid, return the tile layer.

(WebCore::TileCache::createTileLayer):
Create a WebTileLayer and set it up.

  • platform/graphics/ca/mac/WebTileCacheLayer.h:
  • platform/graphics/ca/mac/WebTileCacheLayer.mm:

(-[WebTileCacheLayer setBounds:]):
(-[WebTileCacheLayer setNeedsDisplayInRect:]):
(-[WebTileCacheLayer tileContainerLayer]):
Call down to the tile cache object.

  • platform/graphics/ca/mac/WebTileLayer.h: Added.
  • platform/graphics/ca/mac/WebTileLayer.mm: Added.

(-[WebTileLayer drawInContext:]):
Ask the tile cache to draw the given layer.

(-[WebTileLayer setTileCache:WebCore::]):

Source/WebKit2:

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
Always do a layout here, to prevent an ASSERT(!needsLayout()) when painting.

14:54 Changeset [103113] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark more worker regressions from r103095
https://bugs.webkit.org/show_bug.cgi?id=74746

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
14:46 Changeset [103112] by weinig@apple.com
  • 89 edits
    2 adds in trunk/Source

Give PlatformEvents a base class
https://bugs.webkit.org/show_bug.cgi?id=74685

Reviewed by Anders Carlsson.

Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
and PlatformGestureEvent and move Type enumeration and modifiers down to it.

../WebCore:

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

Add new files.

  • platform/PlatformEvent.cpp: Added.
  • platform/PlatformEvent.h: Added.

(WebCore::PlatformEvent::type):
(WebCore::PlatformEvent::shiftKey):
(WebCore::PlatformEvent::ctrlKey):
(WebCore::PlatformEvent::altKey):
(WebCore::PlatformEvent::metaKey):
(WebCore::PlatformEvent::modifiers):
(WebCore::PlatformEvent::PlatformEvent):
Add new class.

  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):

  • dom/KeyboardEvent.cpp:

(WebCore::eventTypeForKeyboardEventType):

  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::create):

  • page/DragController.cpp:

(WebCore::createMouseEvent):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
(WebCore::EventHandler::handleAccessKey):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleDrag):

  • page/blackberry/EventHandlerBlackBerry.cpp:

(WebCore::EventHandler::accessKeyModifiers):

  • page/chromium/EventHandlerChromium.cpp:

(WebCore::EventHandler::accessKeyModifiers):

  • page/efl/EventHandlerEfl.cpp:

(WebCore::EventHandler::accessKeyModifiers):

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::accessKeyModifiers):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::accessKeyModifiers):

  • page/qt/EventHandlerQt.cpp:

(WebCore::EventHandler::accessKeyModifiers):

  • page/win/EventHandlerWin.cpp:

(WebCore::EventHandler::accessKeyModifiers):

  • page/wx/EventHandlerWx.cpp:

(WebCore::EventHandler::accessKeyModifiers):

  • platform/PlatformGestureEvent.h:

(WebCore::PlatformGestureEvent::PlatformGestureEvent):

  • platform/PlatformKeyboardEvent.h:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::isKeypad):

  • platform/PlatformMouseEvent.h:

(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformMouseEvent::button):

  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::zoom):
(WebCore::ScrollAnimatorNone::handleGestureEvent):

  • platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:

(WebCore::toWebCorePlatformKeyboardEventType):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

  • platform/chromium/GestureRecognizerChromium.cpp:

(WebCore::GestureRecognizerChromium::appendTapDownGestureEvent):
(WebCore::GestureRecognizerChromium::appendClickGestureEvent):
(WebCore::GestureRecognizerChromium::appendDoubleClickGestureEvent):
(WebCore::GestureRecognizerChromium::appendScrollGestureBegin):
(WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
(WebCore::GestureRecognizerChromium::appendScrollGestureUpdate):

  • platform/chromium/PlatformKeyboardEventChromium.cpp:

(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

  • platform/chromium/PopupContainer.cpp:

(WebCore::PopupContainer::handleGestureEvent):

  • platform/chromium/PopupListBox.cpp:

(WebCore::isCharacterTypeEvent):
(WebCore::PopupListBox::handleKeyEvent):

  • platform/chromium/ScrollAnimatorChromiumMac.mm:

(WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):

  • platform/efl/PlatformKeyboardEventEfl.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

  • platform/efl/PlatformMouseEventEfl.cpp:

(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/efl/PlatformWheelEventEfl.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/gtk/PlatformKeyboardEventGtk.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

  • platform/gtk/PlatformMouseEventGtk.cpp:

(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/gtk/PlatformWheelEventGtk.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/ios/KeyEventIOS.mm:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

  • platform/mac/KeyEventMac.mm:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/mac/PlatformMouseEventMac.mm:

(WebCore::mouseEventForNSEvent):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::handleGestureEvent):

  • platform/mac/WheelEventMac.mm:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/qt/PlatformKeyboardEventQt.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

  • platform/qt/PlatformMouseEventQt.cpp:

(WebCore::mouseEventTypeAndMouseButtonFromQEvent):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/qt/WheelEventQt.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/win/KeyEventWin.cpp:

(WebCore::isKeypadEvent):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/win/PlatformMouseEventWin.cpp:

(WebCore::messageToEventType):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/win/WheelEventWin.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • platform/wx/KeyboardEventWx.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

  • platform/wx/MouseEventWx.cpp:

(WebCore::typeFromMouseEvent):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/wx/MouseWheelEventWx.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent):

  • plugins/mac/PluginViewMac.mm:

(WebCore::PluginView::handleKeyboardEvent):

  • testing/Internals.cpp:

(WebCore::Internals::setZoomAnimatorTransform):
Switch to using new names/class modifier as necessary.

../WebKit/chromium:

  • src/EditorClientImpl.cpp:

(WebKit::EditorClientImpl::interpretKeyEvent):
(WebKit::EditorClientImpl::handleEditingKeyboardEvent):

  • src/WebAccessibilityObject.cpp:

(WebKit::WebAccessibilityObject::keyboardShortcut):

  • src/WebInputEventConversion.cpp:

(WebKit::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebKit::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
(WebKit::toPlatformKeyboardEventType):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::dragSourceEndedAt):

  • tests/InnerGestureRecognizerTest.cpp:

(SimulateAndTestFirstClick):
(TEST_F):

  • tests/KeyboardTest.cpp:

(WebKit::KeyboardTest::interpretKeyEvent):
(WebKit::KeyboardTest::interpretOSModifierKeyPress):
(WebKit::KeyboardTest::interpretCtrlKeyPress):
(WebKit::KeyboardTest::interpretTab):
(WebKit::KeyboardTest::interpretNewLine):
(WebKit::TEST_F):

  • tests/PopupMenuTest.cpp:

(WebKit::SelectPopupMenuTest::simulateLeftMouseDownEvent):
(WebKit::SelectPopupMenuTest::simulateLeftMouseUpEvent):
(WebKit::TEST_F):

../WebKit/efl:

  • WebCoreSupport/EditorClientEfl.cpp:

(WebCore::EditorClientEfl::handleEditingKeyboardEvent):

../WebKit/gtk:

  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit::EditorClient::handleKeyboardEvent):

  • webkit/webkitwebview.cpp:

(webkit_web_view_popup_menu_handler):

../WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _dragSourceEndedAt:operation:]):

  • WebView/WebHTMLView.mm:

(currentKeyboardEvent):
(-[WebHTMLView _interpretKeyEvent:savingCommands:]):

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

../WebKit/qt:

  • WebCoreSupport/DragClientQt.cpp:

(WebCore::DragClientQt::startDrag):

  • WebCoreSupport/EditorClientQt.cpp:

(WebCore::EditorClientQt::handleKeyboardEvent):

../WebKit/win:

  • AccessibleBase.cpp:

(AccessibleBase::get_accKeyboardShortcut):

  • WebDropSource.cpp:

(generateMouseEvent):

  • WebView.cpp:

(WebView::keyUp):
(WebView::handleEditingKeyboardEvent):
(WebView::keyDown):
(WebView::keyPress):

../WebKit/wince:

  • WebCoreSupport/EditorClientWinCE.cpp:

(WebKit::EditorClientWinCE::handleEditingKeyboardEvent):

  • WebView.cpp:

(WebView::handleKeyDown):
(WebView::handleKeyPress):
(WebView::handleKeyUp):

../WebKit/wx:

  • WebKitSupport/EditorClientWx.cpp:

(WebCore::EditorClientWx::handleEditingKeyboardEvent):
(WebCore::EditorClientWx::interpretKeyEvent):

../WebKit2:

  • Shared/WebEventConversion.cpp:

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

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::handleKeyboardEvent):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::handleMouseEvent):
(WebKit::WebPage::setInitialFocus):
(WebKit::WebPage::handleEditingKeyboardEvent):
(WebKit::WebPage::dragEnded):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::executeKeypressCommandsInternal):
(WebKit::WebPage::handleEditingKeyboardEvent):

14:38 Changeset [103111] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark many SVG tests on Mac failing after r103091
https://bugs.webkit.org/show_bug.cgi?id=53378

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
14:30 Changeset [103110] by simon.fraser@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix a #elsif fumble in my earlier commit.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView attachRootLayer:]):

14:29 Changeset [103109] by abarth@webkit.org
  • 5 edits in trunk

<!doctype html><div><body><frameset> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74745

Reviewed by Eric Seidel.

Source/WebCore:

We were missing one place the spec tells us to set this bool.

Tests: html5lib/runner.html

  • html/parser/HTMLTreeBuilder.cpp:

LayoutTests:

Show test progression.

  • html5lib/runner-expected.txt:
14:28 Changeset [103108] by dbates@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Include BlackBerryPlatformLog.h instead of BlackBerryPlatformMisc.h

Rubber-stamped by Antonio Gomes.

BlackBerry::Platform::logV() is declared in BlackBerryPlatformLog.h. That is, it isn't
declared in BlackBerryPlatformMisc.h. Hence, we should include BlackBerryPlatformLog.h
instead of BlackBerryPlatformMisc.h.

  • wtf/Assertions.cpp:
14:24 Changeset [103107] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, updating chromium expectations.

  • platform/chromium/test_expectations.txt: fast/replaced/embed-display-none.html has been

passing and fast/replaced/width100percent-textarea.html is flaky.

14:16 Changeset [103106] by jarred@sencha.com
  • 5 edits
    13 adds in trunk

Support HTML documents in XHR.responseXML
https://bugs.webkit.org/show_bug.cgi?id=74626

Latest W3C XHR spec details for the responseXML attribute:
http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-responsexml-attribute
http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#document-response-entity-body

XHR.responseXML was not compliant per the latest editor's draft of the XHR spec.
The following compliance issue have been corrected:

  • A responseType of "text" should disallow access to responseXML by throwing an InvalidState exception.
  • When the error flag is toggled, responseXML should return "null" immediately and not attempt to create a new Document.
  • responseXML should return a valid HTML document when the MIME type is "text/html", but only when the caller has explicitly set responseType to "document".

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks.html

fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict.html
fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype.html
fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml.html
fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype.html
fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::clearResponseBuffers):

  • xml/XMLHttpRequest.h: Rename m_responseXML to m_responseDocument

(WebCore::XMLHttpRequest::optionalResponseXML):

LayoutTests:

  • fast/frames/iframe-reparenting.html:
  • fast/xmlhttprequest/resources/xmlhttprequest-get-invalid-data.xml: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks.html: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict.html: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype.html: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml.html: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype.html: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype.html: Added.
14:09 Changeset [103105] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark file-from-file-entry-sync as crash after r103095
https://bugs.webkit.org/show_bug.cgi?id=74746

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
14:04 Changeset [103104] by rniwa@webkit.org
  • 46 edits
    2 moves
    1 add in trunk/Source

Only EditCommandComposition should implement unapply and reapply
https://bugs.webkit.org/show_bug.cgi?id=74490

Reviewed by Eric Seidel.

Source/WebCore:

Introduce new abstract class UndoStep to replace EditCommand for EditorClient, and make EditCommand
private to WebCore.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/CompositeEditCommand.cpp:

(WebCore::EditCommandComposition::create): Takes EditAction instead of boolean for CreateLinkCommand.
(WebCore::EditCommandComposition::EditCommandComposition): Ditto.
(WebCore::EditCommandComposition::unapply): Moved from EditCommand; we don't have to call isTopLevelCommand
anymore because EditCommandComposition is always top-level. In fact, the only thing unapply/reapply do
in addition to what doUnapply/doReapply do for sub-level commands is disabling and enabling delete button
and defining an event queue scope. However, these can be done at top-level command anyway, so we now only call
doApply for sub-level commands.
(WebCore::EditCommandComposition::reapply): Ditto.
(WebCore::EditCommandComposition::setStartingSelection): Added.
(WebCore::EditCommandComposition::setEndingSelection): Added.
(WebCore::applyCommand): Moved from EditCommand.
(WebCore::CompositeEditCommand::apply): Moved from EditCommand; doesn't call isTopLevelCommand for the same reason.
(WebCore::CompositeEditCommand::ensureComposition):
(WebCore::CompositeEditCommand::applyCommandToComposite): Call doApply instead of apply for the same reason.

  • editing/CompositeEditCommand.h:

(WebCore::EditCommandComposition::wasCreateLinkCommand):
(WebCore::EditCommandComposition::startingSelection): Added.
(WebCore::EditCommandComposition::endingSelection): Added.

  • editing/EditCommand.cpp:

(WebCore::EditCommand::setStartingSelection):
(WebCore::EditCommand::setEndingSelection):
(WebCore::SimpleEditCommand::doReapply): Moved from EditCommand.

  • editing/EditCommand.h:
  • editing/UndoStep.h: Added.

(WebCore::UndoStep::~UndoStep):

  • loader/EmptyClients.h:

(WebCore::EmptyEditorClient::shouldInsertNode):
(WebCore::EmptyEditorClient::didSetSelectionTypesForPasteboard):
(WebCore::EmptyEditorClient::registerCommandForUndo): Takes UndoStep instead of EditCommand.
(WebCore::EmptyEditorClient::registerCommandForRedo): Ditto.

  • page/EditorClient.h:

Source/WebKit/chromium:

  • src/EditorClientImpl.cpp:

(WebKit::EditorClientImpl::registerCommandForUndo):
(WebKit::EditorClientImpl::registerCommandForRedo):
(WebKit::EditorClientImpl::undo):
(WebKit::EditorClientImpl::redo):

  • src/EditorClientImpl.h:

Source/WebKit/efl:

  • WebCoreSupport/EditorClientEfl.cpp:

(WebCore::EditorClientEfl::registerCommandForUndo):
(WebCore::EditorClientEfl::registerCommandForRedo):
(WebCore::EditorClientEfl::undo):
(WebCore::EditorClientEfl::redo):

  • WebCoreSupport/EditorClientEfl.h:

Source/WebKit/gtk:

  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit::EditorClient::registerCommandForUndo):
(WebKit::EditorClient::registerCommandForRedo):
(WebKit::EditorClient::undo):
(WebKit::EditorClient::redo):

  • WebCoreSupport/EditorClientGtk.h:

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(-[WebUndoStep initWithUndoStep:]):
(-[WebUndoStep dealloc]):
(+[WebUndoStep stepWithUndoStep:]):
(-[WebUndoStep step]):
(-[WebEditorUndoTarget undoEditing:]):
(-[WebEditorUndoTarget redoEditing:]):
(WebEditorClient::registerCommandForUndoOrRedo):
(WebEditorClient::registerCommandForUndo):
(WebEditorClient::registerCommandForRedo):

Source/WebKit/qt:

EditCommandQt is to be renamed to UndoStepQt in a follow up patch.

  • WebCoreSupport/EditCommandQt.cpp:

(EditCommandQt::EditCommandQt):

  • WebCoreSupport/EditCommandQt.h:
  • WebCoreSupport/EditorClientQt.cpp:

(WebCore::EditorClientQt::registerCommandForUndo):
(WebCore::EditorClientQt::registerCommandForRedo):

Source/WebKit/win:

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorUndoCommand::WebEditorUndoCommand):
(WebEditorUndoCommand::execute):
(WebEditorClient::registerCommandForUndo):
(WebEditorClient::registerCommandForRedo):

  • WebCoreSupport/WebEditorClient.h:

Source/WebKit/wince:

  • WebCoreSupport/EditorClientWinCE.cpp:

(WebKit::EditorClientWinCE::registerCommandForUndo):
(WebKit::EditorClientWinCE::registerCommandForRedo):

  • WebCoreSupport/EditorClientWinCE.h:

Source/WebKit2:

Renamed WebEditCommand to WebUndoStep and made necessary changes.
Everything on WebProcess side should have the correct name now.

Names in the proxy and UIProcess are to be updated in a follow up.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • Target.pri:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::registerCommandForUndo):
(WebKit::WebEditorClient::registerCommandForRedo):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/WebEditCommand.cpp: Removed.
  • WebProcess/WebPage/WebEditCommand.h: Removed.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::webUndoStep):
(WebKit::WebPage::addWebUndoStep):
(WebKit::WebPage::removeWebEditCommand):
(WebKit::WebPage::unapplyEditCommand):
(WebKit::WebPage::reapplyEditCommand):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebUndoStep.cpp: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.cpp.

(WebKit::generateUndoStep):
(WebKit::WebUndoStep::create):

  • WebProcess/WebPage/WebUndoStep.h: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.h.

(WebKit::WebUndoStep::entry):
(WebKit::WebUndoStep::entryID):
(WebKit::WebUndoStep::WebUndoStep):

  • win/WebKit2.vcproj:
13:49 Changeset [103103] by simon.fraser@apple.com
  • 4 edits in trunk/Source/WebCore

Allow a PlatformCALayer to own its own sublayers
https://bugs.webkit.org/show_bug.cgi?id=74744

Reviewed by Anders Carlsson.

GraphicsLayerCA rebuilds the sublayer list of CALayers, which would
blow away any custom layers that a PlatformCALayer wants to maintain
as children.

Make it possible for a PlatformLayerCA to indicate that it wants
a specific list of sublayers to be maintained as the first layers
in the child list.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateSublayerList):

  • platform/graphics/ca/PlatformCALayer.h:

(WebCore::PlatformCALayer::customSublayers):

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

(PlatformCALayer::PlatformCALayer):

13:44 Changeset [103102] by abarth@webkit.org
  • 11 edits in trunk

<!DOCTYPE html><pre>&#x0a;&#x0a;A</pre> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74658

Reviewed by Darin Adler.

Source/WebCore:

Previously, we handled skipping newlines after <pre> in the tokenizer,
which isn't how the spec handles them. Instead, the spec skips them in
the tree builder. This isn't usually observable, except in the case of
an HTML entity. In that case, the tokenzier sees '&' (because the
entity hasn't been decoded yet), but the tree builder sees '\n' (the
decoded entity). This patch fixes the bug by more closely aligning our
implementation with the spec.

Test: html5lib/runner.html

  • html/parser/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::nextToken):

  • html/parser/HTMLTokenizer.h:
  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):

  • html/parser/HTMLTreeBuilder.h:
  • xml/parser/MarkupTokenizerBase.h:

LayoutTests:

Shows test progression.

  • html5lib/runner-expected.txt:
13:33 Changeset [103101] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Further suppress media/video-transformed.html failures
https://bugs.webkit.org/show_bug.cgi?id=73905

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
13:27 Changeset [103100] by commit-queue@webkit.org
  • 29 edits
    4 adds in trunk

IndexedDB: Implement IDBObjectStore.count() and IDBIndex.count()
https://bugs.webkit.org/show_bug.cgi?id=73686

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

Source/WebCore:

These new methods open an internal cursor and iterate through the
results, returning the number of items found. Note that only
passing an IDBKeyRange is supported, not an IDBKey. Supporting
that will require some IDL/binding monkeying; several other
methods also need the same Key-or-KeyRange behavior.

Tests: storage/indexeddb/index-count.html

storage/indexeddb/objectstore-count.html

  • bindings/v8/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::numberValue):

  • bindings/v8/SerializedScriptValue.h:
  • storage/IDBIndex.cpp:

(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):

  • storage/IDBIndex.h:

(WebCore::IDBIndex::count):

  • storage/IDBIndex.idl:
  • storage/IDBIndexBackendImpl.cpp:

(WebCore::IDBIndexBackendImpl::countInternal):
(WebCore::IDBIndexBackendImpl::count):

  • storage/IDBIndexBackendImpl.h:
  • storage/IDBIndexBackendInterface.h:
  • storage/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::count):

  • storage/IDBObjectStore.h:

(WebCore::IDBObjectStore::count):

  • storage/IDBObjectStore.idl:
  • storage/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::count):
(WebCore::IDBObjectStoreBackendImpl::countInternal):

  • storage/IDBObjectStoreBackendImpl.h:
  • storage/IDBObjectStoreBackendInterface.h:

Source/WebKit/chromium:

Plumbing to support the new methods in Chromium.

  • src/IDBIndexBackendProxy.cpp:

(WebKit::IDBIndexBackendProxy::count):

  • src/IDBIndexBackendProxy.h:
  • src/IDBObjectStoreBackendProxy.cpp:

(WebKit::IDBObjectStoreBackendProxy::count):

  • src/IDBObjectStoreBackendProxy.h:
  • src/WebIDBIndexImpl.cpp:

(WebKit::WebIDBIndexImpl::count):

  • src/WebIDBIndexImpl.h:
  • src/WebIDBObjectStoreImpl.cpp:

(WebKit::WebIDBObjectStoreImpl::count):

  • src/WebIDBObjectStoreImpl.h:

LayoutTests:

  • storage/indexeddb/index-basics-expected.txt:
  • storage/indexeddb/index-basics.html:
  • storage/indexeddb/index-count-expected.txt: Added.
  • storage/indexeddb/index-count.html: Added.
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics.html:
  • storage/indexeddb/objectstore-count-expected.txt: Added.
  • storage/indexeddb/objectstore-count.html: Added.
13:18 Changeset [103099] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Fix duplicate layout test expectation
https://bugs.webkit.org/show_bug.cgi?id=53378

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
13:03 Changeset [103098] by yael.aharon@nokia.com
  • 5 edits in trunk

Audio file in video element has a size of 0x0 .
https://bugs.webkit.org/show_bug.cgi?id=74738

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

When the source of a video element has audio only, the intrinsic size of the video should
not be 0x0. Instead, it should be the same as as no media was loaded.

No new tests. An existing test is covering this case and was modified to reflect this change.

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::calculateIntrinsicSize):

LayoutTests:

Changed the expected result to reflect this change.

  • media/audio-only-video-intrinsic-size-expected.txt:
  • media/audio-only-video-intrinsic-size.html:
12:55 Changeset [103097] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[Qt] Eliminate dependency to QUndoStack
https://bugs.webkit.org/show_bug.cgi?id=74691

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2011-12-16
Reviewed by Kenneth Rohde Christiansen.

Replaced the QUndoStack with two vectors. When calling unapply()
on the edit command proxy, it will automatically re-register itself
in the redo stack.

  • UIProcess/qt/QtWebUndoController.cpp:

(QtWebUndoController::registerEditCommand):
(QtWebUndoController::clearAllEditCommands):
(QtWebUndoController::canUndoRedo):
(QtWebUndoController::executeUndoRedo):

  • UIProcess/qt/QtWebUndoController.h:
12:50 Changeset [103096] by alexis.menard@openbossa.org
  • 3 edits
    2 adds in trunk

getComputedStyle for border-width is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=74635

Reviewed by Tony Chang.

Source/WebCore:

Implement getComputedStyle for border-width.

Test: fast/css/getComputedStyle/getComputedStyle-border-width.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

Implement a test to cover getComputedStyle for border-width.

  • fast/css/getComputedStyle/getComputedStyle-border-width-expected.txt: Added.
  • fast/css/getComputedStyle/getComputedStyle-border-width.html: Added.
12:41 Changeset [103095] by dslomov@google.com
  • 3 edits
    2 moves
    10 adds in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=74657
[Chromium] Re-enable all layout tests for dedicated workers.

Reviewed by David Levin.

  • fast/filesystem/workers/file-writer-gc-blob-expected.txt: Renamed from LayoutTests/fast/filesystem/workers/file-writer-gc-blob-expected.html.
  • fast/filesystem/workers/file-writer-write-overlapped-expected.txt: Renamed from LayoutTests/fast/filesystem/workers/file-writer-write-overlapped-expected.html.
  • http/tests/filesystem/resources/fs-worker-common.js:
  • platform/chromium/http/tests/filesystem/workers/resolve-url-expected.txt: webkitRequestFileSystem is available in chromium DRT.
  • platform/chromium/http/tests/filesystem/workers/resolve-url-sync-expected.txt: webkitRequestFileSystem is available in chromium DRT.
  • platform/chromium/http/tests/workers/worker-importScripts-expected.txt: Exception message texts differ.
  • platform/chromium/http/tests/workers/worker-importScriptsOnError-expected.txt: Exception message texts differ.
  • platform/chromium/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Minor message text differences.
  • platform/chromium/http/tests/xmlhttprequest/workers/methods-expected.txt: Minor message text differnces.
  • platform/chromium/test_expectations.txt:
12:41 Changeset [103094] by simon.fraser@apple.com
  • 2 edits in trunk/Source/WebKit/mac

<rdar://problem/10589427> Avoid calling -setGeometryFlipped ourselves on the layer hosting view's layer

Reviewed by Sam Weinig.

Now that we're using a flipped view to host the compositing layers,
we should not set geometryFlipped on the root layer ourselves.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView attachRootLayer:]):

12:41 Changeset [103093] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[Qt][WK2] Move webView.page into experimental
https://bugs.webkit.org/show_bug.cgi?id=74406

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-16
Reviewed by Simon Hausmann.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewExperimental::page):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:

(tst_QQuickWebView::accessPage):

12:24 Changeset [103092] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] media/event-attributes.html is flaky on all platforms
https://bugs.webkit.org/show_bug.cgi?id=73692

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
12:20 Changeset [103091] by commit-queue@webkit.org
  • 7 edits
    10 adds in trunk

[chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux
https://bugs.webkit.org/show_bug.cgi?id=53378

Patch by Branimir Lambov <blambov@google.com> on 2011-12-16
Reviewed by Tony Chang.

Source/WebCore:

Fixes a problem in Skia's clipping layer code's handling of coordinate
transformations that was causing all complex clipping (including text
and/or masks) to fail.

The method beginLayerClippedToImage was taking rectangle coordinates
in one local coordinate space, but it was applying them in a different
one because of the delay between the time it is called and the actual
application occurs in applyClipFromImage. The fix translates the
coordinates passed to beginLayerClippedToImage to absolute ones, so
that they are not affected by any change in the transform matrix, and
makes sure that applyClipFromImage clears the matrix before drawing
the clip layer to correctly apply the absolute coordinates.

  • platform/graphics/skia/PlatformContextSkia.cpp:

(WebCore::PlatformContextSkia::beginLayerClippedToImage):
(WebCore::PlatformContextSkia::applyClipFromImage):

  • platform/graphics/skia/PlatformContextSkia.h:

LayoutTests:

Fixes a problem in Skia's clipping layer code's handling of coordinate
transformations that was causing all complex clipping (including text
and/or masks) to fail.

The method beginLayerClippedToImage was taking rectangle coordinates
in one local coordinate space, but it was applying them in a different
one because of the delay between the time it is called and the actual
application occurs in applyClipFromImage. The fix translates the
coordinates passed to beginLayerClippedToImage to absolute ones, so
that they are not affected by any change in the transform matrix, and
makes sure that applyClipFromImage clears the matrix before drawing
the clip layer to correctly apply the absolute coordinates.

  • platform/chromium/test_expectations.txt:
12:17 Changeset [103090] by dino@apple.com
  • 2 edits in trunk/Tools

Add webkit-bug-importer@group.apple.com to accounts
so that it autocompletes in bugzilla.

Unreviewed.

  • Scripts/webkitpy/common/config/committers.py:
12:04 Changeset [103089] by enne@google.com
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Disable compositor CCLayerTreeHostTestsetNeedsCommit1 test
https://bugs.webkit.org/show_bug.cgi?id=74623

Unreviewed gardening.

This has been failing (timeout) intermittently on Mac.

  • tests/CCLayerTreeHostTest.cpp:

(WTF::TEST_F):

11:39 Changeset [103088] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Expand flakiness suppression for 2d.text.draw.fontface.notinpage
https://bugs.webkit.org/show_bug.cgi?id=66908

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
11:30 Changeset [103087] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark compositing/reflections/reflection-positioning2.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=74731

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
11:24 Changeset [103086] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Add setOpaque to WebMediaPlayerClient interface, don't set VideoLayer's opaque when grabbing current frame.
https://bugs.webkit.org/show_bug.cgi?id=74722

Patch by Dana Jansens <danakj@chromium.org> on 2011-12-16
Reviewed by Darin Fisher.

  • public/WebMediaPlayerClient.h:
  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
(WebKit::WebMediaPlayerClientImpl::setOpaque):
(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):
(WebKit::WebMediaPlayerClientImpl::WebMediaPlayerClientImpl):

  • src/WebMediaPlayerClientImpl.h:
11:09 Changeset [103085] by mnaganov@chromium.org
  • 1 edit
    4 adds in trunk/LayoutTests

[Gtk] Add platform-specific test results after r103073

  • platform/gtk/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
  • platform/gtk/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
  • platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
  • platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
11:08 Changeset [103084] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark several http tests as failing, due to DRT weirdness.
https://bugs.webkit.org/show_bug.cgi?id=74694

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
11:06 Changeset [103083] by mhahnenberg@apple.com
  • 167 edits in trunk

De-virtualize destructors
https://bugs.webkit.org/show_bug.cgi?id=74331

Reviewed by Geoffrey Garen.

.:

  • Source/autotools/symbols.filter: Removed symbol no longer present.

Source/JavaScriptCore:

This is a megapatch which frees us from the chains of virtual destructors.

In order to remove the virtual destructors, which are the last of the virtual
functions, from the JSCell hierarchy, we need to add the ClassInfo pointer to
the cell rather than to the structure because in order to be able to lazily call
the static destroy() functions that will replace the virtual destructors, we
need to be able to access the ClassInfo without the danger of the object's
Structure being collected before the object itself.

After adding the ClassInfo to the cell, we can then begin to remove our use
of vptrs for optimizations within the JIT and the GC. When we have removed
all of the stored vptrs from JSGlobalData, we can then also remove all of
the related VPtrStealingHack code.

The replacement for virtual destructors will be to add a static destroy function
pointer to the MethodTable stored in ClassInfo. Any subclass of JSCell that has
a non-trivial destructor will require its own static destroy function to static
call its corresponding destructor, which will now be non-virtual. In future
patches we will slowly move away from destructors altogether as we make more and
more objects backed by GC memory rather than malloc-ed memory. The GC will now
call the static destroy method rather than the virtual destructor.

As we go through the hierarchy and add static destroy functions to classes,
we will also add a new assert, ASSERT_HAS_TRIVIAL_DESTRUCTOR, to those classes
to which it applies. The future goal is to eventually have every class have that assert.

  • API/JSCallbackConstructor.cpp:

(JSC::JSCallbackConstructor::destroy): Add a destroy function to statically call
~JSCallbackConstructor because it has some extra destruction logic.

  • API/JSCallbackConstructor.h:
  • API/JSCallbackFunction.cpp: Add trivial destructor assert for JSCallbackFunction.
  • API/JSCallbackObject.cpp: Add a destroy function to statically call ~JSCallbackObject

because it has a member OwnPtr that needs destruction.
(JSC::::destroy):

  • API/JSCallbackObject.h:
  • JavaScriptCore.exp: Add/remove necessary symbols for JSC.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Same for Windows symbols.
  • debugger/DebuggerActivation.cpp: DebuggerActivation, for some strange reason, didn't

have its own ClassInfo despite the fact that it overrides a number of MethodTable
methods. Added the ClassInfo, along with an assertion that its destructor is trivial.

  • debugger/DebuggerActivation.h:
  • dfg/DFGOperations.cpp: Remove global data first argument to isJSArray, isJSByteArray,

isJSString, as it is no longer necessary.
(JSC::DFG::putByVal):

  • dfg/DFGRepatch.cpp: Ditto. Also remove uses of jsArrayVPtr in favor of using the

JSArray ClassInfo pointer.
(JSC::DFG::tryCacheGetByID):

  • dfg/DFGSpeculativeJIT.cpp: Replace uses of the old vptrs with new ClassInfo

comparisons since we don't have vptrs anymore.
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayLength):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):

  • dfg/DFGSpeculativeJIT.h: Ditto.

(JSC::DFG::SpeculativeJIT::emitAllocateJSFinalObject):

  • dfg/DFGSpeculativeJIT32_64.cpp: Ditto.

(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp: Ditto.

(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • heap/Heap.cpp: Remove all uses of vptrs in GC optimizations and replace them with

ClassInfo comparisons.
(JSC::Heap::Heap):

  • heap/MarkStack.cpp: Ditto.

(JSC::MarkStackThreadSharedData::markingThreadMain):
(JSC::visitChildren):
(JSC::SlotVisitor::drain):

  • heap/MarkStack.h: Ditto.

(JSC::MarkStack::MarkStack):

  • heap/MarkedBlock.cpp: Ditto.

(JSC::MarkedBlock::callDestructor):
(JSC::MarkedBlock::specializedSweep):

  • heap/MarkedBlock.h: Ditto.
  • heap/SlotVisitor.h: Ditto.

(JSC::SlotVisitor::SlotVisitor):

  • heap/VTableSpectrum.cpp: Now that we don't have vptrs, we can't count them.

We'll have to rename this class and make it use ClassInfo ptrs in a future patch.
(JSC::VTableSpectrum::count):

  • interpreter/Interpreter.cpp: Remove all global data arguments from isJSArray,

etc. functions.
(JSC::loadVarargs):
(JSC::Interpreter::tryCacheGetByID):
(JSC::Interpreter::privateExecute):

  • jit/JIT.h: Remove vptr argument from emitAllocateBasicJSObject
  • jit/JITInlineMethods.h: Remove vptr planting, and add ClassInfo planting,

remove all vtable related code.
(JSC::JIT::emitLoadCharacterString):
(JSC::JIT::emitAllocateBasicJSObject):
(JSC::JIT::emitAllocateJSFinalObject):
(JSC::JIT::emitAllocateJSFunction):

  • jit/JITOpcodes.cpp: Replace vptr related branch code with corresponding ClassInfo.

(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emit_op_convert_this):

  • jit/JITOpcodes32_64.cpp: Ditto.

(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emit_op_convert_this):

  • jit/JITPropertyAccess.cpp: Ditto.

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):

  • jit/JITPropertyAccess32_64.cpp: Ditto.

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):

  • jit/JITStubs.cpp: Remove global data argument from isJSString, etc.

(JSC::JITThunks::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):

  • jit/SpecializedThunkJIT.h: Replace vptr related stuff with ClassInfo stuff.

(JSC::SpecializedThunkJIT::loadJSStringArgument):

  • runtime/ArrayConstructor.cpp: Add trivial destructor assert.
  • runtime/ArrayPrototype.cpp: Remove global data argument from isJSArray.

(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncForEach):
(JSC::arrayProtoFuncSome):
(JSC::arrayProtoFuncReduce):
(JSC::arrayProtoFuncReduceRight):

  • runtime/BooleanConstructor.cpp: Add trivial destructor assert.
  • runtime/BooleanObject.cpp: Ditto.
  • runtime/BooleanPrototype.cpp: Ditto.
  • runtime/ClassInfo.h: Add destroy function pointer to MethodTable.
  • runtime/DateConstructor.cpp: Add trivial destructor assert.
  • runtime/DateInstance.cpp: Add destroy function for DateInstance because it has a RefPtr

that needs destruction.
(JSC::DateInstance::destroy):

  • runtime/DateInstance.h:
  • runtime/Error.cpp: Ditto (because of UString member).

(JSC::StrictModeTypeErrorFunction::destroy):

  • runtime/Error.h:
  • runtime/ErrorConstructor.cpp: Add trivial destructor assert.
  • runtime/ErrorInstance.cpp: Ditto.
  • runtime/ExceptionHelpers.cpp: Ditto.
  • runtime/Executable.cpp: Add destroy functions for ExecutableBase and subclasses.

(JSC::ExecutableBase::destroy):
(JSC::NativeExecutable::destroy):
(JSC::ScriptExecutable::destroy):
(JSC::EvalExecutable::destroy):
(JSC::ProgramExecutable::destroy):
(JSC::FunctionExecutable::destroy):

  • runtime/Executable.h:
  • runtime/FunctionConstructor.cpp: Add trivial destructor assert.
  • runtime/FunctionPrototype.cpp: Ditto. Also remove global data first arg from isJSArray.

(JSC::functionProtoFuncApply):

  • runtime/GetterSetter.cpp: Ditto.
  • runtime/InitializeThreading.cpp: Remove call to JSGlobalData::storeVPtrs since it no

longer exists.
(JSC::initializeThreadingOnce):

  • runtime/InternalFunction.cpp: Remove vtableAnchor function, add trivial destructor assert,

remove first arg from isJSString.
(JSC::InternalFunction::displayName):

  • runtime/InternalFunction.h: Remove VPtrStealingHack.
  • runtime/JSAPIValueWrapper.cpp: Add trivial destructor assert.
  • runtime/JSArray.cpp: Add static destroy to call ~JSArray. Replace vptr checks in

destructor with ClassInfo checks.
(JSC::JSArray::~JSArray):
(JSC::JSArray::destroy):

  • runtime/JSArray.h: Remove VPtrStealingHack. Remove globalData argument from isJSArray

and change them to check the ClassInfo rather than the vptrs.
(JSC::isJSArray):

  • runtime/JSBoundFunction.cpp: Add trival destructor assert. Remove first arg from isJSArray.

(JSC::boundFunctionCall):
(JSC::boundFunctionConstruct):

  • runtime/JSByteArray.cpp: Add static destroy function, replace vptr checks with ClassInfo checks.

(JSC::JSByteArray::~JSByteArray):
(JSC::JSByteArray::destroy):

  • runtime/JSByteArray.h: Remove VPtrStealingHack code.

(JSC::isJSByteArray):

  • runtime/JSCell.cpp: Add trivial destructor assert. Add static destroy function.

(JSC::JSCell::destroy):

  • runtime/JSCell.h: Remove VPtrStealingHack code. Add function for returning the offset

of the ClassInfo pointer in the object for use by the JIT. Add the ClassInfo pointer to
the JSCell itself, and grab it from the Structure. Remove the vptr and setVPtr functions,
as they are no longer used. Add a validatedClassInfo function to JSCell for any clients
that want to verify, while in Debug mode, that the ClassInfo contained in the cell is the
same one as that contained in the Structure. This isn't used too often, because most of
the places where we compare the ClassInfo to things can be called during destruction.
Since the Structure is unreliable during the phase when destructors are being called,
we can't call validatedClassInfo.
(JSC::JSCell::classInfoOffset):
(JSC::JSCell::structure):
(JSC::JSCell::classInfo):

  • runtime/JSFunction.cpp: Remove VPtrStealingHack code. Add static destroy, remove vtableAnchor,

remove first arg from call to isJSString.
(JSC::JSFunction::destroy):
(JSC::JSFunction::displayName):

  • runtime/JSFunction.h:
  • runtime/JSGlobalData.cpp: Remove all VPtr stealing code and storage, including storeVPtrs,

as these vptrs are no longer needed in the codebase.

  • runtime/JSGlobalData.h:

(JSC::TypedArrayDescriptor::TypedArrayDescriptor): Changed the TypedArrayDescriptor to use
ClassInfo rather than the vptr.

  • runtime/JSGlobalObject.cpp: Add static destroy function.

(JSC::JSGlobalObject::destroy):

  • runtime/JSGlobalObject.h:
  • runtime/JSGlobalThis.cpp: Add trivial destructor assert.
  • runtime/JSNotAnObject.cpp: Ditto.
  • runtime/JSONObject.cpp: Ditto. Remove first arg from isJSArray calls.

(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):

  • runtime/JSObject.cpp:

(JSC::JSFinalObject::destroy):
(JSC::JSNonFinalObject::destroy):
(JSC::JSObject::destroy):

  • runtime/JSObject.h: Add trivial destructor assert for JSObject, remove vtableAnchor

from JSNonFinalObject and JSFinalObject, add static destroy for JSFinalObject and
JSNonFinalObject, add isJSFinalObject utility function similar to isJSArray, remove all VPtrStealingHack code.
(JSC::JSObject::finishCreation):
(JSC::JSNonFinalObject::finishCreation):
(JSC::JSFinalObject::finishCreation):
(JSC::isJSFinalObject):

  • runtime/JSPropertyNameIterator.cpp: Add static destroy.

(JSC::JSPropertyNameIterator::destroy):

  • runtime/JSPropertyNameIterator.h:
  • runtime/JSStaticScopeObject.cpp: Ditto.

(JSC::JSStaticScopeObject::destroy):

  • runtime/JSStaticScopeObject.h: Ditto.
  • runtime/JSString.cpp:

(JSC::JSString::destroy):

  • runtime/JSString.h: Ditto. Remove VPtrStealingHack code. Also remove fixupVPtr code,

since we no longer need to fixup vptrs.
(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):
(JSC::jsNontrivialString):
(JSC::jsString):
(JSC::jsSubstring8):
(JSC::jsSubstring):
(JSC::jsOwnedString):
(JSC::jsStringBuilder):
(JSC::isJSString):

  • runtime/JSVariableObject.cpp:

(JSC::JSVariableObject::destroy):

  • runtime/JSVariableObject.h: Ditto.
  • runtime/JSWrapperObject.cpp:
  • runtime/JSWrapperObject.h: Add trivial destructor assert.
  • runtime/MathObject.cpp: Ditto.
  • runtime/NativeErrorConstructor.cpp: Ditto.
  • runtime/NumberConstructor.cpp: Ditto.
  • runtime/NumberObject.cpp: Ditto.
  • runtime/NumberPrototype.cpp: Ditto.
  • runtime/ObjectConstructor.cpp: Ditto.
  • runtime/ObjectPrototype.cpp: Ditto.
  • runtime/Operations.h: Remove calls to fixupVPtr, remove first arg to isJSString.

(JSC::jsString):
(JSC::jsLess):
(JSC::jsLessEq):

  • runtime/RegExp.cpp: Add static destroy.

(JSC::RegExp::destroy):

  • runtime/RegExp.h:
  • runtime/RegExpConstructor.cpp: Add static destroy for RegExpConstructor and RegExpMatchesArray.

(JSC::RegExpConstructor::destroy):
(JSC::RegExpMatchesArray::destroy):

  • runtime/RegExpConstructor.h:
  • runtime/RegExpMatchesArray.h:
  • runtime/RegExpObject.cpp: Add static destroy.

(JSC::RegExpObject::destroy):

  • runtime/RegExpObject.h:
  • runtime/ScopeChain.cpp: Add trivial destructor assert.
  • runtime/ScopeChain.h:
  • runtime/StrictEvalActivation.cpp: Ditto.
  • runtime/StringConstructor.cpp:
  • runtime/StringObject.cpp: Ditto. Remove vtableAnchor.
  • runtime/StringObject.h:
  • runtime/StringPrototype.cpp: Ditto.
  • runtime/Structure.cpp: Add static destroy.

(JSC::Structure::destroy):

  • runtime/Structure.h: Move JSCell::finishCreation and JSCell constructor into Structure.h

because they need to have the full Structure type to access the ClassInfo to store in the JSCell.
(JSC::JSCell::setStructure):
(JSC::JSCell::validatedClassInfo):
(JSC::JSCell::JSCell):
(JSC::JSCell::finishCreation):

  • runtime/StructureChain.cpp: Add static destroy.

(JSC::StructureChain::destroy):

  • runtime/StructureChain.h:
  • wtf/Assertions.h: Add new assertion ASSERT_HAS_TRIVIAL_DESTRUCTOR, which uses clangs

ability to tell us when a class has a trivial destructor. We will use this assert
more in future patches as we move toward having all JSC objects backed by GC memory,
which means moving away from using destructors/finalizers.

Source/JavaScriptGlue:

  • UserObjectImp.cpp: Add static destroy function.

(UserObjectImp::destroy):

  • UserObjectImp.h:

Source/WebCore:

No new tests.

Doing everything here that was done to the JSCell hierarchy in JavaScriptCore.
See the ChangeLog for this commit for a more in-depth description.

  • WebCore.exp.in: Add/remove symbols.
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: Remove first arg from isJSArray call.

(WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):

  • bindings/js/JSDOMBinding.cpp: Add trival destructor assert for DOMConstructorObject

and DOMConstructorWithDocument.

  • bindings/js/JSDOMGlobalObject.cpp: Add static destroy. Add implementation for

scriptExecutionContext that dispatches to different functions in subclasses
depending on our current ClassInfo. We do this so that we can get rid of the
virtual-ness of scriptExecutionContext, because any virtual functions will throw
off the layout of the object and we'll crash at runtime.
(WebCore::JSDOMGlobalObject::destroy):
(WebCore::JSDOMGlobalObject::scriptExecutionContext):

  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowBase.cpp: Add static destroy.

(WebCore::JSDOMWindowBase::destroy):

  • bindings/js/JSDOMWindowBase.h: De-virtualize scriptExecutionContext.
  • bindings/js/JSDOMWindowShell.cpp: Add static destroy.

(WebCore::JSDOMWindowShell::destroy):

  • bindings/js/JSDOMWindowShell.h:
  • bindings/js/JSDOMWrapper.cpp: Add trivial destructor assert.
  • bindings/js/JSDOMWrapper.h: Add a ClassInfo to JSDOMWrapper since it now overrides

a MethodTable function. Remove vtableAnchor virtual function.

  • bindings/js/JSImageConstructor.cpp: Add trivial destructor assert.
  • bindings/js/JSNodeCustom.cpp: Change implementation of pushEventHandlerScope so that

it dispatches to the correct function depending on the
identity of the class as specified by the ClassInfo.
See JSDOMGlobalObject::scriptExecutionContext for explanation.
(WebCore::JSNode::pushEventHandlerScope):

  • bindings/js/JSWebSocketCustom.cpp: Remove first arg to isJSArray call.

(WebCore::JSWebSocketConstructor::constructJSWebSocket):

  • bindings/js/JSWorkerContextBase.cpp: Add static destroy.

(WebCore::JSWorkerContextBase::destroy):

  • bindings/js/JSWorkerContextBase.h:
  • bindings/js/ScriptValue.cpp: Remove first arg to isJSArray call.

(WebCore::jsToInspectorValue):

  • bindings/js/SerializedScriptValue.cpp: Ditto.

(WebCore::CloneSerializer::isArray):
(WebCore::CloneSerializer::getSparseIndex):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Remove virtual-ness of any custom pushEventHandlerScope (see
JSNodeCustom::pushEventHandlerScope for explanation). Remove virtual toBoolean
for anybody who masquerades as undefined, since our JSObject implementation handles
this based on the TypeInfo in the Structure. Add trivial destructor assert for any
class other than DOMWindow or WorkerContexts.
(GenerateImplementation): Change ClassInfo definitions to use Base::s_info, since
typing the parent class more than once is duplication of information and increases
the likelihood of mistakes. Pass ClassInfo to TypeArrayDescriptors instead of vptr.
(GenerateConstructorDefinition): Add trivial destructor assert for all generated constructors.

  • bridge/c/CRuntimeObject.cpp: Remove empty virtual destructor.
  • bridge/c/CRuntimeObject.h:
  • bridge/jni/jsc/JavaRuntimeObject.cpp: Ditto.
  • bridge/jni/jsc/JavaRuntimeObject.h:
  • bridge/objc/ObjCRuntimeObject.h: Ditto.
  • bridge/objc/ObjCRuntimeObject.mm:
  • bridge/objc/objc_runtime.h: Add static destroy for ObjcFallbackObjectImp. De-virtualize

toBoolean in the short term. Need longer term fix.

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcFallbackObjectImp::destroy):

  • bridge/qt/qt_runtime.cpp: Add static destroy to QtRuntimeMethod.

(JSC::Bindings::QtRuntimeMethod::destroy):

  • bridge/qt/qt_runtime.h: De-virtualize ~QtRuntimeMethod.
  • bridge/runtime_array.cpp: De-virtualize destructor. Add static destroy.

(JSC::RuntimeArray::destroy):

  • bridge/runtime_array.h:
  • bridge/runtime_method.cpp: Remove vtableAnchor. Add static destroy.

(JSC::RuntimeMethod::destroy):

  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp: Add static destroy.

(JSC::Bindings::RuntimeObject::destroy):

  • bridge/runtime_object.h:

Source/WebKit/mac:

  • Plugins/Hosted/ProxyRuntimeObject.h: Remove empty virtual destructor.
  • Plugins/Hosted/ProxyRuntimeObject.mm:

Source/WebKit2:

  • WebProcess/Plugins/Netscape/JSNPMethod.cpp: Add trivial destructor assert.
  • WebProcess/Plugins/Netscape/JSNPObject.cpp: Add static destroy.

(WebKit::JSNPObject::destroy):

  • WebProcess/Plugins/Netscape/JSNPObject.h:
  • win/WebKit2.def: Add/remove necessary symbols.
  • win/WebKit2CFLite.def: Ditto.
10:59 Changeset [103082] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

Poor XPath performance when evaluating an expression that returns a lot of nodes
https://bugs.webkit.org/show_bug.cgi?id=74665
<rdar://problem/10517146>

Reviewed by Darin Adler.

No change in funcitonality. Well covered by existing tests (ran them with zero cutoff to
execute the new code path).

Our sorting function is optimized for small node sets in large documents, and this is the
opposite of it. Added another one that traverses the whole document, adding nodes from the
node set to sorted list. That doesn't grow with the number of nodes nearly as fast.

Cutoff amount chosen for the document referenced in bug - this is roughly where the algorithms
have the same performance on it.

  • xml/XPathNodeSet.cpp: (WebCore::XPath::NodeSet::sort): (WebCore::XPath::findRootNode): (WebCore::XPath::NodeSet::traversalSort):
  • xml/XPathNodeSet.h:
10:43 Changeset [103081] by mnaganov@chromium.org
  • 9 edits
    23 adds
    1 delete in trunk/LayoutTests

Rebaseline and add expectations after r103073
[chromium] https://bugs.webkit.org/show_bug.cgi?id=74726

  • platform/chromium-linux/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
  • platform/chromium-linux/editing/input/caret-at-the-edge-of-input-expected.png: Added.
  • platform/chromium-linux/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
  • platform/chromium-linux/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
  • platform/chromium-mac-leopard/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
  • platform/chromium-mac-leopard/editing/input/caret-at-the-edge-of-input-expected.png: Added.
  • platform/chromium-mac-leopard/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
  • platform/chromium-mac-leopard/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
  • platform/chromium-mac-leopard/fast/forms/input-text-scroll-left-on-blur-expected.png:
  • platform/chromium-mac-snowleopard/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
  • platform/chromium-mac-snowleopard/editing/input/caret-at-the-edge-of-input-expected.png: Added.
  • platform/chromium-mac-snowleopard/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
  • platform/chromium-mac-snowleopard/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/input-text-scroll-left-on-blur-expected.png: Added.
  • platform/chromium-mac/fast/forms/input-text-scroll-left-on-blur-expected.png: Removed.
  • platform/chromium-win/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
  • platform/chromium-win/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
  • platform/chromium-win/editing/input/caret-at-the-edge-of-input-expected.png: Added.
  • platform/chromium-win/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
  • platform/chromium-win/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
  • platform/chromium-win/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
  • platform/chromium-win/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
  • platform/chromium-win/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
  • platform/chromium-win/fast/forms/input-text-scroll-left-on-blur-expected.png:
  • platform/chromium-win/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/chromium/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/qt/test_expectations.txt:
  • platform/win/test_expectations.txt:
10:39 Changeset [103080] by antti@apple.com
  • 3 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=74677
Count ResourceLoadScheduler suspends/resumes

Reviewed by Andreas Kling.

Using boolean is not robust when there are multiple clients calling suspendPendingRequests/resumePendingRequests.

Increment and decrement suspend count instead of just setting/unsetting a boolean.

  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
(WebCore::ResourceLoadScheduler::servePendingRequests):
(WebCore::ResourceLoadScheduler::suspendPendingRequests):
(WebCore::ResourceLoadScheduler::resumePendingRequests):

  • loader/ResourceLoadScheduler.h:

(WebCore::ResourceLoadScheduler::isSuspendingPendingRequests):

10:27 Changeset [103079] by adamk@chromium.org
  • 3 edits in trunk/Source/WebCore

Improve performance of ChildListMutationScope when no MutationObservers are present
https://bugs.webkit.org/show_bug.cgi?id=74671

Reviewed by Ojan Vafai.

Inline ChildListMutationScope's methods (including constructor and
destructor), and provide a fast-fail case when no mutation observers
are present.

The code reorganization necessary for the above also removed the
anonymous namespace in ChildListMutationScope.cpp, making both helper
classes private inner classes of ChildListMutationScope.

No new tests, refactoring only.

  • dom/ChildListMutationScope.cpp:

(WebCore::ChildListMutationScope::MutationAccumulator::MutationAccumulator):
(WebCore::ChildListMutationScope::MutationAccumulator::~MutationAccumulator):
(WebCore::ChildListMutationScope::MutationAccumulator::isAddedNodeInOrder):
(WebCore::ChildListMutationScope::MutationAccumulator::childAdded):
(WebCore::ChildListMutationScope::MutationAccumulator::isRemovedNodeInOrder):
(WebCore::ChildListMutationScope::MutationAccumulator::willRemoveChild):
(WebCore::ChildListMutationScope::MutationAccumulator::enqueueMutationRecord):
(WebCore::ChildListMutationScope::MutationAccumulator::clear):
(WebCore::ChildListMutationScope::MutationAccumulator::isEmpty):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::MutationAccumulationRouter):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::~MutationAccumulationRouter):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::initialize):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::instance):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel):

  • dom/ChildListMutationScope.h:

(WebCore::ChildListMutationScope::ChildListMutationScope):
(WebCore::ChildListMutationScope::~ChildListMutationScope):
(WebCore::ChildListMutationScope::childAdded):
(WebCore::ChildListMutationScope::willRemoveChild):

10:07 Changeset [103078] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark fast/forms/input-text-scroll-left-on-blur.html as failing
https://bugs.webkit.org/show_bug.cgi?id=74726

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
10:04 Changeset [103077] by philn@webkit.org
  • 3 edits in trunk/LayoutTests

Unreviewed, GTK rebaseline of 2 fat/forms tests.

  • platform/gtk/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/gtk/fast/forms/plaintext-mode-2-expected.txt:
10:01 Changeset [103076] by dino@apple.com
  • 49 edits
    3 adds in trunk

Filters need to affect visual overflow
https://bugs.webkit.org/show_bug.cgi?id=71930

Source/WebCore:

Reviewed by Simon Fraser.

Make sure filters are included in visual overflow.
Add a new method to calculate the expansion of overflow
region given a list of FilterOperations. This is a slight
duplication of code from the rendering path, but is needed
because overflow is calculated before the FilterEffect
chain is built.

Also, filters were always rendered into their
input rectangle which was wrong for any effect
that produced a different sized result - drop-shadow
and blur. This required two changes. First, FilterEffect
needed a flag to decide whether or not to clip
output to primitive regions (as required by SVG but not
what we want here). Second, the rendering operation
draws into the rectangle the filter claims is its painting
rectangle.

Test: css3/filters/regions-expanding.html

  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::determineAbsolutePaintRect): Only
clipToBounds if necessary.

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::calculateUnscaledKernelSize): CSS filters
ask for the kernel size before the Filter object is created, so
add a new method to return an unscaled kernel.
(WebCore::FEGaussianBlur::calculateKernelSize):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect): Only
clipToBounds if necessary.

  • platform/graphics/filters/FEGaussianBlur.h:
  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::determineAbsolutePaintRect): Only
clipToBounds if necessary.

  • platform/graphics/filters/FEOffset.cpp:

(WebCore::FEOffset::determineAbsolutePaintRect): Only
clipToBounds if necessary.

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::FilterEffect): Initialize clipToBounds
as false so SVG remains unchanged.
(WebCore::FilterEffect::determineAbsolutePaintRect): Only
clipToBounds if necessary.

  • platform/graphics/filters/FilterEffect.h:

(WebCore::FilterEffect::clipsToBounds):
(WebCore::FilterEffect::setClipsToBounds):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build): Make sure we set our
filters here to NOT clip to bounds.

  • rendering/FilterEffectRenderer.h:

(WebCore::FilterEffectRenderer::outputRect): Asks the filter
operation for the size of the result image.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeOverflow):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::addVisualEffectOverflow): Change the name
from addBoxShadowAndBorderOverflow().

  • rendering/RenderBox.h:
  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::layout):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayer):

  • rendering/RenderLayerBacking.cpp:

(WebCore::hasBoxDecorations): Change name from
hasBorderOutlineOrShadow().
(WebCore::hasBoxDecorationsOrBackground):
(WebCore::hasBoxDecorationsOrBackgroundImage):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::layout):

  • rendering/style/FilterOperations.cpp:

(WebCore::outsetSizeForBlur): Return an IntSize that is the amount
of offset.
(WebCore::FilterOperations::hasOutsets):
(WebCore::FilterOperations::getOutsets):

  • rendering/style/FilterOperations.h:
  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::getFilterOutsets):
(WebCore::InheritedFlags::hasFilterOutsets):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::determineAbsolutePaintRect): Only
clipToBounds if necessary.

LayoutTests:

Previously, filters that expanded their input
region (drop-shadow and blur) were being squished
when rendered back into the document. This is now
fixed, so the expected.png images from tests including
such filters needed updating. I also turned off
dumpAsText() in order to enable pixel tests, and added
some margin between the elements in effects which have
overflow (so that blurs don't overlap, for example).

There is one new test which exercises the case
of expanding filters at various stages in a list
of operations.

Reviewed by Simon Fraser.

  • css3/filters/crash-filter-change-expected.png:
  • css3/filters/effect-blur-expected.png:
  • css3/filters/effect-blur-expected.txt:
  • css3/filters/effect-blur.html:
  • css3/filters/effect-combined-expected.png:
  • css3/filters/effect-combined-expected.txt:
  • css3/filters/effect-combined.html:
  • css3/filters/effect-drop-shadow-expected.png:
  • css3/filters/effect-drop-shadow-expected.txt:
  • css3/filters/effect-drop-shadow.html:
  • css3/filters/effect-gamma-expected.txt:
  • css3/filters/effect-gamma.html:
  • css3/filters/effect-grayscale-expected.txt:
  • css3/filters/effect-grayscale.html:
  • css3/filters/effect-hue-rotate-expected.txt:
  • css3/filters/effect-hue-rotate.html:
  • css3/filters/effect-invert-expected.png:
  • css3/filters/effect-invert-expected.txt:
  • css3/filters/effect-invert.html:
  • css3/filters/effect-opacity-expected.txt:
  • css3/filters/effect-opacity.html:
  • css3/filters/effect-saturate-expected.txt:
  • css3/filters/effect-saturate.html:
  • css3/filters/effect-sepia-expected.txt:
  • css3/filters/effect-sepia.html:
  • css3/filters/regions-expanding-expected.png: Added.
  • css3/filters/regions-expanding-expected.txt: Added.
  • css3/filters/regions-expanding.html: Added.
09:52 Changeset [103075] by philn@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, skipping some svg tests still failing on GTK 64-bit after r103071.

  • platform/gtk/Skipped:
09:28 Changeset [103074] by jwieczorek@webkit.org
  • 8 edits
    11 adds in trunk

Add support for <ol reversed>.
https://bugs.webkit.org/show_bug.cgi?id=36724

The reversed attribute makes an ordered list appear with marker values
decreasing from n, where n is the number of items.
See: http://www.whatwg.org/specs/web-apps/current-work/#attr-ol-reversed

Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/lists/ol-reversed-dynamic-simple.html

fast/lists/ol-reversed-dynamic.html
fast/lists/ol-reversed-nested-items.html
fast/lists/ol-reversed-nested-list.html
fast/lists/ol-reversed-simple.html

  • html/HTMLAttributeNames.in:
  • html/HTMLOListElement.cpp:

(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::parseMappedAttribute):
(WebCore::HTMLOListElement::updateItemValues):
(WebCore::HTMLOListElement::recalculateItemCount):

  • html/HTMLOListElement.h:

(WebCore::HTMLOListElement::start):
(WebCore::HTMLOListElement::isReversed):
(WebCore::HTMLOListElement::itemCountChanged):
(WebCore::HTMLOListElement::itemCount):

  • html/HTMLOListElement.idl:
  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::nextListItem):
(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::previousOrNextItem):
(WebCore::RenderListItem::updateListMarkerNumbers):

  • rendering/RenderListItem.h:

LayoutTests:

  • fast/lists/ol-reversed-dynamic-expected.txt: Added.
  • fast/lists/ol-reversed-dynamic-simple-expected.txt: Added.
  • fast/lists/ol-reversed-dynamic-simple.html: Added.
  • fast/lists/ol-reversed-dynamic.html: Added.
  • fast/lists/ol-reversed-nested-items-expected.txt: Added.
  • fast/lists/ol-reversed-nested-items.html: Added.
  • fast/lists/ol-reversed-nested-list-expected.txt: Added.
  • fast/lists/ol-reversed-nested-list.html: Added.
  • fast/lists/ol-reversed-simple-expected.txt: Added.
  • fast/lists/ol-reversed-simple.html: Added.
08:57 Changeset [103073] by mnaganov@chromium.org
  • 7 edits
    21 adds in trunk

Scroll non-visible edit controls and caret into the center of the view when starting typing.
https://bugs.webkit.org/show_bug.cgi?id=65027

Reviewed by Ryosuke Niwa.

Tests: editing/input/caret-at-the-edge-of-contenteditable.html

editing/input/caret-at-the-edge-of-input.html
editing/input/reveal-caret-of-multiline-contenteditable.html
editing/input/reveal-caret-of-multiline-input.html
editing/input/reveal-contenteditable-on-input-vertically.html
editing/input/reveal-contenteditable-on-paste-vertically.html
editing/input/reveal-edit-on-input-vertically.html
editing/input/reveal-edit-on-paste-vertically.html

  • editing/Editor.cpp:

(WebCore::Editor::insertTextWithoutSendingTextEvent):
(WebCore::Editor::revealSelectionAfterEditingOperation):

  • editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
  • editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
  • editing/input/caret-at-the-edge-of-contenteditable.html: Added.
  • editing/input/caret-at-the-edge-of-input-expected.png: Added.
  • editing/input/caret-at-the-edge-of-input-expected.txt: Added.
  • editing/input/caret-at-the-edge-of-input.html: Added.
  • editing/input/resources/reveal-utilities.js: Added.
  • editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
  • editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
  • editing/input/reveal-caret-of-multiline-contenteditable.html: Added.
  • editing/input/reveal-caret-of-multiline-input-expected.png: Added.
  • editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
  • editing/input/reveal-caret-of-multiline-input.html: Added.
  • editing/input/reveal-contenteditable-on-input-vertically-expected.txt: Added.
  • editing/input/reveal-contenteditable-on-input-vertically.html: Added.
  • editing/input/reveal-contenteditable-on-paste-vertically-expected.txt: Added.
  • editing/input/reveal-contenteditable-on-paste-vertically.html: Added.
  • editing/input/reveal-edit-on-input-vertically-expected.txt: Added.
  • editing/input/reveal-edit-on-input-vertically.html: Added.
  • editing/input/reveal-edit-on-paste-vertically-expected.txt: Added.
  • editing/input/reveal-edit-on-paste-vertically.html: Added.
  • platform/chromium/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
  • platform/gtk/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
  • platform/qt/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
  • platform/win/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
08:53 Changeset [103072] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Touch RenderStyle in an attempt to fix linking errors on Chromium Windows bots.

  • rendering/style/RenderStyle.h:
08:51 Changeset [103071] by philn@webkit.org
  • 10 edits
    3 adds in trunk/LayoutTests

Unreviewed, GTK rebaseline of some svg tests. Also unskipping the
ones I got passing on my 32-bit Release build. Let's see how the
bots cope with those.

  • platform/gtk/Skipped:
  • platform/gtk/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
  • platform/gtk/svg/batik/masking/maskRegions-expected.txt:
  • platform/gtk/svg/custom/embedding-external-svgs-expected.txt:
  • platform/gtk/svg/custom/image-with-transform-clip-filter-expected.txt:
  • platform/gtk/svg/custom/marker-strokeWidth-changes-expected.txt: Added.
  • platform/gtk/svg/dom/css-transforms-expected.txt:
  • platform/gtk/svg/filters/feColorMatrix-values-expected.txt:
  • platform/gtk/svg/overflow/overflow-on-inner-svg-element-expected.txt:
  • platform/gtk/svg/wicd/test-scalable-background-image1-expected.txt: Added.
  • platform/gtk/svg/zoom/page/zoom-mask-with-percentages-expected.txt:
  • platform/gtk/svg/zoom/text/zoom-hixie-mixed-009-expected.txt: Added.
08:31 Changeset [103070] by nduca@chromium.org
  • 3 edits in trunk/Source

[chromium] DelayBasedTimeSource should not change its timebase on late ticks
https://bugs.webkit.org/show_bug.cgi?id=74573

The original DelayBasedTimeSource was designed to shift its timebase
to the tick time when a tick came back "late." The rationale was that it is
better to just "start fresh" after a stutter. After profiling this,
this time-rebasing just destabilizes frame rate anytime the thread gets
loaded. This patch keeps the timebase stationary, leading to vastly
smoother framerates when the message loop is under load.

Reviewed by James Robinson.

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

(WebCore::CCDelayBasedTimeSource::updateState):

06:58 Changeset [103069] by philn@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, skipping 3 failing GTK API tests.

  • Scripts/run-gtk-tests:
06:46 Changeset [103068] by carlosgc@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Use bit field for bool members of WebKitWindowPropertiesPrivate
https://bugs.webkit.org/show_bug.cgi?id=74713

Reviewed by Gustavo Noronha Silva.

Most of the members are bools, so it reduces the memory footprint.

  • UIProcess/API/gtk/WebKitWindowProperties.cpp:
06:41 Changeset [103067] by carlosgc@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Window frame should be 0x0 when the toplevel window is not visible
https://bugs.webkit.org/show_bug.cgi?id=74709

Reviewed by Gustavo Noronha Silva.

  • UIProcess/API/gtk/WebKitUIClient.cpp:

(getWindowFrame): Check also whether the toplevel is visible
before getting its size and position.

06:19 Changeset [103066] by philn@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, GTK API tests build fix attempt.

  • Scripts/run-gtk-tests: Run xvfb on a display not used by NRWT.
06:17 Changeset [103065] by commit-queue@webkit.org
  • 8 edits
    11 deletes in trunk

Unreviewed, rolling out r103062.
http://trac.webkit.org/changeset/103062
https://bugs.webkit.org/show_bug.cgi?id=74715

It broke many tests (Requested by Ossy on #webkit).

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

Source/WebCore:

  • html/HTMLAttributeNames.in:
  • html/HTMLOListElement.cpp:

(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::parseMappedAttribute):

  • html/HTMLOListElement.h:

(WebCore::HTMLOListElement::start):

  • html/HTMLOListElement.idl:
  • rendering/RenderListItem.cpp:

(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::RenderListItem::updateListMarkerNumbers):

  • rendering/RenderListItem.h:

LayoutTests:

  • fast/lists/ol-reversed-dynamic-expected.txt: Removed.
  • fast/lists/ol-reversed-dynamic-simple-expected.txt: Removed.
  • fast/lists/ol-reversed-dynamic-simple.html: Removed.
  • fast/lists/ol-reversed-dynamic.html: Removed.
  • fast/lists/ol-reversed-nested-items-expected.txt: Removed.
  • fast/lists/ol-reversed-nested-items.html: Removed.
  • fast/lists/ol-reversed-nested-list-expected.txt: Removed.
  • fast/lists/ol-reversed-nested-list.html: Removed.
  • fast/lists/ol-reversed-simple-expected.txt: Removed.
  • fast/lists/ol-reversed-simple.html: Removed.
  • fast/lists/ol-reversed-simple.xhtml: Removed.
06:14 Changeset [103064] by philn@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK test_expectations update.

  • platform/gtk/test_expectations.txt:
05:59 Changeset [103063] by philn@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK test_expectations update.

  • platform/gtk/test_expectations.txt:
05:43 Changeset [103062] by alexis.menard@openbossa.org
  • 8 edits
    11 adds in trunk

Add support for <ol reversed>.
https://bugs.webkit.org/show_bug.cgi?id=36724

The reversed attribute makes an ordered list appear with marker values
decreasing from n, where n is the number of items.
See: http://www.whatwg.org/specs/web-apps/current-work/#attr-ol-reversed

Patch by Alexis Menard <alexis.menard@openbossa.org>, Jakub Wieczorek <jwieczorek@webkit.org> on 2011-12-16
Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/lists/ol-reversed-dynamic-simple.html

fast/lists/ol-reversed-dynamic.html
fast/lists/ol-reversed-nested-items.html
fast/lists/ol-reversed-nested-list.html
fast/lists/ol-reversed-simple.html

  • html/HTMLAttributeNames.in:
  • html/HTMLOListElement.cpp:

(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::parseMappedAttribute):
(WebCore::HTMLOListElement::updateItemValues):
(WebCore::HTMLOListElement::recalculateItemCount):

  • html/HTMLOListElement.h:

(WebCore::HTMLOListElement::start):
(WebCore::HTMLOListElement::isReversed):
(WebCore::HTMLOListElement::itemCountChanged):
(WebCore::HTMLOListElement::itemCount):

  • html/HTMLOListElement.idl:
  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::nextListItem):
(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::previousOrNextItem):
(WebCore::RenderListItem::updateListMarkerNumbers):

  • rendering/RenderListItem.h:

LayoutTests:

  • fast/lists/ol-reversed-dynamic-expected.txt: Added.
  • fast/lists/ol-reversed-dynamic-simple-expected.txt: Added.
  • fast/lists/ol-reversed-dynamic-simple.html: Added.
  • fast/lists/ol-reversed-dynamic.html: Added.
  • fast/lists/ol-reversed-nested-items-expected.txt: Added.
  • fast/lists/ol-reversed-nested-items.html: Added.
  • fast/lists/ol-reversed-nested-list-expected.txt: Added.
  • fast/lists/ol-reversed-nested-list.html: Added.
  • fast/lists/ol-reversed-simple-expected.txt: Added.
  • fast/lists/ol-reversed-simple.html: Added.
05:39 Changeset [103061] by philn@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, unskipping GTK testdownload. Should pass on the bot now.

  • Scripts/run-gtk-tests:
05:35 Changeset [103060] by ossy@webkit.org
  • 5 edits in trunk/Tools

[Qt] Fix the build for newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=74703

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2011-12-16
Reviewed by Csaba Osztrogonác.

  • QtTestBrowser/launcherwindow.h: Add missing forward declaration.
  • DumpRenderTree/qt/EventSenderQt.cpp:

(EventSender::sendTouchEvent): Allocate QTouchDevice and use with QTouchEvent constructor.

  • WebKitTestRunner/qt/EventSenderProxyQt.cpp: Ditto.

(WTR::EventSenderProxy::sendTouchEvent):

  • MiniBrowser/qt/MiniBrowserApplication.cpp:

(MiniBrowserApplication::sendTouchEvent): Ditto.
(MiniBrowserApplication::notify): Adapt to changed API for marking primary touch point.

05:04 Changeset [103059] by senorblanco@chromium.org
  • 4 edits in trunk/Source

Enable CSS_FILTERS in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=74334

Reviewed by Chris Marrin.

Source/WebCore:

Covered by css3/filters (when enabled).

  • platform/graphics/filters/FilterOperation.h:

(WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
Since wingdi.h #define's PASSTHROUGH, #undef it after the includes.

Source/WebKit/chromium:

  • features.gypi:
04:41 Changeset [103058] by vestbo@webkit.org
  • 2 edits in trunk/Tools

[Qt] Detect and force clean build when feature defines are added

Reviewed by Ossy.

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

04:22 Changeset [103057] by morrita@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed, test_expectations.txt update.

  • platform/chromium/test_expectations.txt:
04:19 Changeset [103056] by paroga@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed WinCE build fix after r102979.

Make everHadLayout() public accessible as it was before the change.

  • rendering/RenderObject.h:

(WebCore::RenderObject::everHadLayout):

03:28 Changeset [103055] by morrita@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed, test_expectations.txt update.

  • platform/chromium/test_expectations.txt:
03:27 Changeset [103054] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[qt][wk2] Viewport info panel shows wrong current scale
https://bugs.webkit.org/show_bug.cgi?id=74613

Patch by Michael Bruning <michael.bruning@nokia.com> on 2011-12-16
Reviewed by Kenneth Rohde Christiansen.

  • UIProcess/API/qt/qwebviewportinfo.cpp:

(QWebViewportInfo::currentScale): Added division by devicePixelRatio. Also
added emission of currenScaleUpdated signal when the viewport constraints
have been updated.
(QWebViewportInfo::didUpdateViewportConstraints):

  • UIProcess/API/qt/qwebviewportinfo_p.h: Changed return type of

currentScale to QVariant as it depends on the viewport interaction engine
now.

  • UIProcess/qt/QtViewportInteractionEngine.cpp:

(WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): Changed
to use currentCSSScale for getting the current css scale.
(WebKit::QtViewportInteractionEngine::currentCSSScale): Added.

  • UIProcess/qt/QtViewportInteractionEngine.h: Added method currentCSSScale.
03:10 Changeset [103053] by morrita@google.com
  • 4 edits
    2 deletes in trunk/LayoutTests

Unreviewed, rolling out r103044.
http://trac.webkit.org/changeset/103044
https://bugs.webkit.org/show_bug.cgi?id=72940

Added test doesn't pass on Mac SL and Mac Chromium

  • editing/spelling/spellcheck-async-mutation-expected.txt: Removed.
  • editing/spelling/spellcheck-async-mutation.html: Removed.
  • platform/gtk/Skipped:
  • platform/mac-leopard/Skipped:
  • platform/qt/Skipped:
02:51 Changeset [103052] by hans@chromium.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Don't prefetch values from key cursors
https://bugs.webkit.org/show_bug.cgi?id=74604

Reviewed by Tony Chang.

Since index key cursors don't have values, prefetching should not try
to retrieve them. Doing so trips an ASSERT in debug builds.

This will be tested Chromium-side.

  • storage/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::prefetchContinueInternal):

02:48 Changeset [103051] by commit-queue@webkit.org
  • 4 edits in trunk

[Forms] The "maxlength" attribute on "textarea" tag miscounts hard newlines
https://bugs.webkit.org/show_bug.cgi?id=74686

Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-16
Reviewed by Kent Tamura.

Source/WebCore:

This patch counts LF in textarea value as two for LF to CRLF conversion on submission.

No new tests. Existing tests cover all changes.

  • html/HTMLTextAreaElement.cpp:

(WebCore::computeLengthForSubmission): Count LF as 2 for CR LF conversion on submission.
(WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): Use computeLengthForSubmission instead of numGraphemeClusters.
(WebCore::HTMLTextAreaElement::tooLong): Use computeLengthForSubmission instead of numGraphemeClusters.

LayoutTests:

  • fast/forms/script-tests/textarea-maxlength.js: Doubles maxlength for counting LF as two chars.
02:44 Changeset [103050] by morrita@google.com
  • 4 edits
    2 deletes in trunk

Unreviewed, rolling out r103045.
http://trac.webkit.org/changeset/103045
https://bugs.webkit.org/show_bug.cgi?id=74590

Breaks select-script-onchange.html on Chromium Windows

Source/WebCore:

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::typeAheadFind):

LayoutTests:

  • fast/events/onchange-select-popup-expected.txt:
  • fast/forms/select/menulist-type-ahead-find-expected.txt: Removed.
  • fast/forms/select/menulist-type-ahead-find.html: Removed.
02:36 Changeset [103049] by ossy@webkit.org
  • 3 edits
    1 add in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/Skipped: Skip a failing test (regression) to paint the bot green.
  • platform/qt/fast/css/bidi-override-in-anonymous-block-expected.png: Added.
  • platform/qt/fast/css/bidi-override-in-anonymous-block-expected.txt:
02:16 Changeset [103048] by carlosgc@webkit.org
  • 4 edits in trunk

[GTK] Update NEWS and configure.ac for 1.7.3 release
https://bugs.webkit.org/show_bug.cgi?id=74699

Reviewed by Philippe Normand.

.:

  • configure.ac: Bumped version number.

Source/WebKit/gtk:

  • NEWS: Added release notes for 1.7.3.
02:05 Changeset [103047] by carlosgc@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix make distcheck.

  • GNUmakefile.list.am: Add missing header file.
01:21 Changeset [103046] by haraken@chromium.org
  • 2 edits in trunk/Tools

[Refactoring] Remove all global variables from prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=74681

Reviewed by Ryosuke Niwa.

We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest
manner. This bug is one of the incremental refactorings to remove all top-level
code and global variables from prepare-ChangeLog. In this patch,
we make the following global variables be used only through parameter passing.
This patch removes all global variables from prepare-ChangeLog.

  • $mergeBase
  • $gitCommit
  • $gitIndex
  • Scripts/prepare-ChangeLog:

(generateFunctionLists):
(changeLogNameFromArgs):
(changeLogEmailAddressFromArgs):
(generateNewChangeLogs):
(printDiff):
(diffFromToString):
(diffCommand):
(statusCommand):
(createPatchCommand):
(generateFileList):
(isConflictStatus):

01:08 Changeset [103045] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[Forms] Selection change by type-ahead doesn't fire 'change' event
https://bugs.webkit.org/show_bug.cgi?id=74590

Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-16
Reviewed by Kent Tamura.

Source/WebCore:

Fire onchange even for type ahead selection.

Test: fast/forms/select/menulist-type-ahead-find.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::typeAheadFind): Add DispatchChangeEvent when
calling selectOption method.

LayoutTests:

  • fast/events/onchange-select-popup.html: Add "PASS: change event fired." for type ahread test.
  • fast/forms/select/menulist-type-ahead-find-expected.txt: Added.
  • fast/forms/select/menulist-type-ahead-find.html: Added.
01:04 Changeset [103044] 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-16
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:
00:51 Changeset [103043] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

Don't call Document::body() twice in the same function.
<http://webkit.org/b/74683>

Reviewed by Dan Bernstein.

Document::body() is O(n), so we should avoid calling it multiple
times unnecessarily.

  • dom/Document.cpp:

(WebCore::Document::updateLayoutIgnorePendingStylesheets):

00:49 Changeset [103042] by morrita@google.com
  • 2 edits in trunk/LayoutTests

Marking some as fail.

  • platform/chromium/test_expectations.txt:
00:35 Changeset [103041] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

[Chromium] Add trace events for decoding and drawing images.
https://bugs.webkit.org/show_bug.cgi?id=74547

Patch by Daniel Sievers <sievers@chromium.org> on 2011-12-16
Reviewed by James Robinson.

  • platform/graphics/skia/ImageSkia.cpp:

(WebCore::drawResampledBitmap):
(WebCore::paintSkBitmap):
(WebCore::Image::drawPattern):

  • platform/graphics/skia/NativeImageSkia.cpp:

(WebCore::NativeImageSkia::resizedBitmap):

  • platform/image-decoders/bmp/BMPImageDecoder.cpp:

(WebCore::BMPImageDecoder::decode):

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::decode):

  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::decode):

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::decode):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::decode):

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

(WebCore::WEBPImageDecoder::decode):

00:28 Changeset [103040] by philn@webkit.org
  • 2 edits in trunk/Tools

[GTK] Rounding errors on 32-bit machines causes tests to fail
https://bugs.webkit.org/show_bug.cgi?id=72254

Initial patch by vanuan@gmail.com.
Reviewed by Martin Robinson.

  • Scripts/webkitdirs.pm:

(runAutogenForAutotoolsProjectIfNecessary): Pass additional
CXXFLAGS to autogen in an attempt to harmonize floating point
values between 32-bit and 64-bit architectures.

00:27 Changeset [103039] by morrita@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed expectations update.

  • fast/ruby/ruby-remove-no-base-expected.txt:
00:18 Changeset [103038] by mrobinson@webkit.org
  • 2 edits in trunk/Tools

[GTK] Make distcheck fails during the install
https://bugs.webkit.org/show_bug.cgi?id=74274

No review, since this is a build fix.

  • GNUmakefile.am: Remove BUILT_SOURCES from the dependency list for the gtkdoc

step. BUILT_SOURCES includes forwarding header generation for WebKit2, which
always runs. This means that the gtkdoc step was always running when make was
invoked. Generating gtkdoc during 'make install' was triggering a race condition
with the library file. Later we can fix generate-forwarding-headers and unbreak
'make docs,' but this bandaid is sufficient to let us release.

00:18 Changeset [103037] by philn@webkit.org
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed, GTK rebaseline and test_expectations update.

  • platform/gtk/fast/css/bidi-override-in-anonymous-block-expected.txt:
  • platform/gtk/fast/ruby/ruby-remove-no-base-expected.txt: Added.
  • platform/gtk/test_expectations.txt:
00:10 Changeset [103036] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Qt rebaselines for window properties.

  • platform/qt/fast/dom/Window/window-properties-expected.txt:
  • platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
00:04 Changeset [103035] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Mac rebaseline after r102918.

  • platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:

12/15/11:

23:59 Changeset [103034] by mrobinson@webkit.org
  • 6 edits in trunk/Source

Fix 'make dist' in preparation for the GTK+ release.

Source/JavaScriptCore:

  • GNUmakefile.list.am: Add missing header.

Source/WebCore:

  • GNUmakefile.list.am: Add missing header.

Source/WebKit2:

  • GNUmakefile.am: Add missing header.
23:55 Changeset [103033] by morrita@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed expectations update.

  • html5lib/webkit-resumer-expected.txt:
23:26 Changeset [103032] by morrita@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed test_expectations.txt update.

  • platform/chromium/test_expectations.txt:
23:18 Changeset [103031] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Don't create empty files on error.
https://bugs.webkit.org/show_bug.cgi?id=74373

Patch by Rafael Ávila de Espíndola <rafael.espindola@gmail.com> on 2011-12-15
Reviewed by Ryosuke Niwa.

  • css/makeprop.pl:
  • css/makevalues.pl:
  • make-hash-tools.pl:
23:14 Changeset [103030] by commit-queue@webkit.org
  • 10 edits
    1 add in trunk/Source

PODIntervalTree takes 1.7MB memory on www.nytimes.com.
https://bugs.webkit.org/show_bug.cgi?id=73712

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2011-12-15
Reviewed by Kenneth Russell.

Source/WebCore:

For a RenderBlock which has floating objects inside, we will create a PODIntervalTree and a PODArena with
at least one 16KB chunk. A page could have a large number of such RenderBlocks and they could take huge
amount of memory. To fix that, we can create a shared PODArena in the root RenderView. Instead of having
their own PODArena, each RenderBlock with floating objects could share this PODArena to reduce memory consumption.

The shared PODArena could grow unboundedly if we keep removing and adding floating objects. We can fix that
by reusing the freed memory in each chunk. However, a PODArena could allocate objects of different sizes and
it would be complex to keep track of the size for each allocation in PODArena. To address that, this patch
added class PODFreeListArena<T> which only allocates objects of type T (hence the same size). We can then use a
free list to track freed nodes inside the chunk and reuse the free nodes in future allocations.

Manually tested on nytimes.com and the heap consumption of PODIntervalTree reduced from 1.7MB to 16KB. Performance
doesn't regress on test PerformanceTests/Layout/floats.html.

  • WebCore.xcodeproj/project.pbxproj: add new header file PODFreeListArena.h.
  • platform/PODArena.h:

(WebCore::PODArena::~PODArena): change dtor to virtual.
(WebCore::PODArena::Chunk::~Chunk): ditto.

  • platform/PODFreeListArena.h: Added.

(WebCore::PODFreeListArena::create):
(WebCore::PODFreeListArena::allocateObject): allocate an object.
(WebCore::PODFreeListArena::freeObject): free an object, find the right chunk and update its free list.
(WebCore::PODFreeListArena::allocate): allocate memory from the free list or current chunk.
(WebCore::PODFreeListArena::FreeListChunk::FreeListChunk): add m_freeList to track freed cells.
(WebCore::PODFreeListArena::FreeListChunk::allocate): reuse a free cell if there is one.
(WebCore::PODFreeListArena::FreeListChunk::free): make the memory taken by this object is free, and link it to m_freeList.
(WebCore::PODFreeListArena::FreeListChunk::contains): check if a pointer is inside this chunk.
(WebCore::PODFreeListArena::FreeListChunk::hasFreeList): check if this chunk has free cells.

  • platform/PODRedBlackTree.h:

(WebCore::PODRedBlackTree::PODRedBlackTree): take PODFreeListArena instead of PODArena, since nodes of a particular PODRedBlackTree

is always of the same size.

(WebCore::PODRedBlackTree::clear): mark all nodes before clearing the tree.
(WebCore::PODRedBlackTree::initIfNeeded): add initIfNeeded to take an external PODFreeListArena.
(WebCore::PODRedBlackTree::add):
(WebCore::PODRedBlackTree::deleteNode): mark the node free in arena after it is removed from the tree.
(WebCore::PODRedBlackTree::markFree): mark all node free in the tree.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree): passing the shared PODFreeListArena to m_placedFloatsTree.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::FloatingObjects::FloatingObjects):

  • rendering/RenderView.cpp:

(WebCore::RenderView::intervalArena): create the shared PODFreeListArena lazily.

  • rendering/RenderView.h:

Source/WebKit/chromium:

Change the test code in chromium port since PODRedBlackTree now takes PODFreeListArena<T>
in its constructor.

  • tests/PODRedBlackTreeTest.cpp:

(WebCore::TEST):

23:02 Changeset [103029] by dmazzoni@google.com
  • 26 edits in trunk/LayoutTests

Unreviewed; rebaseline Chromium speech input image tests.

22:46 Changeset [103028] by weinig@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

<rdar://problem/10552550> JavaScriptCore uses obsolete 'cpy' mnemonic in ARM assembly

Reviewed by Gavin Barraclough.

Original patch by Jim Grosbach.

  • jit/JITStubs.cpp:

(JSC::ctiTrampoline):
(JSC::ctiVMThrowTrampoline):
Replace uses of the 'cpy' mnemonic with 'mov'.

22:40 Changeset [103027] by tony@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rollout r102825 because it didn't improve performance.
https://bugs.webkit.org/show_bug.cgi?id=74622

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):

22:02 Changeset [103026] by eric@webkit.org
  • 4 edits in trunk/Tools

NRWT should use free + inactive memory for default_child_processes on OS X (and never return < 1 process)
https://bugs.webkit.org/show_bug.cgi?id=74650

Reviewed by Adam Barth.

  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo._compute_bytes_from_vm_stat_output):

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

(Port.default_child_processes):

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

(PortTest.test_default_child_processes):

22:00 Changeset [103025] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

IndexedDB: Clean up WebIDBObjectStore createIndex temp code
https://bugs.webkit.org/show_bug.cgi?id=74205

Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-15
Reviewed by Darin Fisher.

Remove a method and an implementation that only needed for
older Chromium revisions.

  • public/WebIDBObjectStore.h:

(WebKit::WebIDBObjectStore::createIndex):

21:56 Changeset [103024] by fpizlo@apple.com
  • 2 edits in trunk/Tools

bencher script should support remote benchmarking on platforms that don't have ruby
https://bugs.webkit.org/show_bug.cgi?id=74659

Rubber-stamped by Sam Weinig.

Added the ability to have bencher generate a benchmarking playload that consists of
copies of all of the benchmarks, optionally copies of all of the frameworks and
binaries to run all of the VMs, and a sh script that runs the benchmarks in random
order, which then spits out a raw results file that bencher can parse.

In normal operating mode, you never see this, as it just generates the payload and
script internally, runs it, parses the results, and spits them out.

The --remote mode has been changed to use this style, so any remote host that has
sshd, passwordless login support, a ~/.bencher file that points to a "tempPath", and
a sh-compatible shell can be used for remote benchmarking.

The feature to include VMs in the benchmarking payload is by default only activated
when using --remote, but it can also be activated when doing local benchmarking; the
benefit is that you remove any pathname-related performance pathologies. All VMs
become equal because they are all located in
/path/to/bencher/directory/temp/benchdata/vmN where N is the configuration number
(usually 0 or 1).

Also fixed bugs in the DumpRenderTree support. It's now possible to run all benchmarks
through DumpRenderTree. This is only a bit slower than running in jsc.

  • Scripts/bencher:
21:32 Changeset [103023] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Value profiling should distinguished between NaN and non-NaN doubles
https://bugs.webkit.org/show_bug.cgi?id=74682

Reviewed by Gavin Barraclough.

Added PredictDoubleReal and PredictDoubleNaN. PredictDouble is now the union
of the two.

  • bytecode/PredictedType.cpp:

(JSC::predictionToString):
(JSC::predictionFromValue):

  • bytecode/PredictedType.h:

(JSC::isDoubleRealPrediction):
(JSC::isDoublePrediction):

21:22 Changeset [103022] by commit-queue@webkit.org
  • 1 edit
    4 adds in trunk/Source/WebKit

[BlackBerry] Upstream BlackBerry WebCoreSupport drag client and context menu client
https://bugs.webkit.org/show_bug.cgi?id=74643

Patch by Jacky Jiang <zhajiang@rim.com> on 2011-12-15
Reviewed by Rob Buis.

Initial upstream, no new tests.

  • blackberry/WebCoreSupport/ContextMenuClientBlackBerry.cpp: Added.
  • blackberry/WebCoreSupport/ContextMenuClientBlackBerry.h: Added.
  • blackberry/WebCoreSupport/DragClientBlackBerry.cpp: Added.
  • blackberry/WebCoreSupport/DragClientBlackBerry.h: Added.
21:21 Changeset [103021] by tony@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Chromium Windows (Tests) is failing to build
https://bugs.webkit.org/show_bug.cgi?id=74320

Reviewed by Kenneth Russell.

Roll chromium deps to r114686 to pull in a change to how generated
headers include files from third_party/WebKit. This should make the
file path shorter, reducing the chance of hitting the 260 char path
limit on Windows.

21:09 Changeset [103020] by rniwa@webkit.org
  • 7 edits in trunk/Source/WebCore

sizeof(RenderObject) is 32 instead of 24 on Windows
https://bugs.webkit.org/show_bug.cgi?id=74646

Reviewed by Darin Adler.

Make all bitfields in RenderObject to unsigned and wrap them around by RenderObjectBitfields.
Also add a compilation time assertion to make sure we won't grow RenderObject's size unintentionally.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlock::layoutColumns):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::FloatWithRect::FloatWithRect):

  • rendering/RenderObject.cpp:

(WebCore::SameSizeAsRenderObject::~SameSizeAsRenderObject):
(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::markContainingBlocksForLayout):
(WebCore::RenderObject::setPreferredLogicalWidthsDirty):
(WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::styleDidChange):
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::updateDragState):

  • rendering/RenderObject.h:

(WebCore::RenderObject::hasCounterNodeMap):
(WebCore::RenderObject::setHasCounterNodeMap):
(WebCore::RenderObject::childrenInline):
(WebCore::RenderObject::setChildrenInline):
(WebCore::RenderObject::hasColumns):
(WebCore::RenderObject::setHasColumns):
(WebCore::RenderObject::inRenderFlowThread):
(WebCore::RenderObject::setInRenderFlowThread):
(WebCore::RenderObject::isAnonymous):
(WebCore::RenderObject::setIsAnonymous):
(WebCore::RenderObject::isAnonymousBlock):
(WebCore::RenderObject::isFloating):
(WebCore::RenderObject::isPositioned):
(WebCore::RenderObject::isRelPositioned):
(WebCore::RenderObject::isText):
(WebCore::RenderObject::isBox):
(WebCore::RenderObject::isInline):
(WebCore::RenderObject::isDragging):
(WebCore::RenderObject::isReplaced):
(WebCore::RenderObject::isHorizontalWritingMode):
(WebCore::RenderObject::hasLayer):
(WebCore::RenderObject::hasBoxDecorations):
(WebCore::RenderObject::needsLayout):
(WebCore::RenderObject::selfNeedsLayout):
(WebCore::RenderObject::needsPositionedMovementLayout):
(WebCore::RenderObject::needsPositionedMovementLayoutOnly):
(WebCore::RenderObject::posChildNeedsLayout):
(WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
(WebCore::RenderObject::normalChildNeedsLayout):
(WebCore::RenderObject::preferredLogicalWidthsDirty):
(WebCore::RenderObject::hasOverflowClip):
(WebCore::RenderObject::hasTransform):
(WebCore::RenderObject::node):
(WebCore::RenderObject::setPositioned):
(WebCore::RenderObject::setRelPositioned):
(WebCore::RenderObject::setFloating):
(WebCore::RenderObject::setInline):
(WebCore::RenderObject::setHasBoxDecorations):
(WebCore::RenderObject::setIsText):
(WebCore::RenderObject::setIsBox):
(WebCore::RenderObject::setReplaced):
(WebCore::RenderObject::setHorizontalWritingMode):
(WebCore::RenderObject::setHasOverflowClip):
(WebCore::RenderObject::setHasLayer):
(WebCore::RenderObject::setHasTransform):
(WebCore::RenderObject::setHasReflection):
(WebCore::RenderObject::hasReflection):
(WebCore::RenderObject::setHasMarkupTruncation):
(WebCore::RenderObject::hasMarkupTruncation):
(WebCore::RenderObject::selectionState):
(WebCore::RenderObject::setSelectionState):
(WebCore::RenderObject::hasSelectedChildren):
(WebCore::RenderObject::isMarginBeforeQuirk):
(WebCore::RenderObject::isMarginAfterQuirk):
(WebCore::RenderObject::setMarginBeforeQuirk):
(WebCore::RenderObject::setMarginAfterQuirk):
(WebCore::RenderObject::everHadLayout):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::RenderObjectBitfields::selectionState):
(WebCore::RenderObject::RenderObjectBitfields::setSelectionState):
(WebCore::RenderObject::setNeedsPositionedMovementLayout):
(WebCore::RenderObject::setNormalChildNeedsLayout):
(WebCore::RenderObject::setPosChildNeedsLayout):
(WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
(WebCore::RenderObject::setPaintBackground):
(WebCore::RenderObject::setIsDragging):
(WebCore::RenderObject::setEverHadLayout):
(WebCore::RenderObject::setNeedsLayout):
(WebCore::RenderObject::setChildNeedsLayout):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::removeChildNode):

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::layout):

20:41 Changeset [103019] by leo.yang@torchmobile.com.cn
  • 1 edit
    1 add in trunk/Source/WebCore

[BlackBerry] Upstream BlackBerry porting of pluginView
https://bugs.webkit.org/show_bug.cgi?id=73397

Patch by Wei Charles <charles.wei@torchmobile.com.cn> on 2011-12-15
Reviewed by Daniel Bates.

No new tests for now.

  • plugins/blackberry/PluginViewBlackBerry.cpp: Added.
20:23 Changeset [103018] by commit-queue@webkit.org
  • 5 edits in trunk

IndexedDB: Can't pass DOMStringList to IDBDatabase.transaction()
https://bugs.webkit.org/show_bug.cgi?id=74452

Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-15
Reviewed by Adam Barth.

Source/WebCore:

V8 code generator generated checks for DOMStringList arguments, then
deferred to a function that only handled array inputs. This previously
worked for IndexedDB because it would fall into a now-removed default
handler.

Modified storage/indexeddb/transaction-basics.html to test this.

  • bindings/v8/V8Binding.cpp:

(WebCore::v8ValueToWebCoreDOMStringList):

LayoutTests:

  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-basics.html:
20:19 Changeset [103017] by adamk@chromium.org
  • 2 edits in trunk/Source/WebCore

Make Element::setAttributeInternal inline in an attempt to avoid function call overhead
https://bugs.webkit.org/show_bug.cgi?id=74638

Reviewed by Andreas Kling.

In r102695, I factored common code in setAttribute into
Element::setAttributeInternal. This may have caused a perf regression
due to the extra function call, which inlining should eliminate.

Running Dromaeo locally suggests that this will improve performance
by ~9% on the "dom-attr element.property = value" test (which assigns
a value to an element's id).

  • dom/Element.cpp:

(WebCore::Element::setAttributeInternal):

20:03 Changeset [103016] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/Source/WebCore

Upstream FileSystemBlackBerry.cpp into WebCore/platform/blackberry
https://bugs.webkit.org/show_bug.cgi?id=74491

Patch by Mary Wu <mary.wu@torchmobile.com.cn> on 2011-12-15
Reviewed by Rob Buis.

We are using POSIX porting of FileSystem, so here only implement other
necessary functions.

Initial upstream, no new tests.

  • platform/blackberry/FileSystemBlackBerry.cpp: Added.

(WebCore::homeDirectoryPath):
(WebCore::fileSystemRepresentation):
(WebCore::unloadModule):
(WebCore::openTemporaryFile):

19:43 Changeset [103015] by enne@google.com
  • 3 edits in trunk/Source/WebCore

[chromium] Clean up unnecessary leaf functions in GraphicsLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=74140

Reviewed by James Robinson.

Tested by existing compositor layout tests.

This is a follow-on cleanup to r102196, which made some of these
functions less useful than they had been in the past.

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::setContentsOpaque):
(WebCore::GraphicsLayerChromium::setBackfaceVisibility):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):

  • platform/graphics/chromium/GraphicsLayerChromium.h:
19:41 Changeset [103014] by dpranke@chromium.org
  • 3 edits in trunk/Tools

webkitpy: clean up TestPort to (mostly) not create a new filesystem
https://bugs.webkit.org/show_bug.cgi?id=74556

This change modifies the TestPort to be ready to add tests to an
existing filesystem instead of creating a new filesystem; we
leave unit_test_filesystem() in for now for compatibility.

  • Scripts/webkitpy/common/host_mock.py:

(MockHost.init):

  • call add_unit_tests_to_mock_filesystem by default to make the MockHost more generally useful for layout_test unit tests.
  • Scripts/webkitpy/layout_tests/port/test.py:

(TestInstance.init):
(add_unit_tests_to_mock_filesystem):
(add_file):
(unit_test_filesystem):
(TestPort.init):
(TestPort._set_default_overriding_none):

19:05 Changeset [103013] by kbr@google.com
  • 9 edits in trunk

Unreviewed, rolling out r103000.
http://trac.webkit.org/changeset/103000
https://bugs.webkit.org/show_bug.cgi?id=74658

Does not handle text/plain documents correctly.

Source/WebCore:

  • html/parser/HTMLTokenizer.cpp:
  • html/parser/HTMLTokenizer.h:
  • html/parser/HTMLTreeBuilder.cpp:
  • html/parser/HTMLTreeBuilder.h:
  • xml/parser/MarkupTokenizerBase.h:

LayoutTests:

  • html5lib/runner-expected.txt:
  • platform/chromium/html5lib/runner-expected.txt:
19:02 Changeset [103012] by dpranke@chromium.org
  • 5 edits in trunk/Tools

webkitpy: cleanup prior to systemhostifying the layout_test/port* classes
https://bugs.webkit.org/show_bug.cgi?id=74551

This is some minor cleanup prior to making all of the host/port
changes described in bug 74138.

  • Scripts/webkitpy/common/host_mock.py:

(MockHost.init):

  • make sure the scm object is initialized with the same mock executive and filesystem objects.
  • Scripts/webkitpy/common/system/filesystem_mock.py:

(MockFileSystem.clear_written_files):

  • add a routine that will be useful in testing.

(MockFileSystem.maybe_make_directory):
(MockFileSystem.write_binary_file):

  • fix bugs to make sure directories are created properly.
  • Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:

(_Process.run):

  • add clarifying comments.
  • Scripts/webkitpy/layout_tests/port/mock_drt.py:

(MockDRTPort.init):
(MockDRT.init):

  • add clarifying comments.
18:32 Changeset [103011] by jamesr@google.com
  • 13 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:
18:32 Changeset [103010] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add support for accelerated compositing to the tiled Core Animation drawing area
https://bugs.webkit.org/show_bug.cgi?id=74675

Reviewed by Andreas Kling.

Add a layer flush scheduler and get rid of the content layer since WebCore will manage that for us.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
(WebKit::TiledCoreAnimationDrawingArea::scroll):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):

18:15 Changeset [103009] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Unreviewed, rolling out r102652 and r102717.
http://trac.webkit.org/changeset/102652
http://trac.webkit.org/changeset/102717
https://bugs.webkit.org/show_bug.cgi?id=74674

Broke too many webs. (Requested by kling on #webkit).

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

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

  • UIProcess/API/mac/WKView.mm:

(-[WKView _updateWindowAndViewFrames]):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::windowAndViewFramesChanged):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::windowAndViewFramesChanged):

  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::windowRect):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::windowAndViewFramesChanged):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::windowFrameInScreenCoordinates):
(WebKit::WebPage::viewFrameInWindowCoordinates):
(WebKit::WebPage::accessibilityPosition):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):

18:00 Changeset [103008] by andersca@apple.com
  • 4 edits in trunk

Source/JavaScriptCore: Regression (r102866): Navigating away from or closing a page with a plugin crashes
https://bugs.webkit.org/show_bug.cgi?id=74655
<rdar://problem/10590024>

Reviewed by Sam Weinig.

Rewrite HasRefAndDeref to work if ref and deref are implemented in base classes,
using a modified version of the technique described here:
http://groups.google.com/group/comp.lang.c++.moderated/msg/e5fbc9305539f699

  • wtf/Functional.h:

Tools: Regression (r102866): Navigating away from or closing a page with a plugin crashes
https://bugs.webkit.org/show_bug.cgi?id=74655

Reviewed by Sam Weinig.

Add a bunch of tests.

  • TestWebKitAPI/Tests/WTF/Functional.cpp:
17:50 Changeset [103007] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Lazily create the scrolling coordinator and add a setting for enabling it
https://bugs.webkit.org/show_bug.cgi?id=74667

Reviewed by Darin Adler.

  • WebCore.xcodeproj/project.pbxproj:

Make ScrollingCoordinator.h a private header so it can be used in WebKit.

  • page/Page.cpp:

(WebCore::Page::Page):
Don't create the scrolling coordinator.

(WebCore::Page::~Page):
Check for a null scrolling coordinator.

(WebCore::Page::scrollingCoordinator):
Create the scrolling coordinator lazily.

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setScrollingCoordinatorEnabled):
(WebCore::Settings::scrollingCoordinatorEnabled):
Add a setting for enabling the scrolling coordinator.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
Use a tile cache layer for the main frame when the scrolling coordinator is neabled.

17:33 Changeset [103006] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Unreviewed. Fix build break when data-transfer-items is enabled.

  • platform/efl/ClipboardEfl.cpp:

(WebCore::ClipboardEfl::items):

  • platform/efl/ClipboardEfl.h:
17:19 Changeset [103005] by abarth@webkit.org
  • 5 edits in trunk

<ruby><div><p><rp> parses incorrectly
https://bugs.webkit.org/show_bug.cgi?id=74668

Reviewed by Darin Adler.

Source/WebCore:

This patch updates our implementation to match a change to the HTML5
specification regarding how <ruby> elements parse. Previously, <rp>
and similar tags used to pop the stack up to the <ruby> element. Now
the popping does not occur.

Tests: html5lib/runner.html

  • html/parser/HTMLTreeBuilder.cpp:

LayoutTests:

Update test results to show progression.

  • html5lib/runner-expected.txt:
  • platform/chromium/html5lib/runner-expected.txt:
17:17 Changeset [103004] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Chromium] Avoid strdup() for extra argument when tracing is disabled.
https://bugs.webkit.org/show_bug.cgi?id=74637

Patch by Daniel Sievers <sievers@chromium.org> on 2011-12-15
Reviewed by James Robinson.

  • platform/chromium/TraceEvent.h:

(WebCore::internal::ScopeTracer::ScopeTracer):

17:12 Changeset [103003] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Warnings fixes in Interpreter.cpp and PrivateExecute.cpp
https://bugs.webkit.org/show_bug.cgi?id=74624

Patch by Andy Wingo <wingo@igalia.com> on 2011-12-15
Reviewed by Darin Adler.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute): Fix variables unused in
release mode.

  • wtf/ParallelJobsGeneric.cpp:

(WTF::ParallelEnvironment::ParallelEnvironment): Fix
signed/unsigned comparison warning, with a cast.

17:08 Changeset [103002] by slewis@apple.com
  • 7 edits in trunk/Tools

https://bugs.webkit.org/show_bug.cgi?id=74469
Escape paths to svn commands so our tools can handle filenames with @ symbols.

Reviewed by Adam Roben.

  • Scripts/VCSUtils.pm:

(scmMoveOrRenameFile):
(scmAddExecutableBit):
(scmRemoveExecutableBit):
(determineSVNRoot):
(svnRevisionForDirectory):
(pathRelativeToSVNRepositoryRootForPath):
(svnStatus):
(escapeSubversionPath):

  • Scripts/parse-malloc-history:

(main):

  • Scripts/prepare-ChangeLog:

(diffCommand):
(statusCommand):
(findOriginalFileFromSvn):
(determinePropertyChanges):

  • Scripts/resolve-ChangeLogs:

(conflictFiles):
(resolveConflict):
(showStatus):

  • Scripts/svn-apply:

(patch):
(scmCopy):
(scmAdd):
(scmRemove):

  • Scripts/svn-create-patch:

(findBaseUrl):
(findMimeType):
(findSourceFileAndRevision):
(generateDiff):
(generateFileList):
(manufacturePatchForAdditionWithHistory):

  • Scripts/svn-unapply:

(patch):
(revertDirectories):

16:59 Changeset [103001] by adamk@chromium.org
  • 17 edits
    1 copy
    1 add in trunk/Source/WebCore

[MutationObservers] Add a document-level flag that can trivially be checked to avoid doing unnessary work if mutation observers absent
https://bugs.webkit.org/show_bug.cgi?id=74641

Patch by Rafael Weinstein <rafaelw@chromium.org> on 2011-12-15
Reviewed by Ojan Vafai.

This patch adds a byte of flags to Document, of which three bits are used to signal if any
node owned by the document has a Mutation Observer of the given type. This is used to
reduce the cost of discovering there are none to a single (inlined) method call and bit-check.
Also, a similar byte of flags which was used to optimize a particular case when mutation observers
are present has been removed, with the reasoning that we should first focus on minimizing impact on
the null-case before optimizing particular in-use cases.

Also, MutationObserverInterestGroup is broken out into its own file (which probably should have happened
earlier, but now avoids a circular header dependency).

No tests needed. This patch is just a refactor.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSMutableStyleDeclaration.cpp:
  • dom/CharacterData.cpp:
  • dom/ChildListMutationScope.cpp:
  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:

(WebCore::Document::hasMutationObserversOfType):
(WebCore::Document::hasMutationObservers):
(WebCore::Document::addMutationObserverTypes):

  • dom/Element.cpp:
  • dom/MutationObserverInterestGroup.cpp: Added.

(WebCore::MutationObserverInterestGroup::createIfNeeded):
(WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
(WebCore::MutationObserverInterestGroup::isOldValueRequested):
(WebCore::MutationObserverInterestGroup::enqueueMutationRecord):

  • dom/MutationObserverInterestGroup.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.

(WebCore::MutationObserverInterestGroup::createForChildListMutation):
(WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
(WebCore::MutationObserverInterestGroup::createForAttributesMutation):
(WebCore::MutationObserverInterestGroup::hasOldValue):

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewOwnerDocument):
(WebCore::Node::getRegisteredMutationObserversOfType):
(WebCore::Node::notifyMutationObserversNodeWillDetach):

  • dom/Node.h:
  • dom/WebKitMutationObserver.cpp:

(WebCore::WebKitMutationObserver::observe):

  • dom/WebKitMutationObserver.h:
16:51 Changeset [103000] by abarth@webkit.org
  • 9 edits in trunk

<!DOCTYPE html><pre>&#x0a;&#x0a;A</pre> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74658

Reviewed by Darin Adler.

Source/WebCore:

Previously, we handled skipping newlines after <pre> in the tokenizer,
which isn't how the spec handles them. Instead, the spec skips them in
the tree builder. This isn't usually observable, except in the case of
an HTML entity. In that case, the tokenzier sees '&' (because the
entity hasn't been decoded yet), but the tree builder sees '\n' (the
decoded entity). This patch fixes the bug by more closely aligning our
implementation with the spec.

Test: html5lib/runner.html

  • html/parser/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::nextToken):

  • html/parser/HTMLTokenizer.h:
  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):

  • html/parser/HTMLTreeBuilder.h:
  • xml/parser/MarkupTokenizerBase.h:

LayoutTests:

Shows test progression.

  • html5lib/runner-expected.txt:
16:44 Changeset [102999] by kbr@google.com
  • 9 edits in trunk/Source/WebCore

Unreviewed, rolling out r102989.
http://trac.webkit.org/changeset/102989
https://bugs.webkit.org/show_bug.cgi?id=74580

Caused SHOULD NOT BE REACHED assertions in debug builds.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(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:
16:41 Changeset [102998] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

[BlackBerry] Regression: lots of checkerboarding
https://bugs.webkit.org/show_bug.cgi?id=74611

Patch by Jacky Jiang <zhajiang@rim.com> on 2011-12-15
Reviewed by Daniel Bates.

Fix a regression caused by r102843 which introduced a lot of unnecessary
checkerboarding. R102843 changed behavior by removing a check for blit
based on whether the render actually took place and whether the
backingstore was in the midst of suspended updates.
The initial anthor is Adam Treat <atreat@rim.com>.

  • blackberry/Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::repaint):
(BlackBerry::WebKit::BackingStorePrivate::slowScroll):
(BlackBerry::WebKit::BackingStorePrivate::renderVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::renderBackingStore):

  • blackberry/Api/BackingStore_p.h:

(BlackBerry::WebKit::BackingStorePrivate::isSuspended):

16:37 Changeset [102997] by commit-queue@webkit.org
  • 2 edits
    1 add
    4 deletes in trunk/LayoutTests

Create reftest for render-region-renderer
https://bugs.webkit.org/show_bug.cgi?id=74518

Patch by Larry McLister <lmcliste@adobe.com> on 2011-12-15
Reviewed by Tony Chang.

  • fast/regions/render-region-renderer-expected.html: Added.
  • platform/chromium/test_expectations.txt:
  • platform/efl/fast/regions/render-region-renderer-expected.png: Removed.
  • platform/efl/fast/regions/render-region-renderer-expected.txt: Removed.
  • platform/mac/fast/regions/render-region-renderer-expected.png: Removed.
  • platform/mac/fast/regions/render-region-renderer-expected.txt: Removed.
16:32 Changeset [102996] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[qt][wk2] MiniBrowser: Add pressed state for viewport info button.
https://bugs.webkit.org/show_bug.cgi?id=74617

Patch by Michael Bruning <michael.bruning@nokia.com> on 2011-12-15
Reviewed by Kenneth Rohde Christiansen.

  • MiniBrowser/qt/qml/BrowserWindow.qml: Added state dependent coloring

for viewport info button, adjusted height and added rounded corners.

16:25 Changeset [102995] by bashi@chromium.org
  • 2 edits
    10 adds in trunk/LayoutTests

Unreviewed Chromium test expectations update.
Rebaseline fast/text/unicode-variation-selector.html.

  • platform/chromium-cg-mac-leopard/fast/text/unicode-variation-selector-expected.png: Added.
  • platform/chromium-cg-mac-snowleopard/fast/text/unicode-variation-selector-expected.png: Added.
  • platform/chromium-linux/fast/text/unicode-variation-selector-expected.png: Added.
  • platform/chromium-linux/fast/text/unicode-variation-selector-expected.txt: Added.
  • platform/chromium-mac-leopard/fast/text/unicode-variation-selector-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/text/unicode-variation-selector-expected.png: Added.
  • platform/chromium-win/fast/text/unicode-variation-selector-expected.png: Added.
  • platform/chromium-win/fast/text/unicode-variation-selector-expected.txt: Added.
  • platform/chromium/fast/text/unicode-variation-selector-expected.txt: Added.
  • platform/chromium/test_expectations.txt:
16:18 Changeset [102994] by aestes@apple.com
  • 2 edits in trunk/Tools

TestFailures: store the name of the buildbot results directory in a property
https://bugs.webkit.org/show_bug.cgi?id=74663

Reviewed by Adam Barth.

Store the name of the results directory as a property on Buildbot's
prototype. This allows subclasses of Buildbot to customize the results
directory.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Buildbot.js:

(Buildbot.prototype.resultsDirectoryURL):

16:02 Changeset [102993] by kubo@profusion.mobi
  • 5 edits in trunk

[CMake] Remove ENABLE_DATAGRID from the buildsystem.
https://bugs.webkit.org/show_bug.cgi?id=74640

Reviewed by Antonio Gomes.

r84991 removed Datagrid from the tree, but the options in CMake were
kept.

  • Source/cmake/OptionsBlackBerry.cmake:
  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsWinCE.cmake:
  • Source/cmakeconfig.h.cmake:
15:50 Changeset [102992] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Touch make_name.pl in an attempt to make Qt bots happy.

  • dom/make_names.pl:

(printNamesHeaderFile):

15:48 Changeset [102991] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests results.

  • bindings/scripts/test/JS/JSFloat64Array.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
15:46 Changeset [102990] by tony@chromium.org
  • 2 edits in trunk/Tools

[chromium] pass --delete_unversioned_trees to gclient on the bots
https://bugs.webkit.org/show_bug.cgi?id=74565

Reviewed by Kenneth Russell.

It was temporarily removed in r102891 to keep the bots green. Now
that the bots have cycled, we can add it back.

  • Scripts/update-webkit-chromium:
15:44 Changeset [102989] 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 Darin Adler.

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:
15:13 Changeset [102988] by haraken@chromium.org
  • 2 edits in trunk/Tools

[Refactoring] In prepare-ChangeLog, make several global variables be used only through parameter passing
https://bugs.webkit.org/show_bug.cgi?id=74497

Reviewed by Ryosuke Niwa.

We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest
manner. This bug is one of the incremental refactorings to remove all top-level
code and global variables from prepare-ChangeLog. In this patch,
we make the following global variables be used only through parameter passing.

  • $bugDescription
  • $bugNumber
  • $name
  • $emailAddress
  • $gitReviewer
  • $writeChangeLogs
  • Scripts/prepare-ChangeLog:

(fetchBugDescriptionFromURL):
(generateNewChangeLogs):
(reviewerAndDescriptionForGitCommit):

15:10 Changeset [102987] by haraken@chromium.org
  • 2 edits
    10 adds in trunk/Source/WebCore

REGRESSION(r102663): generate-bindings.pl runs every time
https://bugs.webkit.org/show_bug.cgi?id=74481

Reviewed by Adam Barth.

See the comment #1 of bug 74481 for the cause of this bug.

This patch fixes generate-bindings.pl so that it generates .h and .cpp files
even for IDL files that do not need .h and .cpp files. This is just to prevent
build scripts from trying to generate .h and .cpp files at every build.

No new tests. No change in behavior.

  • bindings/scripts/generate-bindings.pl:

(generateEmptyHeaderAndCpp): Generates .h and .cpp files for IDL files
that do not need .h and .cpp files.

  • bindings/scripts/test/CPP/CPPTestSupplemental.cpp: Added.
  • bindings/scripts/test/CPP/CPPTestSupplemental.h: Added.
  • bindings/scripts/test/GObject/GObjectTestSupplemental.cpp: Added.
  • bindings/scripts/test/GObject/GObjectTestSupplemental.h: Added.
  • bindings/scripts/test/JS/JSTestSupplemental.cpp: Added.
  • bindings/scripts/test/JS/JSTestSupplemental.h: Added.
  • bindings/scripts/test/ObjC/ObjCTestSupplemental.cpp: Added.
  • bindings/scripts/test/ObjC/ObjCTestSupplemental.h: Added.
  • bindings/scripts/test/V8/V8TestSupplemental.cpp: Added.
  • bindings/scripts/test/V8/V8TestSupplemental.h: Added.
14:53 Changeset [102986] by lforschler@apple.com
  • 1 copy in tags/Safari-534.53.11

New tag.

14:19 Changeset [102985] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium test expectations update; pull up some
downstream suppressions.

  • platform/chromium/test_expectations.txt:
14:17 Changeset [102984] by jarred@sencha.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix. Mac build broken when CSS Filters enabled.
Needed to move Filter headers out as private headers in WebCore.framework.

  • WebCore.xcodeproj/project.pbxproj:
14:00 Changeset [102983] by eric@webkit.org
  • 5 edits in trunk/Source/WebCore

WebCore has two (disconnected) ways to keep track of updated widgets, should be unified
https://bugs.webkit.org/show_bug.cgi?id=74367

Reviewed by Adam Barth.

It seems the FrameView updateWidgets set is needed for now,
so just making FrameView::addWidgetToUpdate mark the DOM node
as needing a widget update and later when it goes to call
updateWidget() checking first if it needs an update.

No new tests, just adding an assert.

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::updateWidget):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::updateWidget):

  • html/HTMLPlugInImageElement.h:

(WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
(WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):

  • page/FrameView.cpp:

(WebCore::FrameView::addWidgetToUpdate):
(WebCore::FrameView::updateWidget):

13:56 Changeset [102982] by achicu@adobe.com
  • 2 edits in trunk/Source/WebCore

Windows project file is broken. It has a missing </File> enclosing tag
https://bugs.webkit.org/show_bug.cgi?id=74632

Reviewed by Anders Carlsson.

No new tests, just fixing the project file.

  • WebCore.vcproj/WebCore.vcproj:
13:35 Changeset [102981] by abarth@webkit.org
  • 11 edits in trunk

<table><tr><td><svg><desc><td> parses incorrectly
https://bugs.webkit.org/show_bug.cgi?id=68106

Reviewed by Eric Seidel.

Source/WebCore:

This patch updates our implementation of the HTML5 parser to account
for recent changes in the spec. The main change in this patch is to
remove the "in foreign content" state from the tree builder. Rather
than maintaining this as a separate state, the parser now introspects
on the stack of open elements to determine whether the parser is in
foriegn content. In the process, I've deleted some now-unused
machinery in the tree builder.

Tested by the html5lib LayoutTests. These tests show the progression
in our spec compliance.

  • html/parser/HTMLElementStack.cpp:
  • html/parser/HTMLElementStack.h:
  • html/parser/HTMLTreeBuilder.cpp:
  • html/parser/HTMLTreeBuilder.h:
  • mathml/mathattrs.in:

LayoutTests:

  • html5lib/resources/webkit01.dat:
    • This test had an incorrect expectation that matched our previous behavior. The new expected result matches Firefox's implemenation as well.
  • html5lib/runner-expected.txt:
  • platform/chromium/html5lib/runner-expected.txt:
    • Updated to show test progressions. The one non-monotonic improvement is some churn in which of the unsafe-text tests we pass. I'll look into this issue in a future patch.
13:34 Changeset [102980] by nduca@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] Add forUseOnAnotherThread to WebGraphicsContext3D::Attributes
https://bugs.webkit.org/show_bug.cgi?id=74557

Reviewed by Kenneth Russell.

  • public/platform/WebGraphicsContext3D.h:

(WebKit::WebGraphicsContext3D::Attributes::Attributes):

  • src/GraphicsContext3DChromium.cpp:
13:30 Changeset [102979] by rniwa@webkit.org
  • 11 edits in trunk/Source/WebCore

m_hasCounterNodeMap and m_everHadLayout should be private to RenderObject
https://bugs.webkit.org/show_bug.cgi?id=74645

Reviewed by Eric Seidel.

Made them private and added getters and setters as needed.

  • rendering/RenderCounter.cpp:

(WebCore::makeCounterNode):
(WebCore::RenderCounter::destroyCounterNodes):
(WebCore::updateCounters):
(WebCore::RenderCounter::rendererStyleChanged):
(showCounterRendererTree):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::layout):

  • rendering/RenderObject.h:

(WebCore::RenderObject::hasCounterNodeMap):
(WebCore::RenderObject::setHasCounterNodeMap):
(WebCore::RenderObject::everHadLayout):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::layout):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::layout):

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::layout):

  • rendering/svg/RenderSVGResourceMarker.cpp:

(WebCore::RenderSVGResourceMarker::layout):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::layout):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::layout):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::layout):

13:29 Changeset [102978] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Use more macrology in JSC::Options
https://bugs.webkit.org/show_bug.cgi?id=72938

Patch by Andy Wingo <wingo@igalia.com> on 2011-12-15
Reviewed by Filip Pizlo.

  • runtime/Options.cpp:

(JSC::Options::initializeOptions):

  • runtime/Options.h: Use macros to ensure that all heuristics are

declared and have initializers.

13:07 Changeset [102977] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Not able to navigate the Resource tab options properly with arrow keys after adding the sticky-notes.
https://bugs.webkit.org/show_bug.cgi?id=72013

Reviewed by Pavel Feldman.

  • inspector/front-end/DatabaseQueryView.js:

(WebInspector.DatabaseQueryView):
(WebInspector.DatabaseQueryView.prototype._messagesClicked):

  • inspector/front-end/ResourcesPanel.js:

(WebInspector.DatabaseTreeElement.prototype.onexpand):

12:46 Changeset [102976] by leviw@chromium.org
  • 345 edits in branches/subpixellayout/LayoutTests

Checking in updated 'fast' test expectations for sub-pixel positioning.

12:44 Changeset [102975] by andersca@apple.com
  • 6 edits
    2 adds in trunk/Source

Add ScrollingCoordinator class and ENABLE_THREADED_SCROLLING define
https://bugs.webkit.org/show_bug.cgi?id=74639

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Add ENABLE_THREADED_SCROLLING #define.

  • wtf/Platform.h:

Source/WebCore:

Add a ScrollingCoordinator class and make it a member of Page. Tear it down
when the page goes away.

  • WebCore.xcodeproj/project.pbxproj:
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::~Page):

  • page/Page.h:

(WebCore::Page::scrollingCoordinator):

  • page/ScrollingCoordinator.cpp: Added.

(WebCore::ScrollingCoordinator::create):
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
(WebCore::ScrollingCoordinator::~ScrollingCoordinator):
(WebCore::ScrollingCoordinator::pageDestroyed):

  • page/ScrollingCoordinator.h: Added.
12:32 Changeset [102974] by tommyw@google.com
  • 3 edits
    1 delete in trunk/Source/WebKit/chromium

[chromium] MediaStream API: Fixing #include statements and removing forwarding header file
https://bugs.webkit.org/show_bug.cgi?id=74598

Reviewed by Darin Fisher.

WebMediaStreamSource.h had some issues when accessed from chromium. Also cleaned up the forwarding header.

  • WebKit.gyp:
  • public/WebMediaStreamSource.h: Removed.
  • public/platform/WebMediaStreamSource.h:
12:06 BuildingGtk edited by mrobinson@webkit.org
(diff)
11:54 Changeset [102973] by kbr@google.com
  • 19 edits
    3 moves in trunk

Rename WEBKIT_lose_context to WEBKIT_WEBGL_lose_context
https://bugs.webkit.org/show_bug.cgi?id=71870

Reviewed by James Robinson.

Re-landing after original commit was rolled out.

Source/WebCore:

Rename largely done with do-webcore-rename with a couple of
necessary manual fixups. Ran WebGL layout tests.

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::toJS):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::toV8Object):

  • html/canvas/WebGLExtension.h:
  • html/canvas/WebGLLoseContext.cpp: Copied from Source/WebCore/html/canvas/WebKitLoseContext.cpp.

(WebCore::WebGLLoseContext::WebGLLoseContext):
(WebCore::WebGLLoseContext::~WebGLLoseContext):
(WebCore::WebGLLoseContext::getName):
(WebCore::WebGLLoseContext::create):
(WebCore::WebGLLoseContext::loseContext):
(WebCore::WebGLLoseContext::restoreContext):

  • html/canvas/WebGLLoseContext.h: Copied from Source/WebCore/html/canvas/WebKitLoseContext.h.
  • html/canvas/WebGLLoseContext.idl: Copied from Source/WebCore/html/canvas/WebKitLoseContext.idl.
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::maybeRestoreContext):

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebKitLoseContext.cpp: Removed.
  • html/canvas/WebKitLoseContext.h: Removed.
  • html/canvas/WebKitLoseContext.idl: Removed.

LayoutTests:

Synchronized context-lost-restored.html and context-lost.html with
Khronos repository; upstream tests must check for multiple vendor
prefixes.

  • fast/canvas/webgl/WebGLContextEvent.html:
  • fast/canvas/webgl/context-destroyed-crash.html:
  • fast/canvas/webgl/context-lost-expected.txt:
  • fast/canvas/webgl/context-lost-restored.html:
  • fast/canvas/webgl/context-lost.html:
11:47 Changeset [102972] by senorblanco@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r102956.
http://trac.webkit.org/changeset/102956
https://bugs.webkit.org/show_bug.cgi?id=74334

Broke Chromium/Win build.

  • features.gypi:
11:45 Changeset [102971] by kubo@profusion.mobi
  • 3 edits in trunk/Source/WebKit/efl

[EFL] Clean up and refactor the memory cache functions in ewk_settings.
https://bugs.webkit.org/show_bug.cgi?id=72140

Reviewed by Antonio Gomes.

Use a better naming prefix, as "ewk_settings_cache" was too general,
and make it possible to pass all parameters to
MemoryCache::setCapacities().

  • ewk/ewk_settings.cpp:

(ewk_settings_object_cache_capacity_set):
(ewk_settings_object_cache_enable_get):
(ewk_settings_object_cache_enable_set):

  • ewk/ewk_settings.h:
11:34 Changeset [102970] by kbr@google.com
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Disable flaky tests. Built and tested on Linux.
https://bugs.webkit.org/show_bug.cgi?id=74623

  • tests/CCLayerTreeHostTest.cpp:

(WTF::TEST_F):

11:28 Changeset [102969] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=74631
HTMLMediaElement should not register for document activation callbacks as it doesn't use them

Reviewed by Eric Carlson.

No new tests. (No behavior change, pruning useless code)

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::willMoveToNewOwnerDocument):
(WebCore::HTMLMediaElement::didMoveToNewOwnerDocument):

11:18 Changeset [102968] by eric.carlson@apple.com
  • 14 edits
    7 adds in trunk

Text tracks should be treated differently according to their kind
https://bugs.webkit.org/show_bug.cgi?id=72547

Reviewed by Sam Weinig.

Source/WebCore:

Tests: media/track/track-default-attribute.html

media/track/track-mode-not-changed-by-new-track.html
media/track/track-mode-triggers-loading.html

  • html/HTMLAudioElement.cpp:

(WebCore::HTMLAudioElement::HTMLAudioElement): Add "createdByParser" parameter.
(WebCore::HTMLAudioElement::create): Ditto.
(WebCore::HTMLAudioElement::createForJSConstructor): Deal with constructor change.

  • html/HTMLAudioElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Add "createdByParser" parameter. Initialize m_parsingInProgress.
(WebCore::HTMLMediaElement::finishParsingChildren): Clear m_parsingInProgress. Schedule track

loading if necessary.

(WebCore::HTMLMediaElement::loadTimerFired): Call configureTextTracks not call scheduleLoad,

it just schedules the load timer again.

(WebCore::HTMLMediaElement::prepareForLoad): Add all non-disabled track elements to a vector

so we can prevent the media element's readyState from reaching HAVE_METADATA until the
tracks are ready.

(WebCore::HTMLMediaElement::textTracksAreReady): New. Return false unless all tracks that were

not disabled when loading started have loaded or failed.

(WebCore::HTMLMediaElement::textTrackReadyStateChanged): Call setReadyState when a track is

stops loading.

(WebCore::HTMLMediaElement::textTrackModeChanged): Trigger <track> loading when the mode

changes to hidden or showing for the first time.

(WebCore::HTMLMediaElement::setReadyState): Do not advance to HAVE_METADATA or higher while

track elements are loading.

(WebCore::HTMLMediaElement::addTrack): Removed.
(WebCore::HTMLMediaElement::showingTrackWithSameKind): New.
(WebCore::HTMLMediaElement::trackWasAdded):
(WebCore::HTMLMediaElement::trackWillBeRemoved): Flag a track as unconfigured so it will be

reconfigured if it is added to another element.

(WebCore::HTMLMediaElement::userIsInterestedInThisLanguage): New.
(WebCore::HTMLMediaElement::userIsInterestedInThisTrack): New. Consider user preferences.
(WebCore::HTMLMediaElement::configureTextTrack): New. Configure a track as per the user's preferences.
(WebCore::HTMLMediaElement::configureTextTracks): New. Configure all track elements.

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.h:
  • html/HTMLTagNames.in: Add constructorNeedsCreatedByParser to audio and video.
  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::HTMLTrackElement): Initialize m_hasBeenConfigured.

  • html/HTMLTrackElement.h:

(WebCore::HTMLTrackElement::hasBeenConfigured):
(WebCore::HTMLTrackElement::setHasBeenConfigured):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::HTMLVideoElement): Add "createdByParser" parameter.
(WebCore::HTMLVideoElement::create): Ditto.

  • html/HTMLVideoElement.h:
  • html/TextTrack.cpp:

(WebCore::TextTrack::TextTrack): Initialize m_mode to DISABLED, not HIDDEN. Initialize m_showingByDefault.
(WebCore::TextTrack::setMode): Clear the "showing by default" flag when a track's mode is

explicitly set to SHOWING.

(WebCore::TextTrack::mode): Return SHOWING whenever the "showing by default" flag is set.

  • html/TextTrack.h:

(WebCore::TextTrack::showingByDefault):
(WebCore::TextTrack::setShowingByDefault):

  • html/TextTrackCue.cpp:

(WebCore::TextTrackCue::isActive): Return false if a cue has no track, or if its track is disabled.
(WebCore::TextTrackCue::setIsActive): Don't enable a cue if it has no track, or if its track

is disabled.

LayoutTests:

  • media/track/captions-webvtt/metadata.vtt: Added.
  • media/track/track-default-attribute-expected.txt: Added.
  • media/track/track-default-attribute.html: Added.
  • media/track/track-mode-not-changed-by-new-track-expected.txt: Added.
  • media/track/track-mode-not-changed-by-new-track.html: Added.
  • media/track/track-mode-triggers-loading-expected.txt: Added.
  • media/track/track-mode-triggers-loading.html: Added.
11:13 Changeset [102967] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium test expectations update; add suppression.
https://bugs.webkit.org/show_bug.cgi?id=74634

  • platform/chromium/test_expectations.txt:
11:11 Changeset [102966] by kubo@profusion.mobi
  • 7 edits in trunk

[EFL] Add a few more web database functions to ewk_settings.
https://bugs.webkit.org/show_bug.cgi?id=72148

Reviewed by Antonio Gomes.

Source/WebKit/efl:

Add code to change the default quota (there as only a getter so far)
and one to clear the databases.

  • ewk/ewk_settings.cpp:

(ewk_settings_web_database_default_quota_set):
(ewk_settings_web_database_clear):

  • ewk/ewk_settings.h:

Tools:

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::clearAllDatabases):
(LayoutTestController::setDatabaseQuota):

LayoutTests:

LayoutTestController::setDatabaseQuota is implemented now.

  • platform/efl/Skipped:
11:07 Changeset [102965] by kov@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] New API test for WindowProperties fails
https://bugs.webkit.org/show_bug.cgi?id=74630

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2011-12-15
Reviewed by Martin Robinson.

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

(WindowProperties::viewReadyToShow): assert each member to make
assertion error messages more useful, and avoid asserting x and y,
since we are getting bad values from WebCore, for some reason.
(testWebViewWindowProperties): use smaller values that fit inside the
800x600 screen used by the bots.

11:04 Changeset [102964] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=74607
Removed a skipped test after rolling out r102829

Unreviewed.

  • platform/qt/Skipped:
10:56 Changeset [102963] by andersca@apple.com
  • 9 edits in trunk/Source

EventDispatcher should handle wheel events on the connection queue
https://bugs.webkit.org/show_bug.cgi?id=74627

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Add a BoundFunctionImpl specialization that takes three parameters.

  • wtf/Functional.h:

(WTF::C::):
(WTF::R):
(WTF::bind):

Source/WebKit2:

Send wheel events to the EventDispatcher, which handles them on the connection work queue, and
immediately bounces them to the main thread (for now).

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleWheelEvent):
(WebKit::WebPageProxy::didReceiveEvent):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::dispatchWheelEvent):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/EventDispatcher.messages.in:
  • WebProcess/WebPage/WebPage.h:
10:50 Changeset [102962] by beidson@apple.com
  • 4 edits
    3 deletes in trunk

Unreviewed, rolling out r102829.
http://trac.webkit.org/changeset/102829
https://bugs.webkit.org/show_bug.cgi?id=74533

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

Source/WebCore:

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument):
(WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument):
(WebCore::HTMLPlugInImageElement::documentWillBecomeInactive):
(WebCore::HTMLPlugInImageElement::documentDidBecomeActive):

  • html/HTMLPlugInImageElement.h:

LayoutTests:

  • media/crash-closing-page-with-media-as-plugin-fallback-expected.txt: Removed.
  • media/crash-closing-page-with-media-as-plugin-fallback.html: Removed.
  • media/resources/video-with-poster-as-object-fallback.html: Removed.
10:45 Changeset [102961] by simonjam@chromium.org
  • 21 edits
    1 copy
    1 add in trunk

[Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
https://bugs.webkit.org/show_bug.cgi?id=58354

Reviewed by Pavel Feldman.

Source/WebCore:

No new tests. Relies on existing webtiming-* tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp: Use monotonic times.

(WebCore::Document::setReadyState):
(WebCore::Document::finishedParsing):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didFinishLoadingImpl): Convert monotonicFinishTime to wall time if needed.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForTiming): Convert monotonic requestTime to wall time.
(WebCore::buildObjectForResourceResponse): Plumbing for above.
(WebCore::buildObjectForCachedResource): Ditto.
(WebCore::InspectorResourceAgent::willSendRequest): Ditto.
(WebCore::InspectorResourceAgent::didReceiveResponse): Ditto.
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): Ditto.

  • loader/DocumentLoadTiming.cpp: Added.

(WebCore::DocumentLoadTiming::DocumentLoadTiming):
(WebCore::DocumentLoadTiming::setNavigationStart): Determine reference time and root reference time.
(WebCore::DocumentLoadTiming::addRedirect): Moved logic from MainResourceLoader.
(WebCore::DocumentLoadTiming::convertMonotonicTimeToDocumentTime): Helper to compute wall time from monotonic time.

  • loader/DocumentLoadTiming.h: Turned into class. Made times monotonic.

(WebCore::DocumentLoadTiming::setUnloadEventStart):
(WebCore::DocumentLoadTiming::setUnloadEventEnd):
(WebCore::DocumentLoadTiming::setRedirectStart):
(WebCore::DocumentLoadTiming::setRedirectEnd):
(WebCore::DocumentLoadTiming::setFetchStart):
(WebCore::DocumentLoadTiming::setResponseEnd):
(WebCore::DocumentLoadTiming::setLoadEventStart):
(WebCore::DocumentLoadTiming::setLoadEventEnd):
(WebCore::DocumentLoadTiming::setHasSameOriginAsPreviousDocument):
(WebCore::DocumentLoadTiming::navigationStart):
(WebCore::DocumentLoadTiming::unloadEventStart):
(WebCore::DocumentLoadTiming::unloadEventEnd):
(WebCore::DocumentLoadTiming::redirectStart):
(WebCore::DocumentLoadTiming::redirectEnd):
(WebCore::DocumentLoadTiming::redirectCount):
(WebCore::DocumentLoadTiming::fetchStart):
(WebCore::DocumentLoadTiming::responseEnd):
(WebCore::DocumentLoadTiming::loadEventStart):
(WebCore::DocumentLoadTiming::loadEventEnd):
(WebCore::DocumentLoadTiming::hasCrossOriginRedirect):
(WebCore::DocumentLoadTiming::hasSameOriginAsPreviousDocument):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::continueAfterNavigationPolicy):
(WebCore::MainResourceLoader::willSendRequest): Moved logic to DocumentLoadTiming.
(WebCore::MainResourceLoader::didReceiveData): Use monotonic time.
(WebCore::MainResourceLoader::didFinishLoading): Ditto.
(WebCore::MainResourceLoader::load):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchLoadEvent):

  • page/DOMWindow.h: Removed dispatchTimedEvent. It doesn't really help in the new model.
  • page/PerformanceNavigation.cpp:

(WebCore::PerformanceNavigation::redirectCount):

  • page/PerformanceTiming.cpp: Removed skew correction code. This should never happen now.

(WebCore::PerformanceTiming::navigationStart):
(WebCore::PerformanceTiming::unloadEventStart):
(WebCore::PerformanceTiming::unloadEventEnd):
(WebCore::PerformanceTiming::redirectStart):
(WebCore::PerformanceTiming::redirectEnd):
(WebCore::PerformanceTiming::fetchStart):
(WebCore::PerformanceTiming::responseEnd):
(WebCore::PerformanceTiming::domLoading):
(WebCore::PerformanceTiming::domInteractive):
(WebCore::PerformanceTiming::domContentLoadedEventStart):
(WebCore::PerformanceTiming::domContentLoadedEventEnd):
(WebCore::PerformanceTiming::domComplete):
(WebCore::PerformanceTiming::loadEventStart):
(WebCore::PerformanceTiming::loadEventEnd):
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Used for ResourceLoadTiming.
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds): Used for DocumentTiming and DocumentLoadTiming.

  • page/PerformanceTiming.h:
  • platform/network/ResourceLoadTiming.cpp:

(WebCore::ResourceLoadTiming::convertResourceLoadTimeToDocumentTime):

  • platform/network/ResourceLoadTiming.h: Added helper function to convert to wall times. Added instructions for use.

LayoutTests:

  • fast/dom/script-tests/webtiming.js: Current monotonic time is unknown until performance.now() is available. Use 0 until then.
10:44 Changeset [102960] by jonlee@apple.com
  • 11 edits in trunk/Source/WebKit2

[WK2] Extend WebNotification to include its origin https://bugs.webkit.org/show_bug.cgi?id=74615 <rdar://problem/10587164>

Reviewed by Sam Weinig.

  • Shared/API/c/WKSecurityOrigin.h: Expose API that converts the security origin to database

identifier.

  • Shared/API/c/WKSecurityOrigin.cpp:

(WKSecurityOriginCopyDatabaseIdentifier):

  • UIProcess/Notifications/WebNotification.h: Extend WebNotification to include the origin.

(WebKit::WebNotification::create):
(WebKit::WebNotification::origin):

  • UIProcess/Notifications/WebNotification.cpp: Remove unneeded encode() and decode() functions.

(WebKit::WebNotification::WebNotification):

  • UIProcess/API/C/WKNotification.h: Expose WebNotification's origin().
  • UIProcess/API/C/WKNotification.cpp:

(WKNotificationGetSecurityOrigin):

  • UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Update show() to include the

origin of the notification.

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::show):

  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::show): Pass the notification's exec context's origin as
identifier.

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

[Qt][WK2] Add test for download policy on navigation request
https://bugs.webkit.org/show_bug.cgi?id=74541

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-15
Reviewed by Tor Arne Vestbø.

  • UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
  • UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Make it wait for a

downloadFinished signal to finish the test.

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

plugin crash

[GTK] Plugins sometimes crash WebKitGTK+ with Gdk-CRITICAL : gdk_window_get_toplevel: assertion `GDK_IS_WINDOW (window)' failed
https://bugs.webkit.org/show_bug.cgi?id=73719

Patch by Martin Robinson <mrobinson@igalia.com> on 2011-12-15
Reviewed by Philippe Normand.

No new tests. It's difficult to test or reproduce this exact situation
as it only occurs when running plugins under nspluginwrapper.

  • plugins/gtk/PluginViewGtk.cpp:

(WebCore::PluginView::platformGetValue): Properly handle when the plugin tries to
get the window value when the GtkSocket is no longer realized.

10:21 Changeset [102957] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium expectations update. Mark another flaky compositing test.

  • platform/chromium/test_expectations.txt:
10:20 Changeset [102956] by senorblanco@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Enable CSS_FILTERS in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=74334

Reviewed by Kenneth Russell.

  • features.gypi:
10:17 Changeset [102955] by commit-queue@webkit.org
  • 19 edits
    2 adds in trunk

Fix find on web pages with -webkit-user-select: none for Chromium
https://bugs.webkit.org/show_bug.cgi?id=72281

Patch by Martin Kosiba <mkosiba@google.com> on 2011-12-15
Reviewed by Ryosuke Niwa.

Source/WebCore:

Adding findStringAndScrollToVisible to Editor. This new method returns
the new match as a range rather than modify the active selection.

Test: editing/text-iterator/findString-selection-disabled.html

  • editing/Editor.cpp:

(WebCore::Editor::findStringAndScrollToVisible):

  • editing/Editor.h:

Source/WebKit/chromium:

This will make it possible to search for text that has
selection disabled (via the webkit-user-select attribute).

WebFrameImpl::find will use findStringAndScrollToVisible, which is
similar to findString except that it uses Range directly rather
than passing the find result in the active selection.

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::find):

Tools:

Provided a partial findString implementation. This doesn't support
all of the FindOptions since they're not exposed via WebFindOptions.

  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):
(LayoutTestController::findString):

  • DumpRenderTree/chromium/LayoutTestController.h:

LayoutTests:

Adding a layout test to verify that find works correctly on pages
that prevent text selection.

  • editing/text-iterator/findString-selection-disabled-expected.txt: Added.
  • editing/text-iterator/findString-selection-disabled.html: Added.
  • platform/efl/Skipped:
  • platform/gtk-wk2/Skipped:
  • platform/mac-lion/Skipped:
  • platform/mac-snowleopard/Skipped:
  • platform/mac/Skipped:
  • platform/qt-5.0/Skipped:
  • platform/qt-mac/Skipped:
  • platform/qt-wk2/Skipped:
  • platform/wk2/Skipped:
10:15 Changeset [102954] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Move WorkQueue Mach handlers over to WTF::Function
https://bugs.webkit.org/show_bug.cgi?id=74620

Reviewed by Sam Weinig.

  • Platform/CoreIPC/mac/ConnectionMac.cpp:

(CoreIPC::Connection::open):
(CoreIPC::Connection::initializeDeadNameSource):

  • Platform/WorkQueue.h:
  • Platform/mac/WorkQueueMac.cpp:

(WorkQueue::EventSource::EventSource):
(WorkQueue::EventSource::eventHandler):
(WorkQueue::registerMachPortEventHandler):

10:05 Changeset [102953] by andersca@apple.com
  • 8 edits in trunk/Source

Add WTF::Function to wtf/Forward.h
https://bugs.webkit.org/show_bug.cgi?id=74576

Reviewed by Adam Roben.

Source/JavaScriptCore:

  • jsc.cpp:

Work around a name conflict in the readline library.

  • wtf/Forward.h:

Add Function.

Source/WebCore:

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
Add a JSC:: qualifier to the Function flags to avoid ambiguities.

Source/WebKit2:

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

Remove forward declarations and just include wtf/Forward.h.

09:55 Changeset [102952] by jchaffraix@webkit.org
  • 7 edits
    12 adds in trunk

Hardware-backed renderLayer could avoid repainting during a positioned movement layout
https://bugs.webkit.org/show_bug.cgi?id=74370

Reviewed by Simon Fraser.

Source/WebCore:

Tests: compositing/absolute-position-changed-in-composited-layer.html

compositing/absolute-position-changed-with-composited-parent-layer.html
compositing/fixed-position-changed-in-composited-layer.html
compositing/fixed-position-changed-within-composited-parent-layer.html

To be able to properly skip repainting after a positioned movement layout only, we
needed to add more state to the current |setNeedsFullRepaint| method. As part of that
we refactored the callers and internal fields to better match the new meaning.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::styleDidChange):
Explicitely gave the RepaintStatus to setRepaintStatus.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::removeOnlyThisLayer):
Updated those function after the renamings.

(WebCore::RenderLayer::updateLayerPositions):
Ditto. Also added a sholdRepaintAfterLayout check.

(WebCore::RenderLayer::shouldRepaintAfterLayout):
Heart of the optimization, if we just did a positioned movement layout of composited RenderLayer,
then don't repaint. All the other cases should still trigger a repaint.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::setRepaintStatus):
Renamed setNeedsFullRepaint to setRepaintStatus. Also added a new enum RepaintStatus.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::setLayerNeedsFullRepaint):
Updated after the renamings.

(WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout):
New method that pass a new value to the RenderLayer.

  • rendering/RenderObject.h:

(WebCore::RenderObject::setNeedsPositionedMovementLayout):
Switched the call to the dedicated method.

LayoutTests:

I did not find any test covering positioned movement layout with composited layers
so I added some testing.

  • compositing/absolute-position-changed-in-composited-layer-expected.png: Added.
  • compositing/absolute-position-changed-in-composited-layer-expected.txt: Added.
  • compositing/absolute-position-changed-in-composited-layer.html: Added.
  • compositing/absolute-position-changed-with-composited-parent-layer-expected.png: Added.
  • compositing/absolute-position-changed-with-composited-parent-layer-expected.txt: Added.
  • compositing/absolute-position-changed-with-composited-parent-layer.html: Added.
  • compositing/fixed-position-changed-in-composited-layer-expected.png: Added.
  • compositing/fixed-position-changed-in-composited-layer-expected.txt: Added.
  • compositing/fixed-position-changed-in-composited-layer.html: Added.
  • compositing/fixed-position-changed-within-composited-parent-layer-expected.png: Added.
  • compositing/fixed-position-changed-within-composited-parent-layer-expected.txt: Added.
  • compositing/fixed-position-changed-within-composited-parent-layer.html: Added.
09:53 Changeset [102951] by antti@apple.com
  • 2 edits in trunk/Source/WebCore

Don't invoke CSSStyleSelector::pushParent before Text::recalcTextStyle
https://bugs.webkit.org/show_bug.cgi?id=74575

Reviewed by Darin Adler.

Text::recalcTextStyle never enters the style selector so pushing the state is not necessary

  • dom/Element.cpp:

(WebCore::Element::recalcStyle):

09:50 Changeset [102950] by kbr@google.com
  • 10 edits in trunk

[chromium] Add DRT support for WebKitPageCacheSupportsPluginsPreferenceKey
https://bugs.webkit.org/show_bug.cgi?id=74581

Reviewed by Darin Fisher.

Source/WebKit/chromium:

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

(WebKit::WebSettingsImpl::setPageCacheSupportsPlugins):

  • src/WebSettingsImpl.h:

Tools:

  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::overridePreference):

  • DumpRenderTree/chromium/WebPreferences.cpp:

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

  • DumpRenderTree/chromium/WebPreferences.h:

LayoutTests:

Unskip one test which now passes. The other one will continue to
be covered under the other bug.

  • platform/chromium/test_expectations.txt:
09:49 WebKitGTK/1.6.x edited by mrobinson@webkit.org
(diff)
09:33 Changeset [102949] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Patch by Adam Treat <atreat@rim.com> on 2011-12-15
Reviewed by Rob Buis.

https://bugs.webkit.org/show_bug.cgi?id=74609
PR 122703

For certain configurations of webpage content and zoom level we were
failing to produce a valid backingstore matrix by being to strict on
whether a given matrix fits the preferred matrix orientation.
This patch fixes this by insisting on storing a candidate divisor
whether or not it agrees with the preferred matrix orientation and then
comparing all subsequent divisors.

  • blackberry/Api/BackingStore.cpp:

(BlackBerry::WebKit::divisorIsPerfectWidth):
(BlackBerry::WebKit::divisorIsPerfectHeight):
(BlackBerry::WebKit::divisorIsPreferredDirection):
(BlackBerry::WebKit::bestDivisor):

09:21 Changeset [102948] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[Qt][WK2] Move WebPreferences into experimental
https://bugs.webkit.org/show_bug.cgi?id=74404

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-15
Reviewed by Tor Arne Vestbø.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewExperimental::preferences):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
  • UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
09:09 Changeset [102947] by cmarrin@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Fixed error in Target.pri.

Unreviewed.

  • Target.pri:
09:09 Changeset [102946] by cmarrin@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed error in Target.pri.

Unreviewed.

  • Target.pri:
08:58 Changeset [102945] by leviw@chromium.org
  • 1 edit in branches/subpixellayout/Source/WebCore/rendering/RenderLayer.cpp

Correcting positioning of scrollbars to use pixelSnapped logic instead of enclosingIntRect

08:55 Changeset [102944] by leviw@chromium.org
  • 23 edits in branches/subpixellayout/Source/WebCore
  • Changing Renderer offsetLeft/Top/Width/Height to be LayoutUnits. Adding pixelSnapped versions as well.
  • Changing AppUnit version of adjustForAbsoluteZoom to return an int and behave like the int version. This is needed to get zoomed values to read back properly.
  • Moved snapSizeToPixel to AppUnit.h.
08:46 Changeset [102943] by apavlov@chromium.org
  • 7 edits in trunk

Web Inspector: #hex colors are not highlighted in CSS files
https://bugs.webkit.org/show_bug.cgi?id=74570

Reviewed by Pavel Feldman.

Source/WebCore:

Drive by: highlight color keywords as colors, not as keywords.

  • inspector/front-end/CSSKeywordCompletions.js:

(WebInspector.CSSKeywordCompletions.colors):

  • inspector/front-end/SourceCSSTokenizer.js:

(WebInspector.SourceCSSTokenizer):
(WebInspector.SourceCSSTokenizer.prototype.nextToken):

  • inspector/front-end/SourceCSSTokenizer.re2js:

LayoutTests:

  • inspector/syntax-highlight-css-expected.txt:
  • inspector/syntax-highlight-css.html:
08:42 Changeset [102942] by cmarrin@apple.com
  • 7 edits
    4 moves in trunk/Source/WebCore

Hardware acceleration of W3C Filter Effects
https://bugs.webkit.org/show_bug.cgi?id=68479

Reviewed by Simon Fraser.

Move FilterOperation(s) to platform/graphics/filters so it can be used to pass filter information
down to GraphicsLayer for hardware acceleration. This leaves the CustomFilterOperation subclass in
rendering/style since it has dependencies outside platform. Some part of that class will
eventually need to be down in platform.

08:40 Changeset [102941] by kenneth@webkit.org
  • 2 edits in trunk/Tools

[Qt] Improve the look of the viewport info overlay

Reviewed by Tor Arne Vestbø.

  • MiniBrowser/qt/qml/ViewportInfoItem.qml:
08:40 Changeset [102940] by vsevik@chromium.org
  • 4 edits
    1 copy in trunk/LayoutTests

Unreviewed test expectations fix.

  • http/tests/inspector/console-resource-errors-expected.txt:
  • http/tests/inspector/console-xhr-logging-expected.txt:
  • platform/chromium/http/tests/inspector/console-xhr-logging-expected.txt: Copied from LayoutTests/http/tests/inspector/console-xhr-logging-expected.txt.
  • platform/qt/Skipped:
08:27 Changeset [102939] by igor.oliveira@openbossa.org
  • 8 edits in trunk

[Qt] Support requestAnimationFrame API
https://bugs.webkit.org/show_bug.cgi?id=74528

Source/JavaScriptCore:

Let Qt port use REQUEST_ANIMATION_FRAME_TIMER.

Reviewed by Kenneth Rohde Christiansen.

  • wtf/Platform.h:

Source/WebCore:

Add necessary files to Target.pri when enabling requestAnimationFrame option.

Reviewed by Kenneth Rohde Christiansen.

  • Target.pri:

Tools:

Add build-option for requestAnimationFrame feature.

Reviewed by Kenneth Rohde Christiansen.

  • qmake/mkspecs/features/features.prf:

LayoutTests:

Enable requestAnimationFrame tests.

Reviewed by Kenneth Rohde Christiansen.

  • platform/qt/Skipped:
08:21 Changeset [102938] by ossy@webkit.org
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/Skipped: Skip new failing tests (regressions).
  • platform/qt/fast/dom/Window/window-property-descriptors-expected.txt: Updated after r102918.
07:53 Changeset [102937] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Removing BlackBerryCookieCache from the build system
https://bugs.webkit.org/show_bug.cgi?id=74318

Patch by Otto Cheung <ocheung@rim.com> on 2011-12-15
Reviewed by Rob Buis.

Removing any references to BlackBerryCookieCache in files that are upstreamed.

We are removing the BlackBerryCookieCache because the CookieManager cookie structure has been
refactored to have a similar structure to the cache. Since the read speeds in both structures
are similar, we no longer need the cache to speed up read performance.

No new tests, this patch by itself will not work. This patch is only removing
the references to BlackBerryCookieCache in files that are upstreamed.

  • PlatformBlackBerry.cmake:
  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::handleNotifyHeaderReceived):

07:36 Changeset [102936] by commit-queue@webkit.org
  • 2 edits in trunk

Web Inspector: [Chromium] Call LowMemoryNotification instead of IdleNotification
https://bugs.webkit.org/show_bug.cgi?id=71821

Patch by Ulan Degenbaev <ulan@chromium.org> on 2011-12-15
Reviewed by Yury Semikhatsky.

  • Source/WebCore/bindings/v8/ScriptProfiler.cpp:
07:11 Changeset [102935] by carlosgc@webkit.org
  • 12 edits
    1 copy
    2 adds in trunk/Source/WebKit2

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

Reviewed by Gustavo Noronha Silva.

  • GNUmakefile.am: Add new files to compilation.
  • UIProcess/API/gtk/WebKitUIClient.cpp:

(createNewPage): Pass the dictionary containing the window
features to webkitWebViewCreateNewPage().
(toolbarsAreVisible): Return
WebKitWindowProperties:toolbar-visible.
(setToolbarsAreVisible): Set
WebKitWindowProperties:toolbar-visible.
(menuBarIsVisible): Return WebKitWindowProperties:menu-visible.
(setMenuBarIsVisible): Set WebKitWindowProperties:menu-visible.
(statusBarIsVisible): Return
WebKitWindowProperties:status-visible.
(setStatusBarIsVisible): Set
WebKitWindowProperties:status-visible.
(isResizable): Return WebKitWindowProperties:resizable.
(setIsResizable): Set WebKitWindowProperties:resizable.
(getWindowFrame): Return WebKitWindowProperties:geometry.
(setWindowFrame): Set WebKitWindowProperties:geometry.
(webkitUIClientAttachUIClientToPage): Initialize the UI client for
the given page.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_init): Create a WebKitWindowProperties object for
the view.
(webkit_web_view_class_init):
(webkitWebViewCreateNewPage): Update the WebKitWindowProperties
object using the window features dictionary.
(webkit_web_view_get_window_properties): Return the
WebKitWindowProperties object of the view.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/WebKitWindowProperties.cpp: Added.

(webkitWindowPropertiesFinalize):
(webkitWindowPropertiesGetProperty):
(webkitWindowPropertiesSetProperty):
(webkit_window_properties_class_init):
(webkit_window_properties_init):
(webkitWindowPropertiesCreate): Create a new
WebKitWindowProperties object.
(webkitWindowPropertiesSetGeometry):
(webkitWindowPropertiesSetToolbarVisible):
(webkitWindowPropertiesSetMenubarVisible):
(webkitWindowPropertiesSetStatusbarVisible):
(webkitWindowPropertiesSetLocationbarVisible):
(webkitWindowPropertiesSetScrollbarsVisible):
(webkitWindowPropertiesSetResizable):
(webkitWindowPropertiesSetFullscreen):
(webkitWindowPropertiesUpdateFromWKWindowFeatures): Parse the
window features dictionary and update the WebKitWindowProperties
object accordingly.
(webkit_window_properties_get_geometry):
(webkit_window_properties_get_toolbar_visible):
(webkit_window_properties_get_statusbar_visible):
(webkit_window_properties_get_scrollbars_visible):
(webkit_window_properties_get_menubar_visible):
(webkit_window_properties_get_locationbar_visible):
(webkit_window_properties_get_resizable):
(webkit_window_properties_get_fullscreen):

  • UIProcess/API/gtk/WebKitWindowProperties.h: Added.
  • UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h.
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for

WebKitWindowProperties.

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

webkit_window_properties_get_type.

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

(WindowProperties::windowPropertiesNotifyCallback):
(WindowProperties::viewReadyToShow):
(WindowProperties::viewCreate):
(WindowProperties::setExpectedWindowProperties):
(testWebViewWindowProperties):
(beforeAll):

  • UIProcess/API/gtk/webkit2.h: Include WebKitWindowProperties.h.
  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::createNewPage): Add also "locationBarVisible"
to the window features dictionary.

06:59 Changeset [102934] by kenneth@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Mobile theme improvements

Rubberstamped by Simon Hausmann.

  • Invert the gradient on the checkboxes
  • Make the buttons on the multi select combobox work on floats
  • Mini cleanups
  • platform/qt/RenderThemeQtMobile.cpp:

(WebCore::StylePainterMobile::drawCheckableBackground):
(WebCore::StylePainterMobile::drawMultipleComboButton):
(WebCore::StylePainterMobile::getButtonImageSize):
(WebCore::StylePainterMobile::drawComboBox):

06:19 Changeset [102933] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: CodeGeneratorInspector.py convert script conditions to precompiler #ifs
https://bugs.webkit.org/show_bug.cgi?id=74534

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

Generator is rewritten to add #if's to output.

  • inspector/CodeGeneratorInspector.py:

(DomainNameFixes.get_fixed_data.Res.get_guard.Guard.generate_open):
(DomainNameFixes.get_fixed_data.Res.get_guard.Guard):
(DomainNameFixes.get_fixed_data.Res.get_guard.Guard.generate_close):
(DomainNameFixes.get_fixed_data.Res):
(DomainNameFixes.get_fixed_data.Res.get_guard):
(Generator.go):
(Generator.process_event):
(Generator.process_command):
(Generator.process_types):

06:09 Changeset [102932] by caio.oliveira@openbossa.org
  • 14 edits
    2 deletes in trunk/Source/WebKit2

[Qt] [WK2] Remove QtWebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=74540

Reviewed by Kenneth Rohde Christiansen.

Move WebPageProxy* to QQuickWebViewPrivate. The remaining functions in
QtWebPageProxy were simple wrappers to WebKit functionality (text zoom, page zoom
and user agent setting). Since those wrappers are unused, they were removed. The
signal in the class was also unused.

This patch also remove the code from WebContextMenuProxyQt, it was remains of a
previous QMenu-based implementation. We want to rewrite this code for QML anyway,
so I reverted to an empty state.

Farewell, QtWebPageProxy!

  • Target.pri:
  • UIProcess/API/qt/qquickwebpage.cpp:
  • UIProcess/API/qt/qquickwebpage_p.h:
  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::~QQuickWebViewPrivate):
(QQuickWebViewPrivate::initialize):
(QQuickWebViewPrivate::processDidCrash):
(QQuickWebViewPrivate::createDrawingAreaProxy):
(QQuickWebViewPrivate::updateVisibleContentRectAndScale):
(QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
(QQuickWebViewPrivate::_q_onVisibleChanged):
(QQuickWebViewPrivate::updateViewportSize):
(QQuickWebViewPrivate::computeViewportConstraints):
(QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
(QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
(QQuickWebViewExperimental::postMessage):
(QQuickWebView::load):
(QQuickWebView::goBack):
(QQuickWebView::goForward):
(QQuickWebView::stop):
(QQuickWebView::reload):
(QQuickWebView::url):
(QQuickWebView::canGoBack):
(QQuickWebView::canGoForward):
(QQuickWebView::loading):
(QQuickWebView::canReload):
(QQuickWebView::title):
(QQuickWebView::pageRef):
(QQuickWebView::loadHtml):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:
  • UIProcess/API/qt/qwebnavigationhistory_p_p.h:
  • UIProcess/API/qt/qwebpreferences.cpp:

(QWebPreferencesPrivate::preferencesRef):

  • UIProcess/PageClient.h:
  • UIProcess/qt/QtPageClient.cpp:

(QtPageClient::QtPageClient):
(QtPageClient::initialize):
(QtPageClient::createPopupMenuProxy):
(QtPageClient::createContextMenuProxy):

  • UIProcess/qt/QtPageClient.h:
  • UIProcess/qt/QtWebPageProxy.cpp: Removed.
  • UIProcess/qt/QtWebPageProxy.h: Removed.
  • UIProcess/qt/WebContextMenuProxyQt.cpp:

(WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
(WebKit::WebContextMenuProxyQt::create):
(WebKit::WebContextMenuProxyQt::showContextMenu):
(WebKit::WebContextMenuProxyQt::hideContextMenu):

  • UIProcess/qt/WebContextMenuProxyQt.h:
05:45 Changeset [102931] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Minor refactor to Parser::parseTryStatement
https://bugs.webkit.org/show_bug.cgi?id=74507

Patch by Andy Wingo <wingo@igalia.com> on 2011-12-15
Reviewed by Geoffrey Garen.

  • parser/Parser.cpp (JSC::Parser::parseTryStatement): Use the

Parser's declareVariable instead of going directly to the scope.
This will facilitate future checks related to harmony block
scoping.

05:36 Changeset [102930] by vsevik@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed chromium test rebaseline.

  • platform/chromium/http/tests/inspector/network/script-as-text-loading-expected.txt: Added.
05:32 Changeset [102929] by philn@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK rebaseline.

  • platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
05:26 Changeset [102928] by caseq@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Web Inspector: [Chromium] add support to inspector test suite to fetch test execution results from console
https://bugs.webkit.org/show_bug.cgi?id=74208

Reviewed by Yury Semikhatsky.

This adds waitForTestResultsInConsole, a test suite method that monitors console for a message containing
either PASS or FAIL and sets result accordingly. This is used by tests running in the extension context to
communicate test results to the test driver (see devtools_sanity_unittest.cc for an example).

  • src/js/Tests.js:

(.TestSuite.prototype.testWaitForResultsInConsole.onConsoleMessage):
(.TestSuite.prototype.testWaitForResultsInConsole):

05:19 Changeset [102927] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Eliminate unnecessary GTK/QT ifdefs for shared memory implementation
https://bugs.webkit.org/show_bug.cgi?id=74602

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2011-12-15
Reviewed by Kenneth Rohde Christiansen.

For shared memory Qt was using shm_open, Gtk was using files in /tmp. There
is no reason to obfuscate the code with #ifdefs or let Gtk use an inferior
method of opening shared memory. So this patch makes SharedMemoryUnix.cpp
truly Qt and Gtk independent.

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::create):

05:18 Changeset [102926] by jesus@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt][WK2] Setting Download as action for navigation request crashes WebProcess
https://bugs.webkit.org/show_bug.cgi?id=74526

Reviewed by Simon Hausmann.

Adding checks for networkcontext and networkAccessManager
and return true in case they don't exist, following the same
logic as if the CookieJar doesn't exist.

  • platform/qt/ThirdPartyCookiesQt.cpp:

(WebCore::thirdPartyCookiePolicyPermits):

05:16 Changeset [102925] by vestbo@webkit.org
  • 4 edits in trunk

[Qt] Don't add WebCoreSupport and WebKit APIs to include WebCore's include path

Reviewed Simon Hausmann.

05:04 Changeset [102924] by hausmann@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt] Cleanup: Remove unnecessary const_cast

Reviewed by Kenneth Christiansen.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebView::preferences):

04:40 Changeset [102923] by vestbo@webkit.org
  • 5 edits in trunk/Source

[Qt] Get rid of layering violation in PluginViewQt

PluginViewQt has a layering violation in relying on QWebPagePrivate for
the check if running under DRT. We remove this and add a specific flag
in the PluginView for this check, enabled from DRTSupport. This isn't
pretty, but an improvement over what's currently there.

Reviewed by Simon Hausmann.

04:38 Changeset [102922] by commit-queue@webkit.org
  • 14 edits
    4 adds in trunk

[QT][WK2]Add (experimental) viewport info view to Minibrowser/qt.
https://bugs.webkit.org/show_bug.cgi?id=72893

Patch by Michael Brüning <michael.bruning@nokia.com> on 2011-12-15
Reviewed by Kenneth Rohde Christiansen.

This patch extends QQuickWebViewExperimental by a property named
viewportInfo, which contains the viewport scalability and
layout and contents size information. This property is exposed to
QML through the experimental extension for QQuickWebView.

.:

  • Source/qtwebkit-export.map:

Source/WebKit/qt:

  • declarative/experimental/plugin.cpp:

Source/WebKit2:

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

(QQuickWebViewPrivate::didChangeContentsSize):
(QQuickWebViewPrivate::computeViewportConstraints):
(QQuickWebViewPrivate::PostTransitionState::apply): Added applying
contentsSize to viewportInfo.
(QQuickWebViewExperimental::QQuickWebViewExperimental):
(QQuickWebViewExperimental::viewportInfo):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h: Moved PostTransitionState::apply

to qquickwebview.cpp. Added friend QWebViewportInfo.

  • UIProcess/API/qt/qwebviewportinfo.cpp: Added.

(QWebViewportInfo::QWebViewportInfo):
(QWebViewportInfo::~QWebViewportInfo):
(QWebViewportInfo::contentsSize):
(QWebViewportInfo::currentScale):
(QWebViewportInfo::devicePixelRatio):
(QWebViewportInfo::initialScale):
(QWebViewportInfo::minimumScale):
(QWebViewportInfo::maximumScale):
(QWebViewportInfo::isScalable):
(QWebViewportInfo::layoutSize):
(QWebViewportInfo::didUpdateContentsSize):
(QWebViewportInfo::didUpdateCurrentScale):
(QWebViewportInfo::didUpdateViewportConstraints):

  • UIProcess/API/qt/qwebviewportinfo_p.h: Added.
  • UIProcess/qt/QtViewportInteractionEngine.h:

(WebKit::QtViewportInteractionEngine::Constraints::Constraints): Added layoutSize.
(WebKit::QtViewportInteractionEngine::constraints): Added property to access m_contraints.

Tools:

  • MiniBrowser/qt/MiniBrowser.pro:
  • MiniBrowser/qt/MiniBrowser.qrc:
  • MiniBrowser/qt/icons/info.png: Added.
  • MiniBrowser/qt/qml/BrowserWindow.qml:
  • MiniBrowser/qt/qml/ViewportInfoItem.qml: Added.
04:35 Changeset [102921] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Enable TestNetscapePlugIn to link for Android
https://bugs.webkit.org/show_bug.cgi?id=74597

Reviewed by Tony Gentilcore.

The -nostdlib linker flag is being passed to all targets being build
for Android, which conflicts with the shared library the
TestNetscapePlugIn target created. Explicitly exclude the flag.

  • WebKit.gyp:
04:31 Changeset [102920] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] WebPage::m_useFixedLayout variable unininitialized
https://bugs.webkit.org/show_bug.cgi?id=74596

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2011-12-15
Reviewed by Kenneth Rohde Christiansen.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Avoid uninitialized use through
initialization in the constructor.

04:16 Changeset [102919] by vsevik@chromium.org
  • 6 edits in trunk

Web Inspector: Console should show network messages origins.
https://bugs.webkit.org/show_bug.cgi?id=74521

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):

LayoutTests:

  • http/tests/inspector/console-resource-errors-expected.txt:
  • http/tests/inspector/console-xhr-logging-expected.txt:
  • platform/chromium/http/tests/inspector/console-resource-errors-expected.txt:
04:02 Changeset [102918] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

"user-select none" causes selection to incorrectly escape from clicked container
https://bugs.webkit.org/show_bug.cgi?id=57289

Patch by Rakesh KN <rakesh.kn@motorola.com> on 2011-12-15
Reviewed by Ryosuke Niwa.

Source/WebCore:

Not selecting the nearest word from the target node if target node has -webkit-user-select:none

Test: fast/events/mouse-double-triple-click-should-not-select-next-node-for-user-select-none.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
If target node has webkit-user-select:none style then do not update the selection.

LayoutTests:

  • fast/events/mouse-double-triple-click-should-not-select-next-node-for-user-select-none-expected.txt: Added.
  • fast/events/mouse-double-triple-click-should-not-select-next-node-for-user-select-none.html: Added.
  • fast/js/resources/js-test-pre.js:

(shouldNotBe):
Added new helper function to check for inequality.

04:01 Changeset [102917] by commit-queue@webkit.org
  • 22 edits
    2 moves in trunk/Source/JavaScriptCore

Rename JSC::Heuristics to JSC::Options
https://bugs.webkit.org/show_bug.cgi?id=72889

Patch by Andy Wingo <wingo@igalia.com> on 2011-12-15
Reviewed by Filip Pizlo.

  • runtime/Options.cpp: Renamed from Source/JavaScriptCore/runtime/Heuristics.cpp.
  • runtime/Options.h: Renamed from Source/JavaScriptCore/runtime/Heuristics.h.
  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::shouldOptimizeNow):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::likelyToTakeSlowCase):
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::likelyToTakeSpecialFastCase):
(JSC::CodeBlock::likelyToTakeDeepestSlowCase):
(JSC::CodeBlock::likelyToTakeAnySlowCase):
(JSC::CodeBlock::reoptimizationRetryCounter):
(JSC::CodeBlock::countReoptimization):
(JSC::CodeBlock::counterValueForOptimizeAfterWarmUp):
(JSC::CodeBlock::counterValueForOptimizeAfterLongWarmUp):
(JSC::CodeBlock::optimizeNextInvocation):
(JSC::CodeBlock::dontOptimizeAnytimeSoon):
(JSC::CodeBlock::optimizeSoon):
(JSC::CodeBlock::largeFailCountThreshold):
(JSC::CodeBlock::largeFailCountThresholdForLoop):
(JSC::CodeBlock::shouldReoptimizeNow):
(JSC::CodeBlock::shouldReoptimizeFromLoopNow):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleInlining):

  • dfg/DFGCapabilities.h:

(JSC::DFG::mightCompileEval):
(JSC::DFG::mightCompileProgram):
(JSC::DFG::mightCompileFunctionForCall):
(JSC::DFG::mightCompileFunctionForConstruct):
(JSC::DFG::mightInlineFunctionForCall):
(JSC::DFG::mightInlineFunctionForConstruct):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::considerAddingAsFrequentExitSiteSlow):

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::shouldUseDoubleFormatAccordingToVote):

  • heap/MarkStack.cpp:

(JSC::MarkStackSegmentAllocator::allocate):
(JSC::MarkStackSegmentAllocator::shrinkReserve):
(JSC::MarkStackArray::MarkStackArray):
(JSC::MarkStackArray::donateSomeCellsTo):
(JSC::MarkStackArray::stealSomeCellsFrom):
(JSC::MarkStackThreadSharedData::MarkStackThreadSharedData):
(JSC::SlotVisitor::donateSlow):
(JSC::SlotVisitor::drain):
(JSC::SlotVisitor::drainFromShared):

  • heap/MarkStack.h:

(JSC::MarkStack::mergeOpaqueRootsIfProfitable):
(JSC::MarkStack::addOpaqueRoot):
(JSC::MarkStackArray::canDonateSomeCells):

  • heap/SlotVisitor.h:

(JSC::SlotVisitor::donate):

  • jit/JIT.cpp:

(JSC::JIT::emitOptimizationCheck):

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreadingOnce): Adapt callers and build systems.

  • testRegExp.cpp:

(CommandLine::CommandLine):

  • jsc.cpp:

(CommandLine::CommandLine):
Rename from Options, to avoid name conflict.

03:58 Changeset [102916] by caseq@chromium.org
  • 17 edits in trunk

Web Inspector: Generated HAR is missing pages.startedDateTime
https://bugs.webkit.org/show_bug.cgi?id=74188

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/HAREntry.js:

(WebInspector.HARLog.prototype._buildPages):

  • inspector/front-end/NetworkLog.js:

(WebInspector.NetworkLog):
(WebInspector.NetworkLog.prototype.get mainResourceStartTime):
(WebInspector.NetworkLog.prototype._mainFrameNavigated):

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkLogView.prototype._updateSummaryBar):

LayoutTests:

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

(initialize_InspectorTest.InspectorTest.formatRecentTime):
(initialize_InspectorTest.InspectorTest.addObject):

  • http/tests/inspector/resource-har-conversion-expected.txt:
  • http/tests/inspector/resource-parameters-expected.txt:
  • http/tests/inspector/resources-test.js:
  • platform/chromium/http/tests/inspector/resource-har-conversion-expected.txt:
  • platform/mac-snowleopard/http/tests/inspector/resource-har-conversion-expected.txt:
03:57 Changeset [102915] by bashi@chromium.org
  • 16 edits
    3 adds in trunk

Supports Unicode variation selector
https://bugs.webkit.org/show_bug.cgi?id=50999

Reviewed by Nikolas Zimmermann.

Source/WebCore:

Adds SimpleFontData::updateGlyphWithVariationSelector() which substitutes the
glyph in question based on the selector. WidthIterator::advance() calls it
when an unicode variation selector follows the character.

Test: fast/text/unicode-variation-selector.html

  • platform/graphics/SimpleFontData.h: Added updateGlyphWithVariationSelector().
  • platform/graphics/SurrogatePairAwareTextIterator.cpp:

(WebCore::isUnicodeBMPVariationSelector): Added.
(WebCore::isUnicodeSupplementaryVariationSelector): Added.
(WebCore::SurrogatePairAwareTextIterator::hasTrailingVariationSelector): Added.

  • platform/graphics/SurrogatePairAwareTextIterator.h:
  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advance): Changed to detect variation selectors.

  • platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:

(WebCore::SimpleFontData::updateGlyphWithVariationSelector): Added.

  • platform/graphics/chromium/SimpleFontDataLinux.cpp:

(WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::decomposeToUTF16): Ditto.
(WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.

  • platform/graphics/pango/SimpleFontDataPango.cpp:

(WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.

  • platform/graphics/qt/SimpleFontDataQt.cpp:

(WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.

  • platform/graphics/wince/SimpleFontDataWinCE.cpp:

(WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.

  • platform/graphics/wx/SimpleFontDataWx.cpp:

(WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.

LayoutTests:

Add test for unicode variation selector support.
A tiny font (gw432047.ttf), which comes from glyphwiki.org and is used by Mozilla, is added for the test.

  • fast/text/resources/gw432047-license.txt: Added.
  • fast/text/resources/gw432047.ttf: Added.
  • fast/text/unicode-variation-selector.html: Added.
  • platform/chromium/test_expectations.txt: Added fast/text/unicode-variation-selector.html. This test need rebaseline.
03:44 Changeset [102914] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[chromium] WebViewHost::requestCheckingOfText should return immediately if text is empty.
https://bugs.webkit.org/show_bug.cgi?id=74586

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

No new tests. Covered by existing tests.

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::requestCheckingOfText):

Returns immediately if text is empty.

03:21 Changeset [102913] by apavlov@chromium.org
  • 3 edits
    2 adds in trunk

[v8] Expose the "filter" property in V8CSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=73426

Source/WebCore:

Reviewed by Adam Barth.

Test: fast/css/style-enumerate-properties.html

The "filter" CSS property used to be masked to be compliant with JSC, but JSC has supported
this property for quite a while.

  • bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:

(WebCore::hasCSSPropertyNamePrefix): clean up WTF prefixes
(WebCore::cssPropertyInfo): remove the "wasFilter" flag
(WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): remove the "filter" check
(WebCore::V8CSSStyleDeclaration::namedPropertyGetter): return the "filter" value as v8String

LayoutTests:

The original version of this test should have landed in r102578 but was lost
during the "revert-reland" cycle.

Reviewed by Adam Barth.

  • fast/css/style-enumerate-properties-expected.txt: Added.
  • fast/css/style-enumerate-properties.html: Added.
02:58 Changeset [102912] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/qt

[Qt] Remove unnecessary methods and members from DeviceOrientationClientQt
https://bugs.webkit.org/show_bug.cgi?id=74588

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

Remove the unused method changeDeviceOrientation() from
DeviceOrientationClientQt and remove the DeviceOrientationController
member since it is unused.

  • WebCoreSupport/DeviceOrientationClientQt.cpp:

(WebCore::DeviceOrientationClientQt::DeviceOrientationClientQt):
(WebCore::DeviceOrientationClientQt::setController):

  • WebCoreSupport/DeviceOrientationClientQt.h:
02:58 Changeset [102911] by morrita@google.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix attempt for Chromium Mac.

  • page/PerformanceTiming.h:
02:09 Changeset [102910] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, build fix after r102906 (poor merge).

  • inspector/front-end/ProfileView.js:

(WebInspector.CPUProfileType.prototype.buttonClicked):

02:06 Changeset [102909] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt] r102849 broke the Qt build on Mac OS X.
https://bugs.webkit.org/show_bug.cgi?id=74594

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

The APPLE macro is defined on all standard OS X compilers, which
leads to various CoreGraphics headers to be included in the Qt build.

  • config.h:
01:59 Changeset [102908] by vsevik@chromium.org
  • 21 edits
    2 deletes in trunk

Unreviewed revert of r102696 ([Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()).
Breaks inspector's network panel timeline on chromium.

Source/WebCore:

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

(WebCore::Document::setReadyState):
(WebCore::Document::finishedParsing):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didFinishLoadingImpl):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):

  • loader/DocumentLoadTiming.cpp: Removed.
  • loader/DocumentLoadTiming.h:

(WebCore::DocumentLoadTiming::DocumentLoadTiming):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::continueAfterNavigationPolicy):
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::didReceiveData):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::load):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchLoadEvent):
(WebCore::DOMWindow::dispatchTimedEvent):

  • page/DOMWindow.h:
  • page/PerformanceNavigation.cpp:

(WebCore::PerformanceNavigation::redirectCount):

  • page/PerformanceTiming.cpp:

(WebCore::getPossiblySkewedTimeInKnownRange):
(WebCore::PerformanceTiming::navigationStart):
(WebCore::PerformanceTiming::unloadEventStart):
(WebCore::PerformanceTiming::unloadEventEnd):
(WebCore::PerformanceTiming::redirectStart):
(WebCore::PerformanceTiming::redirectEnd):
(WebCore::PerformanceTiming::fetchStart):
(WebCore::PerformanceTiming::responseEnd):
(WebCore::PerformanceTiming::domLoading):
(WebCore::PerformanceTiming::domInteractive):
(WebCore::PerformanceTiming::domContentLoadedEventStart):
(WebCore::PerformanceTiming::domContentLoadedEventEnd):
(WebCore::PerformanceTiming::domComplete):
(WebCore::PerformanceTiming::loadEventStart):
(WebCore::PerformanceTiming::loadEventEnd):
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):

  • page/PerformanceTiming.h:
  • platform/network/ResourceLoadTiming.cpp: Removed.
  • platform/network/ResourceLoadTiming.h:

LayoutTests:

  • fast/dom/script-tests/webtiming.js:
01:45 Changeset [102907] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix Closure compiler warnings after r102905.

  • inspector/front-end/CSSStyleModel.js: Add JSDoc annotations
01:37 Changeset [102906] by apavlov@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: make ProfilesPanel scale as the number of ProfileTypes grows
https://bugs.webkit.org/show_bug.cgi?id=74391

Reviewed by Pavel Feldman.

Whenever a profile is started, this change disables all profile recording buttons, except the one
that correponds to the running profile. Once the profiling is finished, all buttons get enabled back again.

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

(WebInspector.CPUProfileView.profileCallback):
(WebInspector.CPUProfileType.prototype.get buttonTooltip):
(WebInspector.CPUProfileType.prototype.get buttonStyle):
(WebInspector.CPUProfileType.prototype.buttonClicked):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
(WebInspector.ProfilesPanel.prototype.get statusBarItems):
(WebInspector.ProfilesPanel.prototype._addProfileHeader):
(WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
(WebInspector.ProfilesPanel.prototype._updateInterface):
(WebInspector.ProfilesPanel.prototype.setRecordingProfile):
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
(WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
(WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):

  • inspector/front-end/inspector.css:

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

01:33 Changeset [102905] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Qt] QtWebKit fails to build on Mac OS X after r102776
https://bugs.webkit.org/show_bug.cgi?id=74593

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

CONFIG =+ link_pkgconfig is needed such that the correct parameters
are passed to the compiler.

  • DumpRenderTree/qt/DumpRenderTree.pro:
01:29 Changeset [102904] by zherczeg@webkit.org
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed, Qt rebaseline after r102149 and r102846.

  • platform/qt/editing/pasteboard/paste-text-013-expected.txt:
  • platform/qt/editing/pasteboard/paste-text-014-expected.txt:
  • platform/qt/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added.
01:23 Changeset [102903] by apavlov@chromium.org
  • 11 edits in trunk/Source/WebCore

Web Inspector: [Styles] Update selected DOM element styles whenever applicable media queries change
https://bugs.webkit.org/show_bug.cgi?id=74292

The change introduces and handles in the frontend a new event type for the CSS domain,
"mediaQueryResultChanged", which gets fired every time a viewport-dependent media feature
changes its value. This allows users to see live changes of the (media-dependent) matched
rules for inspected elements.

Reviewed by Pavel Feldman.

  • inspector/CodeGeneratorInspector.py:

(DomainNameFixes):

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

(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::setFrontend):
(WebCore::InspectorCSSAgent::clearFrontend):
(WebCore::InspectorCSSAgent::restore):
(WebCore::InspectorCSSAgent::enable):
(WebCore::InspectorCSSAgent::disable):
(WebCore::InspectorCSSAgent::mediaQueryResultChanged):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::mediaQueryResultChangedImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::mediaQueryResultChanged):

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSStyleModel):
(WebInspector.CSSStyleModel.prototype.mediaQueryResultChanged):
(WebInspector.CSSDispatcher):
(WebInspector.CSSDispatcher.prototype.mediaQueryResultChanged):

  • inspector/front-end/MetricsSidebarPane.js:

(WebInspector.MetricsSidebarPane):
(WebInspector.MetricsSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylesSidebarPane):
(WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

01:21 Changeset [102902] by morrita@google.com
  • 1 edit
    5 deletes in trunk/LayoutTests

Unreviewed, removing incorrect expectaions.

  • platform/chromium-cg-mac-leopard/media/video-poster-blocked-by-willsendrequest-expected.txt: Removed.
  • platform/chromium-cg-mac-snowleopard/media/video-poster-blocked-by-willsendrequest-expected.txt: Removed.
  • platform/chromium-mac-leopard/media/video-poster-blocked-by-willsendrequest-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/media/video-poster-blocked-by-willsendrequest-expected.txt: Removed.
  • platform/chromium-win-xp/media/video-poster-blocked-by-willsendrequest-expected.txt: Removed.
01:12 Changeset [102901] by vsevik@chromium.org
  • 2 edits in branches/chromium/963/Source/WebCore/inspector/front-end

Merge 102756 - Web Inspector: [Regression] Scripts panel debug sidebar toolbar should not be scrolled out of the screen.
https://bugs.webkit.org/show_bug.cgi?id=74447

Reviewed by Pavel Feldman.

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.wasShown):

  • inspector/front-end/scriptsPanel.css:

(#scripts-debug-toolbar):
(#scripts-debug-sidebar-contents):

TBR=vsevik@chromium.org
BUG=107420
Review URL: http://codereview.chromium.org/8949013

01:09 Changeset [102900] by philn@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, add fast/images/move-image-to-new-document.html in GTK
test_expectations.

  • platform/gtk/test_expectations.txt:
01:08 Changeset [102899] by vsevik@chromium.org
  • 1 edit in branches/chromium/963/Source/WebCore/inspector/front-end/treeoutline.js

Merge 102757 - Web Inspector: TreeOutline's is broken when li elements have padding-left different from 14px.
https://bugs.webkit.org/show_bug.cgi?id=74445

Reviewed by Pavel Feldman.

  • inspector/front-end/treeoutline.js:

(TreeElement.prototype.isEventWithinDisclosureTriangle):

TBR=vsevik@chromium.org
BUG=107418
Review URL: http://codereview.chromium.org/8952012

00:52 Changeset [102898] by vsevik@chromium.org
  • 4 edits
    3 adds in trunk

Web Inspector: [Regression] Network manager fails to show resource type and MIME type in incorrect MIME type console message.
https://bugs.webkit.org/show_bug.cgi?id=74516

Reviewed by Pavel Feldman.

Source/WebCore:

Test: http/tests/inspector/network/script-as-text-loading.html

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):

  • inspector/front-end/NetworkManager.js:

(WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):

LayoutTests:

  • http/tests/inspector/network/resources/script-as-text.php: Added.
  • http/tests/inspector/network/script-as-text-loading-expected.txt: Added.
  • http/tests/inspector/network/script-as-text-loading.html: Added.
00:10 Changeset [102897] by philn@webkit.org
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed, GTK rebaseline after r102149 and r102846.

  • platform/gtk/editing/pasteboard/paste-text-013-expected.txt:
  • platform/gtk/editing/pasteboard/paste-text-014-expected.txt:
  • platform/gtk/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added.
Note: See TracTimeline for information about the timeline view.