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

Timeline



Nov 17, 2012:

11:09 PM Changeset in webkit [135064] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Don't say there are dirty overlay scrollbars when they are clipped out
https://bugs.webkit.org/show_bug.cgi?id=102609

Reviewed by Brady Eidson.

Painting overlay scrollbars involves a second painting pass over the entire
RenderLayer subtree for a compositing layer, which can be very expensive.

Avoid this when possible by detecting when overflow controls are not in
the damage rect.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::rectForHorizontalScrollbar): Compute a local rect
for the horizontal scrollbar.
(WebCore::RenderLayer::rectForVerticalScrollbar): Compute a local rect
for the vertical scrollbar.
(WebCore::RenderLayer::positionOverflowControls): Use rectForHorizontalScrollbar()
and rectForVerticalScrollbar().
(WebCore::RenderLayer::overflowControlsIntersectRect): Return true if any
of the present overflow controls intersect the given local rect.
(WebCore::RenderLayer::paintOverflowControls): Bail if the damage rect
doesn't intersect any of the overflow controls.

  • rendering/RenderLayer.h:

(RenderLayer):

9:16 PM Changeset in webkit [135063] by abarth@webkit.org
  • 4 edits in trunk
REGRESSION (r133633): ASSERTION FAILED: m_wrapper
!m_jsFunction

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

Reviewed by Geoffrey Garen.

Source/WebCore:

JSNodeOwner has some smarts that wrappers of subclasses of Node need to
call during garbage collection. This patch teaches subclasses of Node
to have their JSMumbleOwner objects inherit from JSNodeOwner.

The immediate benefit of this patch is that we correctly avoid
collecting wrappers for HTMLAudioElements when they are reachable from
the DOM.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

LayoutTests:

Add two calls to gc() to make an ASSERT trigger on every run. One call
to gc() does not appear to be sufficient for reasons I don't fully
understand.

  • media/media-continues-playing-after-replace-source.html:
9:14 PM Changeset in webkit [135062] by Dimitri Glazkov
  • 3 edits in trunk/Tools

Remove unused code I wrote a long time ago from gardeningserver.py
https://bugs.webkit.org/show_bug.cgi?id=102605

Reviewed by Adam Barth.

  • Scripts/webkitpy/tool/servers/gardeningserver.py: Removed.
  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: Removed.
9:01 PM Changeset in webkit [135061] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source

Source/JavaScriptCore: Expose JSObject removeDirect and PrivateName to WebCore
https://bugs.webkit.org/show_bug.cgi?id=102546

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-17
Reviewed by Geoffrey Garen.

Export removeDirect for use in WebCore so JSDependentRetained works.

Source/WebCore: Expose JSObject::removeDirect and PrivateName to WebCore
https://bugs.webkit.org/show_bug.cgi?id=102546

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-17
Reviewed by Geoffrey Garen.

Add forwarding header for PrivateName, so JSDependentRetained works.

No new tests, just adding headers.

  • ForwardingHeaders/runtime/PrivateName.h: Added.
8:01 PM Changeset in webkit [135060] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Reduce the crazy number of parameters to RenderLayer clip-rect functions
https://bugs.webkit.org/show_bug.cgi?id=102604

Reviewed by Dan Bernstein.

Many of the RenderLayer member functions related to clip rect computation
took a long list of similar parameters. Gather these into a struct, ClipRectsContext,
that we pass to these functions

No functional changes.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateClipRects):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::backgroundClipRect):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::childrenClipRect):
(WebCore::RenderLayer::selfClipRect):
(WebCore::RenderLayer::localClipRect):

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::ClipRectsContext::ClipRectsContext):
(ClipRectsContext):
(RenderLayer):
(WebCore::RenderLayer::clipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::clippedByAncestor):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

8:01 PM Changeset in webkit [135059] by Simon Fraser
  • 6 edits in trunk

Simplify bounds computation for the RenderView's layer
https://bugs.webkit.org/show_bug.cgi?id=102597

Reviewed by Anders Carlsson.

Source/WebCore:

Computing the bounds of the main layer (that of the RenderView) used to do
a full RenderLayer walk, taking the union of the bounds of all the sublayers,
which is very expensive on large pages.

For the RenderView we can avoid that entirely and just use the RenderView's
document rect. Since page scaling happens as a transform on this layer,
we want the unscaled document rect.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateLayerBounds):

LayoutTests:

Progressions as a result of this change:

  • compositing/layer-creation/fixed-position-out-of-view-expected.txt: The height

is now the page height, since the page is scrollable.

  • compositing/tiling/tile-cache-zoomed-expected.txt: The main layer now is not

affected by the page scale transform.

  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt: Ditto.
7:37 PM Changeset in webkit [135058] by eric@webkit.org
  • 17 edits in trunk/Source/WebCore

Add ScriptWrappable to more WebCore classes which are commonly JS-wrapped
https://bugs.webkit.org/show_bug.cgi?id=102601

Reviewed by Adam Barth.

From my investigations all of these classes exist only to be exposed
to the web (via JavaScript) and are not used internally by WebCore.
I beleive all of them always have wrappers.
These were found using this code:
https://bugs.webkit.org/show_bug.cgi?id=102539#c2

Geolocation -- navigator.geolocation
WebKitCSSMatrix -- represent matrixes in JS through various APIs
DOMStringMap, NamedNodeMap, NodeIterator, TreeWalker -- exclusively for the DOM API
Blob, FileList - used by the File, Clipboard and XHR, also exclusively as API
ValidityState -- formControl.validity
CanvasRenderingContext -- canvas.getContext()
DOMApplicationCache -- window.appcache
Screen -- window.screen
DOMMimeTypeArray -- navigator.mimetypes
DOMPlugin -- navigator.plugins[0]
DOMPluginArray -- navigator.plugins

  • Modules/geolocation/Geolocation.h:
  • css/WebKitCSSMatrix.h:
  • dom/DOMStringMap.h:
  • dom/NamedNodeMap.h:
  • dom/NodeIterator.h:
  • dom/TreeWalker.h:
  • fileapi/Blob.h:
  • fileapi/FileList.h: (had to un-indent to make check-webkit-style happy)

(FileList):
(WebCore::FileList::create):
(WebCore::FileList::length):
(WebCore::FileList::isEmpty):
(WebCore::FileList::clear):
(WebCore::FileList::append):

  • html/ValidityState.h:
  • html/canvas/CanvasRenderingContext.h:
  • loader/appcache/DOMApplicationCache.h:
  • page/Screen.h:
  • platform/graphics/wince/MediaPlayerProxy.cpp:

(WebCore::WebMediaPlayerProxy::initEngine): This code was wrong, fixed to use internal APIs.

  • plugins/DOMMimeTypeArray.h:
  • plugins/DOMPlugin.h:
  • plugins/DOMPluginArray.h:
7:37 PM Changeset in webkit [135057] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebKit2

Remove 8-bit related assertion from NetscapePluginModuleX11.
https://bugs.webkit.org/show_bug.cgi?id=102588

Reviewed by Andreas Kling.

Follow-up to r135043: since String::fromUTF8() is not guaranteed
to give us a 16-bit string, the assertion in
truncateToSingleLine() will fail in that case.

This should make the EFL WK2 Debug bot stop failing all
plugin-related tests because "WebKit Test Plugin" is returned as
an 8-bit string.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::truncateToSingleLine):

6:13 PM Changeset in webkit [135056] by Alexandru Chiculita
  • 17 edits
    1 add in trunk/Source

[Texmap][CSS Shaders] Reuse the precompiled shader for custom filters in TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=101801

Reviewed by Noam Rosenthal.

Source/WebCore:

Added a HashMap in TextureMapperGL to store the precompiled versions of the shaders.
Also added a new API on TextureMapper that receives a notification when the shader
is no longer needed.

No new tests, the code is tested by existing tests.

  • platform/graphics/filters/CustomFilterOperation.h:

(WebCore::CustomFilterOperation::setProgram):
(CustomFilterOperation): Made the constructor protected, so that we can overwrite the class in WK2.

  • platform/graphics/filters/CustomFilterValidatedProgram.cpp:

(WebCore::CustomFilterValidatedProgram::validatedProgramInfo):
(WebCore):

  • platform/graphics/filters/CustomFilterValidatedProgram.h:

(CustomFilterValidatedProgram):

  • platform/graphics/texmap/TextureMapper.h:

(WebCore):
(TextureMapper):
(WebCore::TextureMapper::removeCachedCustomFilterProgram):
Function to be called by the platform code, when the shader is no longer
needed. This implementation is empty and overridden in TextureMapperGL.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::removeCachedCustomFilterProgram):
Removes the compiled shader from the cache. This is called from WK2 when the compiled shader
is no longer needed.
(WebCore):
(WebCore::TextureMapperGL::drawUsingCustomFilter): The first time it uses a new
shader it will cache the compiled version until removeCachedCustomFilterProgram is called.

  • platform/graphics/texmap/TextureMapperGL.h:

(WebCore):
(TextureMapperGL):

Source/WebKit2:

Changed the encoding code for ValidatedCustomFilterOperation to only encode the ID of the program.
LayerTreeCoordinator makes sure to send the programs in full before the encoder runs.
LayerTreeRenderer will maintain a HashMap from these IDs to the real CustomFilterProgram.
The UI process will also receive a message from the WebProcess when the shader is no longer in needed.
LayerTreeRenderer calls the TextureMapper's removeCachedCustomFilterProgram to notify
about the removed CustomFilterProgram.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):
(CoreIPC):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:

(WebCore):

  • Shared/CoordinatedGraphics/WebCustomFilterOperation.h: Added.

(WebCore):
(WebCustomFilterOperation):
(WebCore::WebCustomFilterOperation::create):
(WebCore::WebCustomFilterOperation::programID):
(WebCore::WebCustomFilterOperation::WebCustomFilterOperation):

  • Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:

(WebKit::WebCustomFilterProgramProxy::create):
(WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit):
(WebKit::LayerTreeCoordinatorProxy::removeCustomFilterProgram):
(WebKit::LayerTreeCoordinatorProxy::createCustomFilterProgram):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit):
(WebKit::LayerTreeRenderer::injectCachedCustomFilterPrograms):
(WebKit::LayerTreeRenderer::createCustomFilterProgram):
(WebKit::LayerTreeRenderer::removeCustomFilterProgram):
(WebKit::LayerTreeRenderer::setLayerAnimations):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(WebCore):
(LayerTreeRenderer):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
(WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
(WebKit::LayerTreeCoordinator::setLayerAnimations):

4:45 PM Changeset in webkit [135055] by beidson@apple.com
  • 14 edits in trunk/Source

Add an integer identifier field to AuthenticationChallengeBase.
https://bugs.webkit.org/show_bug.cgi?id=102593

Reviewed by Darin Adler.

Source/WebCore:

This is to support linking two different challenges that might not compare as equal but that
represent the same logical authentication challenge.

One example is in an IPC environment where the platform challenge can only exist in one process.

No new tests (Platform support, no effect in tested configs).

  • WebCore.exp.in:
  • platform/network/AuthenticationChallengeBase.cpp:

(WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):

  • platform/network/AuthenticationChallengeBase.h:

(WebCore::AuthenticationChallengeBase::identifier):

  • platform/network/cf/AuthenticationChallenge.h:
  • platform/network/mac/AuthenticationMac.mm:

(WebCore::generateUniqueIdentifier):
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Generate a new unique identifier whenever

constructing a challenge from an NSURLAuthenticationChallenge.

  • platform/network/cf/AuthenticationCF.cpp:

(WebCore::generateUniqueIdentifier):
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Generate a new unique identifier whenever

constructing a challenge from a CFURLAuthChallengeRef.

Implement the new constructor form for ports relevant to WebKit2:

  • platform/network/qt/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge):

  • platform/network/soup/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge):

  • platform/network/win/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge):

Source/WebKit/win:

  • WebURLAuthenticationChallenge.cpp:

(WebURLAuthenticationChallenge::initWithProtectionSpace): Adopt the new constructor with a dummy identifier.

Source/WebKit2:

Properly encode/decode the identifier when sending the challenge over CoreIPC.

  • Shared/WebCoreArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):

4:11 PM Changeset in webkit [135054] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaseline three tests affected by the dumping of tile grid extent.

  • platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
3:37 PM Changeset in webkit [135053] by Simon Fraser
  • 12 edits in trunk

Dump the tile cache extent in layout tests
https://bugs.webkit.org/show_bug.cgi?id=102600

Reviewed by Anders Carlsson.

Source/WebCore:

When dumping tiled layer stats in layout tests, also dump the extent
of the tile grid. This will allow us to detect issues related
to zooming, which is not possible with the existing tile coverage rect,
which is dumped in layer (not tile) coordinates.

  • platform/graphics/TiledBacking.h: Added tileGridExtent().
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::dumpAdditionalProperties): Dump the tile grid extent.

  • platform/graphics/ca/mac/TileCache.h: tileCoverageRect() should be OVERRIDE.
  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::getTileIndexRangeForRect):
(WebCore::TileCache::tileGridExtent): Return a rect with the size of
the grid as top,left width,height.

LayoutTests:

New results which contain tile cache extents.

  • platform/mac/tiled-drawing/tile-coverage-after-scroll-expected.txt:
  • platform/mac/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
  • platform/mac/tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
  • platform/mac/tiled-drawing/tiled-drawing-zoom-expected.txt:
  • platform/mac/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
  • platform/mac/tiled-drawing/use-tiled-drawing-expected.txt:
1:41 PM Changeset in webkit [135052] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening. Fixing a test that's failing due to changes
made in r134949 and wasn't updated yet.

  • http/tests/websocket/tests/hybi/workers/close-expected.txt:
  • http/tests/websocket/tests/hybi/workers/resources/close.js:
1:00 PM Changeset in webkit [135051] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Avoid full style recalc when 'style' attribute changes.
<http://webkit.org/b/78718>

Reviewed by Anders Carlsson.

Use setNeedsStyleRecalc(InlineStyleChange) when the 'style' attribute changes
to reduce the amount of work done in recalcStyle().

  • dom/StyledElement.cpp:

(WebCore::StyledElement::styleAttributeChanged):

12:06 PM Changeset in webkit [135050] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove coneGain and distanceGain attributes from PannerNode.idl
https://bugs.webkit.org/show_bug.cgi?id=102343

Patch by Li Yin <li.yin@intel.com> on 2012-11-17
Reviewed by Chris Rogers.

Removing .coneGain and .distanceGain as publicly accessible values,
since normally they only need to be calculated internally.

No changes to tests, since these attributes were not tested and are being removed.

  • Modules/webaudio/PannerNode.idl:
11:58 AM Changeset in webkit [135049] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

biquadfilternode-basic.html test should cover default value of frequency, Q and gain.
https://bugs.webkit.org/show_bug.cgi?id=102305

Patch by Li Yin <li.yin@intel.com> on 2012-11-17
Reviewed by Chris Rogers.

Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#BiquadFilterNode
The default values of frequency, Q and gain are clearly specified, we should
have related sub test to over them.

  • webaudio/biquadfilternode-basic-expected.txt:
  • webaudio/biquadfilternode-basic.html:
11:48 AM Changeset in webkit [135048] 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-11-17

  • DEPS:
10:02 AM Changeset in webkit [135047] by commit-queue@webkit.org
  • 9 edits
    4 adds in trunk/Source/WebKit/chromium

Provide page/window coordinates to plugin's local coordinates translation in WebPluginContainer.
https://bugs.webkit.org/show_bug.cgi?id=102339

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-17
Reviewed by Adam Barth.

This change will allow converting a page's window coordinates to plugins's local coordinates,
taking CSS transformations into account. Embedder page of the plugin can use this information
for targetting elements inside the plugin (e.g. devtools can inspect a specific element at the
local coordinate position inside plugin).
Attempting to re-land after Windows build fix.

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:

(WebKit::WebNode::pluginContainer):
(WebKit):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::windowToLocalPoint):
(WebKit):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Added.

(WebKit):
(WebKit::FakeWebPlugin::FakeWebPlugin):
(WebKit::FakeWebPlugin::~FakeWebPlugin):
(WebKit::FakeWebPlugin::initialize):
(WebKit::FakeWebPlugin::destroy):

  • tests/FakeWebPlugin.h: Added.

(WebKit):
(FakeWebPlugin):

  • tests/WebPluginContainerTest.cpp: Added.

(WebKit):
(WebPluginContainerTest):
(WebKit::WebPluginContainerTest::WebPluginContainerTest):
(WebKit::WebPluginContainerTest::TearDown):
(WebKit::getWebPluginContainer):
(WebKit::TEST_F):

  • tests/data/plugin_container.html: Added.
7:49 AM Changeset in webkit [135046] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebCore

[Coordinated Graphics] Resumed animations leave an obsolate GraphicsLayerAnimation behind
https://bugs.webkit.org/show_bug.cgi?id=102530

Reviewed by Noam Rosenthal.

GraphicsLayer::addAnimation is called no only when a new animation is created
but also when resuming a paused animation. If this is a resumed animation we
should remove the obsolate GraphicsLayerAnimation object.

Tested by animations tests.

  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::GraphicsLayerAnimations::add):

5:19 AM Changeset in webkit [135045] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations:
5:09 AM Changeset in webkit [135044] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed gardening. Fixing a test that's failing since r134859.

  • http/tests/websocket/tests/hybi/workers/close-expected.txt:
  • http/tests/websocket/tests/hybi/workers/resources/close.js:

(runInvalidStringTest):

4:58 AM Changeset in webkit [135043] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebKit2

8bit-unaware String usage in NetscapePluginModuleX11.cpp
https://bugs.webkit.org/show_bug.cgi?id=102482

Reviewed by Michael Saboff.

String::fromUTF8 is not guaranteed to give a 16 bit string.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.

2:26 AM Changeset in webkit [135042] by mkwst@chromium.org
  • 7 edits
    3 deletes in trunk/LayoutTests

Web Inspector: http/tests/inspector/stacktraces/* are flakey in JSC
https://bugs.webkit.org/show_bug.cgi?id=102380

Reviewed by Yury Semikhatsky.

The inspector stacktrace tests are quite flakey at the moment under JSC.
This patch drops detail out of the test that a) isn't relevent to what's
being tested, and b) varies under JSC for no discernable reason. A side
benifit of this change is that we can drop most platform-specific test
results, as we're now only looking at data that JSC and V8 agree upon.

  • http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt:
  • http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:
  • http/tests/inspector/stacktraces/csp-setInterval-warning-contains-stacktrace-expected.txt:
  • http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace-expected.txt:

Reset tests based on the new level of detail.

  • http/tests/inspector/stacktraces/resources/stacktrace-test.js:

(test.addMessage):
(test):

Limit the detail of the output to the top frame of the stack, and
drop the column number (which was always 0 in JSC).

  • platform/chromium/http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt: Removed.
  • platform/chromium/http/tests/inspector/stacktraces/csp-setInterval-warning-contains-stacktrace-expected.txt: Removed.
  • platform/chromium/http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace-expected.txt: Removed.

Dropping these platform-specific tests, as this patch limits the test
output detail to a subset that V8 and JSC agree upon.

  • platform/chromium/http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:

Can't drop this one, sadly.

12:37 AM Changeset in webkit [135041] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Given a PutById or GetById with a proven structure, the DFG should be able to emit a PutByOffset or GetByOffset instead
https://bugs.webkit.org/show_bug.cgi?id=102327

Reviewed by Mark Hahnenberg.

If the profiler tells us that a GetById or PutById may be polymorphic but our
control flow analysis proves that it isn't, we should trust the control flow
analysis over the profiler. This arises in cases where GetById or PutById were
inlined: the inlined function may have been called from other places that led
to polymorphism, but in the current inlined context, there is no polymorphism.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):
(JSC):

  • bytecode/GetByIdStatus.h:

(JSC::GetByIdStatus::GetByIdStatus):
(GetByIdStatus):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):
(JSC):

  • bytecode/PutByIdStatus.h:

(JSC):
(JSC::PutByIdStatus::PutByIdStatus):
(PutByIdStatus):

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::bestProvenStructure):
(AbstractValue):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
(ConstantFoldingPhase):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetByOffset):
(Node):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::hasStorageResult):

  • runtime/JSGlobalObject.h:

(JSC::Structure::prototypeChain):
(JSC):
(JSC::Structure::isValid):

  • runtime/Operations.h:

(JSC::isPrototypeChainNormalized):
(JSC):

  • runtime/Structure.h:

(Structure):
(JSC::Structure::transitionDidInvolveSpecificValue):

12:03 AM Changeset in webkit [135040] by Martin Robinson
  • 3 edits in trunk/Source/WebCore

[Soup] CredentialStorage should only be used for HTTP-family requests
https://bugs.webkit.org/show_bug.cgi?id=102582

Reviewed by Gustavo Noronha Silva.

Do not use CredentialStorage when handling non-HTTP family requests. CredentialStorage
only expects to handle requests in the HTTP family.

No new tests. This is covered by existing tests.

  • platform/network/ResourceHandle.h:

(ResourceHandle): Add a shouldUseCredentialStorage helper to ResourceHandle. This
helper returns false when firstRequest() is a non-HTTP family request.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::applyAuthenticationToRequest): Use the new helper.
(WebCore::createSoupRequestAndMessageForHandle): Ditto.
(WebCore::ResourceHandle::start): Ditto.
(WebCore::ResourceHandle::shouldUseCredentialStorage): Ditto.
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto.
(WebCore::ResourceHandle::receivedCredential): Ditto.

Nov 16, 2012:

11:41 PM Changeset in webkit [135039] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Build fix for !USE(ACCELERATED_COMPOSITING) after r135029.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintOverflowControls):

10:26 PM Changeset in webkit [135038] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Improve the performance of rect transform
https://bugs.webkit.org/show_bug.cgi?id=101828

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-11-16
Reviewed by Simon Fraser.

Mapping a rect and a quad by a transform is a common operation because
we use it to recompute the repaint rect, overflow rect, etc.

The way it was done, is by transforming through mapRect()->mapQuad()->4 times mapPoint().
Each of those functions tests isIdentityOrTranslation() which has to read the whole matrix
and perform many comparison.
Because of that, the simple mapping of a rect was loading and checking the matrix 5 times
too many.

This patch just cut the intermediary calls.

On ARM, putting the operation together also has the advantage of loading the matrix
only once in registers and reusing it for every point.

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::mapPoint):
(WebCore::TransformationMatrix::mapRect):

  • platform/graphics/transforms/TransformationMatrix.h:

(WebCore):
(WebCore::TransformationMatrix::mapPointImpl): New convenience function to perform the
point project without doing isIdentityOrTranslation().

10:11 PM Changeset in webkit [135037] by Lucas Forschler
  • 2 edits in tags/Safari-537.19.1/Source/WebKit2

Merge fix from <rdar://problem/12723222>.

10:09 PM Changeset in webkit [135036] by Lucas Forschler
  • 4 edits in tags/Safari-537.19.1/Source/WebKit2

Merged r135020.

10:00 PM Changeset in webkit [135035] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[EFL][WK2] Remove unnecessary #include statemtns
https://bugs.webkit.org/show_bug.cgi?id=102577

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-16
Reviewed by Anders Carlsson.

ewk_*_private.h doesn't need to include RefCounted.h after Ewk_Object refactoring.

  • UIProcess/API/efl/ewk_auth_request_private.h:
  • UIProcess/API/efl/ewk_database_manager.cpp:
  • UIProcess/API/efl/ewk_file_chooser_request_private.h:
  • UIProcess/API/efl/ewk_form_submission_request_private.h:
  • UIProcess/API/efl/ewk_navigation_data_private.h:
  • UIProcess/API/efl/ewk_resource_private.h:
  • UIProcess/API/efl/ewk_storage_manager.cpp:
9:16 PM Changeset in webkit [135034] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid calling the virtual isBlockFlow() in RenderBox::computeRectForRepaint()
https://bugs.webkit.org/show_bug.cgi?id=102581

Reviewed by Dan Bernstein.

isBlockFlow() is a virtual function call, and shows up in profiles of
Facebook pages as called from RenderBox::computeRectForRepaint().

It's faster to do the hasColumns() bit-check first. Also replace
a call to layer() with the hasLayer() bit-check.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint):

8:42 PM Changeset in webkit [135033] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaseline.

  • platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
  • platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.txt:
  • platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
8:32 PM Changeset in webkit [135032] by Simon Fraser
  • 6 edits
    2 deletes in trunk/LayoutTests

Rebaseline some editing tests.

  • platform/mac-wk2/editing/selection/caret-ltr-right-expected.txt: Removed.
  • platform/mac-wk2/editing/selection/caret-rtl-right-expected.txt: Removed.
  • platform/mac/TestExpectations:
  • platform/mac/editing/pasteboard/innerText-inline-table-expected.txt:
  • platform/mac/editing/selection/iframe-expected.txt:
  • platform/mac/editing/selection/inline-table-expected.txt:
  • platform/mac/editing/selection/table-caret-3-expected.txt:
8:19 PM Changeset in webkit [135031] by danakj@chromium.org
  • 2 edits in trunk/Source/Platform

[chromium] Add conversion between WebTransformation and gfx::Transform
https://bugs.webkit.org/show_bug.cgi?id=102575

Reviewed by James Robinson.

  • chromium/public/WebTransformationMatrix.h:

(WebTransformationMatrix):
(WebKit::WebTransformationMatrix::WebTransformationMatrix):
(WebKit::WebTransformationMatrix::operator=):
(WebKit::WebTransformationMatrix::operator gfx::Transform):

6:52 PM Changeset in webkit [135030] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Unreviewed, rolling out r134817.
http://trac.webkit.org/changeset/134817
https://bugs.webkit.org/show_bug.cgi?id=102576

Broke iframes and causing tons of crashes on ClusterFuzz
(Requested by inferno-sec on #webkit).

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

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChildren):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectDescendant):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
(ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectDescendant):
(WebCore::ChildFrameDisconnector::disconnect):

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

(Node):

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(NodeRareData):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::setContentFrame):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame):

6:34 PM CoordinatedGraphicsSystem edited by Helder Correia
(diff)
6:31 PM Changeset in webkit [135029] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Fix overlay scrollbar painting in compositing layers
https://bugs.webkit.org/show_bug.cgi?id=102442

Reviewed by Beth Dakin.

There were two issues with overlay scrollbar painting in
compositing layers.

First, we'd only ever call setContainsDirtyOverlayScrollbars()
on the RenderView's layer, even when encountering an overlay scrollbar
in some descendant compositing layer. This meant that we'd never
run the paintOverlayScrollbars() code for those child compositing
layers, so sometimes scrollbars were missing there.

Even after fixing that, we would fail to render scrollbars that
were not in the composited RenderLayer itself. This happened because
we called into RenderLayer::paintOverlayScrollbars(), which called
paintLayer() with flags that only said to paint the overlay scrollbars
but not any descendants, so this paint path would not walk child
RenderLayers.

Also remove the containsScrollableAreaWithOverlayScrollbars() flag on
ScrollView which is no longer used.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::ScrollView): Remove containsScrollableAreaWithOverlayScrollbars().
(WebCore::ScrollView::paint): Remove setting of m_containsScrollableAreaWithOverlayScrollbars.

  • platform/ScrollView.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintOverflowControls): Call setContainsDirtyOverlayScrollbars()
on the compositing ancestor or the root.
Remove call to setContainsScrollableAreaWithOverlayScrollbars().
(WebCore::RenderLayer::paintOverlayScrollbars): When painting overlay
scrollbars, no need to say we have transparency, and no need to use
temporary clip rects.
(WebCore::RenderLayer::paintLayer): The PaintLayerPaintingOverlayScrollbars
check here was only needed because the compositing entrypoint to painting
overlay scrollbars went via paintLayer(), which isn't normally used as
a composited painting entry point. Now that we no longer call that, we
don't need this special check.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer): Jump into overlay scrollbar
painting via paintLayerContents(), not paintOverlayScrollbars(), since
the latter does not traverse sublayers.

6:11 PM Changeset in webkit [135028] by dgrogan@chromium.org
  • 6 edits
    18 deletes in trunk/LayoutTests

IndexedDB: setVersion excision batch 10
https://bugs.webkit.org/show_bug.cgi?id=102565

Reviewed by Tony Chang.

  • storage/indexeddb/mozilla/resources/versionchange.js: Removed. Very similar to a lot of our other tests.
  • storage/indexeddb/resources/set_version_queue.js: Removed. Tests 4 already-open connections calling setVersion, no longer applicable. Though something similar will be set up when we implement 4.1.3#Note2: if two databases with the same name and origin, but with different versions, are being opened at the same time, the one with the highest version will attempt to be opened first.
  • storage/indexeddb/resources/setversion-blocks-open.js: Removed. Tests the same thing as version-change-exclusive, even though version-change-exclusive's description had been inaccurate.
  • storage/indexeddb/resources/setversion-blocks-setversion.js: Removed. Behavior under test is no longer possible. (multiple setVersion calls from same connection.)
  • storage/indexeddb/resources/shared.js:

(indexedDBTest):
Added another optional parameter for version-change-exclusive.

  • storage/indexeddb/resources/three-setversion-calls.js: Removed. Behavior under test is no longer possible. (multiple setVersion calls from same connection.)
  • storage/indexeddb/resources/two-version-changes.js: Removed. Behavior under test is no longer possible. (multiple setVersion calls from same connection.)
  • storage/indexeddb/resources/version-change-abort.js: Straightforward conversion.
  • storage/indexeddb/resources/version-change-exclusive.js: The previous description didn't accurately describe the test.

--Corresponding .html and -expected files also removed.

6:08 PM Changeset in webkit [135027] by jsbell@chromium.org
  • 3 edits
    2 adds in trunk

IndexedDB: Assert hit when getting non-existent object store in version change transaction
https://bugs.webkit.org/show_bug.cgi?id=102547

Reviewed by Tony Chang.

Source/WebCore:

Code did not account for the not-found case in "versionchange" transactions, where all
object stores are implicitly in scope.

Test: storage/indexeddb/object-lookups-in-versionchange.html

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::objectStore):

LayoutTests:

Regression test - make sure that .objectStore() and .index() fail on unknown names
in "versionchange" transactions.

  • storage/indexeddb/object-lookups-in-versionchange-expected.txt: Added.
  • storage/indexeddb/object-lookups-in-versionchange.html: Added.
6:03 PM Changeset in webkit [135026] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

Fix the windows build.

Patch by Sam Weinig <weinig@apple.com> on 2012-11-16

  • WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:

(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::defaultCookieStorage):

  • WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:

(WebFrameNetworkingContext):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/win/WebPageWin.cpp:

(WebKit::cachedResponseForURL):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

  • WebProcess/win/WebProcessWin.cpp:

(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformClearResourceCaches):
(WebKit::WebProcess::platformInitializeWebProcess):

6:03 PM Changeset in webkit [135025] by Simon Fraser
  • 16 edits in trunk

Eliminate ancestor tree walk computing outlineBoundsForRepaint() when updating layer positions
https://bugs.webkit.org/show_bug.cgi?id=101874

Reviewed by Dave Hyatt.

Source/WebCore:

RenderLayer::updateLayerPositions() and updateLayerPositionsAfterScroll() spend a
lot of time in computeRepaintRects(), which does two ancestor tree walks, once
for clippedOverflowRectForRepaint(), and one for outlineBoundsForRepaint().

Eliminate the ancestor tree walk in outlineBoundsForRepaint() by maintaining
a RenderGeometryMap as we traverse the layer tree, and then using it to map
the outline bounds to the repaint container. Replace the hokey cached offsetFromRoot
now that the RenderGeometryMap can do a better job.

The clipped overflow rect cannot be mapped simply, so cannot yet make use of
the geometry map.

Modify the RenderGeometryMap to support mapping to some repaintContainer ancestor.
Add a RenderObject walk that is necessary to detect flipped writing mode blocks.

Pass the RenderGeometryMap as an optional parameter to outlineBoundsForRepaint.

  • page/FrameView.cpp:

(WebCore::FrameView::layout): Make a RenderGeometryMap and pass it down
to updateLayerPositions(). For partial layouts, we have to push layers
between the root and the enclosing layer of the layout subtree.
The geometry map used for repainting does not use SnapOffsetForTransforms,
so initialize it explicitly with just the UseTransforms flag.
(WebCore::FrameView::repaintFixedElementsAfterScrolling): Make a RenderGeometryMap
to pass along to updateLayerPositionsAfterScroll().

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::outlineBoundsForRepaint): Replace the optional cachedOffsetToRepaintContainer
parameter with an optional RenderGeometryMap, and it use to map the compute rect to
repaintContainer coordinates.

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

(WebCore::RenderGeometryMap::RenderGeometryMap): This now has to store the mapping
flags to use, so that its behavior can match that of mapLocalToContainer(). The
pertinent flag is the confusingly named SnapOffsetForTransforms.
(WebCore::RenderGeometryMap::absolutePoint): Call the new mapToContainer() with
a null container.
(WebCore::RenderGeometryMap::absoluteRect): Ditto.
(WebCore::RenderGeometryMap::mapToContainer): Map to the supplied container,
asserting that we found it. Add point- and rect-based mapping methods
akin to the old absoluteRect/absolutePoint.
(WebCore::canMapViaLayer): We need to test for isRenderFlowThread() here too.
(WebCore::RenderGeometryMap::pushMappingsToAncestor): When mapping via
layers, ensure that the RenderView is pushed as the first step.

  • rendering/RenderGeometryMap.h:

(RenderGeometryMap):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositionsAfterLayout): New wrapper for updateLayerPositions()
that makes the geometry map.
(WebCore::RenderLayer::updateLayerPositionsAfterScroll): New wrapper for updateLayerPositionsAfterScroll
that makes the geometry map.
(WebCore::RenderLayer::updateLayerPositions): Now takes an optional RenderGeometryMap.
Remove the old offsetFromRoot code. Push and pop layers to/from the geometry map. Use
the geometry map to get the offsetFromRoot as needed by overflow controls. Pass
it to computeRepaintRects().
(WebCore::RenderLayer::computeRepaintRects): Pass the geometry map to outlineBoundsForRepaint().
(WebCore::RenderLayer::updateLayerPositionsAfterScroll): Push and pop to/from the
geometry map, and pass it to computeRepaintRects().
(WebCore::RenderLayer::removeOnlyThisLayer): Remove the offsetFromRootBeforeMove
computation; this could use a geometry map in future if it is shown to be a bottleneck.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::canUseConvertToLayerCoords): It was thought that the isComposited()
was there because the older cached offsetFromRoot logic was sensitive to compositing,
but convertToLayerCoords() is not affected by compositing so this check is not needed,
and actually harmful.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::OverlapMap::OverlapMap): The geometry map
used for overlap testing should not use SnapOffsetForTransforms, so initialize
it explicitly with just the UseTransforms flag.

  • rendering/RenderObject.h:

(WebCore::RenderObject::outlineBoundsForRepaint):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::outlineBoundsForRepaint):

  • rendering/svg/RenderSVGModelObject.h:

(RenderSVGModelObject):

LayoutTests:

In debug, skip tests that assert because of LayoutUnit truncation.

  • platform/mac/TestExpectations:
6:01 PM Changeset in webkit [135024] by Lucas Forschler
  • 4 edits in tags/Safari-537.19.1/Source

Versioning.

5:58 PM Changeset in webkit [135023] by Lucas Forschler
  • 1 copy in tags/Safari-537.19.1

New Tag.

5:53 PM Changeset in webkit [135022] by alecflett@chromium.org
  • 11 edits
    2 adds in trunk

Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818

Reviewed by Adam Barth.

Source/WebCore:

Expose direct access to the serialization/deserialization mechanisms
of SerializedScriptValue to DumpRenderTree.

  • testing/Internals.cpp:

(WebCore::Internals::serializeObject):
(WebCore):
(WebCore::Internals::deserializeBuffer):

  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

Add exports for SerializedScriptValue changes.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

Make sure SerializedScriptValues are backward compatible with future changes.

  • platform/chromium/fast/storage/serialized-script-value.html: Added.
  • platform/chromium/fast/storage/serialized-script-value.txt: Added.
5:34 PM Changeset in webkit [135021] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Exploit shared attribute data to avoid parsing identical "style" attributes.
<http://webkit.org/b/101163>

Reviewed by Antti Koivisto.

Track the "inline style dirty" state on ElementAttributeData instead of in a Node flag.
This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
since the state is no longer per-Element.

  • css/StyleResolver.cpp:

(WebCore::isCacheableInMatchedPropertiesCache):

Disable the matched properties cache for styles with non-standard writing-mode.
This is necessary because some CSS properties have different meaning depending on context -
properties handled by CSSProperty::resolveDirectionAwareProperty().

Now that multiple elements may have identical inlineStyle() pointers, this is necessary to
avoid mapping StylePropertySets with direction-aware properties to RenderStyles with differing
writing-modes in the matched properties cache.

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

(WebCore::ElementAttributeData::ElementAttributeData):

  • dom/ElementAttributeData.h:

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

  • dom/Element.h:

(WebCore::Element::updateInvalidAttributes):

  • dom/Element.cpp:

(WebCore::Element::getAttribute):
(WebCore::Element::removeAttribute):

  • dom/StyledElement.h:

(WebCore::StyledElement::invalidateStyleAttribute):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::updateStyleAttribute):

Move "style attribute dirty" flag to ElementAttributeData.

(WebCore::Element::cloneAttributesFromElement):

Remove ugly optimization to avoid reparsing inline style when cloning elements. This now happens
automagically since cloning nodes just refs the original attribute data.

  • dom/StyledElement.cpp:

(WebCore::StyledElement::updateStyleAttribute):
(WebCore::StyledElement::setInlineStyleFromString):
(WebCore::StyledElement::styleAttributeChanged):
(WebCore::StyledElement::inlineStyleChanged):

Avoid reparsing the inline style if the element's attribute data is immutable and already has
a parsed inlineStyle(). Split the set-inline-style-from-string code out of styleAttributeChanged()
to make the code more understandable.

5:34 PM Changeset in webkit [135020] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Set task priority of WebKit2 processes to zero on Mac
https://bugs.webkit.org/show_bug.cgi?id=102567

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-11-16
Reviewed by Mark Rowe.

Explicitly set task priority of WebKit2 processes to zero, to
override automatic priority determination by the system.

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::ChildProcess): Add call to platformInitialize() and
move MAC specific call to disableProcessSuppression to platformInitialize.
(WebKit::ChildProcess::platformInitialize): Dummy for non MAC platforms.

  • Shared/ChildProcess.h:
  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::platformInitialize): Add call to setpriority().

5:06 PM Changeset in webkit [135019] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Don't update layer positions on scrolling if we're in the middle of layout
https://bugs.webkit.org/show_bug.cgi?id=102556

Reviewed by Dan Bernstein.

RenderLayer::scrollTo() can be called in the middle of layout. When
that happens we should not waste time updating layer positions,
compositing layers, or widget positions, because we'll do those at the
end of layout anyway.

This prevents us from having inconsistent RenderLayer state, which
hinders future optimizations in this area.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

4:52 PM Changeset in webkit [135018] by dgrogan@chromium.org
  • 10 edits in trunk/LayoutTests

IndexedDB: setVersion excision batch 9
https://bugs.webkit.org/show_bug.cgi?id=102455

Reviewed by Tony Chang.

  • storage/indexeddb/persistence-expected.txt:
  • storage/indexeddb/resources/persistence.js:

(prepareDatabase):
Little awkwardness to get the initial version number to be 0 (actually,
because of a bug it's "") so that first() will trigger a
versionchange.
(first):

  • storage/indexeddb/resources/set_version_blocked.js: Small "blocked" test. It's probably redundant due to our crazier tests, but it is nice to have a succinct test that checks one thing.
  • storage/indexeddb/resources/shared.js:

(unexpectedBlockedCallback):

  • storage/indexeddb/resources/transaction-basics.js: This test is a mess, obviously written near the dawn of IDB when no one knew how to write an effective test for it. In the interests of preventing the diff from exploding I didn't take all the clarification opportunities that were there.
  • storage/indexeddb/resources/transaction-error.js:
  • storage/indexeddb/set_version_blocked-expected.txt:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-error-expected.txt:
4:40 PM Changeset in webkit [135017] by beidson@apple.com
  • 13 edits
    1 copy in trunk/Source/WebKit2

Move resource loader messaging from NetworkConnectionToWebProcess directly to NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=102570

Reviewed by Alexey Proskuryakov.

This patch adds the ability for WebResourceLoader to message NetworkResourceLoader directly.

This further cements the 1-to-1 relationship between the two classes and makes it easy to add/change
loader related messaging going forward.

Build/infrastructure stuff:

  • Platform/CoreIPC/MessageID.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • DerivedSources.make:

Remove the WillSendRequestHandled message, and forward NetworkResourceLoader messages on to the correct object:

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:

Hang on to a master map of identifiers to NetworkResourceLoaders:

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
(WebKit::NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier):

  • NetworkProcess/NetworkResourceLoadScheduler.h:

Change the way "willSendRequestHandled" comes in to be a direct message:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::willSendRequestHandled):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/NetworkResourceLoader.messages.in:

Make WebResourceLoader a MessageSender:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::connection):
(WebKit::WebResourceLoader::destinationID):
(WebKit::WebResourceLoader::willSendRequest): Use MessageSender abilities to message the NetworkResourceLoader.

  • WebProcess/Network/WebResourceLoader.h:
4:31 PM Changeset in webkit [135016] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

Add setChecked API in WebInputElement
https://bugs.webkit.org/show_bug.cgi?id=102422

Patch by Raman Kumar <ramankk@chromium.org> on 2012-11-16
Reviewed by Adam Barth.

  • public/WebInputElement.h:

(WebInputElement): Add setChecked(bool, bool) API

  • src/WebInputElement.cpp:

(WebKit::WebInputElement::setChecked): Implement setChecked by calling
underlying HTMLInputElement's setChecked.
(WebKit):

4:25 PM Changeset in webkit [135015] by Dimitri Glazkov
  • 1 edit
    1 delete in trunk/LayoutTests

[Chromium] Removed unnecessary expectation.

  • platform/chromium-win/fast/canvas/canvas-shadow-expected.txt: Removed.
3:59 PM Changeset in webkit [135014] by tony@chromium.org
  • 16 edits in trunk

Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
https://bugs.webkit.org/show_bug.cgi?id=102554

Reviewed by Andreas Kling.

As mentioned in https://bugs.webkit.org/show_bug.cgi?id=79939#c41 ,
we're going to revist this feature once additional vendor support is
achieved.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests, just removing an unused define.

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.features.am:

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
3:52 PM Changeset in webkit [135013] by pilgrim@chromium.org
  • 10 edits
    1 move
    1 add in trunk/Source

[Chromium] Remove cookie-related functions from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=99340

Reviewed by Adam Barth.

Move cookie-related functions out of PlatformSupport and implement
new PlatformCookieJar interface via NetworkContext.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • loader/CookieJar.cpp:
  • loader/chromium/CookieJarChromium.cpp: Removed.
  • platform/chromium/PlatformSupport.h:

(WebCore):
(PlatformSupport):

  • platform/network/NetworkingContext.h:

(WebKit):
(NetworkingContext):

  • platform/network/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/loader/chromium/CookieJarChromium.cpp.

(WebCore::setCookiesFromDOM):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/FrameNetworkingContextImpl.cpp: Added.

(WebKit):
(WebKit::FrameNetworkingContextImpl::cookieJar):

  • src/FrameNetworkingContextImpl.h:

(FrameNetworkingContextImpl):

  • src/PlatformSupport.cpp:
3:47 PM Changeset in webkit [135012] by aestes@apple.com
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Fix the Mountain Lion build after r135007.

  • bindings/js/JSDesktopNotificationsCustom.cpp:

(WebCore::JSNotificationCenter::requestPermission):

3:39 PM Changeset in webkit [135011] by Lucas Forschler
  • 7 edits in branches/safari-536.28-branch/Source/WebCore

Merged r131779. <rdar://problem/12536363>

3:31 PM Changeset in webkit [135010] by bfulgham@webkit.org
  • 7 edits in trunk/Source

Source/WebKit/win: [WinCairo] Unreviewed build fix after r134960.

Avoid including Mac-specific headers.

  • WebCoreSupport/WebFrameNetworkingContext.cpp: Stub out

CFNetwork-based implementations.

  • WebCoreSupport/WebFrameNetworkingContext.h: Exclude

CFNetwork data types.

  • WebCoreSupport/WebPlatformStrategies.cpp: Stub out

CFNetwork-based implementations.

  • WebCoreSupport/WebPlatformStrategies.h: Exclude

CFNetwork data types.

Source/WebKit2: [WinCairo] Build correction after r134960.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Stub out

calls to CFNetwork-based implementation.

3:30 PM Changeset in webkit [135009] by commit-queue@webkit.org
  • 14 edits
    4 adds in trunk

[JSC] Don't sanitize window.onerror information on crossorigin-enabled scripts
https://bugs.webkit.org/show_bug.cgi?id=70574

Patch by Pablo Flouret <pablof@motorola.com> on 2012-11-16
Reviewed by Geoffrey Garen.

Source/WebCore:

For scripts that use CORS (via the crossorigin attribute in this case),
don't sanitize the information passed to the window's onerror handler (i.e.
message, url, and line number). Useful for scripts hosted on CDNs.

Tests: http/tests/security/script-crossorigin-onerror-information.html

http/tests/security/script-no-crossorigin-onerror-should-be-sanitized.html

  • WebCore.exp.in:
  • WebCore.order:
  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):

  • bindings/js/JSDOMBinding.h:

(WebCore):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):

  • bindings/js/ScriptSourceCode.h:

(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::cachedScript):
(ScriptSourceCode):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):

Keep a reference to the cached script in the ScriptSourceCode, so
that it can be passed around and be available when reporting the
exception.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::sanitizeScriptError):
(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::dispatchErrorEvent):

  • dom/ScriptExecutionContext.h:

(WebCore):
(ScriptExecutionContext):

Check if the script passes the access control checks, and if so,
don't sanitize the error information.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::PreloadTask::processAttributes):
(WebCore::PreloadTask::preload):
(PreloadTask):
(WebCore::PreloadTask::crossOriginModeAllowsCookies):

When preloading script elements, check for the crossorigin attribute
and adjust the request's allowCookies value accordingly. Otherwise
when the script is loaded from the cache later on, the cross origin mode
(anonymous/use-credentials) will be effectively ignored.

LayoutTests:

  • http/tests/security/resources/cors-script.php:
  • http/tests/security/script-crossorigin-onerror-information-expected.txt: Added.
  • http/tests/security/script-crossorigin-onerror-information.html: Added.
  • http/tests/security/script-no-crossorigin-onerror-should-be-sanitized-expected.txt: Added.
  • http/tests/security/script-no-crossorigin-onerror-should-be-sanitized.html: Added.
  • platform/chromium/TestExpectations:

This patch only deals with JSC right now, skip the new tests.

3:05 PM Changeset in webkit [135008] by jochen@chromium.org
  • 6 edits in trunk/Tools

[chromium] move stubs from DRTTestRunner to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=102489

Reviewed by Adam Barth.

This is part of moving all methods from DRTTestRunner to TestRunner.
Instead of keeping one stub per method, I'm using a shared stub to
clean up the code.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner):
(WebTestRunner::TestRunner::fallbackMethod):
(WebTestRunner::TestRunner::notImplemented):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(WebTestRunner):
(TestRunner):
(WebTestRunner::TestRunner::setDelegate):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::createMainWindow):
(TestShell::~TestShell):

3:02 PM Changeset in webkit [135007] by Lucas Forschler
  • 7 edits in branches/safari-536.28-branch

Merged r131280. <rdar://problem/12516340>

2:51 PM Changeset in webkit [135006] by jochen@chromium.org
  • 5 edits in trunk/Tools

[chromium] fake drag drop operations in the WebTestProxyBase instead of the WebViewHost
https://bugs.webkit.org/show_bug.cgi?id=102495

Reviewed by Adam Barth.

When a drag operation is initiated in a layout test, we need to
simulate a corresponding drop event, otherwise the WebViewImpl will sit
there waiting for it. Instead of having the embedder taking care of
this, move this into the TestRunner library.

  • DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:

(WebKit):
(WebTestProxyBase):
(WebTestRunner::WebTestProxy::startDragging):

  • DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:

(WebTestRunner::WebTestProxyBase::startDragging):
(WebTestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:
  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

2:48 PM Changeset in webkit [135005] by Lucas Forschler
  • 9 edits in branches/safari-536.28-branch/Source

Merged r130565. <rdar://problem/12516362>

2:46 PM Changeset in webkit [135004] by aestes@apple.com
  • 6 edits
    3 adds in branches/safari-536.28-branch

Merge r130102.

2012-10-01 Filip Pizlo <fpizlo@apple.com>

Address a FIXME in JSArray::sort
https://bugs.webkit.org/show_bug.cgi?id=98080
<rdar://problem/12407844>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Get rid of fast sorting of sparse maps. I don't know that it's broken but I do know that we don't
have coverage for it. Then also address the FIXME in JSArray::sort regarding side-effecting
compare functions.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncSort):

  • runtime/JSArray.cpp:

(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):

  • runtime/JSArray.h:

(JSArray):

  • runtime/JSObject.h:

(JSC::JSObject::hasSparseMap):
(JSObject):

LayoutTests:

  • fast/js/jsc-test-list:
  • fast/js/script-tests/sort-with-side-effecting-comparisons.js: Added.
  • fast/js/sort-with-side-effecting-comparisons-expected.txt: Added.
  • fast/js/sort-with-side-effecting-comparisons.html: Added.
2:42 PM Changeset in webkit [135003] by jonlee@apple.com
  • 7 edits
    4 adds in trunk/Source/WebCore

Change visual look of placeholder
https://bugs.webkit.org/show_bug.cgi?id=102149
<rdar://problem/12695566>

Reviewed by Darin Adler.

Move the button to the lower-right corner. Move the theming into
RenderSnapshottedPlugin for now. Eventually we will want to migrate to using the
shadow DOM instead, and the metrics of the button are needed for click passthrough.

Maintain variables to track whether the mouse is over the button, and the rect
for the button. If the user clicks in the rect, we render a pressed button.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore): Add named constant for bottom and right padding of the button.
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
(WebCore::RenderSnapshottedPlugIn::paintReplaced):
(WebCore::startButtonImage): Returns button image.
(WebCore::startButtonPressedImage): Returns pressed button image.
(WebCore::RenderSnapshottedPlugIn::paintButton): Draw the button image in the
lower right hand corner, but only if we are active or hovered.
(WebCore::RenderSnapshottedPlugIn::repaintButton): Stubbed to call repaint().
(WebCore::RenderSnapshottedPlugIn::handleEvent): Repaint the button if we are
hovering over the plugin rect. With a mouse down event, calculate whether the
mouse position is within the button rect.
(WebCore::RenderSnapshottedPlugIn::layout): Cache the rect representing the button
contents.

  • rendering/RenderSnapshottedPlugIn.h:

Remove theming function for now.

  • rendering/RenderTheme.h:

(RenderTheme):

  • rendering/RenderThemeMacShared.h:
  • rendering/RenderThemeMacShared.mm:
2:31 PM Changeset in webkit [135002] by commit-queue@webkit.org
  • 7 edits in trunk

Rename applyDefaultDeviceScaleFactorInCompositor to setApplyDeviceScaleFactorInCompositor
https://bugs.webkit.org/show_bug.cgi?id=102462

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-11-16
Reviewed by James Robinson.

As we no longer have this "default" device scale factor.

Source/WebKit/chromium:

  • public/WebSettings.h:

(WebKit::WebSettings::setApplyDefaultDeviceScaleFactorInCompositor):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::WebSettingsImpl):
(WebKit::WebSettingsImpl::setApplyDeviceScaleFactorInCompositor):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):
(WebKit::WebSettingsImpl::applyDeviceScaleFactorInCompositor):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setDeviceScaleFactor):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

Tools:

  • DumpRenderTree/chromium/WebPreferences.cpp:

(WebPreferences::applyTo):

2:02 PM Changeset in webkit [135001] by eric@webkit.org
  • 8 edits in trunk/Source/WebCore

Deploy ScriptWrappable to more always-wrapped objects
https://bugs.webkit.org/show_bug.cgi?id=102539

Reviewed by Adam Barth.

Add the ScriptWrappable baseclass to:
CSSStyleDeclaration (anttik tells me these should only be used from JS, even though some old Editing code used to use them)
ClientRect (element.getBoundingClientRects)
Event (Not all events end up wrapped, but any which live past dispatch do)
NodeList (this covers Static and Dynamic node list types, like document.all)
HTMLCollection (separate from NodeList, for things like table.rows)
Storage (for window.storage, always wrapped)
XMLHttpRequest (always wrapped, created from JS)

This should be a small memory savings as the inline pointer is only 4-8 bytes
instead of the hashmap entry which would be 8-16. This may also show up
on benchmarks which repeatedly access these objects (like window.storage).

These were found by adding a couple lines of logging-code to
WebCore::createWrapper when we were in the main world, but took the
HashMap (instead of inline) storage path. I used sort and uniq -c
to find the most-frequently wrapped objects (while surfing
a few common sites) and came up with this list. There are still a few
more complicated objects (like CSSStyleDeclaration) which may benifit
from inline-wrapper-access and will be covered in a later patch.

  • css/CSSStyleDeclaration.h:
  • dom/ClientRect.h:
  • dom/Event.h:
  • dom/NodeList.h:
  • html/HTMLCollection.h:
  • storage/Storage.h:
  • xml/XMLHttpRequest.h:
1:53 PM Changeset in webkit [135000] by jonlee@apple.com
  • 2 edits in trunk/Source/WebKit/chromium

Fix build error on Chromium due to r134995.

  • src/WebNode.cpp:

(WebKit::WebNode::simulateClick): Pass in NULL pointer instead.

1:53 PM Changeset in webkit [134999] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Merged r134903. <rdar://problem/12721103>

1:52 PM Changeset in webkit [134998] by Dimitri Glazkov
  • 3 edits
    2 moves
    2 deletes in trunk/LayoutTests

[Chromium] Remaining bits of Win7 rebaselines.

1:43 PM Changeset in webkit [134997] by Dimitri Glazkov
  • 16 edits
    6 moves
    1 add
    25 deletes in trunk/LayoutTests

[Chromium] Massive rebaseline after Win7 came back up.

1:40 PM Changeset in webkit [134996] by Lucas Forschler
  • 2 edits in tags/Safari-537.19/Source/WebCore

Merged r134903. <rdar://problem/12683850>

1:39 PM Changeset in webkit [134995] by jonlee@apple.com
  • 5 edits in trunk/Source/WebCore

Simulated events instances do not all have the same underlying event
https://bugs.webkit.org/show_bug.cgi?id=102468
<rdar://problem/12716331>

Reviewed by Alexey Proskuryakov.

The PassRefPtr with the underlying event is included as an argument for the mouse
down, up, and click events. But the PassRefPtr loses its underlying pointer after
the first simulated mouse down event because it gets assigned to that event's
private m_underlyingEvent variable. We therefore send NULL to the other events.

The fix is for this and related functions to pass the raw pointer.

A layout test is not possible to put together because the call sites that use simulated
events with an underlying event do not send mouse events, and those that send mouse
events have a NULL underlying event.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchSimulatedClick): Require passing in the raw pointer.

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

(WebCore::Node::dispatchSimulatedClick): Ditto.

  • dom/Node.h:
1:33 PM Changeset in webkit [134994] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Build fix for WinCE after r134936.

  • platform/network/win/CookieJarWin.cpp:

(WebCore::cookieRequestHeaderFieldValue):

1:31 PM Changeset in webkit [134993] by Patrick Gansterer
  • 2 edits in trunk/Source/JavaScriptCore

Build fix for WinCE after r133688.

Use numeric_limits<uint32_t>::max() instead of UINT32_MAX.

  • runtime/CodeCache.h:

(JSC::CacheMap::CacheMap):

1:31 PM Changeset in webkit [134992] by Dimitri Glazkov
  • 9 edits
    2 deletes in trunk

Unreviewed, rolling out r134986.
http://trac.webkit.org/changeset/134986
https://bugs.webkit.org/show_bug.cgi?id=102110

Triggered ASSERT in fast/frames/seamless/seamless-inherited-
origin.html.

Source/WebCore:

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
(WebCore::collectCSSOMWrappers):

  • css/StyleResolver.h:

(StyleResolver):

  • dom/Document.cpp:

(WebCore::Document::setCompatibilityMode):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
(WebCore):
(WebCore::DocumentStyleSheetCollection::clearPageGroupUserSheets):
(WebCore::DocumentStyleSheetCollection::updatePageGroupUserSheets):
(WebCore::DocumentStyleSheetCollection::addUserSheet):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage):

  • dom/DocumentStyleSheetCollection.h:

(DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::documentUserSheets):

  • page/PageGroup.cpp:

(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):
(WebCore::PageGroup::removeAllUserContent):
(WebCore::PageGroup::resetUserStyleCacheInAllFrames):

  • page/PageGroup.h:

(PageGroup):

LayoutTests:

  • userscripts/user-stylesheet-invalidate-expected.txt: Removed.
  • userscripts/user-stylesheet-invalidate.html: Removed.
1:29 PM Changeset in webkit [134991] by Lucas Forschler
  • 10 edits
    2 copies in branches/safari-536.28-branch

Merged r128088. <rdar://problem/12516313>

1:01 PM Changeset in webkit [134990] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

https://bugs.webkit.org/show_bug.cgi?id=102540
[BlackBerry] Checkerboard flicker when pinch zooming out on google.com/nwshp

Patch by Adam Treat <atreat@rim.com> on 2012-11-16
Reviewed by George Staikos.
PR 245827

Disable updates to the backingstore tile matrix when backingstore updates
are disabled. This prevents changes to the tile matrix when we are in the
middle of a pinch zoom which can cause checkebroard flickering.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
(BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::renderVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::renderBackingStore):
(BlackBerry::WebKit::BackingStorePrivate::updateTileMatrixIfNeeded):
(BlackBerry::WebKit::BackingStorePrivate::contentsSizeChanged):
(BlackBerry::WebKit::BackingStorePrivate::orientationChanged):

  • Api/BackingStore_p.h:

(BlackBerry::WebKit::BackingStorePrivate::setTileMatrixNeedsUpdate):
(BackingStorePrivate):

12:56 PM Changeset in webkit [134989] by commit-queue@webkit.org
  • 9 edits in trunk/Source

IndexedDB: Propagate DOMRequestState to IndexedDB binding utility functions
https://bugs.webkit.org/show_bug.cgi?id=102430

Patch by Michael Pruett <michael@68k.org> on 2012-11-16
Reviewed by Adam Barth.

DOMRequestState is currently propagated to some but not all of
the IndexedDB binding utility functions. In order to implement
these functions for JSC, this state must be propagated to all
of the utility functions.

Source/WebCore:

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::update):
(WebCore::IDBCursor::setValueReady):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::generateIndexKeysForValue):
(WebCore::IDBObjectStore::put):
(WebCore):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::dispatchEvent):

  • Modules/indexeddb/IDBRequest.h:

(WebCore::IDBRequest::requestState):
(IDBRequest):

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::serializeIDBValue):
(WebCore::injectIDBKeyIntoScriptValue):

  • bindings/v8/IDBBindingUtilities.h:

(WebCore):

Source/WebKit/chromium:

  • tests/IDBBindingUtilitiesTest.cpp:

(WebKit::checkKeyFromValueAndKeyPathInternal):
(WebKit::injectKey):

12:49 PM Changeset in webkit [134988] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Rebaselined run-bindings-tests.
https://bugs.webkit.org/show_bug.cgi?id=102523

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-16
Reviewed by Dimitri Glazkov.

Expected results need to be updated after r134931

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

(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):

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

(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):

12:46 PM Changeset in webkit [134987] by psolanki@apple.com
  • 7 edits in trunk/Source/WebCore

For single element arrays use the pointer into the CFDataRef instead of copying data
https://bugs.webkit.org/show_bug.cgi?id=102306
<rdar://problem/12267471>

Reviewed by Alexey Proskuryakov.

We generally copy the data received from CFNetwork into our own buffers. But if the
CFArrayRef has exactly one CFDataRef inside it, then we can just hold on to the CFDataRef
and access its memory directly and avoid making a copy.

This also moves the creation of PurgeableBuffer from CachedResource to SharedBuffer.
SharedBuffer::createPurgeableBuffer() will avoid creating PurgeableBuffer when the
SharedBuffer is backed by a NSData/CFDataRef and when we want to optimize and directly use
the memory in the data array.

No new tests because no change in functionality.

  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::createPurgeableBuffer): Added.

  • loader/ResourceBuffer.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::makePurgeable):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::createPurgeableBuffer): Added.
(WebCore::SharedBuffer::data):

  • platform/SharedBuffer.h:
  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::platformData): Use reinterpret_cast instead of C-style cast.
(WebCore::SharedBuffer::maybeTransferPlatformData): Use reinterpret_cast instead of C-style cast.
(WebCore::SharedBuffer::singleDataArrayBuffer): Added.

12:36 PM Changeset in webkit [134986] by Antti Koivisto
  • 9 edits
    2 adds in trunk

REGRESSION(r129644): User StyleSheet not applying
https://bugs.webkit.org/show_bug.cgi?id=102110

Reviewed by Andreas Kling.

Source/WebCore:

Injected stylesheets added as UserStyleAuthorLevel fail to apply. r129644 implicitly assumed that
such things don't exists but on Chromium addUserStyleSheet() confusingly uses them.

The patch adds injected author stylesheets to DocumentStyleSheetCollection::activeStyleSheets().
It also generally cleans up the code around injected and user stylesheets.

Tests: userscripts/user-script-and-stylesheet.html

userscripts/user-stylesheet-invalidate.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectRulesFromUserStyleSheets):
(WebCore::collectCSSOMWrappers):

  • css/StyleResolver.h:

(StyleResolver):

  • dom/Document.cpp:

(WebCore::Document::setCompatibilityMode):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
(WebCore):
(WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
(WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
(WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
(WebCore::DocumentStyleSheetCollection::addUserSheet):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage):

  • dom/DocumentStyleSheetCollection.h:

(WebCore::DocumentStyleSheetCollection::documentUserStyleSheets):
(DocumentStyleSheetCollection):

  • page/PageGroup.cpp:

(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):
(WebCore::PageGroup::removeAllUserContent):
(WebCore::PageGroup::invalidatedInjectedStyleSheetCacheInAllFrames):

  • page/PageGroup.h:

(PageGroup):

LayoutTests:

  • userscripts/user-stylesheet-invalidate-expected.txt: Added.
  • userscripts/user-stylesheet-invalidate.html: Added.
12:26 PM Changeset in webkit [134985] by thakis@chromium.org
  • 3 edits
    2 copies in branches/chromium/1312

Merge 134698 - [chromium/mac] Fix drawing of buttons, checkboxes, radio boxes, and steppers when the page is scaled
https://bugs.webkit.org/show_bug.cgi?id=102282

Reviewed by James Robinson.

Chromium uses skia, and skia state is synced with CG context state at
LocalCurrentGraphicsContext construction time. So delay that
construction after context transforms have happened.
(This regressed in http://trac.webkit.org/changeset/125830)

Covered by the new pixel test fast/forms/zoomed-controls.html. I
couldn't find an existing test for this.

  • platform/mac/ThemeMac.mm:

(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):

TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/11418042

12:23 PM Changeset in webkit [134984] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

StyleResolver: Only input elements need equal "readonly" attribute for style sharing.
<http://webkit.org/b/102536>

Reviewed by Antti Koivisto.

Move the comparison of the "readonly" attribute into canShareStyleWithControl() since it's only
relevant for sharing style between <input> elements.

Also skip attribute comparisons for form control elements that share the same ElementAttributeData.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithControl):
(WebCore::haveIdenticalStyleAffectingAttributes):

12:21 PM Changeset in webkit [134983] by bfulgham@webkit.org
  • 2 edits in trunk/LayoutTests

[WinCairo] Sync with Windows test expectations.

  • platform/wincairo/TestExpectations: Update to match Windows.
12:19 PM Changeset in webkit [134982] by bfulgham@webkit.org
  • 2 edits in trunk/Tools

[Win] key event's location does not work on Windows platform.
https://bugs.webkit.org/show_bug.cgi?id=89742

Patch by Takashi Sakamoto <tasak@google.com> on 2012-11-15
Reviewed by Brent Fulgham.

Modified keyDownCallback to use lparam to specify left-hand keys or
right-hand keys.

  • DumpRenderTree/win/EventSender.cpp:

(makeKeyDataForScanCode):
Given a virtual keycode, generate scancode and extended key bit of
lparam.
(keyDownCallback):
Use lparam for left-hand and right-hand keys, because Windows doesn't
directly provide a virtual keycode which distinguishes between
left-hand and right-hand. For example, when control key is pressed,
wparam has VK_CONTROL, neither VK_RCONTROL nor VK_LCONTROL.

12:18 PM Changeset in webkit [134981] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

String::fromUTF8() should take advantage of the ASCII check in convertUTF8ToUTF16()
https://bugs.webkit.org/show_bug.cgi?id=100577

Reviewed by Oliver Hunt.

Passed in ASCII flag to convertUTF8ToUTF16() and if try, create an 8 bit string from the original arguments.
Relanding after fix to https://bugs.webkit.org/show_bug.cgi?id=102482.

  • wtf/text/WTFString.cpp:

(WTF::String::fromUTF8):

12:05 PM Changeset in webkit [134980] by rwlbuis@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] FCC doesn't work in textarea
https://bugs.webkit.org/show_bug.cgi?id=102088

Reviewed by Antonio Gomes.

Remove the cancel button specializations, it was needed at some point but hitting it
works just as well without it. This unbreaks FCC in textarea's.

  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::isElementClickable):

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

Unreviewed, rolling out r134867.
http://trac.webkit.org/changeset/134867
https://bugs.webkit.org/show_bug.cgi?id=102544

Broke security fuzzier test (heap-buffer-overflow) (Requested
by bfulgham on #webkit).

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

  • platform/audio/Biquad.cpp:

(WebCore::Biquad::process):

11:48 AM Changeset in webkit [134978] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Fix regression causing checkerboard flicker after app wake-up
https://bugs.webkit.org/show_bug.cgi?id=102526

Patch by Adam Treat <atreat@rim.com> on 2012-11-16
Reviewed by George Staikos.
PR 245027

The webkit patch for 219976 introduced an undesirable behavior change
resulting in a regression where there was checkerboard flickering on
resuming from an inactive application state. This patch restores the
previous behavior and fixes the regression.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
(BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):

11:37 AM Changeset in webkit [134977] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] adjusting expectations for checkerboard.html

11:36 AM Changeset in webkit [134976] by tommyw@google.com
  • 12 edits in trunk/Source

MediaStream API: Update RTCPeerConnection states to match the latest editors draft
https://bugs.webkit.org/show_bug.cgi?id=102382

Reviewed by Adam Barth.

Source/Platform:

Adding a callback for the new RTCPeerConnection::iceGatheringState.

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):

Source/WebCore:

Updating readyState & iceState, and adding iceGatheringState.
Also safeguarding the event timer callback.

Patch covered by existing tests.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore::RTCPeerConnection::iceGatheringState):
(WebCore):
(WebCore::RTCPeerConnection::iceState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeIceGatheringState):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • dom/EventNames.h:

(WebCore):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

Updating readyState & iceState, and adding iceGatheringState.

  • src/AssertMatchingEnums.cpp:
11:27 AM Changeset in webkit [134975] by Dimitri Glazkov
  • 10 edits
    1 move
    1 delete in trunk/Source

Unreviewed, rolling out r134973.
http://trac.webkit.org/changeset/134973
https://bugs.webkit.org/show_bug.cgi?id=99340

Broke compile on at least Mac and Linux.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • loader/CookieJar.cpp:
  • loader/chromium/CookieJarChromium.cpp: Renamed from Source/WebKit/chromium/src/FrameNetworkingContextImpl.cpp.

(WebCore):
(WebCore::setCookies):
(WebCore::cookies):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):

  • platform/chromium/PlatformSupport.h:

(WebCore):
(PlatformSupport):

  • platform/network/NetworkingContext.h:
  • platform/network/chromium/CookieJarChromium.cpp: Removed.

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/FrameNetworkingContextImpl.h:
  • src/PlatformSupport.cpp:

(WebCore::getCookieJar):
(WebCore):
(WebCore::PlatformSupport::setCookies):
(WebCore::PlatformSupport::cookies):
(WebCore::PlatformSupport::cookieRequestHeaderFieldValue):
(WebCore::PlatformSupport::rawCookies):
(WebCore::PlatformSupport::deleteCookie):
(WebCore::PlatformSupport::cookiesEnabled):

11:06 AM Changeset in webkit [134974] by Martin Robinson
  • 8 edits
    2 adds
    1 delete in trunk/Source

Source/WebCore: [GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=101843

Reviewed by Gustavo Noronha Silva.

Make GtkAuthenticationDialog more general, so that it can be subclassed in
WebKit2. We cannot use the WebCore authentication-related classes directly there.

No new tests. This patch does not change behavior.

  • platform/gtk/GtkAuthenticationDialog.cpp:

(WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Remove an unused include and reorder
some field initializers.
(WebCore::GtkAuthenticationDialog::authenticate): Now handle both the okay and cancel case here. This
makes it simpler to subclass.
(WebCore::GtkAuthenticationDialog::authenticationDialogResponseCallback): Handle fetching the username
and password here, so that it can be shared with subclasses.

  • platform/gtk/GtkAuthenticationDialog.h: Make some methods virtual and protected so they can be

subclasses.

Source/WebKit2: Move authentication dialog to the UIProcess

[GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=101843

Reviewed by Gustavo Noronha Silva.

Move the use of GtkAuthenticationDialog to the UIProcess along with the rest of
the GTK+ widgets. This will allow us to to embed the dialog into the WebView
in the future and to test authentication with the WebKit2 C API.

  • GNUmakefile.list.am: Add the new class to the source list and remove the

GTK+-only WebFrameLoader implementation file.

  • UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Added. A subclass of GtkAuthenticationDialog

which uses the WebKit2 classes to do the UIProcess-side authentication.

  • UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Added.
  • UIProcess/API/gtk/WebKitLoaderClient.cpp: Add a callback for didReceiveAuthenticationChallengeInFrame.

(didReceiveAuthenticationChallengeInFrame): Added.
(attachLoaderClientToView): Use the new callback.

  • UIProcess/Authentication/AuthenticationChallengeProxy.h:

(WebKit::AuthenticationChallengeProxy::core): Add this getter for the WebCore class.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Share the implementation
again.

  • WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Removed.
11:02 AM Changeset in webkit [134973] by pilgrim@chromium.org
  • 10 edits
    1 move
    1 add in trunk/Source

[Chromium] Remove cookie-related functions from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=99340

Reviewed by Adam Barth.

Move cookie-related functions out of PlatformSupport and implement
new PlatformCookieJar interface via NetworkContext.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • loader/CookieJar.cpp:
  • loader/chromium/CookieJarChromium.cpp: Removed.
  • platform/chromium/PlatformSupport.h:

(WebCore):
(PlatformSupport):

  • platform/network/NetworkingContext.h:

(WebKit):
(NetworkingContext):

  • platform/network/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/loader/chromium/CookieJarChromium.cpp.

(WebCore::setCookiesFromDOM):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/FrameNetworkingContextImpl.cpp: Added.

(WebKit):
(WebKit::FrameNetworkingContextImpl::cookieJar):

  • src/FrameNetworkingContextImpl.h:

(FrameNetworkingContextImpl):

  • src/PlatformSupport.cpp:
10:57 AM Changeset in webkit [134972] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

audiopannernode-basic.html should cover default value of attribute.
https://bugs.webkit.org/show_bug.cgi?id=102332

Patch by Li Yin <li.yin@intel.com> on 2012-11-16
Reviewed by Chris Rogers.

Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#PannerNode
Currently almost all attributes of PannerNode are specified default value clearly,
the test should cover them.

  • webaudio/audiopannernode-basic-expected.txt:
  • webaudio/audiopannernode-basic.html:
10:55 AM Changeset in webkit [134971] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix assertion bug of build fix r134961
https://bugs.webkit.org/show_bug.cgi?id=102533

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-16
Reviewed by Martin Robinson.

Assertion condition should be '!d->m_currentWebChallenge.isNull()'

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):

10:39 AM Changeset in webkit [134970] by tommyw@google.com
  • 11 edits in trunk

[chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
https://bugs.webkit.org/show_bug.cgi?id=102386

Reviewed by Adam Barth.

Source/Platform:

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

Existing tests expanded to cover patch.

  • platform/mediastream/RTCDataChannelDescriptor.cpp:

(WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::readyStateChanged):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(WebKit):
(RTCPeerConnectionHandlerChromium):

Tools:

Adding mock data channel functionality.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::openDataChannel):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel.html:
  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
10:37 AM Changeset in webkit [134969] by commit-queue@webkit.org
  • 10 edits
    10 adds in trunk/Source

[chromium] Copy linux theme related files to default
https://bugs.webkit.org/show_bug.cgi?id=102403

Patch by Scott Violet <sky@chromium.org> on 2012-11-16
Reviewed by Tony Chang

Transitional patch that copies linux WebThemeEngine to default directory.

No new tests, refactoring only.

Source/Platform:

  • Platform.gypi:
  • chromium/public/default: Added.
  • chromium/public/default/WebThemeEngine.h: Copied from Source/Platform/chromium/public/linux/WebThemeEngine.h.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp: Update compile rules when use_default_render_theme is set.
  • WebCore.gypi: Adds new files.
  • platform/chromium/PlatformSupport.h:
  • platform/chromium/PlatformThemeChromiumDefault.cpp: Copied from Source/WebCore/platform/chromium/PlatformThemeChromiumLinux.cpp.
  • platform/chromium/PlatformThemeChromiumDefault.h: Copied from Source/WebCore/platform/chromium/PlatformThemeChromiumLinux.h.
  • platform/chromium/ScrollbarThemeChromiumDefault.cpp: Copied from Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.cpp.
  • platform/chromium/ScrollbarThemeChromiumDefault.h: Copied from Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.h.
  • rendering/RenderThemeChromiumDefault.cpp: Copied from Source/WebCore/rendering/RenderThemeChromiumLinux.cpp.
  • rendering/RenderThemeChromiumDefault.h: Copied from Source/WebCore/rendering/RenderThemeChromiumLinux.h.

Source/WebKit/chromium:

  • features.gypi:
  • public/platform/default: Added.
  • public/platform/default/WebThemeEngine.h: Copied from Source/WebKit/chromium/public/platform/linux/WebThemeEngine.h.
  • src/PlatformSupport.cpp: Includes correct theme files when DEFAULT_RENDER_THEME is set.

(WebCore):

  • src/WebViewImpl.cpp: Includes correct theme files when DEFAULT_RENDER_THEME is set.

(WebKit::WebViewImpl::setScrollbarColors): Calls to default theme as necessary.
(WebKit::WebViewImpl::setSelectionColors): Calls to default theme as necessary.

10:33 AM Changeset in webkit [134968] by alecflett@chromium.org
  • 3 edits in trunk/Source/WebCore

IndexedDB: add missing 'explicit' and fix backing store release
https://bugs.webkit.org/show_bug.cgi?id=102450

Reviewed by Tony Chang.

A inconsequential regression was introduced in http://trac.webkit.org/changeset/134129
which resulted in objects sticking around a bit longer than
expected. This makes sure the LevelDBTransaction is released
at the moment of commit/rollback rather than when IDBTransactionBackendImpl
is destroyed.

No new tests, this is just internal state that will affect
some future refactoring.

  • Modules/indexeddb/IDBBackingStore.h:

(Cursor):
(Transaction):
(WebCore::IDBBackingStore::Transaction::reset):

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::commit):

10:30 AM Changeset in webkit [134967] by jochen@chromium.org
  • 4 edits in trunk/Tools

[chromium] delete unused testRunner methods
https://bugs.webkit.org/show_bug.cgi?id=102479

Reviewed by Adam Barth.

These methods aren't used by any layout test. Remove them to avoid bit rot

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::shouldBeginEditing):
(WebViewHost::shouldEndEditing):
(WebViewHost::shouldInsertNode):
(WebViewHost::shouldInsertText):
(WebViewHost::shouldChangeSelectedRange):
(WebViewHost::shouldDeleteRange):
(WebViewHost::shouldApplyStyle):
(WebViewHost::startDragging):
(WebViewHost::enterFullScreenNow):
(WebViewHost::exitFullScreenNow):

10:19 AM Changeset in webkit [134966] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

[Chromium] One last tweak to WebCore.gypi to make Win build not sad.

  • WebCore.gypi: Removed one last mention of accessibility/gtk file.
10:17 AM Changeset in webkit [134965] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

Handle gesture events on scrollbars.
https://bugs.webkit.org/show_bug.cgi?id=101516

Patch by Robert Flack <flackr@chromium.org> on 2012-11-16
Reviewed by Antonio Gomes.

Adds a gesture event handler to scrollbars and sends gestures beginning
over a scrollbar to this handler to allow touch scrolling scrollbars.

Source/WebCore:

Test: fast/events/touch/gesture/gesture-scrollbar.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::isScrollbarHandlingGestures):
(WebCore):

  • page/EventHandler.h:

(EventHandler):

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::Scrollbar):
(WebCore):
(WebCore::Scrollbar::gestureEvent):
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseUp):
(WebCore::Scrollbar::mouseDown):

  • platform/Scrollbar.h:

(WebCore):
(Scrollbar):

  • platform/ScrollbarTheme.h:

(WebCore::ScrollbarTheme::hitTest):

  • platform/ScrollbarThemeComposite.cpp:

(WebCore::ScrollbarThemeComposite::hitTest):

  • platform/ScrollbarThemeComposite.h:

(ScrollbarThemeComposite):

  • platform/qt/ScrollbarThemeQStyle.cpp:

(WebCore::ScrollbarThemeQStyle::hitTest):

  • platform/qt/ScrollbarThemeQStyle.h:

(ScrollbarThemeQStyle):

Source/WebKit/chromium:

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

LayoutTests:

  • fast/events/touch/gesture/gesture-scrollbar-expected.txt: Added.
  • fast/events/touch/gesture/gesture-scrollbar.html: Added.
10:15 AM Changeset in webkit [134964] by Dimitri Glazkov
  • 1 edit
    1 delete in trunk/LayoutTests

[Chromium] Removed incorrect baseline.

  • platform/chromium-mac/canvas/philip/tests/2d.shadow.enable.blur-expected.txt: Removed.
10:12 AM Changeset in webkit [134963] by wangxianzhu@chromium.org
  • 2 edits in trunk/Source/WebCore

[Chromium-Android] Stack overflow in MediaControlsChromiumAndroid.cpp
https://bugs.webkit.org/show_bug.cgi?id=102444

Reviewed by Adam Barth.

No new tests. Have been covered by many existing layout tests.

  • html/shadow/MediaControlsChromiumAndroid.cpp:

(WebCore::MediaControls::create): Calls createControls instead of itself.

9:54 AM Changeset in webkit [134962] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

StyleResolver: Optimize sharing candidate evaluation for elements with shared attribute data.
<http://webkit.org/b/102507>

Reviewed by Antti Koivisto.

When evaluating two elements as potential style sharing candidate, we have a whole bunch of code
comparing the various attributes that would prevent sharing.

If the two elements both share the same ElementAttributeData, we can skip all those checks
since they are guaranteed to have equal attributes.

Cuts the time spent in canShareStyleWithElement() by 25% on the HTML5 spec at <http://whatwg.org/c>.

  • css/StyleResolver.cpp:

(WebCore::haveIdenticalStyleAffectingAttributes):
(WebCore::StyleResolver::canShareStyleWithElement):

9:51 AM Changeset in webkit [134961] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

[EFL][GTK] Build fix after r134955
https://bugs.webkit.org/show_bug.cgi?id=102527

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-16
Reviewed by Martin Robinson.

Fix the EFL,GTK debug bulid fails after r134955.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):

9:46 AM Changeset in webkit [134960] by ap@apple.com
  • 46 edits
    1 add in trunk

Private Browsing is a per-page setting that sets a global value
https://bugs.webkit.org/show_bug.cgi?id=67870

Reviewed by Sam Weinig.

Make ResourceHandle{Mac,CFNet} use context to access storage session.

  • WebCore.exp.in: We track less session state in WebCore now, so we need fewer exports.
  • loader/FrameNetworkingContext.h: Added an OVERRIDE.
  • page/Settings.cpp: (WebCore::Settings::setPrivateBrowsingEnabled): WebCore no longer keeps track of a globally enabled private CFNetwork storage session.
  • platform/CookiesStrategy.h: Added defaultCookieStorage(). Some cookie jar methods don't have a NetworkingContext pointer, and have to use whatever a client expects them to do. Perhaps we should move those methods away from WebCore eventually.
  • platform/network/NetworkingContext.h: Added storageSession().
  • platform/network/ResourceHandle.h: Removed sttaic methods for dealing with global sessions.
  • platform/network/ResourceHandleInternal.h: Added m_storageSession. We need to remember it post-creation to do things in willSendRequest. Alternatively, we could keep a reference to NetworkingContext itself.
  • platform/network/cf/CookieJarCFNet.cpp: (WebCore::setCookiesFromDOM): currentCFHTTPCookieStorage now needs a context, there is no globally current one any more. Also, we don't really expect cookie stirage to be 0 when not using NSURLConnection. (WebCore::cookiesForDOM): Ditto. (WebCore::cookieRequestHeaderFieldValue): Ditto. (WebCore::cookiesEnabled): Ditto. (WebCore::getRawCookies): Ditto. (WebCore::deleteCookie): Ditto. (WebCore::getHostnamesWithCookies): Ditto. (WebCore::deleteCookiesForHostname): Ditto. (WebCore::deleteAllCookies): Ditto.
  • platform/network/cf/CookieStorageCFNet.cpp: (WebCore::currentCFHTTPCookieStorage): Use a context. (WebCore::defaultCFHTTPCookieStorage): Except for Windows-only override session, this is implemented in a strategy. (WebCore::overridenCookieStorage): Exposed the override for WebKit use on Windows.
  • platform/network/cf/CookieStorageCFNet.h: Ditto.
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willSendRequest): Use storage session from the context, not global one. (WebCore::makeFinalRequest): Merged this into the only remaining caller. This function didn't really make any sense on its own. (WebCore::shouldRelaxThirdPartyCookiePolicy): Factored out of createCFURLConnection to match Mac. (WebCore::ResourceHandle::createCFURLConnection): While merging makeFinalRequest() in, removed some seemingly nonsensical code that was getting and immediately re-applying cookie storage accept policy. (WebCore::ResourceHandle::start): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willSendRequest): Apply the stored session, not global one. (WebCore::ResourceHandle::storageSession): An accessor for static methods that cannot access "d". (WebCore::ResourceHandle::loadResourceSynchronously): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willLoadFromCache): Don't call makeFinalRequest here. It didn't match Mac, and nothing in makeFinalRequest should have affected the result.
  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest): This function used to apply current storage session to every request for no apparent reason.
  • platform/network/mac/CookieJarMac.mm: (WebCore::cookiesForDOM): Changed to pass context to currentCFHTTPCookieStorage. (WebCore::cookieRequestHeaderFieldValue): Ditto. (WebCore::setCookiesFromDOM): Ditto. (WebCore::cookiesEnabled): Ditto. (WebCore::getRawCookies): Ditto. (WebCore::deleteCookie): Ditto. (WebCore::getHostnamesWithCookies): Ditto. (WebCore::deleteCookiesForHostname): Ditto. (WebCore::deleteAllCookies): Ditto.
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::shouldRelaxThirdPartyCookiePolicy): There was no need to special case null currentCFHTTPCookieStorage, WKSI handles that internally. Added a context argument, so that the function can access current session. (WebCore::ResourceHandle::createNSURLConnection): Updated for other code changes. (WebCore::ResourceHandle::start): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willLoadFromCache): Style fix. (WebCore::ResourceHandle::loadResourceSynchronously): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willSendRequest): Use stored session, not global one.
9:34 AM Changeset in webkit [134959] by Dimitri Glazkov
  • 3 edits in trunk/Source/WebCore

[Chromium] Land a proper fix for r134939.

  • WebCore.gyp/WebCore.gyp: Added exclusion for "atk".
  • WebCore.gypi: Put the accessibility/atk directory back into WebCore.gypi.
9:19 AM Changeset in webkit [134958] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

[Chromium] Just yank the whole accessibility/atk dir out of WebCore.gypi.

8:57 AM Changeset in webkit [134957] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use proper keycode value for space instead of hardcoded value.
https://bugs.webkit.org/show_bug.cgi?id=102518

Reviewed by Rob Buis.

Remove hard coded value for space.

Reviewed Internally by Gen Mak.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::setText):

8:56 AM Changeset in webkit [134956] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

[Chromium] Updated WebCore.gypi after r134939.

  • WebCore.gypi: Renamed acessibility/gtk to accessibility/atk.
8:40 AM Changeset in webkit [134955] by commit-queue@webkit.org
  • 11 edits in trunk/Source

[GTK] Move CredentialBackingStore usage from GtkAuthenticationDialog to ResourceHandleSoup
https://bugs.webkit.org/show_bug.cgi?id=101840

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-11-16
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Make ResourceHandleSoup aware of per-session CredentialStorage and persistent CredentialStorage.
Persistent credential storage interaction is moved from GtkAuthenticationDialog, so that it can
be used whether or not GtkAuthenticationDialog is used or not. We try to properly handle redirects
in the manner that the CFNet backend does.

No new tests. There are tests for this behavior, but they cannot be activated until we finish
plumbing this through to the API layer. Once that patch lands, the tests will be turned on.

  • platform/gtk/GtkAuthenticationDialog.cpp: No longer store credentials into the persistent

storage manually, instead rely on ResourceHandleSoup. Also, we no longer get proposed credentials
from the persistent storage here as well. They are pre-loaded by the ResourceHanndle.

  • platform/gtk/GtkAuthenticationDialog.h: Remove callbacks and members associated with saving

credentials to the persistent credential store.

  • platform/network/ResourceHandle.h:

(ResourceHandle): Add a method which is used to continue asynchronously after looking for
proposed credentials in the persistent credential store.

  • platform/network/ResourceHandleInternal.h: Add a member which tracks persistent credentials to be added once we know

an authentication succeeded.

  • platform/network/gtk/CredentialBackingStore.cpp:

(CredentialForChallengeAsyncReadyCallbackData): Added this data structure used for asynchronous access
of stored credentials.
(WebCore::credentialForChallengeAsyncReadyCallback): Ditto for this callback.
(WebCore::CredentialBackingStore::credentialForChallenge): Make this method asynchronous.

  • platform/network/gtk/CredentialBackingStore.h:

(CredentialBackingStore): Update method signatures for for making credentialForChallenge asynchronous.

  • platform/network/soup/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::setProposedCredential): Added a setter so that ResourceHandleSoup
can set proposed credentials from the persistent credential store.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::gotHeadersCallback): For GTK+ save any pending credential in the persistent credential storage
if the authentication succeeded.
(WebCore::applyAuthenticationToRequest): Added this method which generically embeds stored credentials
in the request URI. This is the method that Soup uses to override any soup-stored session credential.
(WebCore::restartedCallback): Strip credentials for requests that span a security origin. Handle
authenticating requests from the session store.
(WebCore::createSoupRequestAndMessageForHandle): Make the local request reference mutable.
(WebCore::ResourceHandle::start): Remove some code which is now part of applyAuthenticationToRequest.
Call applyAuthenticationToRequest and clear the user and password members like the CFNet backend does.
(WebCore::getCredentialFromPersistentStoreCallback): Added this callback for getting persistently stored credentials.
(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge): Split out didReceiveAuthenticationChallenge
into this asynchronous bit.
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): For GTK+ continue handling this situation after
first looking in the persistent credential store.
(WebCore::ResourceHandle::receivedCredential): Store session credentials in the session storage, which is
at the moment a redundant version of the Soup session storage and also prepare any persistent credentials
for storage later (see gotHeadersCallback).

Source/WebKit/gtk:

Enable the CredentialStore by default for the WebKit1 GTK+ port. Before this value
didn't have an bearing on whether or not the persistent credential storage was used.
Now is does.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::shouldUseCredentialStorage): Enable credential storage by default.

8:22 AM Changeset in webkit [134954] by arv@chromium.org
  • 22 edits in trunk

Update DOMException name: TypeMismatchError
https://bugs.webkit.org/show_bug.cgi?id=102418

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 17 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

(WebCore):

  • dom/ExceptionCode.h:

LayoutTests:

Updated tests and expectations.

  • editing/selection/extend-expected.txt:
  • fast/dom/Element/attr-param-typechecking-expected.txt:
  • fast/dom/Geolocation/argument-types-expected.txt:
  • fast/dom/Geolocation/not-enough-arguments-expected.txt:
  • fast/dom/Geolocation/script-tests/argument-types.js:

(test):

  • fast/dom/HTMLSelectElement/select-selectedIndex-expected.txt:
  • fast/dom/HTMLSelectElement/select-selectedIndex-multiple-expected.txt:
  • fast/js/select-options-add-expected.txt:
  • fast/mediastream/RTCIceCandidate-expected.txt:
  • fast/mediastream/RTCPeerConnection-expected.txt:
  • fast/mediastream/RTCSessionDescription-expected.txt:
  • platform/chromium/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/efl/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/gtk/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/mac/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/qt/fast/dynamic/insertAdjacentElement-expected.txt:
  • security/crypto-random-values-types-expected.txt:
  • svg/dom/SVGTransformList-expected.txt:
8:19 AM Changeset in webkit [134953] by commit-queue@webkit.org
  • 15 edits in trunk/Source/WebKit2

[EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
https://bugs.webkit.org/show_bug.cgi?id=102000

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-16
Reviewed by Kenneth Rohde Christiansen.

Add matching of view background color to the page background. This helps to reduce
visibility of flicker during scrolling/scaling/repainting where page tiles are not
ready. View background color matching is disabled by default and can be enabled
with new API function ewk_view_draws_page_background_set .
View background color can interfere with semi-transparent pages and should be
disabled by default.
Upstreaming changes by Youngtaeck Song(youngtaeck.song@samsung.com).

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::displayTimerFired):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl::setDrawsBackground):
(EwkViewImpl):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_draws_page_background_set):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::setBackgroundColor):
(WebKit):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
(WebKit::LayerTreeRenderer::paintToGraphicsContext):
(WebKit::LayerTreeRenderer::setBackgroundColor):
(WebKit):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):
(WebKit::LayerTreeRenderer::setDrawsBackground):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::setBackgroundColor):
(WebKit):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

  • WebProcess/WebPage/LayerTreeHost.h:

(WebKit::LayerTreeHost::setBackgroundColor):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::mainFrameDidLayout):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

8:12 AM Changeset in webkit [134952] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebCore

Coordinated Graphics: support the "freeze animations" API
https://bugs.webkit.org/show_bug.cgi?id=100703

Reviewed by Noam Rosenthal.

Typo fix after previous patch.

No new tests, it's just a typo that only takes effect in the browser.

  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
Initialize members.

8:01 AM Changeset in webkit [134951] by commit-queue@webkit.org
  • 3 edits
    2 moves
    1 add in trunk/Source/WebKit2

[WK2][GTK][EFL] Share WebKit2-GTK's WebProcess Accessibility implementation with other WebKit ports.
https://bugs.webkit.org/show_bug.cgi?id=101748

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-11-16
Reviewed by Martin Robinson.

Remove and rename files related to Accessibility from WebPage/gtk to WebPage/atk.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebProcess/WebPage/atk/WebPageAccessibilityObject.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.h.

(WebKit):
(_WebPageAccessibilityObject):
(_WebPageAccessibilityObjectClass):

  • WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp.

(accessibilityRootObjectWrapper):
(webPageAccessibilityObjectInitialize):
(webPageAccessibilityObjectGetIndexInParent):
(webPageAccessibilityObjectGetNChildren):
(webPageAccessibilityObjectRefChild):
(web_page_accessibility_object_init):
(web_page_accessibility_object_class_init):
(webPageAccessibilityObjectNew):
(webPageAccessibilityObjectRefresh):

7:47 AM Changeset in webkit [134950] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

add 7 bit strings capabilities to the v8 binding layer
https://bugs.webkit.org/show_bug.cgi?id=91850

Patch by Dan Carney <dcarney@google.com> on 2012-11-16
Reviewed by Adam Barth.

This change enables the v8 binding layer to make use of webkit's
8 bit string capabilities. Using 8 bit strings leads to certain
benchmark performance improvemnts as can be seen in
https://bug-91850-attachments.webkit.org/attachment.cgi?id=163334.

No new tests. Test coverage already extensive.

  • bindings/v8/V8PerIsolateData.cpp:

(WebCore::V8PerIsolateData::visitExternalStrings):

  • bindings/v8/V8StringResource.cpp:

(StringTraits):
(WebCore::false):
(WebCore):
(WebCore::true):
(WebCore::v8StringToWebCoreString):

  • bindings/v8/V8ValueCache.cpp:

(WebCore::makeExternalString):
(WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
(WebCore):
(WebCore::WebCoreStringResourceBase::visitStrings):

  • bindings/v8/V8ValueCache.h:

(WebCoreStringResourceBase):
(WebCore::WebCoreStringResourceBase::WebCoreStringResourceBase):
(WebCore::WebCoreStringResourceBase::~WebCoreStringResourceBase):
(WebCore::WebCoreStringResourceBase::atomicString):
(WebCore::WebCoreStringResourceBase::memoryConsumption):
(WebCoreStringResource16):
(WebCore::WebCoreStringResource16::WebCoreStringResource16):
(WebCore):
(WebCoreStringResource8):
(WebCore::WebCoreStringResource8::WebCoreStringResource8):

7:44 AM Changeset in webkit [134949] by arv@chromium.org
  • 25 edits in trunk

Update DOMException name: InvalidAccessError
https://bugs.webkit.org/show_bug.cgi?id=102400

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 15 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • editing/undomanager/undomanager-reenter-expected.txt:
  • editing/undomanager/undomanager-reenter.html:
  • editing/undomanager/undoscopehost-use-after-free-expected.txt:
  • editing/undomanager/undoscopehost-use-after-free.html:
  • fast/css/CSSPrimitiveValue-exceptions-expected.txt:
  • fast/css/getFloatValueForUnit-expected.txt:
  • fast/css/getFloatValueForUnit.html:
  • fast/css/resources/CSSPrimitiveValue-exceptions.js:
  • fast/dom/XMLSerializer-doctype2-expected.txt:
  • fast/dom/XMLSerializer-doctype2.html:
  • fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-sync-disabled-expected.txt:
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt:
  • http/tests/media/media-source/video-media-source-duration-changed-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/close.html:
  • platform/chromium-mac/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • platform/chromium-win/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • webintents/web-intents-api-expected.txt:
  • webintents/web-intents-api.html:
7:39 AM Changeset in webkit [134948] by Alexandru Chiculita
  • 14 edits
    5 adds in trunk/Source

[Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
https://bugs.webkit.org/show_bug.cgi?id=102414

Reviewed by Noam Rosenthal.

Source/WebCore:

Added WebCore classes needed for the WebKit2 implementation of Texture Mapper to keep a reference to the
platform compiled custom filter. It is just used to maintain the life-time of the objects. WebKit2 injects a
client in TextureMapperPlatformCompiledProgram and receives a callback when the custom filter program is not
used to render any layer on the page.

Note that CustomFilterValidatedProgram are reused across multiple elements of the same page. Also, the instances
are reused across frames, so animations should reuse the same pre-validated program. In this case, the mechanism is
extended and reused in the platform compositor.

No new tests, existing tests for CSS Custom Filters already cover this path.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.pri:
  • platform/graphics/filters/CustomFilterValidatedProgram.cpp:

(WebCore):

  • platform/graphics/filters/CustomFilterValidatedProgram.h:

(WebCore):
(CustomFilterValidatedProgram):

  • platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Added.

(WebCore):
(WebCore::CustomFilterValidatedProgram::platformCompiledProgram): Platform implementation for creating and deleting the reference.
(WebCore::CustomFilterValidatedProgram::platformInit):
(WebCore::CustomFilterValidatedProgram::platformDestroy):

  • platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Added.

(WebCore):
(TextureMapperPlatformCompiledProgramClient):
(WebCore::TextureMapperPlatformCompiledProgramClient::ref):
(WebCore::TextureMapperPlatformCompiledProgramClient::deref):
(TextureMapperPlatformCompiledProgram):
Stores a link to a TextureMapperPlatformCompiledProgramClient. It's main purpose is to call unref on the client when
the shader is not needed anymore. WebKit2 can use that to delete the corresponding shader from the compositor side.
(WebCore::TextureMapperPlatformCompiledProgram::create):
(WebCore::TextureMapperPlatformCompiledProgram::setClient): Used by WebKit2 to inject the platform client.
(WebCore::TextureMapperPlatformCompiledProgram::client):
(WebCore::TextureMapperPlatformCompiledProgram::TextureMapperPlatformCompiledProgram):

Source/WebKit2:

This is the first part of shader caching implementation for the Custom Filters in WK2 LayerTreeCoordinator.
In this patch it will just make the LayerTreeCoordinator knowledgeable about the life-time
of the custom filter programs. It can allocate IDs for the filters and it also gets a callback when the
filters are not needed anymore.

The UI process is still recreating the shader every time, but https://bugs.webkit.org/show_bug.cgi?id=101801
will fix that and try to reuse existing custom filters.

  • CMakeLists.txt:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::encode):

  • Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Added.

(WebKit):
(WebKit::WebCustomFilterProgramProxy::~WebCustomFilterProgramProxy):

  • Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Added.

(WebKit):
(WebCustomFilterProgramProxyClient):
(WebCustomFilterProgramProxy):
(WebKit::WebCustomFilterProgramProxy::create):
(WebKit::WebCustomFilterProgramProxy::id):
(WebKit::WebCustomFilterProgramProxy::refFromValidatedProgram):
(WebKit::WebCustomFilterProgramProxy::derefFromValidatedProgram):
(WebKit::WebCustomFilterProgramProxy::setClient):
(WebKit::WebCustomFilterProgramProxy::client):
(WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):

  • Target.pri:
  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::syncLayerFilters):
(WebKit):
(WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
(WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
(WebKit::LayerTreeCoordinator::disconnectCustomFilterPrograms):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

7:21 AM Changeset in webkit [134947] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Short-circuit Element::hasEquivalentAttributes() if elements share attribute data.
<http://webkit.org/b/102498>

Reviewed by Antti Koivisto.

Add a fast path to hasEquivalentAttributes() that checks if both elements are using
the same ElementAttributeData.

  • dom/Element.cpp:

(WebCore::Element::hasEquivalentAttributes):

6:58 AM Changeset in webkit [134946] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[Qt][Mac] Fix the build after r124873
https://bugs.webkit.org/show_bug.cgi?id=102475

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-11-16
Reviewed by Noam Rosenthal.

Change the CoordinatedImageBackingID typedef from uintptr_t to uint64_t.

  • Shared/WebLayerTreeInfo.h:
  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
6:55 AM Changeset in webkit [134945] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] Adding a null pointer check for currentContext to GraphicsContext3DQt.
https://bugs.webkit.org/show_bug.cgi?id=102360

QOpenGLContext::currentContext() will return null, in case there is
no current context. Therefore currentContext must be null-checked
before it can be reused.
Making a context current on a null-surface on the other hand is
perfectly possible.

Reviewed by Kenneth Rohde Christiansen.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):

6:38 AM Changeset in webkit [134944] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Workaround to show shortcuts for panels that hasn't been loaded.
https://bugs.webkit.org/show_bug.cgi?id=102488

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-16
Reviewed by Vsevolod Vlasov.

Panels are lazily loaded / instantiated.
Panel constructors register keyboard shortcuts.

When user open shortcuts screen all panel should be loaded.
Otherwise some shortcuts will be missing.

  • inspector/front-end/ShortcutsScreen.js: Added callback invokation.
  • inspector/front-end/inspector.js:

Provided callback that loads all panels.

6:36 AM Changeset in webkit [134943] by dominik.rottsches@intel.com
  • 3 edits
    4 adds
    2 deletes in trunk/LayoutTests

[EFL] Gardening failure cases on EFL build bots
https://bugs.webkit.org/show_bug.cgi?id=102496

Unreviewed EFL gardening.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-16

  • platform/efl-wk1/fast/media/mq-js-media-except-02-expected.png: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-03-expected.png: Removed.
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/fast/media/mq-js-media-except-02-expected.png: Added.
  • platform/efl/fast/media/mq-js-media-except-02-expected.txt: Added.
  • platform/efl/fast/media/mq-js-media-except-03-expected.png: Added.
  • platform/efl/fast/media/mq-js-media-except-03-expected.txt: Added.
6:26 AM Changeset in webkit [134942] by zandobersek@gmail.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed GTK gardening, rebaselining after r134859.

  • platform/gtk/fast/media/mq-js-media-except-02-expected.txt: Added.
  • platform/gtk/fast/media/mq-js-media-except-03-expected.txt: Added.
6:00 AM Changeset in webkit [134941] by yael@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Help bugzilla find me.

  • Scripts/webkitpy/common/config/committers.py:
5:59 AM Changeset in webkit [134940] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Remove IsSubType() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102348

Reviewed by Adam Barth.

CodeGenerator.pm has IsStrictSubType(). CodeGeneratorV8.pm should use it.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(IsSubType):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetInternalFields):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateImplementationIndexer):
(GenerateToV8Converters):

5:47 AM Changeset in webkit [134939] by mario@webkit.org
  • 3 edits
    30 moves
    1 add in trunk/Source/WebCore

[EFL] Share WebKit-Gtk's Accessibility implementation with others WebKit ports.
https://bugs.webkit.org/show_bug.cgi?id=99578

Reviewed by Martin Robinson.

Renamed WebCore/accessibility/gtk to WebCore/accessibility/atk.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • accessibility/atk/AXObjectCacheAtk.cpp: Renamed from

Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp.

  • accessibility/atk/AccessibilityObjectAtk.cpp: Renamed from

Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp.

  • accessibility/atk/WebKitAccessibleHyperlink.cpp: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.cpp.

  • accessibility/atk/WebKitAccessibleHyperlink.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.h.

  • accessibility/atk/WebKitAccessibleInterfaceAction.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceAction.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.h.

  • accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceComponent.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.h.

  • accessibility/atk/WebKitAccessibleInterfaceDocument.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceDocument.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.h.

  • accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceEditableText.h:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.h.

  • accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.h:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h.

  • accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceHypertext.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.h.

  • accessibility/atk/WebKitAccessibleInterfaceImage.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceImage.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.h.

  • accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceSelection.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.h.

  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceTable.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.h.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceText.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.h.

  • accessibility/atk/WebKitAccessibleInterfaceValue.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceValue.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.h.

  • accessibility/atk/WebKitAccessibleUtil.cpp: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.cpp.

  • accessibility/atk/WebKitAccessibleUtil.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.h.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp.

  • accessibility/atk/WebKitAccessibleWrapperAtk.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.h.

5:39 AM Changeset in webkit [134938] by shinyak@chromium.org
  • 4 edits
    4 adds in trunk

Changing pseudoClass (:indeterminate) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101903

Reviewed by Dimitri Glazkov.

Source/WebCore:

<progress> and <input type="checkbox"> have 'indeterminate' state. When their state is changed, we have to
invalidate distribution if necessary. To check it, we collect a feature that :invalidate is used in select attributes.

For <input>, we also have to see 'type' is changed. According to the spec, :indeterminate should match only
progress element or <input type="checkbox">. So changing 'type' might also change :indeterminate state.

Tests: fast/dom/shadow/pseudoclass-update-indeterminate-input.html

fast/dom/shadow/pseudoclass-update-indeterminate-progress.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::setIndeterminate):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::didElementStateChange):

LayoutTests:

I've used "-webkit-appearance: none" for progress element because of Bug 102459.
It prevents from testing progress element on Windows.

  • fast/dom/shadow/pseudoclass-update-indeterminate-input-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-indeterminate-input.html: Added.
  • fast/dom/shadow/pseudoclass-update-indeterminate-progress-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-indeterminate-progress.html: Added.
5:37 AM Changeset in webkit [134937] by alexis@webkit.org
  • 2 edits in trunk/Source/WebCore

Factorize the creation of primitive values with a pair into a function.
https://bugs.webkit.org/show_bug.cgi?id=102485

Reviewed by Antti Koivisto.

The pattern is already existing in various call sites inside CSSParser
and more will be added in the future (see bug 102104).

No new tests : It's a refactoring only, the tests should cover it.

  • css/CSSParser.cpp:

(WebCore):
(WebCore::createPrimitiveValuePair):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillSize):
(WebCore::CSSParser::parseBorderImageRepeat):
(WebCore::CSSParser::parseBorderRadius):
(WebCore::CSSParser::parseCounter):

5:35 AM Changeset in webkit [134936] by pilgrim@chromium.org
  • 9 edits in trunk/Source/WebCore

Expand PlatformCookieJar interface to allow for other ports
https://bugs.webkit.org/show_bug.cgi?id=102456

Reviewed by Adam Barth.

Add firstParty and cookieURL arguments to several functions to
prepare for integrating Chromium port into new PlatformCookieJar
interface.

  • loader/CookieJar.cpp:

(WebCore::cookiesEnabled):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::getRawCookies):

  • platform/network/PlatformCookieJar.h:

(WebCore):

  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/mac/CookieJarMac.mm:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/qt/CookieJarQt.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/win/CookieJarWin.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

5:32 AM Changeset in webkit [134935] by jchaffraix@webkit.org
  • 3 edits in trunk/Source/WebCore

RenderGrid should have a function to resolve grid position
https://bugs.webkit.org/show_bug.cgi?id=102441

Reviewed by Ojan Vafai.

The code was doing this conversion implicitly inside RenderGrid::findChildLogicalPosition.
Also note that we also provided a fallback by returning LayoutPoint() (ie the (0, 0) position
on the grid) if we couldn't handle the value. The explicit conversion is needed in order to
support render areas and add a proper grid model to RenderGrid.

No expected change in behavior.

  • rendering/RenderGrid.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveGridPosition):
Added this new function to handle the conversion. We re-use Length but should never see
a lot of the <length> values so I added some ASSERTs to enforce and catch that.

(WebCore::RenderGrid::findChildLogicalPosition):
Simplified the function now that it just use resolveGridPosition.

5:19 AM Changeset in webkit [134934] by commit-queue@webkit.org
  • 4 edits in trunk

[V8] Increment the amount of externally allocated memory for the receiving V8 isolate when transferring ArrayBuffer
https://bugs.webkit.org/show_bug.cgi?id=94463

Patch by Ulan Degenbaev <ulan@chromium.org> on 2012-11-16
Reviewed by Kentaro Hara.

Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer is deserialized and transferred.

.:

  • ManualTests/typed-array-memory.html:

Source/WebCore:

Test: ManualTests/typed-array-memory.html

  • bindings/v8/SerializedScriptValue.cpp:
4:53 AM Changeset in webkit [134933] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Unset the tooltip when the web process has crashed
https://bugs.webkit.org/show_bug.cgi?id=102232

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-16
Reviewed by Gyuyoung Kim.

Emit 'tooltip,text,unset' signal to unset the tooltip
when the web process has crashed.

  • UIProcess/efl/PageClientBase.cpp:

(WebKit::PageClientBase::processDidCrash):

4:37 AM Changeset in webkit [134932] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Unreviewed, rolling out r134694.
http://trac.webkit.org/changeset/134694
https://bugs.webkit.org/show_bug.cgi?id=102481

it made API test crash on EFL port (Requested by gyuyoung on
#webkit).

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

Source/WebCore:

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::fillColorsFromEdjeClass):
(WebCore::RenderThemeEfl::setColorFromThemeClass):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::RenderThemeEfl):

  • platform/efl/RenderThemeEfl.h:

(RenderThemeEfl):

Source/WebKit/efl:

  • DefaultTheme/default.edc:
4:32 AM Changeset in webkit [134931] by mkwst@chromium.org
  • 17 edits in trunk/Source/WebCore

Web Inspector: Move call stack generation out of bindings.
https://bugs.webkit.org/show_bug.cgi?id=101331

Reviewed by Yury Semikhatsky.

Currently, we generate stack traces for console messages at each call
site. Bug 100650 has the end goal of moving all stack trace generation
inside of the Inspector in order to ensure that we never send a console
message without a stack trace if it's possible to generate one. This
also ensures that we never generate unused call stacks.

This patch is the first step in that direction, moving stack trace
generation out of the Console bindings, and into either Console or
InspectorConsoleAgent.

No visible change in behavior should result; this refactoring should
continue to pass all existing inspector tests.

  • bindings/js/JSConsoleCustom.cpp:

(WebCore::JSConsole::profile):
(WebCore::JSConsole::profileEnd):

Adjust custom JSC Console bindings to drop call stack generation.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallWith):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateCallWith):

Drop call stack generation from JSC and V8 bindings.

  • bindings/scripts/CodeGeneratorGObject.pm:

Skip timeEnd explicitly in these bindings; it used to include
ScriptArguments, which autoskipped it. Now it doesn't, so it needs
to be called out on its own.

  • bindings/v8/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStackForConsole):
(WebCore::createScriptCallStack):
(WebCore):

  • bindings/v8/ScriptCallStackFactory.h:

(WebCore):

Add 'createScriptCallStack(ScriptState*, size_t)' to V8's
ScriptCallStackFactory in order to match JCS' implementation.
It simply delegates to 'createScriptCallStackForConsole', which
now also accepts a 'maxStackSize' parameter.

  • bindings/v8/custom/V8ConsoleCustom.cpp:

(WebCore::V8Console::traceCallback):
(WebCore::V8Console::assertCallback):
(WebCore::V8Console::profileCallback):
(WebCore::V8Console::profileEndCallback):

Adjust custom V8 bindings to drop call stack generation.

  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::addMessageToConsole):

With the eventual goal of getting rid of the call stack parameter
entirely, this patch drops it from one version of
'addMessageToConsole' (replacing it with ScriptState*), and creates
a new version that only accepts a call stack. We should be able to
migrate most (all?) external call sites over to the arguments
version in future patches.

(WebCore):
(WebCore::InspectorConsoleAgent::count):

Count takes 'ScriptState*' instead of a call stack, and generates
the stack as needed.

  • inspector/InspectorConsoleAgent.h:

(InspectorConsoleAgent):

  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore):
(WebCore::InspectorInstrumentation::consoleCount):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):

Changes the InspectorInstrumentation pipeline to match the
InspectorConsoleAgent changes.

  • page/Console.cpp:

(WebCore::Console::addMessage):

We now (always) generate one frame of a stack trace in order to
populate line numbers and caller URLs. If we need to print the whole
trace here, we generate a full stack.

(WebCore::Console::debug):
(WebCore::Console::error):
(WebCore::Console::info):
(WebCore::Console::log):
(WebCore::Console::warn):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::clear):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::count):
(WebCore::Console::markTimeline):
(WebCore::Console::timeEnd):
(WebCore::Console::timeStamp):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):

s/ScriptCallStack/ScriptState*/g. Also, printing the stack trace
has been moved out of 'trace' and into 'addMessage'.

  • page/Console.h:

(Console):

  • page/Console.idl:

Drop the call stack, add the script state.

  • workers/WorkerContext.cpp:

(WebCore::WorkerContext::addMessageToWorkerConsole):

Use the new, explicitly call stacked addMessageToConsole. We'll kill
this in a future patch.

4:21 AM Changeset in webkit [134930] by commit-queue@webkit.org
  • 32 edits
    2 copies in trunk/Source/WebCore

Add initiator to CachedResourceRequest.
https://bugs.webkit.org/show_bug.cgi?id=101935

Patch by Marja Hölttä <marja@chromium.org> on 2012-11-16
Reviewed by Adam Barth.

Motivation: Chromium needs to know which elements request a
resource (such as an image or a script) (bug 92761). In addition,
for exposing resource timing information (bug 84883) we need to
store the initiator, and this is the first step towards it.

No new tests: No visible change in behavior.

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

(WebCore::CSSCursorImageValue::cachedImage):

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::cachedFont):

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::cachedImageSet):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::cachedImage):

  • css/CSSImageValue.h:

(WebCore):
(CSSImageValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImage):

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::requestStyleSheet):

  • css/WebKitCSSSVGDocumentValue.cpp:

(WebCore::WebKitCSSSVGDocumentValue::load):

  • css/WebKitCSSShaderValue.cpp:

(WebCore::WebKitCSSShaderValue::cachedShader):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestScript):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::emitRule):

  • html/parser/CSSPreloadScanner.h:

(CSSPreloadScanner):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::PreloadTask::preload):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
(WebCore):
(WebCore::CachedResourceLoader::preload):

  • loader/cache/CachedResourceLoader.h:

(WebCore):
(CachedResourceLoader):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::CachedResourceRequest):
(WebCore):
(WebCore::CachedResourceRequest::~CachedResourceRequest):
(WebCore::CachedResourceRequest::setInitiator):
(WebCore::CachedResourceRequest::initiatorName):
(WebCore::CachedResourceRequest::initiatorDocument):
(WebCore::CachedResourceRequest::initiatorElement):

  • loader/cache/CachedResourceRequest.h:

(WebCore):
(WebCore::CachedResourceRequest::setOptions):
(WebCore::CachedResourceRequest::defer):
(WebCore::CachedResourceRequest::setDefer):
(CachedResourceRequest):

  • loader/cache/CachedResourceRequestInitiators.cpp: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.

(WebCore):
(WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):

  • loader/cache/CachedResourceRequestInitiators.h: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.

(WebCore):
(CachedResourceRequestInitiators):
(WebCore::cachedResourceRequestInitiators):

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::startLoading):

  • platform/ThreadGlobalData.cpp:

(WebCore::ThreadGlobalData::ThreadGlobalData):

  • platform/ThreadGlobalData.h:

(WebCore):
(WebCore::ThreadGlobalData::cachedResourceRequestInitiators):
(ThreadGlobalData):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::requestImageResource):

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::loadFont):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::svgAttributeChanged):

4:19 AM Changeset in webkit [134929] by mkwst@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed gardening.

http/tests/security/sandboxed-iframe-form-top.html is leaking state into
the next test, and should have been skipped for Chromium as well as mac
in r134789. This patch remedies that oversight.

  • platform/chromium/TestExpectations:
4:04 AM Changeset in webkit [134928] by yurys@chromium.org
  • 6 edits in trunk

Web Inspector: don't show an Error when evaluating a watch expression results in an exception
https://bugs.webkit.org/show_bug.cgi?id=102470

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Dim watch expression and show "<not available>" as its value in cases when it evaluates
into an exception.

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

(WebInspector.WatchExpressionTreeElement.prototype.update):

  • inspector/front-end/inspector.css:

LayoutTests:

Check that watch expression has value "<not available>" in case of exception
during its evaluation instead of a special style class tha has been removed.

  • inspector/debugger/error-in-watch-expressions.html:
4:00 AM Changeset in webkit [134927] by vsevik@chromium.org
  • 21 edits
    1 delete in trunk/Source/WebCore

Web Inspector: Rollout 134404 134548 134552 Temporarily rolling out to ease merging.
https://bugs.webkit.org/show_bug.cgi?id=102476

Unreviewed rolling out.

  • English.lproj/localizedStrings.js:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/AdvancedSearchController.js:
  • inspector/front-end/CallStackSidebarPane.js:

(WebInspector.CallStackSidebarPane.prototype.registerShortcuts):

  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleView.prototype._registerShortcuts):

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype._registerShortcuts):

  • inspector/front-end/ElementsPanelDescriptor.js:
  • inspector/front-end/GoToLineDialog.js:

(WebInspector.GoToLineDialog.install):

  • inspector/front-end/KeyboardShortcut.js:

(WebInspector.KeyboardShortcut._keyName):

  • inspector/front-end/Panel.js:

(WebInspector.Panel.prototype.registerShortcut):
(WebInspector.Panel.prototype.unregisterShortcut):
(WebInspector.PanelDescriptor.prototype.panel):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._createDebugToolbar):
(WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):

  • inspector/front-end/ScriptsPanelDescriptor.js:
  • inspector/front-end/ShortcutsScreen.js:

(WebInspector.ShortcutsScreen):
(WebInspector.ShortcutsSection):
(WebInspector.ShortcutsSection.prototype._renderKey):

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylesSidebarPane.prototype.registerShortcuts):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._registerShortcuts):

  • inspector/front-end/TimelinePanelDescriptor.js: Removed.
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:
  • inspector/front-end/inspector.js:

(WebInspector._panelDescriptors):
(WebInspector._registerShortcuts):

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

Web Inspector: Memory Timeline Crash
https://bugs.webkit.org/show_bug.cgi?id=102390

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-16
Reviewed by Vsevolod Vlasov.

Crash seems to be caused by IPC overflow.
Messages "ParsedScriptSource" are routed to
ResourceScriptMapping.prototype.addScript that process them in time
linear to number of already registered non-anonymous non-inline scripts.

Fixed this with replacing repreated filtering with "on-line" bucketing.

  • inspector/front-end/ResourceScriptMapping.js:

(WebInspector.ResourceScriptMapping):
Removed duplicating initialization code.
(WebInspector.ResourceScriptMapping.prototype.addScript):
Added script bucketing by sourceURL/isInline parameters.
(WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
Avoid filterfig.
(WebInspector.ResourceScriptMapping.prototype._createUISourceCode):
Added outgoing muatable array safeguard.
(WebInspector.ResourceScriptMapping.prototype._reset):
Added type information and added two new maps.

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

REGRESSION (r134774-r134779): fast/frames/detached-shadow-frame.html failing on Apple Win 7 Release (Tests)
https://bugs.webkit.org/show_bug.cgi?id=102433

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-16
Reviewed by Dimitri Glazkov.

Need to include the Shadow DOM polyfill.js since not all ports
web expose the WebkitShadowRoot constructor.

  • fast/frames/detached-shadow-frame.html:
3:23 AM Changeset in webkit [134924] by peter@chromium.org
  • 3 edits in trunk/Tools

Running TestWebKitAPI and webkit_unit_tests for Chromium Android should defer to the Chromium-sided test runner
https://bugs.webkit.org/show_bug.cgi?id=102245

Reviewed by Tony Chang.

When running TestWebKitAPI and webkit_unit_test for Chromium Android, defer
the actual running part to the test runner which lives on the Chromium side.
Re-implementing or even generalizing the device-interaction part in WebKit
is error prone and not worth the effort.

  • Scripts/run-api-tests:
  • Scripts/run-chromium-webkit-unit-tests:
3:11 AM Changeset in webkit [134923] by Csaba Osztrogonác
  • 8 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt: Updated after r134859.
  • platform/qt/TestExpectations: Skip fast/frames/detached-shadow-frame.html, because ENABLE(SHADOW_DOM) is disabled.
  • platform/qt/fast/media/mq-js-media-except-02-expected.txt: Updated after r134859.
  • platform/qt/fast/media/mq-js-media-except-03-expected.txt: Updated after r134859.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Revert r134754, because r134649 was reverted.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Revert r134754, because r134649 was reverted.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Revert r134754, because r134649 was reverted.
2:57 AM Changeset in webkit [134922] by haraken@chromium.org
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed. Rebaselined pixel results.

  • platform/chromium-mac/fast/text/international/combining-marks-position-expected.txt: Removed.
2:56 AM Changeset in webkit [134921] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK1] Gardening after r134816. Skipped a newly added failing test.
https://bugs.webkit.org/show_bug.cgi?id=102471

Patch by János Badics <János Badics> on 2012-11-16
Reviewed by Csaba Osztrogonác.

  • platform/qt-5.0-wk1/TestExpectations:
2:47 AM Changeset in webkit [134920] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
2:31 AM Changeset in webkit [134919] by commit-queue@webkit.org
  • 10 edits in trunk/Source

[CoordGfx] Follow coding style on explicit constructors
https://bugs.webkit.org/show_bug.cgi?id=102451

Patch by Helder Correia <Helder Correia> on 2012-11-16
Reviewed by Noam Rosenthal.

Use the explicit keyword on single argument constructors.

No new tests needed.

Source/WebCore:

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

(GraphicsLayerTextureMapper):

  • platform/graphics/texmap/TextureMapper.h:

(TextureMapper):

  • platform/graphics/texmap/TextureMapperBackingStore.h:

(WebCore::TextureMapperTile::TextureMapperTile):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
(WebCore::TextureMapperGLData::TextureMapperGLData):

  • platform/graphics/texmap/TextureMapperGL.h:

(BitmapTextureGL):

  • platform/graphics/texmap/TextureMapperShaderManager.h:

(TextureMapperShaderManager):

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:

(WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:

(CoordinatedTileBackend):

2:19 AM Changeset in webkit [134918] by kihong.kwon@samsung.com
  • 15 edits
    3 adds in trunk/Source

Add DeviceController base-class to remove duplication of DeviceXXXControler
https://bugs.webkit.org/show_bug.cgi?id=96894

Reviewed by Hajime Morita.

Source/WebCore:

Add DeviceController which is extracted from DeviceOrientationController to remove duplication.
And soon-to-be-added DeviceMotionController and ProximityController.

Covered by existing tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DeviceOrientationClient.h:
  • dom/DeviceOrientationController.cpp:

Remove member functions to move to DeviceController.

  • addListener(), removeListener(), removeAllListeners(), isActive()

(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::didChangeDeviceOrientation):
(WebCore::DeviceOrientationController::client):
(WebCore::DeviceOrientationController::hasLastData):
(WebCore::DeviceOrientationController::getLastEvent):
(WebCore::DeviceOrientationController::from):
(WebCore):

  • dom/DeviceOrientationController.h:

(WebCore):
(WebCore::DeviceOrientationController::~DeviceOrientationController):
(DeviceOrientationController):

  • dom/Document.cpp:

Remove suspendEventsForAllListeners() and resumeEventsForAllListeners() function calls.
These calls can be made by checking activeDOMObjectsAreSuspended() and activeDOMObjectsAreStopped() before dispatchEvent.
(WebCore::Document::suspendActiveDOMObjects):
(WebCore::Document::resumeActiveDOMObjects):

  • loader/EmptyClients.h:

(EmptyDeviceClient):
(WebCore::EmptyDeviceClient::startUpdating):
(WebCore::EmptyDeviceClient::stopUpdating):
(WebCore):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):

  • page/DeviceClient.h: Added.

(WebCore):
(DeviceClient):
(WebCore::DeviceClient::~DeviceClient):

  • page/DeviceController.cpp: Added.

DeviceController has extracted functions from DeviceOrientationController and DeviceMotionController.

  • addDeviceEventListener(), removeDeviceEventlistener(), removeAllDeviceEventListeners(), dispatchDeviceEvent()

All kind of device event controller which has DeviceClient can be inherited from DeviceController.
(WebCore):
(WebCore::DeviceController::DeviceController):
(WebCore::DeviceController::addDeviceEventListener):
(WebCore::DeviceController::removeDeviceEventListener):
(WebCore::DeviceController::removeAllDeviceEventListeners):
(WebCore::DeviceController::dispatchDeviceEvent):
(WebCore::DeviceController::fireDeviceEvent):

  • page/DeviceController.h: Added.

(WebCore):
(DeviceController):
(WebCore::DeviceController::~DeviceController):
(WebCore::DeviceController::isActive):
(WebCore::DeviceController::client):
(WebCore::DeviceController::hasLastData):
(WebCore::DeviceController::getLastEvent):

Source/WebKit/qt:

Change client() to deviceOrientationClient() to get DeviceOrientationClient*.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setMockDeviceOrientation):

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

Web Inspector: [Overrides] Device metrics get reset on navigation, yet remain in the Overrides view
https://bugs.webkit.org/show_bug.cgi?id=102467

Reviewed by Pavel Feldman.

Restore the device metrics overrides from the inspector cookie in InspectorPageAgent::restore().
Drive-by: move the script execution and FPS counter display state restoration from enable() into restore(),
so that they will get restored only upon page navigation, not upon any agent enablement.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::restore): Restore device metrics overrides, script execution and FPS counter display state.
(WebCore::InspectorPageAgent::enable): Don't restore script execution and FPS counter display state on any enablement.

1:19 AM Changeset in webkit [134916] by commit-queue@webkit.org
  • 9 edits in trunk

Unreviewed, rolling out r134908.
http://trac.webkit.org/changeset/134908
https://bugs.webkit.org/show_bug.cgi?id=102473

Broke the Apple Windows Debug build. (Requested by dydx on
#webkit).

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

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

  • WebCore.exp.in:
  • dom/ViewportArguments.cpp:

(WebCore::computeViewportAttributes):

  • dom/ViewportArguments.h:

(WebCore):

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
1:08 AM Changeset in webkit [134915] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Unreviewed, rolling out r134913.
http://trac.webkit.org/changeset/134913
https://bugs.webkit.org/show_bug.cgi?id=102472

Incorrect fix. (Requested by dydx on #webkit).

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

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
1:06 AM Changeset in webkit [134914] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk

Web Inspector: show internal properties in inspector frontend
https://bugs.webkit.org/show_bug.cgi?id=100021

Patch by Peter Rybin <prybin@chromium.org> on 2012-11-16
Reviewed by Yury Semikhatsky.

Source/WebCore:

New field 'internalProperties' is parsed and passed via all callbacks to Object Properties section.

Test: inspector/debugger/properties-special.html

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection.prototype.update.callback):
(WebInspector.ObjectPropertiesSection.prototype.update):
(.callback):
(WebInspector.ObjectPropertyTreeElement.populate):
(.processProperties):
(WebInspector.ArrayGroupingTreeElement._populateAsFragment):
(WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties):

  • inspector/front-end/RemoteObject.js:

(WebInspector.RemoteObject.prototype.set else):

LayoutTests:

A new test is added. InspectorTest.dumpObjectPropertySectionDeep function is added.

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

(initialize_ElementTest.InspectorTest.dumpObjectPropertySectionDeep):
(initialize_ElementTest.InspectorTest.dumpObjectPropertySectionDeep.dumpTreeElement):

  • inspector/debugger/properties-special-expected.txt: Added.
  • inspector/debugger/properties-special.html: Added.
  • platform/chromium/inspector/debugger/properties-special-expected.txt: Added.
12:37 AM Changeset in webkit [134913] by dbates@webkit.org
  • 3 edits in trunk/Source/WebKit2

Attempt to fix the Apple Windows Debug build after http://trac.webkit.org/changeset/134908
(https://bugs.webkit.org/show_bug.cgi?id=102354).

Add symbol.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
12:23 AM Changeset in webkit [134912] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2] Bug on ASSERT code in CoordinatedBackingStore.cpp
https://bugs.webkit.org/show_bug.cgi?id=102465

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-16
Reviewed by Noam Rosenthal.

The ASSERT code should be fixed because the 'operator>=' is not defined for WebCore::IntSize.

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStoreTile::swapBuffers):

12:16 AM Changeset in webkit [134911] by apavlov@chromium.org
  • 14 edits
    1 copy in trunk/Source/WebCore

Web Inspector: metrics, geolocation, orientation overrides do not belong to the settings panel
https://bugs.webkit.org/show_bug.cgi?id=93691

Reviewed by Vsevolod Vlasov.

  • The Overrides tab contents have been moved from the Settings dialog into a brand new Overrides drawer view,

both receiving a new, more light-weight design.

  • The Cog button now brings up a popup menu with the "Overrides" and "Settings" items.
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/ContextMenu.js:

(WebInspector.ContextMenu.prototype.showSoftMenu): Display the ContextMenu as a soft menu.

  • inspector/front-end/OverridesView.js: Copied from Source/WebCore/inspector/front-end/SettingsScreen.js.

(WebInspector.OverridesView.appendBlockTo):
(WebInspector.OverridesView):
(WebInspector.OverridesView.showInDrawer):
(WebInspector.OverridesView.prototype.get listener):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.get const):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.textDoubleClicked):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.textChanged):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.set checkboxClicked):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement):
(WebInspector.OverridesView.prototype._createInput):
(WebInspector.OverridesView.prototype._onMetricsCheckboxClicked):
(WebInspector.OverridesView.prototype._applyDeviceMetricsUserInput):
(WebInspector.OverridesView.prototype.):
(WebInspector.OverridesView.prototype.set if):
(WebInspector.OverridesView.prototype._createDeviceMetricsElement.swapDimensionsClicked):
(WebInspector.OverridesView.prototype._createDeviceMetricsElement):
(WebInspector.OverridesView.prototype._onGeolocationOverrideCheckboxClicked):
(WebInspector.OverridesView.prototype._applyGeolocationUserInput):
(WebInspector.OverridesView.prototype._setGeolocationPosition):
(WebInspector.OverridesView.prototype._createGeolocationOverrideElement):
(WebInspector.OverridesView.prototype._onDeviceOrientationOverrideCheckboxClicked):
(WebInspector.OverridesView.prototype._applyDeviceOrientationUserInput):
(WebInspector.OverridesView.prototype._setDeviceOrientation):
(WebInspector.OverridesView.prototype._createDeviceOrientationOverrideElement):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel): Fix the "DOM Breakpoints" pane move upon the panel creation.

  • inspector/front-end/SettingsScreen.js:

(WebInspector.SettingsTab):
(WebInspector.SettingsTab.prototype._appendSection):
(WebInspector.GenericSettingsTab):
(WebInspector.ExperimentsSettingsTab):
(WebInspector.SettingsController): Implement the popup menu upon the button click.
(WebInspector.SettingsController.prototype.showOverrides):
(WebInspector.SettingsController.prototype.showSettings):
(WebInspector.SettingsController.prototype.appendApplicableItems):
(WebInspector.SettingsController.prototype._buttonPressed):
(WebInspector.SettingsController.prototype._onHideSettingsScreen):
(WebInspector.SettingsController.prototype.showSettingsScreen):

  • inspector/front-end/ShortcutsScreen.js: Add "Shortcuts" header.

(WebInspector.ShortcutsScreen.prototype.createShortcutsTabView):

  • inspector/front-end/SoftContextMenu.js: Enable in all cases, implement the alignToCurrentTarget mode in show().

(WebInspector.SoftContextMenu.prototype.show):

  • inspector/front-end/TabbedPane.js: Implement vertical tab layout (skipping the tab width computations).

(WebInspector.TabbedPane.prototype.set verticalTabLayout):
(WebInspector.TabbedPane.prototype._updateWidths):
(WebInspector.TabbedPaneTab.prototype.setWidth):
(WebInspector.TabbedPaneTab.prototype._createTabElement):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/helpScreen.css: Update styles for the new Settings and Overrides look-and-feel.
  • inspector/front-end/inspector.css: Drive-by fix small artifacts in the soft menu and drawer view statusbar item label.

(.soft-context-menu-item):
(.drawer-header):

  • inspector/front-end/inspector.html:
12:08 AM Changeset in webkit [134910] by commit-queue@webkit.org
  • 12 edits
    2 deletes in trunk

Unreviewed, rolling out r134865.
http://trac.webkit.org/changeset/134865
https://bugs.webkit.org/show_bug.cgi?id=102466

Broke the Apple Windows Debug build. (Requested by dydx on
#webkit).

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

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/SerializedScriptValue.h:
  • testing/Internals.cpp:
  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

  • platform/chromium/fast/storage/serialized-script-value-expected.txt: Removed.
  • platform/chromium/fast/storage/serialized-script-value.html: Removed.
12:06 AM Changeset in webkit [134909] by tasak@google.com
  • 3 edits
    4 adds in trunk

ASSERT_NOT_REACHED() when building a CSSOM wrapper for StyleRuleHost
https://bugs.webkit.org/show_bug.cgi?id=102116

Reviewed by Alexander Pavlov.

Source/WebCore:

Provide a CSSUnknownRule instance as a CSSOM wrapper for StyleRuleHost
rules. Since there is no CSSOM wrapper for @host @-rules and
ASSERT_NOT_REACHED is used when a CSSOM wrapper is requested,
this crash occurs.

Tests: fast/css/at-host-cssom-crash.html

inspector/styles/styles-include-host-rules-crash.html

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::createCSSOMWrapper):
Return a CSSUnknownRule instance for StyleRuleHost rules instead of
calling ASSERT_NOT_REACHED().

LayoutTests:

  • fast/css/at-host-cssom-crash-expected.txt: Added.
  • fast/css/at-host-cssom-crash.html: Added.
  • inspector/styles/styles-include-host-rules-crash-expected.txt: Added.
  • inspector/styles/styles-include-host-rules-crash.html: Added.
12:02 AM Changeset in webkit [134908] by commit-queue@webkit.org
  • 9 edits in trunk

Avoid copying of ViewportArguments in computeViewportAttributes function
https://bugs.webkit.org/show_bug.cgi?id=102354

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-16
Reviewed by Kenneth Rohde Christiansen.

.:

Updated exported symbols for GTK.

  • Source/autotools/symbols.filter:

Source/WebCore:

Since r134749 we do not need copying of ViewportArguments parameter in
computeViewportAttributes() as it is not modified any more.

Tested by existing tests fast/viewport.

  • WebCore.exp.in: Updated exported symbols for MAC.
  • dom/ViewportArguments.cpp:

(WebCore::computeViewportAttributes):

  • dom/ViewportArguments.h:

(WebCore):

Source/WebKit2:

Update exported symbols.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
Note: See TracTimeline for information about the timeline view.