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

Timeline



Aug 11, 2012:

11:10 PM Changeset in webkit [125364] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build.

  • Platform/CoreIPC/Connection.h:

Add missing include.

11:09 PM Changeset in webkit [125363] by weinig@apple.com
  • 14 edits
    7 deletes in trunk/Source/WebKit2

[WK2] Get rid of ProcessModelSharedSecondaryThread
https://bugs.webkit.org/show_bug.cgi?id=93652

Reviewed by Dan Bernstein.

The threaded model for WebKit2 has been broken a long time and its continued existence in
the code only serves to confuse. It's time to say good bye to it.

  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/API/C/WKContextPrivate.h:

Remove WKContextGetSharedThreadContext().

  • UIProcess/ProcessModel.h:

Remove ProcessModelSharedSecondaryThread from the ProcessModel enum.

  • UIProcess/WebContext.cpp:
  • UIProcess/WebContext.h:

Remove WebContext::sharedThreadContext().

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::connect):
(WebKit::WebProcessProxy::isLaunching):

  • UIProcess/WebProcessProxy.h:

Remove the ThreadLauncher member and stop deriving from ThreadLauncher::Client.

  • UIProcess/Launcher/ThreadLauncher.cpp: Removed.
  • UIProcess/Launcher/ThreadLauncher.h: Removed.
  • UIProcess/Launcher/efl/ThreadLauncherEfl.cpp: Removed.
  • UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: Removed.
  • UIProcess/Launcher/mac/ThreadLauncherMac.mm: Removed.
  • UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Removed.
  • UIProcess/Launcher/win/ThreadLauncherWin.cpp: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
  • win/WebKit2.vcproj:
  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • PlatformEfl.cmake:
  • Target.pri:

Remove ThreadLauncher files.

10:56 PM Changeset in webkit [125362] by weinig@apple.com
  • 7 edits
    3 deletes in trunk/Tools

Remove ability to run MiniBrowser in threaded mode, it hasn't worked for a long time
https://bugs.webkit.org/show_bug.cgi?id=93774

Reviewed by Dan Bernstein.

Remove support for opening windows using the shared thread WKContextRef. WKContextGetSharedThreadContext()
is going away, due to not working for a long time, and the first step is removing all the callers.

While here, remove the BrowserStatisticsWindow, which was not providing interesting information.

  • MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
  • MiniBrowser/mac/AppDelegate.h:
  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate init]):
(-[BrowserAppDelegate newWindow:]):
(-[BrowserAppDelegate openPanelDidEnd:returnCode:contextInfo:]):

  • MiniBrowser/mac/BrowserStatisticsWindow.xib: Removed.
  • MiniBrowser/mac/BrowserStatisticsWindowController.h: Removed.
  • MiniBrowser/mac/BrowserStatisticsWindowController.m: Removed.
  • MiniBrowser/mac/MainMenu.xib:
  • MiniBrowser/win/BrowserView.cpp:

(BrowserView::create):

10:29 PM Changeset in webkit [125361] by weinig@apple.com
  • 7 edits in trunk

Enable XPC Service based WebProcess with runtime flag
https://bugs.webkit.org/show_bug.cgi?id=93773

Reviewed by Dan Bernstein.

Source/WebKit2:

Use the XPC Service for WebProcess code path if WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS
is set in the environment.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::launchXPCService):
Fix issue that was causing this code not to compile. This was not caught before since
the code was not being built.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connect):
Switch from hard coding always using the XPC Service code path if
HAVE(XPC) was true, to doing it conditionally on an environment variable.

Source/WTF:

  • wtf/Platform.h:

Define HAVE_XPC on 10.7 and later.

Tools:

Convert --use-web-process-xpc-service passed to run-safari (and similar scripts)
to setting WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS=YES in the environment and setting
up XPC_DYLD_FRAMEWORK_PATH and XPC_DYLD_INSERT_LIBRARIES variables. NOTE: using
the XPC service is not the default code path.

  • Scripts/webkitdirs.pm:

(shouldUseXPCServiceForWebProcess):
(determineShouldUseXPCServiceForWebProcess):
Add functions to extract --use-web-process-xpc-service from ARGV and set a
global variable.

(printHelpAndExitForRunAndDebugWebKitAppIfNeeded):
Add help text for --use-web-process-xpc-service.

(runMacWebKitApp):
Set the WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS environment variable and DYLD
if --use-web-process-xpc-service was passed on the command line.

(execMacWebKitAppForDebugging):
Set the WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS environment variable and DYLD
if --use-web-process-xpc-service was passed on the command line. Also, bail
if both --use-web-process-xpc-service and --target-web-process are passed on
the command line, as we don't currently support using both.

9:52 PM Changeset in webkit [125360] by Lucas Forschler
  • 1 copy in tags/Safari-536.26.5

New Tag.

9:51 PM Changeset in webkit [125359] by Lucas Forschler
  • 4 edits in branches/safari-536.26-branch/Source

Versioning.

5:00 PM Changeset in webkit [125358] by weinig@apple.com
  • 13 edits
    1 move
    4 adds in trunk/Source/WebKit2

Make it possible to run the WebProcess as an XPC service
https://bugs.webkit.org/show_bug.cgi?id=92814

Reviewed by Anders Carlsson.

In this initial implementation, we are only using the XPC service
to launch the WebProcess, and then using the xpc_connection to send
over a mach_port to the WebProcess which is then used for creating
the CoreIPC connection. In the future, we will switch to using the
xpc_connection for all messaging.

When the XPC service is enabled (it is compiled out by default for now), both
the XPC service and the old spawned process are runtime choosable. This allows
the connect to pre-existing process workflow to continue to work.

There are a few additional caveats of this initial implementation:

  • It is only set up for the WebProcess (not for the PluginProcess)
  • The WebProcess shim does not work.
  • It requires a new environment variable to be set when launching to find the right service to launch (XPC_DYLD_FRAMEWORK_PATH).
  • Configurations/WebKit2Service.xcconfig: Added.

Add new configuration file for the service.

  • Platform/CoreIPC/Connection.h:

(CoreIPC::Connection::Identifier::Identifier):
(CoreIPC::Connection::identifierIsNull):
Added to encapsulate the concept of a null identifier, now that it
is not possible to just compare to null.

  • Platform/CoreIPC/mac/ConnectionMac.cpp:

(CoreIPC::Connection::platformInvalidate):
(CoreIPC::Connection::platformInitialize):
Change Connection::Identifier on the Mac to be a struct instead of
a typedef to a mach_port. This allows for the Connection to get both
the listening port and a reference to the xpc_connection (if it
compiled in). For now, all we do is retain the xpc_connection when it
is given to us, and release on Connection invalidation.

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::createWebProcessConnection):

  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain):

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
Use the Connection::Identifier constructor.

  • UIProcess/Launcher/ProcessLauncher.h:

(LaunchOptions):
Add a UseXPC option to the LaunchOptions so we can dynamically choose whether to use it.

(ProcessLauncher):
Make processTypeAsString public to allow better factoring in the implementation file
using static functions.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

Factor out the different launching options into helper functions. Always start by
trying to connect to a pre-existing process.

(WebKit::launchXPCService):
Create a new xpc_connection to our service, and give it a unique instance UUID.
Then, send a bootstrap message with a mach_port and wait for a reply to complete
the launch procedure.

(WebKit::tryPreexistingProcess):
Move the code to connect to a preexisting process to its own helper function.

(WebKit::ProcessLauncher::launchProcess):
Clean up a bit, calling the helper functions and adding call to launch the XPC service
if it is enabled.

  • UIProcess/Launcher/mac/ThreadLauncherMac.mm:

(WebKit::webThreadBody):
(WebKit::ThreadLauncher::createWebThread):
Switch to using the constructor version of Identifier.

  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::PluginProcessProxy):
Don't try to use the XPC service for plugins yet.

(WebKit::PluginProcessProxy::didFinishLaunching):
Use Connection::identifierIsNull instead of explicit null check.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connect):
If XPC is compiled in (it currently is not) enable it by default.

  • WebKit2.xcodeproj/project.pbxproj:

Add the new files and targets.

  • WebKit2Service: Added.
  • WebKit2Service/Info.plist: Added.

Add the paper work needed for an XPC service. Importantly, set up the XPC
service to be an Application service type, use NSApplicationMain as its run
loop, and allow for multiple instantiations. Also make sure the service acts
like the WebProcess binary by making it a LSUIElement, enabling LSFileQuarantine,
and setting the principle class to NSApplication.

  • WebKit2Service/MainMacService.mm: Added.

(WebKit2ServiceEventHandler):
(main):
The initialization of the XPC service is quite a bit different than the
WebProcess version, since we don't get passed parameters in argv. Instead,
we initiate the XPC service via xpc_main, and wait for the bootstrap message
we sent in ProcessLauncherMac.mm. When we receive that message we can load
WebKit2 framework and initialize the WebProcess normally (we also get the mach_port
for the CoreIPC connection in that bootstrap message).

  • WebProcess/mac/WebProcessMainMac.mm:

(WebKit::WebProcessMainXPC):
Add a variant of WebProcessMain that is used for the XPC service case, where we don't
have command line arguments and don't need to talk to the mach bootstrap server.

(WebKit::WebProcessMain):

  • mac/MainMac.cpp: Removed.
  • mac/MainMacProcess.cpp: Copied from Source/WebKit2/mac/MainMac.cpp.

Rename MainMac to MainMacProcess to signify that it is different from the XPC
service main.

2:17 PM Changeset in webkit [125357] by benjamin@webkit.org
  • 11 edits in trunk/Source

Do the DecimalNumber to String conversion on 8 bits
https://bugs.webkit.org/show_bug.cgi?id=93683

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-11
Reviewed by Andreas Kling.

Source/WebCore:

Numbers converted to string for CSS are unlikely to ever be concatenated with a 16bits string.
This patch change the conversion to be done to 8bits string in order to reduce memory allocations.

  • css/CSSPrimitiveValue.cpp:

(WebCore::formatNumber):

  • inspector/InspectorValues.cpp:

(WebCore::InspectorBasicValue::writeJSON):

  • platform/graphics/Color.cpp:

(WebCore::Color::serialized): Instead of allocating a static WTF::String, we can simply append the
string literal to the output vector.

Source/WTF:

Modify DecimalNumber to do the conversion to string on LChar instead of UChar.

  • wtf/DecimalNumber.cpp:

(WTF::DecimalNumber::toStringDecimal):
(WTF::DecimalNumber::toStringExponential):

  • wtf/DecimalNumber.h:

(DecimalNumber):

  • wtf/dtoa.h:
  • wtf/text/StringBuffer.h:

(WTF::StringBuffer::operator[]): StringBuffer::operator[] was incorrectly typed to UChar, making
the method impossible to instanciate with LChar.

  • wtf/text/WTFString.h:

(String):
(WTF::String::adopt): String::adopt() is modified to work with both LChar and UChar. StringImpl
already support that.
(WTF::appendNumber): Add support for any type that can instanciate the template.

2:12 PM Changeset in webkit [125356] by benjamin@webkit.org
  • 6 edits in trunk/Source

WebCore::findAtomicString(PropertyName) always convert the name to 16bits
https://bugs.webkit.org/show_bug.cgi?id=93685

Reviewed by Geoffrey Garen.

Source/WebCore:

  • bindings/js/JSDOMBinding.cpp:

(WebCore::findAtomicString):
Use the new AtomicString::find() to avoid calling StringImpl::characters().

Source/WTF:

Previously, WebCore::findAtomicString() was causing a conversion for the 8bit property name
to a 16bits due to the call to StringImpl::character16().

This patch fixes the issue by adding support for both 8bits and 16bits string in AtomicString::find().

  • wtf/text/AtomicString.cpp:

(HashAndCharacters):
(WTF::HashAndCharactersTranslator::hash):
(WTF::HashAndCharactersTranslator::equal):
(WTF::HashAndCharactersTranslator::translate):
Use a template to make the struct and the translator independant of the CharacterType.

(WTF::AtomicString::add):
(WTF::findString):
(WTF::AtomicString::find): Change the API to take a StringImpl*. AtomicString can use
it efficiently to find the right string.

  • wtf/text/AtomicString.h:

(AtomicString):

  • wtf/text/StringImpl.h:

(StringImpl): Adapt the friends translator to support the template.

1:01 PM Changeset in webkit [125355] by caio.oliveira@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Qt] Remove QtSenderStack now we do not support qt_sender anymore in Qt bridge
https://bugs.webkit.org/show_bug.cgi?id=93767

Reviewed by Kenneth Rohde Christiansen.

Dead code after patch of bug 93649.

  • bridge/qt/qt_instance.h:

(QtInstance):

12:41 PM Changeset in webkit [125354] by jonlee@apple.com
  • 1 edit
    1 move in trunk/LayoutTests

webarchive/ignore-noscript-if-scripting.html expected results should use .webarchive extension
https://bugs.webkit.org/show_bug.cgi?id=93736
<rdar://problem/12077654>

Reviewed by Eric Seidel.

Because the test uses dumpDOMAsWebArchive(), the expected results extension should be .webarchive instead of .txt.

  • webarchive/ignore-noscript-if-scripting-enabled-expected.webarchive: Renamed from LayoutTests/webarchive/ignore-noscript-if-scripting-enabled-expected.txt.
9:07 AM Changeset in webkit [125353] by inferno@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed.

Removing newly added assert in r125351 since it is exposing
legitimate layout bugs in few tests. We will re-add the assert
after fixing those bugs. Failures are tracked in webkit bug 93766.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removeFromTrackedRendererMaps):

6:26 AM Changeset in webkit [125352] by pierre.rossi@gmail.com
  • 4 edits in trunk/Source/WebKit/qt

[Qt] Add support for HTML5 state object history API in FrameLoaderClientQt
https://bugs.webkit.org/show_bug.cgi?id=93648

Reviewed by Kenneth Rohde Christiansen.

Add support for push/replace/pop by implementing dispatchDidNavigateWithinPage.

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::dispatchDidNavigateWithinPage):
(WebCore::FrameLoaderClientQt::dispatchDidPushStateWithinPage):
(WebCore::FrameLoaderClientQt::dispatchDidReplaceStateWithinPage):
(WebCore::FrameLoaderClientQt::dispatchDidPopStateWithinPage):

  • WebCoreSupport/FrameLoaderClientQt.h:

(FrameLoaderClientQt):

  • tests/qwebframe/tst_qwebframe.cpp:

(tst_QWebFrame):
(tst_QWebFrame::setUrlUsingStateObject): Added. Tests that the urlChanged signal is fired.

3:44 AM Changeset in webkit [125351] by leviw@chromium.org
  • 8 edits
    2 adds in trunk

Source/WebCore: Track block's positioned objects like percent-height descendants
https://bugs.webkit.org/show_bug.cgi?id=89848

Reviewed by Abhishek Arya.

The previous method for tracking a RenderBlock's out-of-flow positioned descendants was error prone,
subject to becoming inconsistent, and in the case of removePositionedObjects, inefficient. This patch
extracts the algorithm used for percent height descendants and re-uses it for positioned objects. This same
method could further be re-used for floats.

This change removes the m_positionedObjects pointer, which brings RenderBlock's size down (yay!).

Test: fast/block/positioning/relayout-nested-positioned-elements-crash-2.html

  • rendering/RenderBlock.cpp:

(SameSizeAsRenderBlock):
(WebCore):
(WebCore::removeBlockFromDescendantAndContainerMaps):
(WebCore::RenderBlock::~RenderBlock):
(WebCore::RenderBlock::addOverflowFromPositionedObjects):
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markPositionedObjectsForLayout):
(WebCore::clipOutPositionedObjects):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::insertIntoTrackedRendererMaps):
(WebCore::RenderBlock::removeFromTrackedRendererMaps):
(WebCore::RenderBlock::positionedObjects):
(WebCore::RenderBlock::insertPositionedObject):
(WebCore::RenderBlock::removePositionedObject):
(WebCore::RenderBlock::removePositionedObjects):
(WebCore::RenderBlock::addPercentHeightDescendant):
(WebCore::RenderBlock::removePercentHeightDescendant):
(WebCore::RenderBlock::percentHeightDescendants):
(WebCore::RenderBlock::checkPositionedObjectsNeedLayout):

  • rendering/RenderBlock.h:

(WebCore):
(RenderBlock):
(WebCore::RenderBlock::hasPositionedObjects):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::moveChildTo): Changing the fixme to reflect the assumption that the caller
has taken care of updating the positioned renderer maps is a decision not a bug. The ASSERT should help
assure this.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layoutRows):

  • rendering/RenderView.cpp:

(WebCore::RenderView::setFixedPositionedObjectsNeedLayout):

LayoutTests: Track block's positioned objects like percent-height children
https://bugs.webkit.org/show_bug.cgi?id=89848

Reviewed by Abhishek Arya.

Adding another test to confirm that RenderBlock's positioned children lists don't become
inconsistent.

  • fast/block/positioning/relayout-nested-positioned-elements-crash-2-expected.txt: Added.
  • fast/block/positioning/relayout-nested-positioned-elements-crash-2.html: Added.
2:37 AM Changeset in webkit [125350] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

[EFL] Bump harfbuzz dependency to v0.9.2
https://bugs.webkit.org/show_bug.cgi?id=93762

Reviewed by Eric Seidel.

EFL port has used harfbuzz 0.9.0 ver. However, the 0.9.2 version was released on 10th Aug 2012.
In addition, 0.9.0 ver. was disappeared. So, EFL port needs to use 0.9.2 ver. from now on.

  • efl/jhbuild.modules:

Aug 10, 2012:

7:45 PM Changeset in webkit [125349] by commit-queue@webkit.org
  • 15 edits in trunk/Source

[WebGL] Add support for EXT_robustness
https://bugs.webkit.org/show_bug.cgi?id=93379

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-08-10
Reviewed by George Staikos.

Source/WebCore:

Take advantage of EXT robustness in WebKit.

This commit makes WebKit use readnPixelsEXT, getnUniformfvEXT and
getnUniformivEXT instead of readPixels, getUniformfv and getUniformiv
when possible, and sets up the reset notification behaviour for
GLES platforms.

The reset behaviour has not yet been implemented in the BlackBerry
compositing thread, so for now on BlackBerry we just abort when
the context has been reset. This prevents undefined behaviour, but
can be improved in the future.

No new tests are needed because no new functionality is introduced.
Support for ARB robustness reset notification behaviour is already
in WebKit, and EXT robustness' reset notifcation behaviour is the
same. readnPixelsEXT replaces WebKit's existing mechanisms of
preventing buffer overflows.

RIM PR# 147510
Internally reviewed by Arvid Nilsson.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::setupFlags):
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::readPixels):

  • html/canvas/WebGLRenderingContext.h:

(WebGLRenderingContext):

  • platform/chromium/support/Extensions3DChromium.cpp:

(WebCore::Extensions3DChromium::readnPixelsEXT):
(WebCore):
(WebCore::Extensions3DChromium::getnUniformfvEXT):
(WebCore::Extensions3DChromium::getnUniformivEXT):

  • platform/graphics/Extensions3D.h:
  • platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:

(WebCore::GraphicsContext3D::setContextLostCallback):

  • platform/graphics/blackberry/LayerRenderer.cpp:

(WebCore::LayerRenderer::LayerRenderer):
(WebCore::LayerRenderer::makeContextCurrent):

  • platform/graphics/blackberry/LayerRenderer.h:

(LayerRenderer):

  • platform/graphics/chromium/Extensions3DChromium.h:
  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::readnPixelsEXT):
(WebCore):
(WebCore::Extensions3DOpenGLCommon::getnUniformfvEXT):
(WebCore::Extensions3DOpenGLCommon::getnUniformivEXT):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.h:

(Extensions3DOpenGLCommon):

  • platform/graphics/opengl/Extensions3DOpenGLES.cpp:

(WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
(WebCore::Extensions3DOpenGLES::getGraphicsResetStatusARB):
(WebCore):
(WebCore::Extensions3DOpenGLES::setEXTContextLostCallback):
(WebCore::Extensions3DOpenGLES::readnPixelsEXT):
(WebCore::Extensions3DOpenGLES::getnUniformfvEXT):
(WebCore::Extensions3DOpenGLES::getnUniformivEXT):
(WebCore::Extensions3DOpenGLES::supportsExtension):

  • platform/graphics/opengl/Extensions3DOpenGLES.h:

(Extensions3DOpenGLES):

Source/WebKit:

RIM PR# 147510
Internally reviewed by Arvid Nilsson.

  • CMakeLists.txt: Build system adaptation.
7:33 PM Changeset in webkit [125348] by arko@motorola.com
  • 4 edits
    4 adds in trunk

Microdata: item with itemprop attribute should not include the item itself in the HTMLPropertiesCollection.
https://bugs.webkit.org/show_bug.cgi?id=93717

Reviewed by Ryosuke Niwa.

Source/WebCore:

Tests: fast/dom/MicroData/item-with-itemprop-attr.html

fast/dom/MicroData/item-with-itemref-pointing-to-itself.html

  • dom/PropertyNodeList.cpp:

(WebCore::PropertyNodeList::nodeMatches): Do not process the testElement if it is the owner node.

  • html/HTMLPropertiesCollection.cpp:

(WebCore::nextNodeWithProperty): Traverse the next node only if previous node is microdata item
i.e, ownerNode or previous element does not have itemscope attribute specified.
(WebCore::HTMLPropertiesCollection::virtualItemAfter): Try to find the next property if current
is ownerNode.

LayoutTests:

Added test to ensure that item with itemprop attribute should not include
itself in its HTMLPropetiesCollection.

  • fast/dom/MicroData/item-with-itemprop-attr-expected.txt: Added.
  • fast/dom/MicroData/item-with-itemprop-attr.html: Added.
  • fast/dom/MicroData/item-with-itemref-pointing-to-itself-expected.txt: Added.
  • fast/dom/MicroData/item-with-itemref-pointing-to-itself.html: Added.
7:20 PM Changeset in webkit [125347] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Layout Test: plugins/nested-plugin-objects.html passes but causes subsequent test to fail on Windows.
https://bugs.webkit.org/show_bug.cgi?id=93741

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-10
Reviewed by Tim Horton.

plugins/nested-plugin-objects.html passes but causes subsequent test to fail on Windows.
plugins/netscape-dom-access-and-reload.html fails as a result.
Or if I skip that test, then plugins/netscape-dom-access.html fails (the next test in the list).

  • platform/win/Skipped:

Added plugins/nested-plugin-objects.html to skip list.

7:02 PM Changeset in webkit [125346] by ryuan.choi@samsung.com
  • 8 edits
    5 deletes in trunk/Source/WebCore

[BlackBerry][EFL][GTK][WIN][WX] Remove ScriptControllerXXX.cpp to reduce duplication
https://bugs.webkit.org/show_bug.cgi?id=61424

Reviewed by Rob Buis.

ScriptControllerBlackBerry, ScriptControllerEfl, ScriptControllerGtk,
ScriptControllerWin and ScriptControllerWx are almost same.
In order to reduce duplication, this patch moves codes to ScriptController
and removes them.

No behavior change. Just a refactoring.

  • GNUmakefile.list.am:
  • PlatformBlackBerry.cmake:
  • PlatformEfl.cmake:
  • PlatformWinCE.cmake:
  • WebCore.gypi:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/ScriptController.cpp:

(WebCore):
(WebCore::ScriptController::createScriptInstanceForWidget):
Moved from ScriptControllerXXX.cpp

  • bindings/js/ScriptControllerBlackBerry.cpp: Removed.
  • bindings/js/ScriptControllerEfl.cpp: Removed.
  • bindings/js/ScriptControllerGtk.cpp: Removed.
  • bindings/js/ScriptControllerWin.cpp: Removed.
  • bindings/js/ScriptControllerWx.cpp: Removed.
6:55 PM Changeset in webkit [125345] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

LayoutTest: fast/forms/basic-selects.html rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=93751

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-10
Reviewed by Tim Horton.

As per https://bugs.webkit.org/show_bug.cgi?id=92833,
this test needs to be rebaselined for other platforms.
Rebaselining for Windows.

  • platform/win/fast/forms/basic-selects-expected.txt:

Rebaselining.

6:49 PM Changeset in webkit [125344] by Lucas Forschler
  • 9 edits in branches/safari-536.26-branch

Merged r124799. <rdar://problem/12043772>

6:49 PM Changeset in webkit [125343] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

RenderQuote corrupts doubly linked list on insertion before head of list
https://bugs.webkit.org/show_bug.cgi?id=93750

Patch by Elliott Sprehn <Elliott Sprehn> on 2012-08-10
Reviewed by Abhishek Arya.

Source/WebCore:

Fix bug where moving a RenderQuote instance before the first one in
the document would not update the m_previous pointer of the original
first RenderQuote to point back at the new one.

Test: fast/css-generated-content/quote-crash-93750.html

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::attachQuote):

LayoutTests:

Test for moving around RenderQuote nodes before each other in an
existing document to catch corruption in the linked list of RenderQuote.

  • fast/css-generated-content/quote-crash-93750-expected.txt: Added.
  • fast/css-generated-content/quote-crash-93750.html: Added.
6:45 PM Changeset in webkit [125342] by dino@apple.com
  • 4 edits in trunk/LayoutTests

REGRESSION (r124416): fast/forms/basic-selects.html failing on Lion Debug Tests
https://bugs.webkit.org/show_bug.cgi?id=93538

Unreviewed gardening. Rebaseline of this test for Mac ports, and
remove expected failure.

  • platform/mac/TestExpectations:
  • platform/mac/fast/forms/basic-selects-expected.png:
  • platform/mac/fast/forms/basic-selects-expected.txt:
6:33 PM Changeset in webkit [125341] by dino@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed gardening. Missing platform expectations for this test. Results
are identical to chromium-mac at present.

  • platform/mac/svg/repaint/text-mask-update-expected.txt: Added.
5:59 PM Changeset in webkit [125340] by dino@apple.com
  • 2 edits in trunk/LayoutTests

(r125185) http/tests/images/jpg-img-partial-load.html timeout on Lion
https://bugs.webkit.org/show_bug.cgi?id=93636

Unreviewed test expectation update for Mac.

  • platform/mac/TestExpectations:
5:55 PM Changeset in webkit [125339] by jamesr@google.com
  • 19 edits
    8 deletes in trunk

[chromium] Remove forwarding headers for compositor-related WebKit API and update includes
https://bugs.webkit.org/show_bug.cgi?id=93669

Reviewed by Adam Barth.

Source/Platform:

Removes a no-longer-necessary transitional define.

  • chromium/public/WebCompositor.h:

Source/WebCore:

Updates all includes for compositor-related headers to refer consistently to the Platform API location.

  • platform/chromium/support/WebCompositorImpl.h:

Source/WebKit/chromium:

This updates all includes for compositor-related headers to refer consistently to the Platform API location and
removes the now-unneeded forwarding headers in the client API location. I also updated and resorted other
platform API includes in modified header blocks.

  • WebKit.gyp:
  • public/WebCompositor.h: Removed.
  • public/platform/WebContentLayer.h: Removed.
  • public/platform/WebContentLayerClient.h: Removed.
  • public/platform/WebExternalTextureLayer.h: Removed.
  • public/platform/WebLayer.h: Removed.
  • public/platform/WebLayerTreeView.h: Removed.
  • public/platform/WebLayerTreeViewClient.h: Removed.
  • public/platform/WebSolidColorLayer.h: Removed.
  • src/WebCompositorInputHandlerImpl.h:
  • src/WebContentLayerImpl.cpp:
  • src/WebLayer.cpp:
  • src/WebLayerTreeView.cpp:
  • src/WebLayerTreeViewImpl.cpp:
  • src/WebLayerTreeViewImpl.h:
  • src/WebSolidColorLayer.cpp:
  • src/WebViewImpl.h:
  • tests/Canvas2DLayerBridgeTest.cpp:
  • tests/GraphicsLayerChromiumTest.cpp:
  • tests/TextureLayerChromiumTest.cpp:
5:32 PM Changeset in webkit [125338] by jamesr@google.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

r125337 added a call to WTF::currentTime() in MediaController.cpp, but that file didn't #include
<wtf/CurrentTime.h>. This file is indirectly picked up on the include paths for some ports, but not all.

  • html/MediaController.cpp:
4:50 PM Changeset in webkit [125337] by jer.noble@apple.com
  • 4 edits
    2 adds in trunk

no timeupdate events emitted for media controller
https://bugs.webkit.org/show_bug.cgi?id=93745

Reviewed by Eric Carlson.

Source/WebCore:

Generate timeupdate events while the current position is changing.

Test: media/media-controller-timeupdate.html

Enforce the spec requirement that the timeupdate event is fired no more often
than every 250ms.

  • html/MediaController.cpp:

(MediaController::scheduleTimeupdateEvent):

Add a periodic firing timer to generate timeupdate events during playback.

  • html/MediaController.cpp:

(MediaController::startTimeupdateTimer):
(MediaController::timeupdateTimerFired):

  • html/MediaController.cpp:

(MediaController::MediaController): Initialize m_previousTimeupdateTime.
(MediaController::setCurrentTime): Call scheduleTimeUpdateEvent.
(MediaController::updatePlaybackState): Start and stop the timeupdate timer.

  • html/MediaController.h:

LayoutTests:

New test checking that the timeupdate event is emmitted correctly during playback.

  • media/media-controller-timeupdate-expected.txt: Added.
  • media/media-controller-timeupdate.html: Added.
4:33 PM Changeset in webkit [125336] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
4:13 PM Changeset in webkit [125335] by jpfau@apple.com
  • 9 edits
    13 adds in trunk

Allow blocking of third-party localStorage and sessionStorage
https://bugs.webkit.org/show_bug.cgi?id=93390

Reviewed by Adam Barth.

Source/WebCore:

Add checks for if a page is third-party and third-party storage blocking is enabled while accessing storage.

Tests: http/tests/security/cross-origin-local-storage-allowed.html

http/tests/security/cross-origin-local-storage.html
http/tests/security/cross-origin-session-storage-allowed.html
http/tests/security/cross-origin-session-storage.html
http/tests/security/same-origin-document-domain-storage-allowed.html

  • dom/Document.cpp:

(WebCore::Document::initSecurityContext): Initialize securityOrigin with knowledge of if we should block third-party storage.

  • page/DOMWindow.cpp: Check if the origin trying to access storage is third-party relative to the top document.

(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):

  • page/SecurityOrigin.cpp: Add a call in Security origin to see if another origin counts as a third-party.

(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::canAccessLocalStorage):
(WebCore):
(WebCore::SecurityOrigin::isThirdParty):

  • page/SecurityOrigin.h:

(WebCore::SecurityOrigin::blockThirdPartyStorage):
(SecurityOrigin):

  • testing/InternalSettings.cpp: Add an internals.settings hook for setting third-party storage blocking enabled.

(WebCore::InternalSettings::setThirdPartyStorageBlockingEnabled):
(WebCore):

  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:

LayoutTests:

Created tests for testing accessing localStorage and selfStorage from a third party and first party when third-party blocking is on and off.

  • http/tests/security/cross-origin-local-storage-allowed-expected.txt: Added.
  • http/tests/security/cross-origin-local-storage-allowed.html: Added.
  • http/tests/security/cross-origin-local-storage-expected.txt: Added.
  • http/tests/security/cross-origin-local-storage.html: Added.
  • http/tests/security/cross-origin-session-storage-allowed-expected.txt: Added.
  • http/tests/security/cross-origin-session-storage-allowed.html: Added.
  • http/tests/security/cross-origin-session-storage-expected.txt: Added.
  • http/tests/security/cross-origin-session-storage.html: Added.
  • http/tests/security/same-origin-document-domain-storage-allowed-expected.html: Added.
  • http/tests/security/same-origin-document-domain-storage-allowed.html: Added.
  • http/tests/security/resources/document-domain-iframe-for-local-storage.html: Added.
  • http/tests/security/resources/cross-origin-iframe-for-local-storage.html: Added.
  • http/tests/security/resources/cross-origin-iframe-for-session-storage.html: Added.
3:52 PM Changeset in webkit [125334] by arko@motorola.com
  • 3 edits
    2 adds in trunk

Source/WebCore: REGRESSION(r125159): ASSERTION FAILED: m_listsInvalidatedAtDocument.contains(list) in Document::unregisterNodeListCache.
https://bugs.webkit.org/show_bug.cgi?id=93729

Reviewed by Ryosuke Niwa.

In Document::registerNodeListCache() it was not adding PropertyNodeList
cache to m_listsInvalidatedAtDocument the as node list currently not rooted
at the document. Where in Document::unregisterNodeListCache() it was trying
to remove PropertyNodeList cache from m_listsInvalidatedAtDocument. Hence it
caused the assertion failure.

We need to check if m_rootType is NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr,
not that it's currently rooted at the document.

Test: fast/dom/MicroData/propertynodelist-crash.html

  • dom/DynamicNodeList.h:

(WebCore::DynamicNodeListCacheBase::isRootedAtDocument):

LayoutTests: REGRESSION(r125159): ASSERTION FAILED: m_listsInvalidatedAtDocument.contains(list) in Document::unregisterNodeListCache.
https://bugs.webkit.org/show_bug.cgi?id=93729

Reviewed by Ryosuke Niwa.

Added a test to ensure that it does not crash in Document::unregisterNodeListCache.

  • fast/dom/MicroData/propertynodelist-crash-expected.txt: Added.
  • fast/dom/MicroData/propertynodelist-crash.html: Added.
3:41 PM Changeset in webkit [125333] by fmalita@chromium.org
  • 2 edits in trunk/Source/WebCore

Improved RuleData packing on some 32-bit platforms
https://bugs.webkit.org/show_bug.cgi?id=93737

Reviewed by Andreas Kling.

Certain 32-bit plarforms use an 8-byte alignment for uint64_t. We can save 4 bytes per
object on these platforms by using two naturally-aligning unsigned ints instead.

  • css/StyleResolver.cpp:

(RuleData):
(SameSizeAsRuleData):

3:17 PM Changeset in webkit [125332] by rniwa@webkit.org
  • 4 edits in trunk/Tools

run-perf-tests should upload memory statistics to perf-o-matic
https://bugs.webkit.org/show_bug.cgi?id=93690

Reviewed by Dirk Pranke.

Upload JS Heap and FastMalloc results for a test X/Y as: X/Y:JSHeap and X/Y:FastMalloc.
Note "JS Heap" is converted to the CamelCase JSHeap.

Also did some refactoring in PerfTest.parse_output and PerfTestRunnerTest and updated
some helps in PerfTest.parse_output per arv's comments.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest):
(PerfTest.parse_output): Include JSHeap and FastMalloc statistics in results as well as of Time.
Also refactored it to avoid hard-coding indices in _result_classes and moved complied regular
exressions out of the function to avoid re-compiling them every time the method runs.
(PerfTest.output_statistics): Convert ':' to ': ' as well as '/'.
(ChromiumStylePerfTest.parse_output): Removed an unused variable.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args): Uploaded some helps per arv's feedback.
(PerfTestsRunner._output_json_path): Extracted from _generate_and_show_results to be used in
PerfTestRunnerTest.create_runner.
(PerfTestsRunner._generate_and_show_results):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(create_runner): Extracted runner.load_output_json from various tests.
(test_run_memory_test): Added.
(PerfTestRunner): Extracted _event_target_wrapper_and_inspector_results from various tests.
(test_run_with_json_output):
(test_run_with_description):
(test_run_generates_json_by_default):
(test_run_generates_and_show_results_page):
(test_run_with_json_source):
(test_run_with_multiple_repositories):

3:15 PM Changeset in webkit [125331] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[CSS Shaders] Add blend mode and composite op to compiled program cache key
https://bugs.webkit.org/show_bug.cgi?id=93623

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-08-10
Reviewed by Dirk Schulze.

Right now, only the vertex shader string and the fragment shader string are hashed
to create a key for the compiled program. However, in a future patch, WebKit will
rewrite the fragment shader based on the blend mode and composite op specified by
the author. This means that the unique key for a compiled program is (original
vertex shader string, original fragment shader string, blend mode, composite
operator). This patch adds blend mode and composite operator in the hash for the
key.

No new tests. The state of the compiled program cache is not exposed to a web
page. Existing tests should ensure this change doesn't break current
functionality. Additional tests will be added in a future patch that implements
shader rewriting based on blend mode and composite op.

  • platform/graphics/filters/CustomFilterProgram.cpp:

(WebCore::CustomFilterProgram::programInfo):

  • platform/graphics/filters/CustomFilterProgram.h:

(WebCore):

  • platform/graphics/filters/CustomFilterProgramInfo.cpp:

(WebCore::CustomFilterProgramInfo::CustomFilterProgramInfo):
(WebCore::CustomFilterProgramInfo::hash):
(WebCore::CustomFilterProgramInfo::operator==):

  • platform/graphics/filters/CustomFilterProgramInfo.h:

(WebCore::CustomFilterProgramMixSettings::CustomFilterProgramMixSettings):
(CustomFilterProgramMixSettings):
(WebCore::CustomFilterProgramMixSettings::operator==):
(WebCore):
(CustomFilterProgramInfo):

2:48 PM Changeset in webkit [125330] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

Part 1 of: Extend -webkit-user-select with a new value "all"
<rdar://problem/10161404>
https://bugs.webkit.org/show_bug.cgi?id=93562

Patch by Alice Cheng <alice_cheng@apple.com> on 2012-08-10
Reviewed by Dan Bernstein.

Source/WebCore:

Parse the new "all" value for -webkit-user-select

Test: editing/selection/user-select-all-parsing.html

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): Add new value all

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add new value all
(WebCore::CSSPrimitiveValue::operator EUserSelect): Add one more bit to store the new property value

  • rendering/style/RenderStyleConstants.h: Add new value all
  • rendering/style/StyleRareInheritedData.h: Add new value all

(StyleRareInheritedData):

Source/WebKit/gtk:

Modify the enum to resolve ambiguous reference

  • webkit/webkitwebview.cpp:

(webkit_web_view_class_init): Modify the ambiguous enum
(webkit_web_view_select_all): Modify the ambiguous enum

LayoutTests:

Add a test to verify that the new "all" value is parsed correctly.

  • editing/selection/user-select-all-parsing-expected.txt: Added.
  • editing/selection/user-select-all-parsing.html: Added.
2:45 PM Changeset in webkit [125329] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] Upstream Android changes to WebFrameImpl::selectRange
https://bugs.webkit.org/show_bug.cgi?id=92513

Patch by Iain Merrick <husky@google.com> on 2012-08-10
Reviewed by Ryosuke Niwa.

Source/WebCore:

Make this function public we so can call it from the WebKit layer.

  • page/EventHandler.h:

(EventHandler):

Source/WebKit/chromium:

This change is driven by the Chromium port on the Android platform,
but it should be suitable for other touch-based platforms. We reuse
selectionExtentRespectingEditingBoundary (extracted from EventHandler
into VisibleSelection).

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::selectRange):
(WebKit::WebFrameImpl::visiblePositionForWindowPoint):

2:42 PM Changeset in webkit [125328] by fmalita@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

[Chromium] Updated results for fast/borders/border-shadow-large-radius.html.

Unreviewed gardening.

  • platform/chromium-win/fast/borders/border-shadow-large-radius-expected.png: Added.
2:34 PM Changeset in webkit [125327] by Lucas Forschler
  • 3 edits
    3 copies in branches/safari-536.26-branch

Merged r125124. <rdar://problem/12062368>

2:09 PM Changeset in webkit [125326] by mario@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Broken implementation of AtkText and AtkEditableText for password fields
https://bugs.webkit.org/show_bug.cgi?id=93621

Rubber-stamped by Ryosuke Niwa.

Fix Apple Win build, by avoiding to generate unreachable sections
of code in AccessibilityRenderObject::passwordFieldValue().

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::passwordFieldValue):

1:40 PM Changeset in webkit [125325] by danakj@chromium.org
  • 6 edits in trunk/Source

[chromium] Remove targetSurface pointer from CCRenderPass
https://bugs.webkit.org/show_bug.cgi?id=93734

Reviewed by Adrienne Walker.

Source/WebCore:

This removes the CCRenderSurface pointer from the CCRenderPass
structure, allowing it to be serialized and used across processes
freely.

No new tests; no intended change in behaviour.

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

(WebCore::CCLayerTreeHostImpl::drawLayers):

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

(WebCore::CCRenderPass::CCRenderPass):

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

(CCRenderPass):

Source/WebKit/chromium:

Use the RenderPass's damageRect instead of the surface's damageRect
directly to test the same things without requiring a pointer to
the surface that generated the RenderPass.

  • tests/CCLayerTreeHostImplTest.cpp:
1:40 PM Changeset in webkit [125324] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk/Source/WebKit

Introduce JavaScriptVariant object.
https://bugs.webkit.org/show_bug.cgi?id=93644

The JavaScriptVariant can be used for functions that return results from
JavaScript such as executeJavaScript or functions that take arguments
to pass a variable to JavaScript and they want to make sure the type
is correct.

Convert executeJavaScriptFunction() to use this data type as the
example, other functions will be converted in the future.

PR 14929

Internally reviewed by Joe Mason
Patch by Benjamin C Meyer <bmeyer@rim.com> on 2012-08-10
Reviewed by Adam Treat

Source/WebKit:

  • PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

  • Api/JavaScriptVariant.cpp: Added.

(WebKit):
(BlackBerry::WebKit::JSValueRefToBlackBerryJavaScriptVariant):
(BlackBerry::WebKit::BlackBerryJavaScriptVariantToJSValueRef):
(BlackBerry::WebKit::JavaScriptVariant::JavaScriptVariant):
(BlackBerry::WebKit::JavaScriptVariant::~JavaScriptVariant):
(BlackBerry::WebKit::JavaScriptVariant::operator=):
(BlackBerry::WebKit::JavaScriptVariant::setType):
(BlackBerry::WebKit::JavaScriptVariant::type):
(BlackBerry::WebKit::JavaScriptVariant::setDouble):
(BlackBerry::WebKit::JavaScriptVariant::doubleValue):
(BlackBerry::WebKit::JavaScriptVariant::setString):
(BlackBerry::WebKit::JavaScriptVariant::stringValue):
(BlackBerry::WebKit::JavaScriptVariant::setBoolean):
(BlackBerry::WebKit::JavaScriptVariant::booleanValue):

  • Api/JavaScriptVariant.h: Added.

(WebKit):

  • Api/JavaScriptVariant_p.h: Added.

(WebKit):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::executeJavaScriptFunction):

  • Api/WebPage.h:
1:30 PM Changeset in webkit [125323] by fmalita@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r125310.
http://trac.webkit.org/changeset/125310
https://bugs.webkit.org/show_bug.cgi?id=93739

The DEPS roll broke Android. One does not simply break
Android. (Requested by fmalita_ on #webkit).

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

  • DEPS:
1:21 PM Changeset in webkit [125322] by rwlbuis@webkit.org
  • 2 edits in trunk

[BlackBerry] Enable relro link option for JSC executable
https://bugs.webkit.org/show_bug.cgi?id=93726

Reviewed by Yong Li.

Enable relro link option for JSC executable.

  • Source/cmake/OptionsBlackBerry.cmake:
1:20 PM Changeset in webkit [125321] by mario@webkit.org
  • 7 edits in trunk/Source

[GTK] Broken implementation of AtkText and AtkEditableText for password fields
https://bugs.webkit.org/show_bug.cgi?id=93621

Reviewed by Chris Fleizach.

Source/WebCore:

Fix broken implementation of AtkText and AtkEditableText
interfaces in the GTK port for password input fields.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::stringValue): Call the new
function passwordFieldValue() for password input fields.
(WebCore::AccessibilityRenderObject::text): Ditto.
(WebCore::AccessibilityRenderObject::textLength): Return the
actual length of the password in the field for GTK, return -1
otherwise (not to break current behavior in other platforms).
(WebCore::AccessibilityRenderObject::doAXStringForRange): Don't
early return for password fields in GTK (will rely on text()).
(WebCore::AccessibilityRenderObject::passwordFieldValue): New, it
returns the text being actually rendered for a password input
field (normally a masked string) in GTK. It returns String() in
the rest of platforms, to ensure we don't break anything there.
(WebCore):

  • accessibility/AccessibilityRenderObject.h:

(AccessibilityRenderObject):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::passwordFieldValue): Default
implementation of this new method, returning an empty string.
(AccessibilityObject):

Ensure the 'text-insert' and 'text-remove' signals for the AtkText
interface are properly emitted for password input fields.

  • accessibility/gtk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::nodeTextChangePlatformNotification): Make
sure we never emit the password value for an input field in plain
text when inserting or removing text. Emit the masked text instead.

Source/WebKit/gtk:

Update unit test to ensure that password input fields behave
as expected when inserting and removing characters in them.

  • tests/testatk.c:

(testWebkitAtkTextChangedNotifications): Updated unit test to
cover the special case of password input fields.

1:18 PM Changeset in webkit [125320] by benjamin@webkit.org
  • 8 edits
    1 add in trunk

Add support for String initialization from literal to WTFString
https://bugs.webkit.org/show_bug.cgi?id=93426

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-10
Reviewed by Anders Carlsson.

Source/WTF:

This patch adds two constructor to WTF::String in order to support fast initialization from literal:
-String(ASCIILiteral): Constructor similar to String(const char*) while being faster. This constructor

does not incur any overhead over String(const char*).

-String(char[], ConstructFromLiteralTag): Template constructor that encode explicitely the size of the

string.

String(ASCIILiteral) is expected to be used in most cases to avoid regressions. This constructor was
added because of what we have learned from r124922: inlining the string length in the code causes a code bloat
that is not always welcome.

Regarding performance of string initialization, the constructors performance are (6 characters string):
-String(ASCIILiteral): 16% faster.
-String(char[], ConstructFromLiteralTag): 33% faster (the delta increases with the string length).

In addition, no memory is allocated for the characters.

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

(WTF::StringImpl::createFromLiteral): Extend StringImpl::createFromLiteral to have a version
with strlen() which avoids loading one extra argument.

  • wtf/text/WTFString.cpp:

(WTF::String::String):

  • wtf/text/WTFString.h:

(WTF::String::String):
(ASCIILiteral): This class is aimed at making the construction of WTFString from a literal very easy.
By using the explicit constructor ASCIILiteral(char *), one can expect the implicit conversion to String
when needed.
(WTF::ASCIILiteral::ASCIILiteral):
(WTF::ASCIILiteral::operator const char*):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/WTFString.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp.

(TestWebKitAPI):
(TestWebKitAPI::TEST):

1:16 PM Changeset in webkit [125319] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash exiting from HTML5 FS mode to normal mode via ESC key
https://bugs.webkit.org/show_bug.cgi?id=93663

Reviewed by Eric Carlson.

Crash is due to a refcount underrun with _watchdogTimer due to adopting an autoreleased NSTimer.
Use the non-autoreleased NSTimer creation method and manually add to the main NSRunLoop.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController cancelOperation:]):

1:13 PM Changeset in webkit [125318] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

Use the new AVPlayerItemVideoOutput API in MediaPlayerPrivateAVFoundation.
https://bugs.webkit.org/show_bug.cgi?id=93591

Reviewed by Eric Carlson.

Support the new AVPlayerItemVideoOutput API from Mountain Lion, which has much increased performance over
AVAssetImageGenerator.

No new tests; Performance change only, no net change in functionality.

AVPlayerItemVideoOutput requires an attached CALayer for rendering to occur. Make the rendering modes non-exclusive,
so layer-rendering and context-rendering can exist simultaneously:

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Make the MediaRenderingMode enum

a bitfield.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::currentRenderingModes): Renamed from currentRenderingMode().
(WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering): Check for the presence of the MediaRenderingToLayer bit.
(WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering): Ditto.
(WebCore::MediaPlayerPrivateAVFoundation::updateStates): Ditto.

Pull out existing the AVAssetImageGenerator into its own functions:

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageGenerator):
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyImageGenerator):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator):

Add new AVPlayerItemVideoOutput equivalent functions:

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

Switch between the AVAssetImageGenerator and AVPlayerItemVideoOutput functions from
within the original functions:

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::hasContextRenderer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paint):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Call the

AVAssetImageGenerator creation function directly.

1:10 PM Changeset in webkit [125317] by rniwa@webkit.org
  • 2 edits in trunk/PerformanceTests

Unreviewed; fix an insanely silly typo.

  • resources/results-template.html:
12:49 PM Changeset in webkit [125316] by wangxianzhu@chromium.org
  • 2 edits in trunk/Tools

NRWT crashes when DRT with --encode-binary crashes just before it dumps pixels
https://bugs.webkit.org/show_bug.cgi?id=93728

Reviewed by Dirk Pranke.

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

(ContentBlock.decode_content): Check self.content is not None before calling base64.b64decode().

12:41 PM Changeset in webkit [125315] by inferno@chromium.org
  • 2 edits in trunk/Source/WebCore

Crash on accessing a removed layout root in FrameView::scheduleRelayout.
https://bugs.webkit.org/show_bug.cgi?id=91368

Reviewed by Levi Weintraub.

We were calling setNeedsLayoutAndPrefWidthsRecalc() in RenderBlock::collapseAnonymousBoxChild
even when documentBeingDestroyed() was true. This ends up accessing stale layout root and bypasses
mitigation added in r109406. There is no need to waste time merging up anonymous blocks in
RenderBlock::removeChild when documentBeingDestroyed() is true.

No new tests. The test is time sensitive, requires a bunch of reloads, and only reproduces on chromium linux.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::removeChild):

12:38 PM Changeset in webkit [125314] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

<rdar://problem/11855229> When in paginated mode, the layout timer fires continually
https://bugs.webkit.org/show_bug.cgi?id=91038

Reviewed by Simon Fraser.

  • page/Page.cpp:

(WebCore::Page::pageCount): Changed to only trigger layout if needed.

12:22 PM Changeset in webkit [125313] by zandobersek@gmail.com
  • 7 edits
    45 adds in trunk/LayoutTests

Unreviewed GTK gardening.

Updating or adding newly-generated pixel baselines for tests in animations,
dom/xhtml/level3/core, scrollbars, transforms and transitions directories.

  • platform/gtk/animations/3d/change-transform-in-end-event-expected.png: Added.
  • platform/gtk/animations/3d/matrix-transform-type-animation-expected.png: Added.
  • platform/gtk/animations/3d/replace-filling-transform-expected.png: Added.
  • platform/gtk/animations/3d/state-at-end-event-transform-expected.png: Added.
  • platform/gtk/animations/additive-transform-animations-expected.png: Added.
  • platform/gtk/animations/cross-fade-background-image-expected.png: Added.
  • platform/gtk/animations/cross-fade-border-image-source-expected.png: Added.
  • platform/gtk/animations/cross-fade-list-style-image-expected.png: Added.
  • platform/gtk/animations/cross-fade-webkit-mask-box-image-expected.png: Added.
  • platform/gtk/animations/cross-fade-webkit-mask-image-expected.png: Added.
  • platform/gtk/animations/missing-values-last-keyframe-expected.png: Added.
  • platform/gtk/animations/opacity-transform-animation-expected.png: Added.
  • platform/gtk/animations/state-at-end-event-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/canonicalform08-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/canonicalform09-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/documentgetinputencoding03-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/entitygetinputencoding02-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/entitygetxmlversion02-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/nodegetbaseuri05-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/nodegetbaseuri07-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/nodegetbaseuri09-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/nodegetbaseuri10-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/nodegetbaseuri11-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/nodegetbaseuri15-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/nodegetbaseuri17-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/nodegetbaseuri18-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/nodelookupnamespaceuri01-expected.png: Added.
  • platform/gtk/dom/xhtml/level3/core/nodelookupprefix19-expected.png: Added.
  • platform/gtk/scrollbars/basic-scrollbar-expected.png: Added.
  • platform/gtk/scrollbars/custom-scrollbar-with-incomplete-style-expected.png:
  • platform/gtk/scrollbars/disabled-scrollbar-expected.png: Added.
  • platform/gtk/scrollbars/listbox-scrollbar-combinations-expected.png: Added.
  • platform/gtk/scrollbars/overflow-scrollbar-combinations-expected.png: Added.
  • platform/gtk/scrollbars/scrollbar-buttons-expected.png: Added.
  • platform/gtk/scrollbars/scrollbar-orientation-expected.png: Added.
  • platform/gtk/scrollbars/scrollbars-on-positioned-content-expected.png:
  • platform/gtk/transforms/2d/compound-transforms-vs-containers-expected.png: Added.
  • platform/gtk/transforms/2d/hindi-rotated-expected.png:
  • platform/gtk/transforms/2d/transform-borderbox-expected.png: Added.
  • platform/gtk/transforms/2d/transform-fixed-container-expected.png:
  • platform/gtk/transforms/2d/transform-origin-borderbox-expected.png: Added.
  • platform/gtk/transforms/2d/zoom-menulist-expected.png:
  • platform/gtk/transforms/svg-vs-css-expected.png: Added.
  • platform/gtk/transitions/cross-fade-background-image-expected.png: Added.
  • platform/gtk/transitions/cross-fade-border-image-expected.png: Added.
  • platform/gtk/transitions/default-timing-function-expected.png:
  • platform/gtk/transitions/move-after-transition-expected.png: Added.
  • platform/gtk/transitions/opacity-transition-zindex-expected.png: Added.
  • platform/gtk/transitions/suspend-transform-transition-expected.png: Added.
  • platform/gtk/transitions/svg-text-shadow-transition-expected.png: Added.
  • platform/gtk/transitions/transition-end-event-rendering-expected.png: Added.
12:10 PM Changeset in webkit [125312] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

[CMAKE] Fix wrong idl include path in CMakeList.txt
https://bugs.webkit.org/show_bug.cgi?id=93715

Reviewed by Rob Buis.

No new tests. No change in behavior.

  • CMakeLists.txt: Fix notifications path.
12:06 PM Changeset in webkit [125311] by Lucas Forschler
  • 6 edits in branches/safari-536.26-branch/Source/WebKit2

Rollout r124944. <rdar://problem/12043765>

11:59 AM Changeset in webkit [125310] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
11:49 AM Changeset in webkit [125309] by Lucas Forschler
  • 8 edits in branches/safari-536.26-branch

Rollout r124956. <rdar://problem/12043765>

11:47 AM Changeset in webkit [125308] by Lucas Forschler
  • 2 edits in branches/safari-536.26-branch/Source/WebKit2

Rollout r124959. <rdar://problem/12043765>

11:42 AM Changeset in webkit [125307] by Lucas Forschler
  • 32 edits
    2 deletes in branches/safari-536.26-branch

Rollout r124961. <rdar://problem/12043765>

11:42 AM Changeset in webkit [125306] by allan.jensen@nokia.com
  • 5 edits
    2 adds in trunk

[Transforms] Hit test issue with large scale() transform
https://bugs.webkit.org/show_bug.cgi?id=23170

Reviewed by Simon Fraser.

Source/WebCore:

By using normal rounding to determine the top-left corner of the
hit-tested rectangle, we end up offsetting the hit test by up to
half a pixel, once scaled to x60, this creates a 30px error.

Normal rounding is replaced with floored rounding which means the
hit-tested pixel will now always be the pixel containing the
point.

Test: fast/transforms/hit-test-large-scale.html

  • rendering/HitTestResult.cpp:

(WebCore::HitTestPoint::HitTestPoint):
(WebCore::HitTestPoint::intersectsRect):
(WebCore::HitTestPoint::rectForPoint):

LayoutTests:

New test checking that we can hit the bottom-right part of an element with
a large scale transformation.

Modified test-input on perspective-clipped.html, since it was mathematically
0.1px inside the transformed target, but used to miss due to bad rounding.

  • fast/transforms/hit-test-large-scale-expected.txt: Added.
  • fast/transforms/hit-test-large-scale.html: Added.
  • transforms/3d/hit-testing/perspective-clipped-expected.txt:
  • transforms/3d/hit-testing/perspective-clipped.html:
11:40 AM Changeset in webkit [125305] by fmalita@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed gardening: build fix for 32bit platforms after 125294.

  • css/StyleResolver.cpp:

(RuleData):

11:35 AM Changeset in webkit [125304] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

Source/WebCore: box-shadow creates incorrect shadow when border-radius is too large
https://bugs.webkit.org/show_bug.cgi?id=72103

Patch by Takashi Sakamoto <tasak@google.com> on 2012-08-10
Reviewed by Simon Fraser.

Added a code for adjusting a rounded rect before paintBoxShadow in
a similar way to getRoundedRectFor.

Test: fast/borders/border-shadow-large-radius.html

  • platform/graphics/RoundedRect.cpp:

(WebCore::RoundedRect::adjustRadii):
Added a new method to set radii's scale to fit into rect.

  • platform/graphics/RoundedRect.h:

(RoundedRect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintBoxShadow):
A rounded rect for box-shadow is not checked whether the raii matches
the rect or not. Added the code to adjust radii's scale if the rounded
rect is not renderable, the case: RoundedRect::isRenderable is false.

LayoutTests: box-shadow creates incorrect shadow when border-radius is too large.
https://bugs.webkit.org/show_bug.cgi?id=72103

Patch by Takashi Sakamoto <tasak@google.com> on 2012-08-10
Reviewed by Simon Fraser.

  • fast/borders/border-shadow-large-radius.html: Added.
  • fast/borders/border-shadow-large-radius-expected.txt: Added.
  • platform/chromium-linux/fast/borders/border-shadow-large-radius-expected.png: Added.
  • platform/chromium-mac/fast/borders/border-shadow-large-radius-expected.png: Added.
11:31 AM Changeset in webkit [125303] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Removing expectation for css3/flexbox/inline-flex-crash2.html after
the fix for it was landed in r125302.

  • platform/gtk/TestExpectations:
11:24 AM Changeset in webkit [125302] by ojan@chromium.org
  • 3 edits in trunk/LayoutTests

New test introduced in r125262 css3/flexbox/inline-flex-crash2.html fails
https://bugs.webkit.org/show_bug.cgi?id=93718

Test uses layoutTestController instead of testRunner.

  • css3/flexbox/inline-flex-crash2.html:
  • platform/qt/Skipped:
11:21 AM Changeset in webkit [125301] by ojan@chromium.org
  • 2 edits in trunk/Source/WebCore

Wrap INLINE_FLEX in a #if ENABLE(CSS3_FLEXBOX).
Unreviewed build fix.

  • rendering/style/RenderStyle.h:
10:57 AM Changeset in webkit [125300] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit

[BlackBerry] Fix wrong include path for notifications.
https://bugs.webkit.org/show_bug.cgi?id=93714

Reviewed by Rob Buis.

  • PlatformBlackBerry.cmake: Change path from notifications to Modules/notifications.
10:52 AM Changeset in webkit [125299] by wangxianzhu@chromium.org
  • 2 edits in trunk/Tools

[Chromium-Android][NRWT] Executable might not be pushed correctly when there are multiple builds
https://bugs.webkit.org/show_bug.cgi?id=93688

Reviewed by Dirk Pranke.

There might be other better methods, but this change is the smallest.
I think the chance of equal timestamp can be ignored because we flock
to avoid concurrent linkers.

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

(ChromiumAndroidDriver._push_executable): Changed '<' to '!=' to compare the timestamp.

10:42 AM Changeset in webkit [125298] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Renamed the “Modules/webaudio” group in the Xcode project to “webaudio” and moved it into
the Modules group.

Rubber-stamped by Simon Fraser.

  • WebCore.xcodeproj/project.pbxproj:
10:35 AM Changeset in webkit [125297] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding failure expectations for failures introduced in r125133 and r125262.

  • platform/gtk/TestExpectations:
10:05 AM Changeset in webkit [125296] by arv@chromium.org
  • 4 edits
    1 add in trunk

[V8] Enable es5_readonly
https://bugs.webkit.org/show_bug.cgi?id=91031

Reviewed by Adam Barth.

This turns on the es5_readonly flag for V8. This makes V8 match the ES5 spec regarding
non writable properties on the prototype chain. JSC already behaves the right so this
just makes V8 behave the same.

Source/WebCore:

Updated test expectations.

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initContextIfNeeded):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initIsolate):

LayoutTests:

  • platform/chromium/media/network-no-source-const-shadow-expected.txt: Added.
10:03 AM Changeset in webkit [125295] by haraken@chromium.org
  • 17 edits
    2 adds
    2 deletes in trunk/Source/WebCore

[V8] Introduce V8DOMConfiguration class and make batchConfigureXXX() methods static
https://bugs.webkit.org/show_bug.cgi?id=93615

Reviewed by Adam Barth.

Per the discussion in bug 93239,

(1) Rename V8ConfigureDOMAttributesAndMethods to V8DOMConfiguration.
(2) Introduce V8DOMConfiguration class and make batchConfigureXXX() methods static.

No tests. No change in behavior.

  • UseV8.cmake:
  • WebCore.gypi:
  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateImplementation):

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

(WebCore):
(WebCore::ConfigureV8Float64ArrayTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestCustomNamedGetterTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestEventConstructorTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestEventTargetTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestExceptionTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestInterfaceTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestMediaQueryListListenerTemplate):

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

(WebCore::ConfigureV8TestNamedConstructorTemplate):

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

(WebCore::ConfigureV8TestNodeTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::installPerContextProperties):

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

(WebCore):
(WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):

  • bindings/v8/V8Binding.h:
  • bindings/v8/V8ConfigureDOMAttributesAndMethods.h: Removed.
  • bindings/v8/V8DOMConfiguration.cpp: Renamed from Source/WebCore/bindings/v8/V8ConfigureDOMAttributesAndMethods.cpp.

(WebCore):
(WebCore::V8DOMConfiguration::batchConfigureAttributes):
(WebCore::V8DOMConfiguration::batchConfigureConstants):
(WebCore::V8DOMConfiguration::batchConfigureCallbacks):
(WebCore::V8DOMConfiguration::configureTemplate):

  • bindings/v8/V8DOMConfiguration.h: Added.

(WebCore):
(V8DOMConfiguration):
(BatchedAttribute):
(WebCore::V8DOMConfiguration::configureAttribute):
(BatchedConstant):
(BatchedCallback):

10:00 AM Changeset in webkit [125294] by kling@webkit.org
  • 4 edits in trunk/Source/WebCore

CSS: Shrink RuleData by storing selector as index rather than pointer.
<http://webkit.org/b/93712>

Reviewed by Antti Koivisto.

Pack the selector's index in the rule in the RuleData bitfield, effectively
shrinking each RuleData by 8 bytes.

  • css/CSSSelectorList.h:

(WebCore::CSSSelectorList::selectorAt):
(WebCore::CSSSelectorList::indexOfNextSelectorAfter):

Add helpers to CSSSelectorList to iterate by index.

  • css/StyleResolver.cpp:

(RuleData):
(WebCore::RuleData::selector):
(WebCore::RuleData::selectorIndex):
(SameSizeAsRuleData):
(RuleSet):
(WebCore::makeRuleSet):
(WebCore::StyleResolver::collectMatchingRulesForList):

  • css/StyleResolver.h:

(WebCore::StyleResolver::RuleFeature::RuleFeature):
(RuleFeature):

Store selector indices instead of CSSSelector* pointers.

9:48 AM Changeset in webkit [125293] by commit-queue@webkit.org
  • 12 edits
    1 delete in trunk/Source/WebCore

Remove custom bindings from WaveShaperNode.
https://bugs.webkit.org/show_bug.cgi?id=93613

Patch by Vineet Chaudhary <Vineet> on 2012-08-10
Reviewed by Kentaro Hara.

We should remove custom bindings as CodeGenerator uses UNUSED_PARAM macro.

TestObj.idl
No behavioural changes.
All tests under webaudio/* should behave same.

  • GNUmakefile.list.am: Removed JSWaveShaperNodeCustom.cpp from builds.
  • Modules/webaudio/WaveShaperNode.idl: Removed [JSCustomSetter].
  • UseJSC.cmake: Removed JSWaveShaperNodeCustom.cpp from builds.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSWaveShaperNodeCustom.cpp: Removed.
  • bindings/scripts/CodeGeneratorCPP.pm:

(SkipAttribute): Skip TypedArray attribute.

  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipAttribute): Skip TypedArray attribute.

  • bindings/scripts/CodeGeneratorObjC.pm:

(SkipAttribute): Skip TypedArray attribute.

  • bindings/scripts/test/JS/JSTestObj.cpp: Bindings tests.

(WebCore::jsTestObjTypedArrayAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjTypedArrayAttr):

  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/TestObj.idl: Test.
  • bindings/scripts/test/V8/V8TestObj.cpp: Bindings tests.

(WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
(TestObjV8Internal):
(WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):

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

REGRESSION (r123848): Heap-use-after-free in WebCore::CachedResource::didAddClient.
https://bugs.webkit.org/show_bug.cgi?id=93632
-and corresponding-
<http://crbug.com/140656>

Patch by Huang Dongsung <luxtella@company100.net> on 2012-08-10
Reviewed by Antti Koivisto.

CachedCSSStyleSheet::didAddClient() calls CachedStyleSheetClient::setCSSStyleSheet
and HTMLLnkElement can be CachedStyleSheetClient.
HTMLLinkElement::setCSSStyleSheet may cause scripts to be executed, which could
destroy the HTMLLinkElement instance. After calliing
CachedStyleSheetClient::setCSSStyleSheet, using the CachedStyleSheetClient
instance can cause Heap-use-after-free.

r115625 prevents HTMLLinkElement from being destroyed during
HTMLLinkElement::setCSSStyleSheet, but r115625 doesn't prevent HTMLLinkElement
from being destroyed after HTMLLinkElement::setCSSStyleSheet.

So this patch calls CachedResource::didAddClient() before calling
setCSSStyleSheet() to make sure its client is not destroyed.

No new tests. it's covered by fast/css/cached-sheet-restore-crash.html.

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::didAddClient):

9:30 AM Changeset in webkit [125291] by rafael.lobo@openbossa.org
  • 2 edits in trunk/Source/WebKit2

[Qt] WebViewLoadFavIcon::test_favIconLoad() fails
https://bugs.webkit.org/show_bug.cgi?id=91888

Reviewed by Simon Hausmann.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:

We should wait for iconChanged signal instead of loadFinished,
there was no guarantee that at that point we would get it already.

9:21 AM Changeset in webkit [125290] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[BlackBerry] GCActivityCallback should always schedule GC even allocated bytes is a small number
https://bugs.webkit.org/show_bug.cgi?id=93650

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

Even a small number of allocated JS objects could hold expensive resources.

  • runtime/GCActivityCallbackBlackBerry.cpp:

(JSC::DefaultGCActivityCallback::didAllocate):

9:15 AM Changeset in webkit [125289] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Horizontal scrollbar appears in the month-year selector of input[type=date]
https://bugs.webkit.org/show_bug.cgi?id=93517

Patch by Kevin Ellis <kevers@chromium.org> on 2012-08-10
Reviewed by Kent Tamura.

Update size of the month-year selector popup to account for the
width of the vertical scrollbar being platform dependent.

  • Resources/calendarPicker.css:

(.month-selector-popup): Suppress horizontal scrolling.

  • Resources/calendarPicker.js:

(YearMonthController.prototype.attachTo): Add a sizer element to facilitate determining the scrollbar width.
(YearMonthController.prototype._showPopup): Use computed scrollbar width for popup resizing.

9:08 AM Changeset in webkit [125288] by allan.jensen@nokia.com
  • 2 edits in trunk/Source/WebKit2

[Qt] Uninitialized flags in CoordinatedGraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=93719

Reviewed by Kenneth Rohde Christiansen.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):

9:06 AM Changeset in webkit [125287] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Unreviewed, fix frontend compilability after r125268.

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.NamedFlow):
(WebInspector.NamedFlow.parsePayloadArray):

9:00 AM Changeset in webkit [125286] by Lucas Forschler
  • 2 edits in branches/safari-536.26-branch/Source/JavaScriptCore

Windows build fix after merging radar 12050720.
Add missing symbols.


8:56 AM Changeset in webkit [125285] by commit-queue@webkit.org
  • 50 edits in trunk

[Qt] Dotted borders not drawn with rounded dots
https://bugs.webkit.org/show_bug.cgi?id=92383

Patch by Martin Leutelt <martin.leutelt@basyskom.com> on 2012-08-10
Reviewed by Noam Rosenthal.

The dots in borders with dotted style were previously drawn with
rectangular dots. The CSS spec specifies that the dots should be
rounded dots. This patch fixes this behavior for the Qt port.

No new tests, existing ones have been updated with new expected
results.

Source/WebCore:

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::adjustPointsForDottedLine):
(WebCore):
(WebCore::drawLineEndpointsForStyle):
(WebCore::GraphicsContext::drawLine):

LayoutTests:

  • platform/qt/css2.1/t170602-bdr-conflct-w-04-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-14-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-24-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-34-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-41-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-42-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-43-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-44-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-49-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-94-d-expected.png:
  • platform/qt/editing/inserting/editing-empty-divs-expected.png:
  • platform/qt/fast/backgrounds/repeat/negative-offset-repeat-expected.png:
  • platform/qt/fast/css/margin-top-bottom-dynamic-expected.png:
  • platform/qt/fast/layers/opacity-outline-expected.png:
  • platform/qt/fast/lists/ordered-list-with-no-ol-tag-expected.png:
  • platform/qt/fast/multicol/progression-reverse-expected.png:
  • platform/qt/fast/overflow/overflow-with-local-background-attachment-expected.png:
  • platform/qt/fast/table/border-collapsing/001-expected.png:
  • platform/qt/fast/table/border-collapsing/001-vertical-expected.png:
  • platform/qt/svg/custom/no-inherited-dashed-stroke-expected.png:
  • platform/qt/svg/transforms/svg-css-transforms-expected.png:
  • platform/qt/tables/mozilla/bugs/bug22019-expected.png:
  • platform/qt/tables/mozilla/bugs/bug2947-expected.png:
  • platform/qt/tables/mozilla/bugs/bug6674-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_layers-opacity-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_position-table-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_simple-table-cell-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_simple-table-column-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_simple-table-column-group-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_simple-table-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_simple-table-row-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_simple-table-row-group-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.png:
  • platform/qt/transforms/svg-vs-css-expected.png:
8:42 AM Changeset in webkit [125284] by pfeldman@chromium.org
  • 12 edits in trunk

Web Inspector: render arrays as dir in case they were logged into console prior to the front-end opening.
https://bugs.webkit.org/show_bug.cgi?id=93713

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Dumping potentially outdated arrays using the "dir" representation.

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
(WebInspector.ConsoleMessageImpl.prototype.clone):

  • inspector/front-end/ConsoleModel.js:

(WebInspector.ConsoleModel.prototype.enableAgent.callback):
(WebInspector.ConsoleModel.prototype.enablingConsole):
(WebInspector.ConsoleMessage.create):
(WebInspector.ConsoleDispatcher.prototype.messageAdded):

  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleMessage.create):

LayoutTests:

  • inspector/console/console-dirxml-expected.txt:
  • inspector/console/console-external-array-expected.txt:
  • inspector/console/console-format-collections-expected.txt:
  • inspector/console/console-format-expected.txt:
  • inspector/console/console-format.html:
  • inspector/console/console-tests-expected.txt:
  • platform/chromium/inspector/console/console-format-collections-expected.txt:
8:36 AM Changeset in webkit [125283] by danakj@chromium.org
  • 4 edits in trunk/Source/WebCore

[chromium] Fix the colors in the debugging HUD
https://bugs.webkit.org/show_bug.cgi?id=93656

Reviewed by Adrienne Walker.

The R and B channels became swapped in our compositor debug HUD when
wkb.ug/92182 happened. This corrects the problem by swizzling the
color channels when we draw to the SkCanvas, so that it matches the
expectations of the shader.

Chromium bug: crbug.com/139908

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

(WebCore::CCFontAtlas::drawText):
(WebCore::CCFontAtlas::drawOneLineOfTextInternal):

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

(CCFontAtlas):

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

(WebCore::createPaint):
(WebCore):
(WebCore::CCHeadsUpDisplayLayerImpl::drawHudContents):
(WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounter):
(WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounterText):
(WebCore::CCHeadsUpDisplayLayerImpl::drawDebugRects):

8:29 AM Changeset in webkit [125282] by danakj@chromium.org
  • 6 edits in trunk/Source

[chromium] Remove scissor from the namings in CCOcclusionTracker
https://bugs.webkit.org/show_bug.cgi?id=93630

Reviewed by Adrienne Walker.

Source/WebCore:

As a followup to wkb.ug/91800 which stops using partial-swap scissor
in the occlusion tracker, this does a large rename to the occlusion
tracker and affected tests to remove "scissor" from the names of its
variables and methods, instead reflecting their new behaviour.

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

(WebCore::::CCOcclusionTrackerBase):
(WebCore::addOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):
(WebCore::testContentRectOccluded):
(WebCore::::occluded):
(WebCore::computeUnoccludedContentRect):
(WebCore::::unoccludedContentRect):
(WebCore::::unoccludedContributingSurfaceContentRect):
(WebCore::::layerClipRectInTarget):
(WebCore):

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

(CCOcclusionTrackerBase):
(WebCore::CCOcclusionTrackerBase::computeVisibleRegionInScreen):

Source/WebKit/chromium:

  • tests/CCOcclusionTrackerTest.cpp:

(WebKitTests::TestCCOcclusionTrackerWithClip::TestCCOcclusionTrackerWithClip):
(WebKitTests::TestCCOcclusionTrackerWithClip::setLayerClipRect):
(WebKitTests::TestCCOcclusionTrackerWithClip::useDefaultLayerClipRect):
(WebKitTests::TestCCOcclusionTrackerWithClip::layerClipRectInTarget):
(TestCCOcclusionTrackerWithClip):
(WebKitTests::CCOcclusionTrackerTestIdentityTransforms::runMyTest):
(WebKitTests::CCOcclusionTrackerTestRotatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestTranslatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestChildInRotatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestVisitTargetTwoTimes::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceRotatedOffAxis::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceWithTwoOpaqueChildren::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblings::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblingsWithTwoTransforms::runMyTest):
(WebKitTests::CCOcclusionTrackerTestFilters::runMyTest):
(WebKitTests::CCOcclusionTrackerTestReplicaDoesOcclude::runMyTest):
(WebKitTests::CCOcclusionTrackerTestReplicaWithClipping::runMyTest):
(WebKitTests::CCOcclusionTrackerTestReplicaWithMask::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerClipRectOutsideChild::runMyTest):
(WebKitTests):
(WebKitTests::CCOcclusionTrackerTestViewportRectOutsideChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerClipRectOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestViewportRectOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerClipRectPartlyOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestViewportRectPartlyOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerClipRectOverNothing::runMyTest):
(WebKitTests::CCOcclusionTrackerTestViewportRectOverNothing::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerClipRectForLayerOffOrigin::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOpaqueContentsRegionEmpty::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOpaqueContentsRegionNonEmpty::runMyTest):
(WebKitTests::CCOcclusionTrackerTest3dTransform::runMyTest):
(WebKitTests::CCOcclusionTrackerTestUnsorted3dLayers::runMyTest):
(WebKitTests::CCOcclusionTrackerTestPerspectiveTransform::runMyTest):
(WebKitTests::CCOcclusionTrackerTestPerspectiveTransformBehindCamera::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerBehindCameraDoesNotOcclude::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationOpacity1OnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationOpacity0OnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationTranslateOnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceOcclusionTranslatesToParent::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceOcclusionTranslatesWithClipping::runMyTest):
(WebKitTests::CCOcclusionTrackerTestReplicaOccluded::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceWithReplicaUnoccluded::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceAndReplicaOccludedDifferently::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceChildOfSurface::runMyTest):
(WebKitTests::CCOcclusionTrackerTestTopmostSurfaceIsClippedToViewport::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceChildOfClippingSurface::runMyTest):
(WebKitTests::CCOcclusionTrackerTestDontOccludePixelsNeededForBackgroundFilter::runMyTest):
(WebKitTests::CCOcclusionTrackerTestTwoBackgroundFiltersReduceOcclusionTwice::runMyTest):
(WebKitTests::CCOcclusionTrackerTestDontOccludePixelsNeededForBackgroundFilterWithClip::runMyTest):
(WebKitTests::CCOcclusionTrackerTestDontReduceOcclusionBelowBackgroundFilter::runMyTest):
(WebKitTests::CCOcclusionTrackerTestDontReduceOcclusionIfBackgroundFilterIsOccluded::runMyTest):
(WebKitTests::CCOcclusionTrackerTestReduceOcclusionWhenBackgroundFilterIsPartiallyOccluded::runMyTest):
(WebKitTests::CCOcclusionTrackerTestMinimumTrackingSize::runMyTest):

  • tests/TiledLayerChromiumTest.cpp:
8:21 AM Changeset in webkit [125281] by Lucas Forschler
  • 2 edits in branches/safari-536.26-branch/Source/JavaScriptCore

Windows build fix after merging radar 12050720.
Part 2 - removing symbols.

8:20 AM Changeset in webkit [125280] by jonlee@apple.com
  • 6 edits
    2 adds in trunk

Change Notification.permissionLevel() to Notification.permission
https://bugs.webkit.org/show_bug.cgi?id=88919
<rdar://problem/11650319>

Reviewed by Kentaro Hara.

Source/WebCore:

Retrieving the permission level has changed to Notification.permission, per this discussion:
http://lists.w3.org/Archives/Public/public-web-notification/2012Jun/0000.html

Test: fast/notifications/notifications-permission.html

  • Modules/notifications/Notification.cpp: Rename to match attribute name.

(WebCore::Notification::permission):

  • Modules/notifications/Notification.h: Rename to match attribute name.

(Notification):

  • Modules/notifications/Notification.idl: Change to static readonly attribute.

LayoutTests:

  • fast/notifications/notifications-permission-expected.txt: Added.
  • fast/notifications/notifications-permission.html: Added.
  • platform/chromium/TestExpectations: V8 does not properly support IDL static

attributes. This is tracked in bug 93488.

8:16 AM Changeset in webkit [125279] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Remove collectIsolatedContexts() from V8Proxy
https://bugs.webkit.org/show_bug.cgi?id=93682

Reviewed by Adam Barth.

We want to remove V8Proxy. This patch removes V8Proxy::collectIsolatedContexts().

No tests. No change in behavior.

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::collectIsolatedContexts):

  • bindings/v8/V8Proxy.cpp:

(WebCore::V8Proxy::collectIsolatedContexts):

7:12 AM Changeset in webkit [125278] by Simon Hausmann
  • 2 edits in trunk/Source/WebCore

[Qt] Unreviewed trivial build fix: Avoid passing a non-existance WebCore/websockets directory
to the generators, which produces unnecessary warnings. The module lives now in WebCore/Modules/websockets.

  • DerivedSources.pri:
6:42 AM Changeset in webkit [125277] by caseq@chromium.org
  • 10 edits
    1 delete in trunk

Web Inspector: add frame ids to TimeStamp, Time and TimeEnd records in Timeline
https://bugs.webkit.org/show_bug.cgi?id=93699

Reviewed by Pavel Feldman.

Source/WebCore:

  • plumb Frame from Console to TimelineAgent and use it to add frameId to 3 timeline records;
  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::startConsoleTiming):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::startConsoleTimingImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didTimeStamp):
(WebCore::InspectorTimelineAgent::time):
(WebCore::InspectorTimelineAgent::timeEnd):

  • inspector/InspectorTimelineAgent.h:

(InspectorTimelineAgent):

  • page/Console.cpp:

(WebCore::Console::markTimeline):
(WebCore::Console::time):
(WebCore::Console::timeEnd):
(WebCore::Console::timeStamp):

LayoutTests:

  • rebased expectations to include frameId field;
  • removed platform overrides for chromium as these are identical to the default ones;
  • inspector/timeline/timeline-mark-timeline-expected.txt:
  • inspector/timeline/timeline-time-stamp-expected.txt:
  • platform/chromium/inspector/timeline/timeline-mark-timeline-expected.txt: Removed.
  • platform/chromium/inspector/timeline/timeline-time-stamp-expected.txt: Removed.
6:40 AM Changeset in webkit [125276] by Simon Hausmann
  • 2 edits in trunk/Source/WebCore

[Qt] Fix failing assertions when using JSC C API in QObject bridge
https://bugs.webkit.org/show_bug.cgi?id=93720

Reviewed by Kenneth Rohde Christiansen.

Avoid calling JSValueProtect and JSValueIsEqual with null JSValueRefs, as in debug
builds they trigger failing assertions about the arguments being non-null.

In these signal & slot connections the receiver can be null, when the signal is connected
just to a function, for example using obj.mySignal.connect(function() { .... }).

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::QtConnectionObject::QtConnectionObject):
(JSC::Bindings::QtConnectionObject::~QtConnectionObject):
(JSC::Bindings::QtConnectionObject::match):

6:37 AM Changeset in webkit [125275] by Simon Hausmann
  • 4 edits in trunk/Source

[Qt] Remove QRegExp <> JS RegExp conversion
https://bugs.webkit.org/show_bug.cgi?id=93716

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Removed automatic conversion between QRegExp and JS regular expressions. The semantics
between the expressions are totally different, which can cause data loss and unexpected
behaviour. QJSEngine/Value doesn't have this conversion anymore neither.

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::operator<<):
(JSC::Bindings::valueRealType):
(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):

Source/WebKit/qt:

Removed tests that cover the automatic QRegExp <> JS RegExp conversion. See WebCore
ChangeLog for details.

  • tests/qobjectbridge/tst_qobjectbridge.cpp:

(MyQObject::emitMySignalWithDateTimeArg):
(MyQObject):
(tst_QObjectBridge::overloadedSlots):
(tst_QObjectBridge::typeConversion):

6:35 AM Changeset in webkit [125274] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviwed gardening.
https://bugs.webkit.org/show_bug.cgi?id=93718

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-08-10

  • platform/qt/Skipped: xmlviewer/extensions-api.html moved, skip new failing test after r125262.
6:29 AM Changeset in webkit [125273] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[EFL][WK2] Add Skipped file for EFL WK2
https://bugs.webkit.org/show_bug.cgi?id=93645

Unreviewed gardening.

Added LayoutTests/platform/efl-wk2/Skipped file, so that it will be possible to keep EFL WK2 bot green.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-10

  • platform/efl-wk2/Skipped: Added.
6:24 AM Changeset in webkit [125272] by caseq@chromium.org
  • 6 edits
    1 delete in trunk

Web Inspector: console.timeStamp() marked are not shown in Timeline overview
https://bugs.webkit.org/show_bug.cgi?id=93697

Reviewed by Pavel Feldman.

Source/WebCore:

  • ignore frameId on TimeStamp records, consider it's always an event divider.
  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.isEventDivider):

LayoutTests:

  • add support for dumpting timestamp records to timeline test suite;
  • dump timestamp records for TimeStamp tests;
  • inspector/timeline/timeline-test.js:

(initialize_Timeline.InspectorTest.stopTimeline):
(initialize_Timeline.InspectorTest.performActionsAndPrint.step3):
(initialize_Timeline.InspectorTest.performActionsAndPrint):
(initialize_Timeline.InspectorTest.printTimelineRecords):
(initialize_Timeline.InspectorTest.printTimestampRecords):
(initialize_Timeline.InspectorTest.innerPrintTimelineRecords):

  • inspector/timeline/timeline-time-stamp-expected.txt:
  • inspector/timeline/timeline-time-stamp.html:
  • platform/chromium/inspector/timeline/timeline-time-stamp-expected.txt: Removed.
6:10 AM WebInspector edited by wil@marrant.org
(diff)
4:46 AM Changeset in webkit [125271] by mihnea@adobe.com
  • 4 edits in trunk

[CSS Regions] region-overflow: break still renders the content that does not fit in the last region.
https://bugs.webkit.org/show_bug.cgi?id=92996

Reviewed by Julien Chaffraix.

Source/WebCore:

Flow content that follows the last break in the last region, if any, should not be rendered
for the regions with region-overflow: break.
http://www.w3.org/TR/css3-regions/#the-region-overflow-property

Modified the expected result for existing test fast/regions/region-overflow-break.html
to reflect the correct behavior.

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::regionOversetRect):

LayoutTests:

Modified expected result for original test to match the behavior described in the regions spec.

  • fast/regions/region-overflow-break-expected.html:
4:27 AM Changeset in webkit [125270] by Lucas Forschler
  • 2 edits in branches/safari-536.26-branch/Source/JavaScriptCore

Windows build fix after merging radar 12050720.

3:09 AM Changeset in webkit [125269] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Gardening of failing tests
https://bugs.webkit.org/show_bug.cgi?id=93700

Unreviewed EFL gardening.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-10

  • platform/efl/Skipped: Test extensions-api.html moved out of

the http directory in r125222.

  • platform/efl/TestExpectations: Add failing tests to the Test

Expectations and unskip passing test.

2:58 AM Changeset in webkit [125268] by commit-queue@webkit.org
  • 12 edits in trunk

Web Inspector: Protocol Extension: Refactor protocol extension for CSS Regions
https://bugs.webkit.org/show_bug.cgi?id=92089

Patch by Andrei Poenaru <poenaru@adobe.com> on 2012-08-10
Reviewed by Pavel Feldman.

Source/WebCore:

Replaced "WebKitNamedFlowCollection::namedFlowsNames" with "WebKitNamedFlowCollection::namedFlows" to return a Vector of "WebKitNamedFlow"s,
instead of a Vector of Strings.

Added the "Region" type to Inspector.json.
Changed the "NamedFlow" type and the "getNamedFlowCollection" function in Inspector.json.

Modified existing test: inspector/styles/protocol-css-regions-commands.html

  • dom/WebKitNamedFlowCollection.cpp:

(WebCore::WebKitNamedFlowCollection::namedFlows):

  • dom/WebKitNamedFlowCollection.h:

(WebKitNamedFlowCollection):

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

(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::getFlowByName):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):

  • inspector/InspectorCSSAgent.h:

(InspectorCSSAgent):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::pushNodeToFrontend):
(WebCore):

  • inspector/InspectorDOMAgent.h:

(InspectorDOMAgent):

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
(WebInspector.NamedFlow):
(WebInspector.NamedFlow.parsePayloadArray):

LayoutTests:

Changed the test to validate the changes made to the protocol.

  • inspector/styles/protocol-css-regions-commands-expected.txt:
  • inspector/styles/protocol-css-regions-commands.html:
2:57 AM WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
2:51 AM Changeset in webkit [125267] by mario@webkit.org
  • 5 edits in trunk/Source/WebKit2

[WK2][GTK] Implement new API to save a web page using MHTML
https://bugs.webkit.org/show_bug.cgi?id=89873

Reviewed by Carlos Garcia Campos.

Implemented new asynchronous API in WebKitWebView for saving a web
page to a GInputStream or to a file, using MHTML as the only
supported method at the moment.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(ViewSaveAsyncData):
(webViewFileSavedCallback):
(webViewMHTMLDataGotCallback):
(webkit_web_view_save):
(webkit_web_view_save_finish):
(webkit_web_view_save_to_file):
(webkit_web_view_save_to_file_finish):

  • UIProcess/API/gtk/WebKitWebView.h:

Added new unit test.

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

(testWebViewSave):
(beforeAll):
(afterAll):

Updated documentation files with new symbols.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2:46 AM Changeset in webkit [125266] by keishi@webkit.org
  • 3 edits in trunk/Source/WebCore

Resize calandar and color suggestion popups to show error message
https://bugs.webkit.org/show_bug.cgi?id=93695

Reviewed by Kent Tamura.

r125169 made PagePopupClient::contentSize() return zero size and so to
see the error message, we need to resize the page popup.

No new tests. Not user facing.

  • Resources/calendarPicker.js:

(resizeWindow): Resizes popup window to given size.
(showMain): Initiates transition to show the main element.
(initialize):
(fixWindowSize):

  • Resources/colorSuggestionPicker.js:

(resizeWindow):
(initialize):
(ColorPicker.prototype._layout):

2:43 AM Changeset in webkit [125265] by yurys@chromium.org
  • 16 edits
    1 copy in trunk/Source/WebCore

Web Inspector: further ResourceLoader memory instrumentation
https://bugs.webkit.org/show_bug.cgi?id=93692

Reviewed by Vsevolod Vlasov.

Added missing parts to ResourceLoader and its descendants memory instrumentation.
Added special logic for KURL and report the urls where we have them in instrumented classes.

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

(WebCore::StyleSheetContents::reportMemoryUsage):

  • dom/Document.cpp:

(WebCore::Document::reportMemoryUsage):

  • dom/MemoryInstrumentation.cpp:

(WebCore::MemoryInstrumentation::addObject):
(WebCore):

  • dom/MemoryInstrumentation.h:

(WebCore):
(MemoryInstrumentation):
(WebCore::MemoryClassInfo::addMember):

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::reportMemoryUsage):
(WebCore):

  • loader/MainResourceLoader.h:

(MainResourceLoader):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::reportMemoryUsage):
(WebCore):

  • loader/SubresourceLoader.h:

(SubresourceLoader):

  • loader/SubstituteData.cpp: Copied from Source/WebCore/dom/MemoryInstrumentation.cpp.

(WebCore):
(WebCore::SubstituteData::reportMemoryUsage):

  • loader/SubstituteData.h:

(WebCore):
(SubstituteData):

2:30 AM Changeset in webkit [125264] by allan.jensen@nokia.com
  • 6 edits in trunk/LayoutTests

Unreviewed gardening, rebaselining marked tests from r125167.

  • platform/chromium-mac/fast/block/float/overhanging-tall-block-expected.txt:
  • platform/chromium-win/fast/block/float/overhanging-tall-block-expected.txt:
  • platform/chromium/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/fast/block/float/overhanging-tall-block-expected.txt:
2:24 AM Changeset in webkit [125263] by yosin@chromium.org
  • 2 edits
    10 adds in trunk/Source/WebCore

[Forms] Introduce shadow elements for multiple fields time input UI
https://bugs.webkit.org/show_bug.cgi?id=92960

Reviewed by Kent Tamura.

This patch introduces shadow elements for multiple fields time input UI:

  • DateTimeAMPMFieldElement - field UI for AM/PM
  • DateTimeEditElement - container of multiple DateTimeFieldElement
  • DateTimeFieldElement - base class of field UI
  • DateTimeHourFieldElement - field UI for hour
  • DateTimeMillisecondFieldElement - field UI for millisecond
  • DateTimeMinuteFieldElement - field UI for minute
  • DateTimeNumericFieldElement - base class of numeric field UI.
  • DateTimeSecondFieldElement - field UI for second
  • DateTimeSymbolicFieldElement - base class for symbolic field UI

inside of ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS build flag.

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

  • WebCore.gypi: Changed to include html/shadow/DateTimeEditElement.cpp,

html/shadow/DateTimeEdditElement.h, html/shadow/DateTimeFieldElement.cpp,
html/shadow/DateTimeFieldElement.h, html/shadow/DateTimeFieldElements.cpp,
html/shadow/DateTimeFieldElements.h, html/shadow/DateTimeNumericFieldElement.cpp,
html/shadow/DateTimeNumericFieldElement.h, html/shadow/DateTimeSymbolicFieldElement.cpp,
and html/shadow/DateTimeSymbolicFieldElement.h.

  • html/shadow/DateTimeEditElement.cpp: Added.

(DateTimeEditBuilder):
(WebCore::DateTimeEditBuilder::DateTimeEditBuilder):
(WebCore::DateTimeEditBuilder::build):
(WebCore::DateTimeEditBuilder::needMillisecondField):
(WebCore::DateTimeEditBuilder::needMinuteField):
(WebCore::DateTimeEditBuilder::needSecondField):
(WebCore::DateTimeEditBuilder::shouldMillisecondFieldReadOnly):
(WebCore::DateTimeEditBuilder::shouldMinuteFieldReadOnly):
(WebCore::DateTimeEditBuilder::shouldSecondFieldReadOnly):
(WebCore::DateTimeEditBuilder::visitField):
(WebCore::DateTimeEditBuilder::visitLiteral):
(WebCore::DateTimeEditElement::EditControlOwner::~EditControlOwner):
(WebCore::DateTimeEditElement::DateTimeEditElement):
(WebCore::DateTimeEditElement::~DateTimeEditElement):
(WebCore::DateTimeEditElement::addField):
(WebCore::DateTimeEditElement::create):
(WebCore::DateTimeEditElement::disabledStateChanged): Called when owner's disabled state is changed.
(WebCore::DateTimeEditElement::fieldAt):
(WebCore::DateTimeEditElement::focusFieldAt):
(WebCore::DateTimeEditElement::handleKeyboardEvent):
(WebCore::DateTimeEditElement::fieldValueChanged):
(WebCore::DateTimeEditElement::focusOnNextField):
(WebCore::DateTimeEditElement::handleMouseEvent):
(WebCore::DateTimeEditElement::isDisabled):
(WebCore::DateTimeEditElement::isReadOnly):
(WebCore::DateTimeEditElement::layout):
(WebCore::DateTimeEditElement::nextFieldIndex):
(WebCore::DateTimeEditElement::previousFieldIndex):
(WebCore::DateTimeEditElement::readOnlyStateChanged): Called when owner's readOnly state is changed.
(WebCore::DateTimeEditElement::resetLayout):
(WebCore::DateTimeEditElement::defaultEventHandler):
(WebCore::DateTimeEditElement::setValueAsDate):
(WebCore::DateTimeEditElement::setEmptyValue):
(WebCore::DateTimeEditElement::spinButtonStepDown):
(WebCore::DateTimeEditElement::spinButtonStepUp):
(WebCore::DateTimeEditElement::updateUIState):
(WebCore::DateTimeEditElement::valueAsDouble):

  • html/shadow/DateTimeEditElement.h: Added.

(DateTimeEditElement):
(EditControlOwner):
(WebCore::DateTimeEditElement::removeEditControlOwner):

  • html/shadow/DateTimeFieldElement.cpp: Added.

(WebCore::DateTimeFieldElement::FieldEventHandler::~FieldEventHandler):
(WebCore::DateTimeFieldElement::DateTimeFieldElement):
(WebCore::DateTimeFieldElement::defaultEventHandler):
(WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
(WebCore::DateTimeFieldElement::focusOnNextField):
(WebCore::DateTimeFieldElement::initialize):
(WebCore::DateTimeFieldElement::isReadOnly):
(WebCore::DateTimeFieldElement::setReadOnly):
(WebCore::DateTimeFieldElement::updateVisibleValue):
(WebCore::DateTimeFieldElement::valueAsDouble):

  • html/shadow/DateTimeFieldElement.h: Added.

(DateTimeFieldElement):
(FieldEventHandler):
(WebCore::DateTimeFieldElement::removeEventHandler):

  • html/shadow/DateTimeFieldElements.cpp: Added.

(WebCore::DateTimeAMPMFieldElement::DateTimeAMPMFieldElement):
(WebCore::DateTimeAMPMFieldElement::create):
(WebCore::DateTimeAMPMFieldElement::setValueAsDate):
(WebCore::DateTimeAMPMFieldElement::unitInMillisecond):
(WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement):
(WebCore::DateTimeHourFieldElement::create):
(WebCore::DateTimeHourFieldElement::setValueAsDate):
(WebCore::DateTimeHourFieldElement::setValueAsInteger):
(WebCore::DateTimeHourFieldElement::unitInMillisecond):
(WebCore::DateTimeHourFieldElement::valueAsInteger):
(WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement):
(WebCore::DateTimeMillisecondFieldElement::create):
(WebCore::DateTimeMillisecondFieldElement::setValueAsDate):
(WebCore::DateTimeMillisecondFieldElement::unitInMillisecond):
(WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement):
(WebCore::DateTimeMinuteFieldElement::create):
(WebCore::DateTimeMinuteFieldElement::setValueAsDate):
(WebCore::DateTimeMinuteFieldElement::unitInMillisecond):
(WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement):
(WebCore::DateTimeSecondFieldElement::create):
(WebCore::DateTimeSecondFieldElement::setValueAsDate):
(WebCore::DateTimeSecondFieldElement::unitInMillisecond):

  • html/shadow/DateTimeFieldElements.h: Added.

(DateTimeAMPMFieldElement):
(DateTimeHourFieldElement):
(DateTimeMillisecondFieldElement):
(DateTimeMinuteFieldElement):
(DateTimeSecondFieldElement):

  • html/shadow/DateTimeNumericFieldElement.cpp: Added.

(WebCore::displaySizeOfNumber):
(WebCore::DateTimeNumericFieldElement::Range::Range):
(WebCore::DateTimeNumericFieldElement::Range::clumpValue):
(WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
(WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
(WebCore::DateTimeNumericFieldElement::hasValue):
(WebCore::DateTimeNumericFieldElement::setEmptyValue):
(WebCore::DateTimeNumericFieldElement::setValueAsInteger):
(WebCore::DateTimeNumericFieldElement::stepDown):
(WebCore::DateTimeNumericFieldElement::stepUp):
(WebCore::DateTimeNumericFieldElement::value):
(WebCore::DateTimeNumericFieldElement::valueAsInteger):
(WebCore::DateTimeNumericFieldElement::visibleValue):

  • html/shadow/DateTimeNumericFieldElement.h: Added.

(DateTimeNumericFieldElement):
(WebCore::DateTimeNumericFieldElement::clumpValue):
(WebCore::DateTimeNumericFieldElement::range):

  • html/shadow/DateTimeSymbolicFieldElement.cpp: Added.

(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
(WebCore::DateTimeSymbolicFieldElement::handleKeyboardEvent):
(WebCore::DateTimeSymbolicFieldElement::hasValue):
(WebCore::DateTimeSymbolicFieldElement::setEmptyValue):
(WebCore::DateTimeSymbolicFieldElement::setValueAsInteger):
(WebCore::DateTimeSymbolicFieldElement::stepDown):
(WebCore::DateTimeSymbolicFieldElement::stepUp):
(WebCore::DateTimeSymbolicFieldElement::value):
(WebCore::DateTimeSymbolicFieldElement::valueAsInteger):
(WebCore::DateTimeSymbolicFieldElement::visibleValue):

  • html/shadow/DateTimeSymbolicFieldElement.h: Added.

(DateTimeSymbolicFieldElement):

2:06 AM Changeset in webkit [125262] by tony@chromium.org
  • 4 edits
    6 adds in trunk

implement display: -webkit-inline-flex
https://bugs.webkit.org/show_bug.cgi?id=77772

Reviewed by Ojan Vafai.

Source/WebCore:

The crashes last time were because we were marking too much of the tree for relayout. During some editing
operations, this causes a layout when we're in an inconsistent state.

Tests: css3/flexbox/inline-flex-crash.html

css3/flexbox/inline-flex-crash2.html
css3/flexbox/inline-flex.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Only layout the child.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Only layout the child.
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Only layout the child.

  • rendering/style/RenderStyle.h: Include INLINE_FLEX as an inline and replaced display type.

LayoutTests:

Include 2 crash tests that caused this to be reverted the last time.

  • css3/flexbox/inline-flex-crash-expected.txt: Added.
  • css3/flexbox/inline-flex-crash.html: Added.
  • css3/flexbox/inline-flex-crash2-expected.txt: Added.
  • css3/flexbox/inline-flex-crash2.html: Added.
  • css3/flexbox/inline-flex-expected.html: Added.
  • css3/flexbox/inline-flex.html: Added.
1:46 AM Changeset in webkit [125261] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Moving the common code from CodegeneratorJS/V8.pm to Codegenerator.pm
https://bugs.webkit.org/show_bug.cgi?id=93616

Patch by Vineet Chaudhary <Vineet> on 2012-08-10
Reviewed by Adam Barth.

IsArrayType() IsConstructorTemplate() IsTypedArrayType() these methods
has the common implementaion for both V8 and JS and can be moved to
common place Codegenerator.pm

No new tests. There should be no behavioural changes.

  • bindings/scripts/CodeGenerator.pm: Moved common code here.

(IsArrayType):
(IsConstructorTemplate):
(IsSVGTypeWithWritablePropertiesNeedingTearOff):
(IsTypedArrayType):

  • bindings/scripts/CodeGeneratorJS.pm:

(AddIncludesForType):
(AddClassForwardIfNeeded):
(GenerateHeader):
(GenerateParametersCheckExpression):
(GenerateImplementation):
(NativeToJSValue):
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
(IsConstructable):

  • bindings/scripts/CodeGeneratorV8.pm:

(AddIncludesForType):
(GenerateHeader):
(GetHeaderClassInclude):
(GenerateParametersCheckExpression):
(GenerateImplementation):
(GetTypeNameOfExternalTypedArray):

1:16 AM Changeset in webkit [125260] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Unreviewed, rolling out r125230 and r125238.
http://trac.webkit.org/changeset/125230
http://trac.webkit.org/changeset/125238
https://bugs.webkit.org/show_bug.cgi?id=93698

Broke ChromiumOS browser tests. (Requested by yutak on
#webkit).

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

Source/WebCore:

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
(WebCore::TiledLayerChromium::updateContentRect):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):

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

(WebCore::CCLayerTilingData::contentRectToTileIndices):
(WebCore::CCLayerTilingData::setBounds):

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

Source/WebKit/chromium:

  • tests/TiledLayerChromiumTest.cpp:
1:08 AM Changeset in webkit [125259] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening, rebaselining after r125167.

  • platform/gtk/fast/block/float/overhanging-tall-block-expected.txt:
12:46 AM Changeset in webkit [125258] by Carlos Garcia Campos
  • 14 edits in trunk/Source

Handle SSL errors for SOUP
https://bugs.webkit.org/show_bug.cgi?id=90267

Reviewed by Martin Robinson.

Source/WebCore:

No new tests, this is covered by existing tests.

  • platform/LocalizedStrings.h:

(WebCore): Add unacceptableTLSCertificate() for SOUP.

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::unacceptableTLSCertificate):

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::unacceptableTLSCertificate):

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

(WebCore::ResourceError::ResourceError): Add new constructor for
SSL errors that receives a certificate and TLS errors.
(WebCore::ResourceError::tlsErrors): Return TLS errors.
(WebCore::ResourceError::certificate): Return the certificate.

  • platform/network/soup/ResourceHandleSoup.cpp:

(HostTLSCertificates): Helper class to store certificates for a
host.
(WebCore::HostTLSCertificateSet::add): Add a new certificate.
(WebCore::HostTLSCertificateSet::contains): Check whether
certificate is stored.
(WebCore::HostTLSCertificateSet::computeCertificateHash): Compute
the SHA1 of the certificate data.
(WebCore::allowsAnyHTTPSCertificateHosts): Global set to store
hostnames for which SSL errors should be ignored.
(WebCore::clientCertificates): Global map to store client
certificates.
(WebCore::hasUnignoredTLSErrors): Helper function to check whether
current message contains TLS errors that shouldn't be ignored and
certificate hasn't been approved already.
(WebCore::sendRequestCallback): Finish the load with an error in
case of SSL errors not handled by the SoupSession.
(WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate): Add
the given hostname to the list of hosts for which SSL errors are
ignored.
(WebCore::ResourceHandle::setClientCertificate): Store the client
certificate for the given host.
(WebCore::ResourceHandle::setIgnoreSSLErrors): Set whether all SSL
errors should be ignored.

Source/WebKit/efl:

Ignore SSL errors by default for compatibility.

  • ewk/ewk_main.cpp:

(_ewk_init_body):

Source/WebKit/gtk:

Ignore SSL errors by default for compatibility.

  • webkit/webkitglobals.cpp:

(webkitInit):

Source/WebKit2:

Ignore SSL errors by default for compatibility.

  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl):

  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMainGtk):

12:42 AM Changeset in webkit [125257] by arko@motorola.com
  • 8 edits
    2 adds in trunk

itemType.add should treat \t as a space.
https://bugs.webkit.org/show_bug.cgi?id=92991

Reviewed by Ryosuke Niwa.

Source/WebCore:

Earlier we used to append a space character i.e, ' ' to the string builder
if the last character of input string is not a space character in addToken()
method. We should add an space character if the last character of input is
not a HTML Space character like, '\n', '\r', '\t', '\f' or ' '.

We can observe the same behavior in FireFox, Opera and IE. They also treat
HTML space character as a space.

Test: fast/dom/MicroData/domsettabletokenlist-attributes-add-token.html

  • html/DOMTokenList.cpp:

(WebCore::DOMTokenList::addToken):

LayoutTests:

Added test to verifiy itemtype, itemref, itemprop attributes behavior on adding
a token in presence of trailing space characters.
Rebased existing test cases.

  • fast/dom/HTMLElement/class-list-expected.txt:
  • fast/dom/HTMLElement/class-list-quirks-expected.txt:
  • fast/dom/HTMLElement/script-tests/class-list.js:
  • fast/dom/HTMLOutputElement/dom-settable-token-list-expected.txt:
  • fast/dom/HTMLOutputElement/script-tests/dom-settable-token-list.js:
  • fast/dom/MicroData/domsettabletokenlist-attributes-add-token-expected.txt: Added.
  • fast/dom/MicroData/domsettabletokenlist-attributes-add-token.html: Added.
12:34 AM Changeset in webkit [125256] by tony@chromium.org
  • 4 edits in trunk/Source/WebCore

Remove unused isFlexingChildren and make m_flexingChildren a local variable
https://bugs.webkit.org/show_bug.cgi?id=93689

Reviewed by Ojan Vafai.

isFlexingChildren() is never called, so we can remove it.

m_flexingChildren is now only used locally, so remove the member variable and use a local variable.

No new tests, this is just a refactoring.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): Make flexingChildren a local.
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Make flexingChildren a local.
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp): No need to set m_flexingChildren since it's not used
outside of RenderDeprecatedFlexibleBox.

  • rendering/RenderDeprecatedFlexibleBox.h:

(RenderDeprecatedFlexibleBox): Remove m_flexingChildren and don't bit pack the remaining bool since it doesn't
do anything for 1 bool.

  • rendering/RenderObject.h:
12:28 AM Changeset in webkit [125255] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Search matches count view is flaky.
https://bugs.webkit.org/show_bug.cgi?id=93451

Patch by Sam D <dsam2912@gmail.com> on 2012-08-10
Reviewed by Pavel Feldman.

Modified css properties for aligning search panel.

No new tests.UI change.

  • inspector/front-end/inspector.css:

(.search-results-matches):

Note: See TracTimeline for information about the timeline view.