Timeline



Dec 19, 2012:

10:41 PM Changeset in webkit [138228] by yurys@chromium.org
  • 4 edits
    3 adds in trunk

Web Inspector: deny access from injected script to nodes from document with another origin
https://bugs.webkit.org/show_bug.cgi?id=105423

Reviewed by Pavel Feldman.

Source/WebCore:

Check that calling context can access the document inspected node belong to
before returning JS wrapper for the node.

Test: http/tests/inspector-protocol/access-inspected-object.html

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::JSInjectedScriptHost::inspectedObject):

  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:

(WebCore::InjectedScriptHost::nodeAsScriptValue):

LayoutTests:

Test that $0 is ineaccible in the main frame if it is a node from an iframe that
is not accassible beacause of cross origin access checks.

  • http/tests/inspector-protocol/access-inspected-object-expected.txt: Added.
  • http/tests/inspector-protocol/access-inspected-object.html: Added.
  • http/tests/inspector-protocol/resources/test-page.html: Added.
10:08 PM Changeset in webkit [138227] by thakis@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove slighly confusing "} if" pattern
https://bugs.webkit.org/show_bug.cgi?id=105492

Reviewed by Andreas Kling.

ADVANCE_TO ends in a goto statement, so this doesn't change behavior.

  • html/parser/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::nextToken):

9:57 PM Changeset in webkit [138226] by commit-queue@webkit.org
  • 6 edits in trunk

Adopt new assertion SPI for process suppression on Mac
https://bugs.webkit.org/show_bug.cgi?id=105378

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

Source/WebKit2:

Process suppression for WebKit2 child processes is currently enabled or disabled using AutomaticTermination.
This should be replaced with a new assertion SPI specific to process suppression.

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::ChildProcess): Remove unused member variable m_applicationIsOccluded.

  • Shared/ChildProcess.h:

(WebKit::ChildProcess::applicationIsOccluded): Infer occlusion state from m_processVisibleAssertion.

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::setApplicationIsOccluded): Use applicationIsOccluded() accessor to check if the
occlusion state has changed and take or release a process visible assertion accordingly.
(WebKit::ChildProcess::platformInitialize): Remove call to initializeTimerCoalescingPolicy(), since taking
a process visible assertion also sets the timer coalescing policy appropriately. Set the occlusion
state to false on initialization.

WebKitLibraries:

Add WKNSProcessInfoProcessAssertionWithTypes().

  • WebKitSystemInterface.h:
9:52 PM Changeset in webkit [138225] by pilgrim@chromium.org
  • 5 edits
    1 move
    2 deletes in trunk/Source

[Chromium] Remove idbFactory from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=105460

Reviewed by Darin Fisher.

Part of a larger refactoring series; see tracking bug 82948.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • platform/chromium/PlatformSupport.h: Removed.
  • storage/chromium: Removed.
  • storage/chromium/IDBFactoryBackendInterface.cpp: Removed.

Source/WebKit/chromium:

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

(WebCore):
(WebCore::IDBFactoryBackendInterface::create):

  • src/PlatformSupport.cpp: Removed.
9:50 PM Changeset in webkit [138224] by eric.carlson@apple.com
  • 5 edits in trunk

Crash in TextTrack::trackIndexRelativeToRenderedTracks()
https://bugs.webkit.org/show_bug.cgi?id=105371

Reviewed by Simon Fraser.

Source/WebCore:

Add an RAII object to manage text track update blocking, use it to always process the
current cues to ensure that cues from a track that is deleted are removed from the
shadow DOM before the next layout.

No new tests, this fixes a crash in media/video-controls-captions-trackmenu.html.

  • html/HTMLMediaElement.cpp:

(WebCore::TrackDisplayUpdateScope::TrackDisplayUpdateScope): New, call beginIgnoringTrackDisplayUpdateRequests.
(WebCore::TrackDisplayUpdateScope::~TrackDisplayUpdateScope): New, call endIgnoringTrackDisplayUpdateRequests.
(WebCore::HTMLMediaElement::beginIgnoringTrackDisplayUpdateRequests):
(WebCore::HTMLMediaElement::endIgnoringTrackDisplayUpdateRequests): Call updateActiveTextTrackCues

when the ignore count reaches zero.

(WebCore::HTMLMediaElement::textTrackAddCues): Use TrackDisplayUpdateScope instead of calling

beginIgnoringTrackDisplayUpdateRequests and endIgnoringTrackDisplayUpdateRequests directly.

(WebCore::HTMLMediaElement::textTrackRemoveCues): Ditto.
(WebCore::HTMLMediaElement::removeTrack): Ditto.
(WebCore::HTMLMediaElement::removeAllInbandTracks): Ditto.
(WebCore::HTMLMediaElement::didRemoveTrack): Ditto. Call removeTrack.

  • html/HTMLMediaElement.h: Declare TrackDisplayUpdateScope as a friend of HTMLMediaElement so it

can call protected methods.

LayoutTests:

  • platform/mac/TestExpectations: Unskip video-controls-captions-trackmenu.html.
9:50 PM Changeset in webkit [138223] by piman@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Remove old setBackingTextureId/setBackingIOSurfaceId API on WebPluginContainer
https://bugs.webkit.org/show_bug.cgi?id=105472

Reviewed by James Robinson.

This is not called anymore by chromium (as of r173545), using
setWebPlugin instead.

  • public/WebPluginContainer.h:
  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

9:44 PM Changeset in webkit [138222] by Nate Chapin
  • 3 edits in trunk/Source/WebCore

REGRESSION(r137607): resource load client callbacks are not called for the main resource when loading HTML string
https://bugs.webkit.org/show_bug.cgi?id=105330

Reviewed by Brady Eidson.

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::responseReceived):
(WebCore::MainResourceLoader::dataReceived):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::load):
(WebCore::MainResourceLoader::identifier):

  • loader/MainResourceLoader.h:

(MainResourceLoader):

9:44 PM Changeset in webkit [138221] by pilgrim@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] add setIDBFactory method for embedders to call
https://bugs.webkit.org/show_bug.cgi?id=105465

Reviewed by Darin Fisher.

This is step 1 of getting rid of WebKitPlatform::idbFactory. This
adds a setter for embedders to call upon initialization, which (if
set) will be used instead of calling the idbFactory()
method. Eventually the idbFactory() method will go away, and this
setter will be the only way to initialize the Indexed Database API.

  • public/WebIDBFactory.h:

(WebKit):

  • src/IDBFactoryBackendProxy.cpp:

(WebKit):
(WebKit::setIDBFactory):
(WebKit::IDBFactoryBackendProxy::IDBFactoryBackendProxy):

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

[Chromium] Check Document now should work with continuous check off
https://bugs.webkit.org/show_bug.cgi?id=105228

Patch by Rachel Blum <groby@chromium.org> on 2012-12-19
Reviewed by Anders Carlsson.

  • src/EditorClientImpl.cpp:

(WebKit::EditorClientImpl::checkSpellingOfString):

9:30 PM Changeset in webkit [138219] by eric.carlson@apple.com
  • 3 edits in trunk/LayoutTests

Update video-controls-captions-trackmenu.html
https://bugs.webkit.org/show_bug.cgi?id=105455

Reviewed by Dean Jackson.

  • media/video-controls-captions-trackmenu-expected.txt: Update results.
  • media/video-controls-captions-trackmenu.html: Update test to account for sorted menu.
9:28 PM Changeset in webkit [138218] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] RSS reader mangles UTF-8
https://bugs.webkit.org/show_bug.cgi?id=105440

RIM PR 235099

Patch by Cosmin Truta <ctruta@rim.com> on 2012-12-19
Reviewed by Yong Li.
Reviewed internally by Liam Quinn.

The HTML string built from RSS parse data is encoded in UTF-8,
and it should not be converted to UTF-8 repeatedly.

  • platform/network/blackberry/rss/RSSFilterStream.cpp:

(WebCore::RSSFilterStream::convertContentToHtml):

  • platform/network/blackberry/rss/RSSGenerator.cpp:

(WebCore::RSSGenerator::generateHtml):

9:27 PM Changeset in webkit [138217] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk

[EFL] Allow the build system to find OpenGL ES
https://bugs.webkit.org/show_bug.cgi?id=104760

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-12-19
Reviewed by Laszlo Gombos.

Add a way to find if GLESv2 is supported by the build system.
Support for GLESv2 will be added separately.

  • Source/cmake/FindGLES.cmake: Added.
9:25 PM Changeset in webkit [138216] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Spellchecker should provide suggestions for non-caret selection, too
https://bugs.webkit.org/show_bug.cgi?id=104841

Patch by Rachel Blum <groby@chromium.org> on 2012-12-19
Reviewed by Anders Carlsson.

Allow spelling suggestions for a word if the word is already selected. No suggestion
if subset of a word or more than a word is selected.

  • src/ContextMenuClientImpl.cpp:

(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):

9:23 PM Changeset in webkit [138215] by pilgrim@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Remove all references to sharedWorkerRepository()
https://bugs.webkit.org/show_bug.cgi?id=104704

Reviewed by Darin Fisher.

Now that Chromium calls setSharedWorkerRepository upon
initializing WebKit (
https://codereview.chromium.org/10990121/ and
https://codereview.chromium.org/11576028/ ) and no longer
tries to override sharedWorkerRepository, it is safe to remove
all references to this function.

  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKit::WebKitPlatformSupport::idbFactory):

  • src/SharedWorkerRepository.cpp:

(WebKit::sharedWorkerRepository):
(WebCore::SharedWorkerRepository::isAvailable):

8:07 PM Changeset in webkit [138214] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

7:48 PM Changeset in webkit [138213] by Lucas Forschler
  • 1 copy in tags/Safari-537.23

New Tag.

6:00 PM Changeset in webkit [138212] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/win

Build WebKit2ExportGenerator before WebKitLib
https://bugs.webkit.org/show_bug.cgi?id=105487

Reviewed by Tim Horton.

  • WebKit.vcproj/WebKit.sln:
5:43 PM Changeset in webkit [138211] by kerz@chromium.org
  • 2 edits in branches/chromium/1364/Source/WebCore/loader

Merge 138174

REGRESSION(r137607): PluginDocument loads consume huge amounts of memory
https://bugs.webkit.org/show_bug.cgi?id=105359

Reviewed by Alexey Proskuryakov.

No new tests, verified manually that http://www.scb.se/statistik/_publikationer/NR0001_2012K02_TI_A28TI1203.pdf
no longer consumes several GB of memory.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::setShouldBufferData): shouldBufferData is an enum, not a boolean, so this is reversed.

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::data): If the dataReceived() callback tells us to stop buffering data, be sure to

notify the ResourceLoader and clear the data buffer.

TBR=Nate Chapin
Review URL: https://codereview.chromium.org/11571073

5:40 PM Changeset in webkit [138210] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Leak in StringImpl::createCFString()
https://bugs.webkit.org/show_bug.cgi?id=105485
<rdar://problem/12801963>

Reviewed by Anders Carlsson.

  • platform/text/cf/StringImplCF.cpp:

(WTF::StringImpl::createCFString): Missing adoptCF()'s.

5:40 PM Changeset in webkit [138209] by kerz@chromium.org
  • 20 edits
    4 deletes in branches/chromium/1364

Revert 138188

Merge 137939

Add support for tracking hit test rectangles to enable fast event rejection in the compositor
https://bugs.webkit.org/show_bug.cgi?id=103914

Reviewed by James Robinson.

Source/WebCore:

Adding support for tracking hit test target regions for the purpose of performing initial hit testing
in the compositor to avoid blocking scrolling on the main thread while waiting to hit test events that
aren't occuring in regions with handlers. This is initially being done to avoid having to go to the main
thread when scrolling by flicking on touch devices when the flick occurs outside a tracked touch event
region. This patch includes the implementation to turn this on in Chromium.

To accomplish this goal, Document will now keep a counted hash set of nodes with touch event handlers
instead of only an unsigned integer of the total count. ScrollingCoordinator then updates the compositor
when new touch event handlers are registered or removed, or after layout much like how
nonFastScrollableRegions are currently tracked.

This implementation will not properly update the hit test rects when the renderers are inside a sub-
tree that scrolls.

This change was initially rolled out due to stale Node pointers in Document's touchEventTargets. This
patch adds a callback to remove the Node from that structure to Node's destructor. This is covered
by the touch-target-removed-crash.html test case which is also added.

Test: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html

platform/chromium/fast/events/touch/touch-target-removed-crash.html

  • dom/Document.cpp:

(WebCore::Document::Document): Added a HashCountedSet of touch target nodes. Note: DOMWindow targets
are stored as the Document they point to.
(WebCore::Document::didAddTouchEventHandler): Changed to keep track of the handler instead of a count, and
to update the ScrollingCoordinator with the change.
(WebCore::Document::didRemoveTouchEventHandler): Ditto.

  • dom/Document.h:

(WebCore::Document::hasTouchEventHandlers): It's no longer O(1) to get the count of touch handlers, so
expose whether there are any or not.
(WebCore::Document::touchEventTargets):

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener): Add the Document to the touch target set instead of DOMWindow.
(WebCore::DOMWindow::removeEventListener):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent):

  • page/Frame.cpp:

(WebCore::Frame::setDocument):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeAbsoluteTouchEventTargetRects): Walk the renderers for event handler
nodes and generate the absolute hit testing rects.

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::setTouchEventTargetRectsChanged): Hook to pass along the hit test rects to
the scrolling tree/compositor.
(ScrollingCoordinator):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:

(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRectsChanged):
(WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.h:

(ScrollingCoordinatorChromium):

  • testing/Internals.cpp:

(WebCore::Internals::touchEventHandlerCount): Changed to do the work to calculate the actual count since
it's no longer stored as an int in Document.
(WebCore::Internals::touchEventTargetClientRects):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/chromium:

Enabling touch event target region tracking.

  • features.gypi:
  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::requestTouchEventType):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):

LayoutTests:

  • platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Added.
  • platform/chromium/fast/events/touch/compositor-touch-hit-rects.html: Added.
  • platform/chromium/fast/events/touch/touch-target-removed-crash-expected.txt: Added.
  • platform/chromium/fast/events/touch/touch-target-removed-crash.html: Added.

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11635024

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11644037

5:36 PM Changeset in webkit [138208] by kerz@chromium.org
  • 3 edits
    2 deletes in branches/chromium/1364

Revert 138189

Merge 138095

Input elements with default touch handlers don't update handler counts when changing documents
https://bugs.webkit.org/show_bug.cgi?id=105334

Reviewed by James Robinson.

Source/WebCore:

When an Input element with default touch event handlers changes documents, it failed to
update the touch event handler sets in both the old and new document. This patch fixes this
case.

Test: fast/events/touch/touch-input-element-change-documents.html

  • dom/Document.h:

(WebCore::Document::didRemoveTouchEventTargetNode) This function makes sense when touch
handling is enabled, regardless of whether we're tracking the rects.

  • dom/Document.cpp:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement): Switch from didRemoveTouchEventHandler to
didRemoveTouchEventTargetNode, since we don't care about counts in the destructor.
(WebCore::HTMLInputElement::updateType): Fixing incorrect indentation.
(WebCore::HTMLInputElement::didMoveToNewDocument): Adding the node to the new document and
removing it from the old.

LayoutTests:

  • fast/events/touch/touch-input-element-change-documents-expected.txt: Added.
  • fast/events/touch/touch-input-element-change-documents.html: Added.

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11649024

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11571072

5:34 PM Changeset in webkit [138207] by kerz@chromium.org
  • 4 edits in branches/chromium/1364

Revert 138190

Merge 138181

Correct missing touch event handler de-registration for nested Documents and DOMWindows
https://bugs.webkit.org/show_bug.cgi?id=105384

Reviewed by James Robinson.

Source/WebCore:

Correcting case by which a nested DOMWindow wouldn't clean up its event handler references
on its Document when removeAllEventListeners was called. Also, correctly propagating this
from a nested Document to its owner Document.

Updating fast/events/touch/touch-handler-count.html to catch this bug.

  • dom/Document.cpp:

(WebCore::Document::didRemoveEventTargetNode):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::removeAllEventListeners):

LayoutTests:

  • fast/events/touch/touch-handler-count-expected.txt:
  • fast/events/touch/touch-handler-count.html: Adding case of nested DOMWindows with event handlers.

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11635026

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11647025

4:58 PM Changeset in webkit [138206] by ap@apple.com
  • 15 edits in trunk/Source

<rdar://problem/12890242> [WK2 NetworkProcess] Client doesn't receive SSL certificates
https://bugs.webkit.org/show_bug.cgi?id=105467

Reviewed by Brady Eidson.

4:50 PM Changeset in webkit [138205] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix some incorrect tests in testapi.c

4:40 PM Changeset in webkit [138204] by kov@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Add new strings to GTK+'s implementation of
LocalizedStrings, using glib's context-aware macro.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore):
(WebCore::textTrackClosedCaptionsText):
(WebCore::textTrackSubtitlesText):
(WebCore::textTrackOffText):
(WebCore::textTrackNoLabelText):

4:38 PM Changeset in webkit [138203] by jonlee@apple.com
  • 10 edits in trunk/Source/WebKit2

Add a function to set the origin hash table
https://bugs.webkit.org/show_bug.cgi?id=105447
<rdar://problem/12910985>

Reviewed by Brian Weinstein.

Add a new API called WKContextSetPlugInAutoStartOriginHashes. It assigns the table of hashes,
keyed by main frame origin, to the WebContext. That, in turn, notifies all existing web
processes, so that each web process can update its copy of the auto-start hashes.

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetPlugInAutoStartOriginHashes): To clear the table, an empty dictionary must be
provided.

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

(WebKit::WebContext::setPlugInAutoStartOriginHashes): Forward to PlugInAutoStartProvider.

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

(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Clear the map and set of hashes,
and convert the data from the provided dictionary. Also add it to a temporary vector, which will
be used to pass along to all of the active web processes.

  • UIProcess/Plugins/PlugInAutoStartProvider.h:
  • WebProcess/WebProcess.messages.in: Add plugInAutoStartOriginsChanged. Takes in a vector of

the new set of hashes.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::plugInAutoStartOriginsChanged): Clear the existing set, and copy the new
hashes.

  • WebProcess/WebProcess.h:
4:27 PM Changeset in webkit [138202] by simonjam@chromium.org
  • 8 edits in trunk/Source/WebCore

Set the original resource's response even on a 304
https://bugs.webkit.org/show_bug.cgi?id=105373

Reviewed by Nate Chapin.

The existing setResponse was renamed to responseReceived to better reflect what it does. A new
setResponse was added that only sets the response. This is used in the 304 case.

No new tests. A new Resource Timing test will depend on this soon.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::responseReceived):

  • loader/cache/CachedImage.h:

(CachedImage):

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::responseReceived):

  • loader/cache/CachedRawResource.h:

(CachedRawResource):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::responseReceived):

  • loader/cache/CachedResource.h:

(CachedResource):
(WebCore::CachedResource::setResponse):

4:19 PM Changeset in webkit [138201] by fpizlo@apple.com
  • 9 edits
    6 adds in trunk

JSObject::ensure<IndexingType> should gracefully handle InterceptsGetOwn..., and should never be called when the 'this' is not an object
https://bugs.webkit.org/show_bug.cgi?id=105468

Reviewed by Mark Hahnenberg, Oliver Hunt, and Gavin Barraclough.

Source/JavaScriptCore:

Changed JSObject::ensure<IndexingType> methods to gracefully handle
InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero. Most of them handle it by returning
null as a result of indexingShouldBeSparse() returning true, while ensureArrayStorage handles it
by entering dictionary indexing mode, which forces the object to behave correctly even if there
is proxying or weird prototype stuff going on.

Changed DFGOperations entrypoints to reject non-objects, so that JSObject doesn't have to deal
with pretending to be JSString. In particular, this would go wrong in the ArrayStorage case
since we'd try to resize a butterfly on a JSString, but JSString has something other than
m_butterfly at that offset.

Finally, removed all InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero from JIT code
since those are now redundant.

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

(JSC::DFG::SpeculativeJIT::arrayify):

  • dfg/DFGSpeculativeJIT.h:

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

  • runtime/JSObject.cpp:

(JSC::JSObject::enterDictionaryIndexingMode):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):

  • runtime/JSObject.h:

(JSObject):

LayoutTests:

  • fast/js/dfg-ensure-array-storage-on-string-expected.txt: Added.
  • fast/js/dfg-ensure-array-storage-on-string.html: Added.
  • fast/js/dfg-ensure-contiguous-on-string-expected.txt: Added.
  • fast/js/dfg-ensure-contiguous-on-string.html: Added.
  • fast/js/jsc-test-list
  • fast/js/script-tests/dfg-ensure-array-storage-on-string.js: Added.

(foo):

  • fast/js/script-tests/dfg-ensure-contiguous-on-string.js: Added.

(foo):

4:08 PM Changeset in webkit [138200] by leviw@chromium.org
  • 61 edits
    2 adds in branches/chromium/1312

Push pixel snapping logic into TransformState
https://bugs.webkit.org/show_bug.cgi?id=101779

Reviewed by Simon Fraser.

Source/WebCore:

The old SnapOffsetForTransforms behavior fell apart when there was content nested in
multiple levels of containers with sub-pixel offsets. The point of this flag was to
mirror the pixel snapping that occurs in paint, where offsets are accumulated bottom-
up through the render tree and snapped at the end. This change eliminates this flag
and pushes pixel snapping logic down into TransformState.

TransformState now tracks a LayoutSize accumulated offset when there's no transform
or we're just translating. We then snap and apply this offset before accumulating
values into a transform, and when returning planar coordinates to callers.

Test: fast/sub-pixel/transformed-iframe-copy-on-scroll.html added,

fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html modified to also catch this bug.

  • platform/graphics/transforms/TransformState.cpp:

(WebCore::TransformState::operator=): Pass accumulated offset.
(WebCore::TransformState::translateTransform): Extracted this functionality for
re-use when applying the accumulated offset, or accumulating from a call to move.
(WebCore::TransformState::translateMappedCoordinates): Same as above when we're not
acculating into a transform.
(WebCore::TransformState::move): Changed to accumulate into m_accumulatedOffset when
not accumulating into a transform.
(WebCore::TransformState::applyAccumulatedOffset):
(WebCore::TransformState::applyTransform): Applies the accumulated offset before the
transform.
(WebCore::TransformState::flatten): Ditto for flattening.
(WebCore::TransformState::mappedPoint): Translates by the accumulated offset before
returning.
(WebCore::TransformState::mappedQuad): Ditto.

  • platform/graphics/transforms/TransformState.h:

(TransformState): Added m_accumulatedOffset.

  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::mapToContainer): When not using a transform, we still need
to snap our offset before applying to our float result. Also, flatten when we have a
non-uniform step.

  • rendering/RenderGeometryMap.h:

(RenderGeometryMap): Remove use of SnapOffsetForTransforms.

Everything below simply drops the use of SnapOffsetForTransforms:

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getUpperLeftCorner):

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::computeRelativePosition):

  • editing/FrameSelection.cpp:

(WebCore::CaretBase::absoluteBoundsForLocalRect):

  • editing/RenderedPosition.cpp:

(WebCore::RenderedPosition::absoluteRect):

  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::absoluteCaretBounds):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint):

  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::defaultEventHandler):

  • page/FrameView.cpp:

(WebCore::FrameView::convertFromRenderer):
(WebCore::FrameView::convertToRenderer):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::pushMappingToContainer):

  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::computeStickyPositionConstraints):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::userResize):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::pushMappingToContainer):

  • rendering/RenderInline.h:

(RenderInline):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::absoluteToContents):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::childrenClipRect):
(WebCore::RenderLayer::selfClipRect):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::contentsVisible):

  • rendering/RenderMediaControls.cpp:

(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::showPopup):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::absoluteFocusRingQuads):

  • rendering/RenderObject.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteRectsForRange):
(WebCore::RenderText::absoluteQuads):
(WebCore::RenderText::absoluteQuadsForRange):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):

  • rendering/RenderView.cpp:

(WebCore::RenderView::selectionBounds):

  • rendering/RenderView.h:

(RenderView):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::updateWidgetGeometry):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::mapLocalToContainer):

  • rendering/svg/RenderSVGForeignObject.h:

(RenderSVGForeignObject):

  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::mapLocalToContainer):

  • rendering/svg/RenderSVGInline.h:

(RenderSVGInline):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::mapLocalToContainer):

  • rendering/svg/RenderSVGModelObject.h:

(RenderSVGModelObject):

  • rendering/svg/RenderSVGRoot.h:

(RenderSVGRoot):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::mapLocalToContainer):

  • rendering/svg/RenderSVGText.h:

(RenderSVGText):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::mapLocalToContainer):

  • rendering/svg/SVGRenderSupport.h:

(SVGRenderSupport):

Source/WebKit/chromium:

Eliminating use of SnapOffsetForTransforms as it's no longer needed.

  • src/FindInPageCoordinates.cpp:

(WebKit::toNormalizedRect):

  • src/LinkHighlight.cpp:

(WebKit::convertTargetSpaceQuadToCompositedLayer):

  • src/WebInputEventConversion.cpp:

(WebKit::convertAbsoluteLocationForRenderObject):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::windowToLocalPoint):

Source/WebKit/mac:

  • WebView/WebFullScreenController.mm:

(screenRectOfContents): Removed SnapOffsetForTransforms as it's no longer needed.

Source/WebKit2:

Eliminating use of SnapOffsetForTransforms as it's no longer needed.

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::screenRectOfContents):

LayoutTests:

  • fast/dom/Window/webkitConvertPoint.html: Updating values to match corrected pixel snapping.
  • fast/multicol/break-properties.html: Fixing sub-pixel layout feature checking.
  • fast/multicol/vertical-lr/break-properties.html: Ditto.
  • fast/multicol/vertical-rl/break-properties.html: Ditto.
  • fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html: Updating to catch the bug where the old

pixel snapping logic did the wrong thing when nested.

  • fast/sub-pixel/transformed-iframe-copy-on-scroll.html: Added.
  • platform/chromium-linux/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png:
  • platform/chromium-linux/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added.
  • platform/chromium-linux/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt: Added.
  • platform/chromium-win/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt:
  • platform/chromium/TestExpectations:
3:36 PM Changeset in webkit [138199] by oliver@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Tidy up JSScriptRef API
https://bugs.webkit.org/show_bug.cgi?id=105470

Reviewed by Anders Carlsson.

People found the API's use of a context confusing, so we'll switch to a JSContextGroup based
API, and drop a number of the unnecessary uses of contexts.

  • API/JSScriptRef.cpp:

(OpaqueJSScript::globalData):
(parseScript):

  • API/JSScriptRefPrivate.h:
  • API/tests/testapi.c:

(main):

3:27 PM Changeset in webkit [138198] by wjmaclean@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] plugins/npp-set-window-called-during-destruction.html is flaky on Win
http://crbug.com/78835

Unreviewed gardening.

  • platform/chromium/TestExpectations:
3:21 PM Changeset in webkit [138197] by wjmaclean@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] composited scrolling tests failing on Win
https://bugs.webkit.org/show_bug.cgi?id=105471

Unreviewed gardening.

Mark tests as failing on Win:

platform/chromium/virtual/gpu/compositedscrolling/overflow/scrolling-without-painting.html
platform/chromium/virtual/gpu/compositedscrolling/overflow/updating-scrolling-content.html

  • platform/chromium/TestExpectations:
3:07 PM Changeset in webkit [138196] by eae@chromium.org
  • 4 edits
    2 adds in trunk

[Regression] text-overflow ellipsis clips content when zoomed
https://bugs.webkit.org/show_bug.cgi?id=105456

Reviewed by Levi Weintraub.

Source/WebCore:

At certain zoom levels text-overflow ellipsis incorrectly clips
content and displays the ellipsis even though the full content
would fit.

Test: fast/sub-pixel/ellipsis-zoom.html

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
Add bug url to FIXME.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::checkLinesForTextOverflow):
Pixel snap the content edge before comparing with the line box
edge as the line box edge is aligned to a pixel boundary.

LayoutTests:

Add test for text-overflow: ellipsis.

  • fast/sub-pixel/ellipsis-zoom-expected.html: Added.
  • fast/sub-pixel/ellipsis-zoom.html: Added.
2:39 PM Changeset in webkit [138195] by Antti Koivisto
  • 11 edits in trunk/Source/WebCore

Use ElementTraversal in LiveNodeListBase
https://bugs.webkit.org/show_bug.cgi?id=105324

Reviewed by Ryosuke Niwa.

Factor the code so that we get clean minimally branchy traversal functions for all the common cases.

This patch changes the more performance critical forward traversal only, backwards traversal is unaffected for now.

Instruments thinks it is a progression at least in DOM/DOMDivWalk.html. Bots should tell more.

  • dom/ClassNodeList.cpp:

(WebCore::ClassNodeList::nodeMatches):

  • dom/ClassNodeList.h:

(ClassNodeList):
(WebCore::ClassNodeList::create):
(WebCore):
(WebCore::ClassNodeList::nodeMatchesInlined):

Add inlined version of the matching function for class lists.

  • dom/LiveNodeList.cpp:

(WebCore::LiveNodeListBase::rootContainerNode):

Root is always ContainerNode if the list has anything in it. Traversal functions are slightly more
efficient if we know we are operating on ContainerNodes.

(WebCore):

  • dom/LiveNodeList.h:

(LiveNodeListBase):
(WebCore::LiveNodeListBase::shouldOnlyIncludeDirectChildren):

  • dom/Node.cpp:

(WebCore::Node::getElementsByTagName):

  • dom/TagNodeList.cpp:

(WebCore::TagNodeList::TagNodeList):
(WebCore::TagNodeList::~TagNodeList):
(WebCore::HTMLTagNodeList::HTMLTagNodeList):
(WebCore::HTMLTagNodeList::nodeMatches):

  • dom/TagNodeList.h:

(WebCore):
(TagNodeList):
(WebCore::TagNodeList::create):
(HTMLTagNodeList):
(WebCore::HTMLTagNodeList::create):

Use separate ContainerType enum value for HTMLTagNodeList so we can tell it apart from TagNodeList.

(WebCore::HTMLTagNodeList::nodeMatchesInlined):

Add inlined version of the matching function for tag lists.

  • html/CollectionType.h:
  • html/HTMLCollection.cpp:

(WebCore::shouldOnlyIncludeDirectChildren):
(WebCore::rootTypeFromCollectionType):
(WebCore::invalidationTypeExcludingIdAndNameAttributes):
(WebCore):
(WebCore::isMatchingElement):

List type templated matching functions for common cases.

(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::create):
(WebCore::HTMLCollection::~HTMLCollection):
(WebCore::previousNode):
(WebCore::lastNode):
(WebCore::LiveNodeListBase::iterateForPreviousNode):
(WebCore::LiveNodeListBase::itemBefore):

Leave the backwards traversal unchanged for now but remove the forward traversal code.

(WebCore::firstMatchingElement):
(WebCore::nextMatchingElement):
(WebCore::firstMatchingChildElement):
(WebCore::nextMatchingChildElement):
(WebCore::traverseMatchingElementsForwardToOffset):

List type templated traversal functions with matching. Separate functions for first and subsequent elements

(WebCore::LiveNodeListBase::traverseChildNodeListForwardToOffset):
(WebCore::LiveNodeListBase::traverseLiveNodeListFirstElement):
(WebCore::LiveNodeListBase::traverseLiveNodeListForwardToOffset):

LiveNodeList traversal, picking the right template.

(WebCore::LiveNodeListBase::item):
(WebCore::LiveNodeListBase::itemBeforeOrAfterCachedItem):

Switch to new traversal functions.

(WebCore::HTMLCollection::traverseFirstElement):
(WebCore::HTMLCollection::traverseForwardToOffset):
(WebCore::HTMLCollection::traverseNextElement):

HTMLCollection traversal, picking the right template.

(WebCore::HTMLCollection::namedItem):
(WebCore::HTMLCollection::updateNameCache):

Switch to new traversal functions.

  • html/HTMLCollection.h:

(HTMLCollection):

1:59 PM Changeset in webkit [138194] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

StringImpl isolatedCopy unnecessarily copies text-segment character data
https://bugs.webkit.org/show_bug.cgi?id=105376

Reviewed by Anders Carlsson.

This patch adds a new (private) helper to StringImpl that tests whether the StringImpl
is backed by an ASCII literal. This allows isolatedCopy() to safely use the createFromLiteral
constructor rather than making an unnecessary copy.

  • wtf/text/StringImpl.h:

(StringImpl):
(WTF::StringImpl::isASCIILiteral):
(WTF::StringImpl::isolatedCopy):

1:32 PM Changeset in webkit [138193] by nghanavatian@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

Calculate correct word offsets for form elements.
https://bugs.webkit.org/show_bug.cgi?id=105354

Reviewed by Rob Buis.

PR266117
We need to calculate correct offsets for form elements, such as
textareas, relative to the start of the field. This allows for correct
spell checking of words in a textarea element after line breaks.

Internally reviewed by Mike Fenton.

  • WebKitSupport/InputHandler.cpp: (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
1:31 PM Changeset in webkit [138192] by rniwa@webkit.org
  • 3 edits in trunk/Tools

PerfTest.parse_output does too much
https://bugs.webkit.org/show_bug.cgi?id=105391

Reviewed by Tony Chang.

Moved the code to filter lines into PerfTest._filter_output, which has been renamed from _filter_stderr.
Also moved the code to output test results into PerfTest._run_with_driver.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.init): Added _description.
(PerfTest.description): Added.
(PerfTest._run_with_driver): Moved the code to output test description and test results.
(PerfTest._filter_output): Moved and renamed from PerfTest._filter_stderr.
(PerfTest.parse_output): Removed the code to output test results. Return test results and description
respectively. Also removed the code that allowed some tests to omit values since all tests report each
iteration now since r136492.
(PerfTest.output_statistics): Removed the code to print test description, now done in _run_with_driver.
(ChromiumStylePerfTest._run_with_driver): Added. Chromium style tests are sufficiently different from
regular PerfTest that it doesn't make much sense to share _run_with_driver. But really, we should just
get rid of this type of test altogether in favor of regular performance tests that uses runner.js.
(ChromiumStylePerfTest.parse_and_log_output): Renamed from parse_output.
(PageLoadingPerfTest._run_with_driver): Removed the explicit for the test description.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(MainTest.test_parse_output): Removed the expected logs since parse_output no longer prints out results.
Also added a call to _filter_output since parse_output doesn't filter the output text anymore.
(MainTest.test_parse_output_with_failing_line): Added a call to _filter_output. Also added ',' after 'Time:'
so that it's not string-concatenated with the next line.
(MainTest.test_parse_output_with_description): Added; a test for PerfTest.description().
(MainTest.test_parse_output_with_subtests): Removed the expected logs, and added a call to _filter_output.

1:06 PM Changeset in webkit [138191] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

<rdar://problem/12896478> Cannot log into gmail/facebook with NetworkProcess and private browsing enabled
https://bugs.webkit.org/show_bug.cgi?id=105454

Reviewed by Brady Eidson.

Request was using a wrong session after a redirect, because session cannot be
preserved over IPC.

Just set the storage session after calling the client, it is not really meaningful
for a client to change session behind WebKit's back.

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::willSendRequest):
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::willSendRequest):
12:48 PM Changeset in webkit [138190] by leviw@chromium.org
  • 4 edits in branches/chromium/1364

Merge 138181

Correct missing touch event handler de-registration for nested Documents and DOMWindows
https://bugs.webkit.org/show_bug.cgi?id=105384

Reviewed by James Robinson.

Source/WebCore:

Correcting case by which a nested DOMWindow wouldn't clean up its event handler references
on its Document when removeAllEventListeners was called. Also, correctly propagating this
from a nested Document to its owner Document.

Updating fast/events/touch/touch-handler-count.html to catch this bug.

  • dom/Document.cpp:

(WebCore::Document::didRemoveEventTargetNode):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::removeAllEventListeners):

LayoutTests:

  • fast/events/touch/touch-handler-count-expected.txt:
  • fast/events/touch/touch-handler-count.html: Adding case of nested DOMWindows with event handlers.

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11635026

12:47 PM Changeset in webkit [138189] by leviw@chromium.org
  • 3 edits
    2 copies in branches/chromium/1364

Merge 138095

Input elements with default touch handlers don't update handler counts when changing documents
https://bugs.webkit.org/show_bug.cgi?id=105334

Reviewed by James Robinson.

Source/WebCore:

When an Input element with default touch event handlers changes documents, it failed to
update the touch event handler sets in both the old and new document. This patch fixes this
case.

Test: fast/events/touch/touch-input-element-change-documents.html

  • dom/Document.h:

(WebCore::Document::didRemoveTouchEventTargetNode) This function makes sense when touch
handling is enabled, regardless of whether we're tracking the rects.

  • dom/Document.cpp:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement): Switch from didRemoveTouchEventHandler to
didRemoveTouchEventTargetNode, since we don't care about counts in the destructor.
(WebCore::HTMLInputElement::updateType): Fixing incorrect indentation.
(WebCore::HTMLInputElement::didMoveToNewDocument): Adding the node to the new document and
removing it from the old.

LayoutTests:

  • fast/events/touch/touch-input-element-change-documents-expected.txt: Added.
  • fast/events/touch/touch-input-element-change-documents.html: Added.

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11649024

12:45 PM Changeset in webkit [138188] by leviw@chromium.org
  • 20 edits
    4 copies in branches/chromium/1364

Merge 137939

Add support for tracking hit test rectangles to enable fast event rejection in the compositor
https://bugs.webkit.org/show_bug.cgi?id=103914

Reviewed by James Robinson.

Source/WebCore:

Adding support for tracking hit test target regions for the purpose of performing initial hit testing
in the compositor to avoid blocking scrolling on the main thread while waiting to hit test events that
aren't occuring in regions with handlers. This is initially being done to avoid having to go to the main
thread when scrolling by flicking on touch devices when the flick occurs outside a tracked touch event
region. This patch includes the implementation to turn this on in Chromium.

To accomplish this goal, Document will now keep a counted hash set of nodes with touch event handlers
instead of only an unsigned integer of the total count. ScrollingCoordinator then updates the compositor
when new touch event handlers are registered or removed, or after layout much like how
nonFastScrollableRegions are currently tracked.

This implementation will not properly update the hit test rects when the renderers are inside a sub-
tree that scrolls.

This change was initially rolled out due to stale Node pointers in Document's touchEventTargets. This
patch adds a callback to remove the Node from that structure to Node's destructor. This is covered
by the touch-target-removed-crash.html test case which is also added.

Test: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html

platform/chromium/fast/events/touch/touch-target-removed-crash.html

  • dom/Document.cpp:

(WebCore::Document::Document): Added a HashCountedSet of touch target nodes. Note: DOMWindow targets
are stored as the Document they point to.
(WebCore::Document::didAddTouchEventHandler): Changed to keep track of the handler instead of a count, and
to update the ScrollingCoordinator with the change.
(WebCore::Document::didRemoveTouchEventHandler): Ditto.

  • dom/Document.h:

(WebCore::Document::hasTouchEventHandlers): It's no longer O(1) to get the count of touch handlers, so
expose whether there are any or not.
(WebCore::Document::touchEventTargets):

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener): Add the Document to the touch target set instead of DOMWindow.
(WebCore::DOMWindow::removeEventListener):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent):

  • page/Frame.cpp:

(WebCore::Frame::setDocument):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeAbsoluteTouchEventTargetRects): Walk the renderers for event handler
nodes and generate the absolute hit testing rects.

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::setTouchEventTargetRectsChanged): Hook to pass along the hit test rects to
the scrolling tree/compositor.
(ScrollingCoordinator):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:

(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRectsChanged):
(WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.h:

(ScrollingCoordinatorChromium):

  • testing/Internals.cpp:

(WebCore::Internals::touchEventHandlerCount): Changed to do the work to calculate the actual count since
it's no longer stored as an int in Document.
(WebCore::Internals::touchEventTargetClientRects):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/chromium:

Enabling touch event target region tracking.

  • features.gypi:
  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::requestTouchEventType):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):

LayoutTests:

  • platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Added.
  • platform/chromium/fast/events/touch/compositor-touch-hit-rects.html: Added.
  • platform/chromium/fast/events/touch/touch-target-removed-crash-expected.txt: Added.
  • platform/chromium/fast/events/touch/touch-target-removed-crash.html: Added.

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11635024

12:17 PM Changeset in webkit [138187] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

WTF String from ASCIILiteral fails to correctly handle empty strings.
https://bugs.webkit.org/show_bug.cgi?id=105453

Reviewed by Anders Carlsson.

When we have an zero length literal we should return the empty StringImpl.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::createFromLiteral):

12:03 PM Changeset in webkit [138186] by leviw@chromium.org
  • 3 edits in trunk/LayoutTests

Re-skipping touch-input-element-chang-documents.html since it's still
failing on qt and efl.

  • platform/efl/TestExpectations:
  • platform/qt/TestExpectations:
12:01 PM Changeset in webkit [138185] by jonlee@apple.com
  • 9 edits in trunk/Source/WebKit2

Notify context client of change to table, and allow client to get a copy of it
https://bugs.webkit.org/show_bug.cgi?id=105364
<rdar://problem/12906267>

Reviewed by Brady Eidson.

Add a callback to notify the context client that the origin hashes have changed.
The client may choose to get a copy of that table and save it to disk.

  • UIProcess/API/C/WKContext.cpp:

(WKContextCopyPlugInAutoStartOriginHashes): Added to the context client.

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

(WebKit::WebContext::plugInAutoStartOriginHashes): Return a copy of the origin hash
table.

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

(WebKit::PlugInAutoStartProvider::addAutoStartOrigin): When the origin is added to
the table, notify the context client.
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Create a copy of the
table.

  • UIProcess/Plugins/PlugInAutoStartProvider.h:
  • UIProcess/WebContextClient.cpp:

(WebKit::WebContextClient::plugInAutoStartOriginHashesChanged): Call the client.

  • UIProcess/WebContextClient.h:
11:35 AM Changeset in webkit [138184] by alexis@webkit.org
  • 24 edits
    2 adds in trunk

Implement CSS parsing for CSS transitions unprefixed.
https://bugs.webkit.org/show_bug.cgi?id=104804

Reviewed by Dean Jackson.

.:

Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
to cover the work of unprefixing Transforms, Animations and
Transitions. It will let the possibility of each ports to turn it off
in their release branches until we're confident that these CSS
properties are ready to be unprefixed.

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

Source/JavaScriptCore:

Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
to cover the work of unprefixing Transforms, Animations and
Transitions. It will let the possibility of each ports to turn it off
in their release branches until we're confident that these CSS
properties are ready to be unprefixed.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Add support of an unprefixed version of CSS transitions modules by adding unprefixed versions
of each CSS properties. The work is protected behind the flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
to cover the work of unprefixing Transforms, Animations and Transitions. It will let the possibility of each ports to turn it off
in their release branches until we're confident that these CSS properties are ready to be unprefixed.

Test: transitions/transitions-parsing.html

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.am:
  • GNUmakefile.features.am.in:
  • css/CSSPropertyNames.in: alias the unprefixed versions to the prefixed versions.

Source/WebKit/chromium:

Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
to cover the work of unprefixing Transforms, Animations and
Transitions. It will let the possibility of each ports to turn it off
in their release branches until we're confident that these CSS
properties are ready to be unprefixed.

  • features.gypi:

Source/WebKit/mac:

Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
to cover the work of unprefixing Transforms, Animations and
Transitions. It will let the possibility of each ports to turn it off
in their release branches until we're confident that these CSS
properties are ready to be unprefixed.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
to cover the work of unprefixing Transforms, Animations and
Transitions. It will let the possibility of each ports to turn it off
in their release branches until we're confident that these CSS
properties are ready to be unprefixed.

  • Configurations/FeatureDefines.xcconfig:

Tools:

Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
to cover the work of unprefixing Transforms, Animations and
Transitions. It will let the possibility of each ports to turn it off
in their release branches until we're confident that these CSS
properties are ready to be unprefixed.

  • Scripts/webkitperl/FeatureList.pm:
  • qmake/mkspecs/features/features.pri:

WebKitLibraries:

Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
to cover the work of unprefixing Transforms, Animations and
Transitions. It will let the possibility of each ports to turn it off
in their release branches until we're confident that these CSS
properties are ready to be unprefixed.

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:

LayoutTests:

Add new tests to cover the unprefixed version as well as the prefixed version of the properties.
It only covers the parsing and the computed style values.

  • transitions/transitions-parsing.html: Added.
11:27 AM Changeset in webkit [138183] by tonikitoo@webkit.org
  • 4 edits in trunk/Source/WebCore

Make RenderLayerCompositor::requiresCompositingForScrollableFrame scrollbars agnostic
https://bugs.webkit.org/show_bug.cgi?id=97903

Reviewed by Simon Fraser.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Some ports (including Qt-wk1 and BlackBerry) allow disabling
scrollbars at FrameView creation level. Regardless the scrollbars
presence though, their frame's content can still be scrolled as needed.
The said, checking for the scrollbars presence in order to determine
the scrollability of an inner frame is flaky, as done in RenderLayerCompositor::requiresCompositingForScrollableFrame.

Instead, the patch factors out part of the logic in
FrameView::updateScrollableAreaSet into a new ::isScrollable method.
The later can be used to check the scrollability of a given FrameView.

No new tests added, since there is no behavior change: ports like Chromium and others
who currently check for the scrollbars presence in order to determine
an inner frame scrollability should not be affected.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollable):
(WebCore):
(WebCore::FrameView::updateScrollableAreaSet):

  • page/FrameView.h:

(FrameView):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):

11:24 AM Changeset in webkit [138182] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Popup menu on Windows should fade in instead of sliding in.
https://bugs.webkit.org/show_bug.cgi?id=105358
<rdar://problem/7611211>

Reviewed by Timothy Horton.

Changing popup menu display animation to match what most other Windows applications do.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::show):

11:22 AM Changeset in webkit [138181] by leviw@chromium.org
  • 6 edits in trunk

Correct missing touch event handler de-registration for nested Documents and DOMWindows
https://bugs.webkit.org/show_bug.cgi?id=105384

Reviewed by James Robinson.

Source/WebCore:

Correcting case by which a nested DOMWindow wouldn't clean up its event handler references
on its Document when removeAllEventListeners was called. Also, correctly propagating this
from a nested Document to its owner Document.

Updating fast/events/touch/touch-handler-count.html to catch this bug.

  • dom/Document.cpp:

(WebCore::Document::didRemoveEventTargetNode):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::removeAllEventListeners):

LayoutTests:

  • fast/events/touch/touch-handler-count-expected.txt:
  • fast/events/touch/touch-handler-count.html: Adding case of nested DOMWindows with event handlers.
11:20 AM Changeset in webkit [138180] by leviw@chromium.org
  • 7 edits in trunk/LayoutTests

Unreviewed gardening. The previous rebaseline didn't quite get it right for Mac.

  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
10:01 AM Changeset in webkit [138179] by leviw@chromium.org
  • 20 edits
    5 adds
    1 delete in trunk/LayoutTests

Unreviewed gardening. Updating expectations following r137847.

  • platform/chromium-linux-x86/fast/dom/Window: Added.
  • platform/chromium-linux-x86/fast/dom/Window/webkitConvertPoint-expected.txt: Added.
  • platform/chromium-linux/fast/dom/Window/webkitConvertPoint-expected.txt: Added.
  • platform/chromium-linux/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt: Removed.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac-lion/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac-snowleopard/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png:
  • platform/chromium-mac-snowleopard/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png
  • platform/chromium-mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png:
  • platform/chromium-mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-win/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png:
  • platform/chromium-win/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added.
  • platform/chromium-win/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium/TestExpectations:
9:50 AM Changeset in webkit [138178] by leviw@chromium.org
  • 4 edits in trunk/LayoutTests

Unreviewed. Fixing incorrect include path and unskipping broken test.

  • fast/events/touch/touch-input-element-change-documents.html:
  • platform/efl/TestExpectations:
  • platform/qt/TestExpectations:
9:49 AM Changeset in webkit [138177] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix regression from r137923 that caused all tiles to paint when scrolling
https://bugs.webkit.org/show_bug.cgi?id=105394

Reviewed by Dean Jackson.

r137923 removed a 'continue' from the loop that ensures we have tile coverage,
but this caused us to issue repaints for all existing tiles.

Fix to 'continue' when the tile size is unchanged. Also remove 'primaryLayerCount'
which was unused.

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

(WebCore::TileCache::revalidateTiles):

9:45 AM Changeset in webkit [138176] by jchaffraix@webkit.org
  • 2 edits in trunk/Tools

2 clampTo unit tests are failing
https://bugs.webkit.org/show_bug.cgi?id=105253

Reviewed by Emil A Eklund.

Removed clampToUnsigned as it was actually testing exactly what
clampToUnsignedLong was doing. Also made clampToIntFloat more robust
to precision loss (fix suggested by Emil).

  • TestWebKitAPI/Tests/WTF/MathExtras.cpp:
9:42 AM Changeset in webkit [138175] by dmazzoni@google.com
  • 5 edits
    1 copy
    1 move in trunk

Support titleUIElement in chromium DRT
https://bugs.webkit.org/show_bug.cgi?id=96529

Reviewed by Chris Fleizach.

Source/WebKit/chromium:

Fix implementation of titleUIElement - it shouldn't return anything
if supportsTitleUIElement returns false, so that accessible label
overriding logic works correctly.

  • src/WebAccessibilityObject.cpp:

(WebKit::WebAccessibilityObject::titleUIElement):

LayoutTests:

Modify aria-labelledby-overrides-label.html to be more cross-platform,
with slightly different expectations on Mac & Chromium.

  • accessibility/aria-labelledby-overrides-label.html:
  • platform/chromium/TestExpectations:
  • platform/chromium/accessibility/aria-labelledby-overrides-label-expected.txt: Copied from LayoutTests/accessibility/aria-labelledby-overrides-label-expected.txt.
  • platform/mac/accessibility/aria-labelledby-overrides-label-expected.txt: Renamed from LayoutTests/accessibility/aria-labelledby-overrides-label-expected.txt.
9:38 AM Changeset in webkit [138174] by Nate Chapin
  • 3 edits in trunk/Source/WebCore

REGRESSION(r137607): PluginDocument loads consume huge amounts of memory
https://bugs.webkit.org/show_bug.cgi?id=105359

Reviewed by Alexey Proskuryakov.

No new tests, verified manually that http://www.scb.se/statistik/_publikationer/NR0001_2012K02_TI_A28TI1203.pdf
no longer consumes several GB of memory.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::setShouldBufferData): shouldBufferData is an enum, not a boolean, so this is reversed.

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::data): If the dataReceived() callback tells us to stop buffering data, be sure to

notify the ResourceLoader and clear the data buffer.

9:23 AM Changeset in webkit [138173] by gavinp@chromium.org
  • 4 edits in trunk/Source

[chromium] WebCore::Prerender::didStartPrerender depends on LinkLoader
https://bugs.webkit.org/show_bug.cgi?id=105290

Reviewed by Abhishek Arya.

The LinkLoader now removes itself from its prerender in time.

Source/WebCore:

Tested in unit tests, PrerenderingTest.FastRemoveElement.

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::~LinkLoader):
(WebCore::LinkLoader::released):

Source/WebKit/chromium:

  • tests/PrerenderingTest.cpp:
9:22 AM Changeset in webkit [138172] by dominik.rottsches@intel.com
  • 2 edits
    1 add in trunk/LayoutTests

[EFL] Unreviewed gardening.

Adding platform specific expectations since our error msg is chattier,
test was introduced in r138165.
Also, marking a crash failure.

  • platform/efl/TestExpectations:
  • platform/efl/fast/dom/shadow/shadow-root-js-api-expected.txt: Added.
9:21 AM Changeset in webkit [138171] by zandobersek@gmail.com
  • 4 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Rebaselining two tests after r137953 and r138102.
Updating test expectations as necessary.

  • platform/gtk/TestExpectations:
  • platform/gtk/editing/selection/move-by-character-6-expected.txt:
  • platform/gtk/fast/css/image-set-value-not-removed-crash-expected.txt:
9:16 AM Changeset in webkit [138170] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[Chromium/Skia] Check whether bitmap has pixels in image encoders
https://bugs.webkit.org/show_bug.cgi?id=105349

Patch by Brian Salomon <bsalomon@google.com> on 2012-12-19
Reviewed by Stephen White.

This adds NULL checks to the JPEG, PNG, WEBP encoders.

Difficult to test as condition occurs when OOM.

  • platform/image-encoders/skia/JPEGImageEncoder.cpp:

(WebCore::JPEGImageEncoder::encode):

  • platform/image-encoders/skia/PNGImageEncoder.cpp:

(WebCore::PNGImageEncoder::encode):

  • platform/image-encoders/skia/WEBPImageEncoder.cpp:

(WebCore::WEBPImageEncoder::encode):

9:10 AM Changeset in webkit [138169] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Unable to place the caret at the end of the first line, when followed by a block, in the vertical writing mode.
https://bugs.webkit.org/show_bug.cgi?id=104794

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-12-19
Reviewed by Ryosuke Niwa.

Source/WebCore:

In the vertical writing mode, when trying to place the caret at the end
of a text line which is followed by a block, the local point sent as
part of the hitTest result in the mouse click event is not correct.

When clicking on the empty region (beyond the text) in the first line,
the local point computed is not in accordance with the writing mode.

Test: editing/selection/caret-at-end-of-text-line-followed-by-block-in-vertical-mode.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::nodeAtPoint):
Modified the code to handle the point as per the writing mode when
computing the hitTest result. Calling flipForWritingMode() on the
point for achieving the same.

LayoutTests:

  • editing/selection/caret-at-end-of-text-line-followed-by-block-in-vertical-mode-expected.txt: Added.
  • editing/selection/caret-at-end-of-text-line-followed-by-block-in-vertical-mode.html: Added.

Test added for verifying that a caret is painted at the end of the text
in the first vertical line, when followed by a block.

8:40 AM Changeset in webkit [138168] by dominik.rottsches@intel.com
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r138157.
http://trac.webkit.org/changeset/138157
https://bugs.webkit.org/show_bug.cgi?id=105439

Crashes with assertion failures in EFL debug build. (Requested
by drott on #webkit).

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

  • platform/graphics/texmap/TextureMapperGL.cpp:

(SharedGLData):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawTextureWithAntialiasing):
(WebCore::keyForFilterType):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawFiltered):
(WebCore::TextureMapperGL::beginClip):

  • platform/graphics/texmap/TextureMapperShaderManager.cpp:

(WebCore):
(ShaderSpec):
(WebCore::ShaderSpec::ShaderSpec):
(WebCore::getShaderSpec):
(WebCore::TextureMapperShaderManager::getShaderProgram):

  • platform/graphics/texmap/TextureMapperShaderManager.h:

(TextureMapperShaderProgram):
(TextureMapperShaderManager):

8:33 AM Changeset in webkit [138167] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[GTK] Enable Navigation Timing by default
https://bugs.webkit.org/show_bug.cgi?id=105322

Reviewed by Martin Robinson.

The Navigation Timing specification (of which implementation is guarder
by the ENABLE_WEB_TIMING feature define) has been promoted to the W3C Recommendation
status. Because of this we should enable it by default in the release builds of
the GTK port.

No new tests - they already exist and are in majority passing.

  • GNUmakefile.am:
  • bindings/gobject/GNUmakefile.am: Move the DOM bindings for interfaces related to this

feature out of the unstable features define guard and into the general list.

8:23 AM Changeset in webkit [138166] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: default font on mac is Monaco (should do be Menlo)
https://bugs.webkit.org/show_bug.cgi?id=105435

Reviewed by Alexander Pavlov.

Regressed when I introduced mountain lion modifier in the inspector.css.

  • inspector/front-end/inspector.css:

(body.platform-mac .monospace, body.platform-mac .source-code):
(body.platform-mac.platform-mac-tiger .source-code):

8:09 AM Changeset in webkit [138165] by hayato@chromium.org
  • 8 edits in trunk

Expose WebKitShadowRoot constructor to DOMWindow.
https://bugs.webkit.org/show_bug.cgi?id=105385

Reviewed by Dimitri Glazkov.

Source/WebCore:

This is a follow-up patch for r137870. WebKitShadowRoot
constructor should be in DOMWindow, just like all of the other
not-callable-constructors like HTMLDivElement, etc. We need it
for instanceof tests and so on.

Test: fast/dom/shadow/shadow-root-js-api.html

fast/js/global-constructors-expected.html

  • page/DOMWindow.idl:

LayoutTests:

  • fast/dom/shadow/shadow-root-js-api-expected.txt:
  • fast/dom/shadow/shadow-root-js-api.html:
  • fast/js/global-constructors-expected.txt:
  • platform/efl/fast/js/global-constructors-expected.txt:
  • platform/gtk/fast/js/global-constructors-expected.txt:
8:07 AM Changeset in webkit [138164] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: refactor DefaultTextEditor's |expanded| setters
https://bugs.webkit.org/show_bug.cgi?id=105415

Patch by Andrey Lushnikov <lushnikov@chromium.com> on 2012-12-19
Reviewed by Pavel Feldman.

Refactor |expanded| setters and getters into |collapse()|, |expand()|
and |expanded()| methods

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
(WebInspector.TextEditorChunkedPanel.prototype._expandChunks):
(WebInspector.TextEditorGutterPanel.prototype.textChanged):
(WebInspector.TextEditorGutterChunk.prototype.expanded): Added.
(WebInspector.TextEditorGutterChunk.prototype.collapse): Added.
(WebInspector.TextEditorGutterChunk.prototype.expand): Added.
(WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
(WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
(WebInspector.TextEditorMainChunk.prototype.expanded): Added.
(WebInspector.TextEditorMainChunk.prototype.collapse): Added.
(WebInspector.TextEditorMainChunk.prototype.expand): Added.

7:43 AM Changeset in webkit [138163] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Use Document* as argument in WebSocket Instrumentation.
https://bugs.webkit.org/show_bug.cgi?id=105279.

Patch by Pan Deng <pan.deng@intel.com> on 2012-12-19
Reviewed by Pavel Feldman.

Some WebSocket instrumentation fuctions adopted ScriptExecutionContext* as argument, it is not clear that
their clients and implementations are all using Document*. This patch adopt Document* as argument, and
Document* could supply more information in future.

No functionality changed, no new tests.

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didCreateWebSocket):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorInstrumentation::didCloseWebSocket):

7:34 AM Changeset in webkit [138162] by commit-queue@webkit.org
  • 4 edits
    10 adds in trunk

Text Autosizing: Work out what to do about form controls
https://bugs.webkit.org/show_bug.cgi?id=102560

Patch by Tim Volodine <timvolodine@chromium.org> on 2012-12-19
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Disallow autosizing of form input controls like buttons, text input fields, selection controls, radio buttons
and check boxes. This is a short term solution to avoid inconsistent autosizing of form controls (which is
worse than not autosizing at all).

Tests: fast/text-autosizing/form-controls-autosizing-button-input-elements.html

fast/text-autosizing/form-controls-autosizing-checkbox-input-element.html
fast/text-autosizing/form-controls-autosizing-radio-input-element.html
fast/text-autosizing/form-controls-autosizing-select-element.html
fast/text-autosizing/form-controls-autosizing-textfield-input-elements.html

  • rendering/TextAutosizer.cpp:

(WebCore):
(WebCore::formInputTags):
(WebCore::TextAutosizer::isAutosizingContainer):
(WebCore::TextAutosizer::contentHeightIsConstrained):
(WebCore::TextAutosizer::containerShouldBeAutosized):
(WebCore::TextAutosizer::containerContainsOneOfTags):

  • rendering/TextAutosizer.h:

LayoutTests:

Tests for form input elements autosizing. Added tests to check that various kinds of form elements
don't get autosized, i.e. buttons, textareas, check boxes, radio button and selection menus.

  • fast/text-autosizing/form-controls-autosizing-button-input-elements-expected.html: Added.
  • fast/text-autosizing/form-controls-autosizing-button-input-elements.html: Added.
  • fast/text-autosizing/form-controls-autosizing-checkbox-input-element-expected.html: Added.
  • fast/text-autosizing/form-controls-autosizing-checkbox-input-element.html: Added.
  • fast/text-autosizing/form-controls-autosizing-radio-input-element-expected.html: Added.
  • fast/text-autosizing/form-controls-autosizing-radio-input-element.html: Added.
  • fast/text-autosizing/form-controls-autosizing-select-element-expected.html: Added.
  • fast/text-autosizing/form-controls-autosizing-select-element.html: Added.
  • fast/text-autosizing/form-controls-autosizing-textfield-input-elements-expected.html: Added.
  • fast/text-autosizing/form-controls-autosizing-textfield-input-elements.html: Added.
7:32 AM Changeset in webkit [138161] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Add Workspace.setFileContent() method
https://bugs.webkit.org/show_bug.cgi?id=105434

Reviewed by Pavel Feldman.

Added method that will be usedto save file system-based uiSourceCodes to the disk.

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype._commitContent):

  • inspector/front-end/Workspace.js:

(WebInspector.WorkspaceProvider.prototype.setFileContent):
(WebInspector.Project.prototype.setFileContent):

7:29 AM Changeset in webkit [138160] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Rename workspace path to uri.
https://bugs.webkit.org/show_bug.cgi?id=105433

Reviewed by Pavel Feldman.

URI should later become file unique id / address in workspace.

  • inspector/front-end/NetworkWorkspaceProvider.js:

(WebInspector.NetworkWorkspaceProvider.prototype.requestFileContent):
(WebInspector.NetworkWorkspaceProvider.prototype.setFileContent):
(WebInspector.NetworkWorkspaceProvider.prototype.searchInFileContent):
(WebInspector.NetworkWorkspaceProvider.prototype.addFile):
(WebInspector.NetworkWorkspaceProvider.prototype.removeFile):

  • inspector/front-end/Workspace.js:

(WebInspector.FileDescriptor):
(WebInspector.WorkspaceProvider.prototype.requestFileContent):
(WebInspector.WorkspaceProvider.prototype.searchInFileContent):
(WebInspector.Project.prototype._fileAdded):
(WebInspector.Project.prototype._fileRemoved):
(WebInspector.Project.prototype.requestFileContent):
(WebInspector.Project.prototype.searchInFileContent):
(WebInspector.Workspace.prototype.addTemporaryUISourceCode):

7:28 AM Changeset in webkit [138159] by apavlov@chromium.org
  • 12 edits
    1 add
    2 deletes in trunk/Source/WebCore

Web Inspector: Refactor CSS[Keyword]Completions to augment property metadata
https://bugs.webkit.org/show_bug.cgi?id=105020

Reviewed by Pavel Feldman.

  • CSSCompletions and CSSKeywordCompletions of WebInspector have been merged into CSSMetadata.
  • Valid value keyword lists have been added or augmented for some properties.
  • Some properties have been made inherited or color-aware.
  • English.lproj/localizedStrings.js:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/CSSCompletions.js: Removed.
  • inspector/front-end/CSSKeywordCompletions.js: Removed.
  • inspector/front-end/CSSMetadata.js: Added.

(WebInspector.CSSMetadata):
(WebInspector.CSSMetadata.isColorAwareProperty):
(WebInspector.CSSMetadata.colors):
(WebInspector.CSSMetadata.valuesForProperty):
(WebInspector.CSSMetadata.descriptor):
(WebInspector.CSSMetadata.requestCSSShorthandData):
(WebInspector.CSSMetadata.cssPropertiesMetainfoKeySet):
(WebInspector.CSSMetadata.prototype.startsWith):
(WebInspector.CSSMetadata.prototype.mostUsedOf):
(WebInspector.CSSMetadata.prototype._firstIndexOfPrefix):
(WebInspector.CSSMetadata.prototype.keySet):
(WebInspector.CSSMetadata.prototype.next):
(WebInspector.CSSMetadata.prototype.previous):
(WebInspector.CSSMetadata.prototype._closest):
(WebInspector.CSSMetadata.prototype.longhands):
(WebInspector.CSSMetadata.prototype.shorthands):

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSStyleDeclaration.prototype.longhandProperties):

  • inspector/front-end/SourceCSSTokenizer.js:

(WebInspector.SourceCSSTokenizer):

  • inspector/front-end/SourceCSSTokenizer.re2js:
  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylesSidebarPane.createExclamationMark):
(WebInspector.StylesSidebarPane.prototype._markUsedProperties):
(WebInspector.StylesSidebarPane.prototype._containsInherited):
(WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
(WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
(WebInspector.StylePropertiesSection.prototype.onpopulate):
(WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
(WebInspector.StylePropertyTreeElement.prototype):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:
  • inspector/front-end/inspector.js:
7:05 AM Changeset in webkit [138158] by thiago.santos@intel.com
  • 2 edits
    1 move
    4 adds
    1 delete in trunk/Tools

[EFL] Move ImageDiff to the Tools directory root
https://bugs.webkit.org/show_bug.cgi?id=105305

Reviewed by Laszlo Gombos.

We previously moved this directory from the DRT directory to
efl/ImageDiff. The major reason for doing so was because ImageDiff does
not depend on DumpRenderTree but for legacy reasons was living inside the
DRT folder, even though it is needed when running pixel tests for WK2.

Now we are moving to Tool directory root as other ports agreed to do the same.

  • CMakeLists.txt:
  • ImageDiff/CMakeLists.txt: Added.
  • ImageDiff/PlatformEfl.cmake: Added.
  • ImageDiff/efl/ImageDiff.cpp: Renamed from Tools/efl/ImageDiff/ImageDiff.cpp.
  • efl/ImageDiff/CMakeLists.txt: Removed.
6:52 AM Changeset in webkit [138157] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[Texmap] Instead of having multiple shaders sources with lots of duplication, we should have one shader source with MACRO variants
https://bugs.webkit.org/show_bug.cgi?id=104815

Patch by No'am Rosenthal <Noam Rosenthal> on 2012-12-19
Reviewed by Kenneth Rohde Christiansen.

Created templates for the vertex and fragment shaders, and added some MACROs in
TextureMapperShaderManager to allow GLSL precompiler-based configuration.

The template follows a pattern where the main function in the shader calls
applyFooBarIfNeeded(), while applyFooBar() is implemented. The Macros prepended to the template define whether applyIfNeeded resolves to the real function or to a noop.

In addition, made some small changes to the filter shaders so that they can use the same code as the normal shaders.

Covered by existing pixel/ref tests when run on Qt/EFL/GTK.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::TextureMapperGL::drawTextureWithAntialiasing):
(WebCore::optionsForFilterType):
(WebCore):
(WebCore::getPassesRequiredForFilter):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawFiltered):
(WebCore::BitmapTextureGL::applyFilters):

Always draw using the drawQuad function, and use the new TextureMapperShaderManager::Options mask instead of the old ShaderKey.

  • platform/graphics/texmap/TextureMapperShaderManager.cpp:

(WebCore):
(WebCore::getShaderSpec):
(WebCore::TextureMapperShaderManager::getShaderProgram):

  • platform/graphics/texmap/TextureMapperShaderManager.h:

(TextureMapperShaderProgram):
(TextureMapperShaderManager):

6:48 AM Changeset in webkit [138156] by Csaba Osztrogonác
  • 159 edits
    20 moves
    9 adds
    8 deletes in trunk/LayoutTests

[Qt] Unreviewed gardening, update pixel results.

  • platform/qt-5.0-wk2/fast/backgrounds/transformed-body-background-expected.png: Removed.
  • platform/qt-5.0-wk2/fast/backgrounds/transformed-body-html-background-expected.png: Removed.
  • platform/qt-5.0-wk2/fast/backgrounds/transformed-html-body-background-expected.png: Removed.
  • platform/qt-5.0-wk2/fast/forms/datalist/input-appearance-range-with-transform-expected.png: Removed.
  • platform/qt-5.0-wk2/fast/layers/scroll-with-transform-composited-layer-expected.png: Removed.
  • platform/qt-5.0-wk2/svg/dom/SVGLengthList-getItem-expected.png: Removed.
  • platform/qt-5.0-wk2/svg/dom/SVGLengthList-initialize-expected.png: Removed.
  • platform/qt-5.0-wk2/svg/dom/SVGLengthList-replaceItem-expected.png: Removed.
  • platform/qt/compositing/masks/masked-ancestor-expected.png:
  • platform/qt/compositing/reflections/reflection-in-composited-expected.png:
  • platform/qt/compositing/shadows/shadow-drawing-expected.png:
  • platform/qt/css1/box_properties/border_style-expected.png:
  • platform/qt/css2.1/t0805-c5517-brdr-s-00-c-expected.png:
  • platform/qt/css2.1/t0805-c5519-brdr-r-01-e-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-04-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-14-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-24-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-34-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-44-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-54-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-64-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-74-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-84-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-94-d-expected.png:
  • platform/qt/editing/deleting/delete-at-paragraph-boundaries-007-expected.png:
  • platform/qt/editing/deleting/delete-at-paragraph-boundaries-009-expected.png:
  • platform/qt/editing/selection/extend-by-character-002-expected.png:
  • platform/qt/editing/selection/extend-by-character-004-expected.png:
  • platform/qt/editing/selection/move-by-character-002-expected.png:
  • platform/qt/editing/selection/move-by-character-004-expected.png:
  • platform/qt/fast/backgrounds/animated-svg-as-mask-expected.png:
  • platform/qt/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
  • platform/qt/fast/backgrounds/transformed-body-background-expected.png: Added.
  • platform/qt/fast/backgrounds/transformed-body-html-background-expected.png: Added.
  • platform/qt/fast/backgrounds/transformed-html-body-background-expected.png: Added.
  • platform/qt/fast/css/outline-auto-empty-rects-expected.png:
  • platform/qt/fast/css/outline-auto-location-expected.png:
  • platform/qt/fast/css/resize-corner-tracking-transformed-expected.png:
  • platform/qt/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png:
  • platform/qt/fast/forms/datalist/input-appearance-range-with-datalist-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/fast/forms/datalist/input-appearance-range-with-datalist-expected.png.
  • platform/qt/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png.
  • platform/qt/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png.
  • platform/qt/fast/forms/datalist/input-appearance-range-with-transform-expected.png: Added.
  • platform/qt/fast/forms/number/number-appearance-rtl-expected.png:
  • platform/qt/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.png:
  • platform/qt/fast/forms/select-baseline-expected.png:
  • platform/qt/fast/inline/continuation-outlines-expected.png:
  • platform/qt/fast/layers/scroll-with-transform-composited-layer-expected.png: Added.
  • platform/qt/fast/layers/scroll-with-transform-layer-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/fast/layers/scroll-with-transform-layer-expected.png.
  • platform/qt/fast/multicol/vertical-lr/float-avoidance-expected.png:
  • platform/qt/fast/multicol/vertical-rl/float-avoidance-expected.png:
  • platform/qt/fast/overflow/overflow-with-local-background-attachment-expected.png:
  • platform/qt/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-expected.png:
  • platform/qt/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png:
  • platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.png:
  • platform/qt/fast/repaint/reflection-repaint-test-expected.png:
  • platform/qt/fast/repaint/region-painting-invalidation-expected.png:
  • platform/qt/fast/repaint/region-painting-via-layout-expected.png:
  • platform/qt/fast/repaint/transform-repaint-descendants-expected.png:
  • platform/qt/fast/replaced/selection-rect-transform-expected.png:
  • platform/qt/fast/table/035-vertical-expected.png:
  • platform/qt/fast/table/border-collapsing/001-expected.png:
  • platform/qt/fast/table/border-collapsing/001-vertical-expected.png:
  • platform/qt/fast/table/border-collapsing/004-vertical-expected.png:
  • platform/qt/fast/transforms/transform-table-row-expected.png:
  • platform/qt/fast/transforms/transformed-caret-expected.png:
  • platform/qt/fast/writing-mode/box-shadow-vertical-lr-expected.png:
  • platform/qt/fast/writing-mode/box-shadow-vertical-rl-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/animate-elem-11-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/animate-elem-33-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/animate-elem-84-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/masking-path-03-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/paths-data-04-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/paths-data-06-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/paths-data-08-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/text-align-02-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/text-path-01-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/text-tspan-01-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.png:
  • platform/qt/svg/as-background-image/svg-as-background-5-expected.png:
  • platform/qt/svg/batik/paints/patternPreserveAspectRatioA-expected.png:
  • platform/qt/svg/batik/text/smallFonts-expected.png:
  • platform/qt/svg/batik/text/textAnchor-expected.png:
  • platform/qt/svg/batik/text/textGlyphOrientationHorizontal-expected.png:
  • platform/qt/svg/batik/text/textOnPath-expected.png:
  • platform/qt/svg/batik/text/textOnPath2-expected.png:
  • platform/qt/svg/batik/text/textOnPathSpaces-expected.png:
  • platform/qt/svg/batik/text/verticalText-expected.png:
  • platform/qt/svg/batik/text/verticalTextOnPath-expected.png:
  • platform/qt/svg/batik/text/xmlSpace-expected.png:
  • platform/qt/svg/carto.net/button-expected.png:
  • platform/qt/svg/carto.net/colourpicker-expected.png:
  • platform/qt/svg/carto.net/slider-expected.png:
  • platform/qt/svg/carto.net/textbox-expected.png:
  • platform/qt/svg/carto.net/window-expected.png:
  • platform/qt/svg/css/text-shadow-multiple-expected.png:
  • platform/qt/svg/custom/feComponentTransfer-Discrete-expected.png:
  • platform/qt/svg/custom/feComponentTransfer-Gamma-expected.png:
  • platform/qt/svg/custom/feComponentTransfer-Linear-expected.png:
  • platform/qt/svg/custom/feComponentTransfer-Table-expected.png:
  • platform/qt/svg/custom/focus-ring-expected.png:
  • platform/qt/svg/custom/font-face-simple-expected.png:
  • platform/qt/svg/custom/foreign-object-skew-expected.png:
  • platform/qt/svg/custom/invalid-css-expected.png:
  • platform/qt/svg/custom/marker-default-width-height-expected.png:
  • platform/qt/svg/custom/no-inherited-dashed-stroke-expected.png:
  • platform/qt/svg/custom/preserve-aspect-ratio-syntax-expected.png:
  • platform/qt/svg/custom/shapes-supporting-markers-expected.png:
  • platform/qt/svg/custom/stroked-pattern-expected.png:
  • platform/qt/svg/custom/text-rotated-gradient-expected.png:
  • platform/qt/svg/custom/text-tref-03-b-change-href-dom-expected.png:
  • platform/qt/svg/custom/text-tref-03-b-change-href-expected.png:
  • platform/qt/svg/custom/text-tref-03-b-referenced-element-removal-expected.png:
  • platform/qt/svg/custom/text-tref-03-b-tref-removal-expected.png:
  • platform/qt/svg/custom/tref-own-content-removal-expected.png:
  • platform/qt/svg/custom/use-detach-expected.png:
  • platform/qt/svg/custom/viewbox-syntax-expected.png:
  • platform/qt/svg/dom/SVGLengthList-appendItem-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGLengthList-appendItem-expected.png.
  • platform/qt/svg/dom/SVGLengthList-basics-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGLengthList-basics-expected.png.
  • platform/qt/svg/dom/SVGLengthList-getItem-expected.png: Added.
  • platform/qt/svg/dom/SVGLengthList-initialize-expected.png: Added.
  • platform/qt/svg/dom/SVGLengthList-insertItemBefore-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGLengthList-insertItemBefore-expected.png.
  • platform/qt/svg/dom/SVGLengthList-removeItem-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGLengthList-removeItem-expected.png.
  • platform/qt/svg/dom/SVGLengthList-replaceItem-expected.png: Added.
  • platform/qt/svg/dom/SVGLengthList-xml-dom-modifications-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGLengthList-xml-dom-modifications-expected.png.
  • platform/qt/svg/dom/SVGLocatable-getCTM-svg-root-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGLocatable-getCTM-svg-root-expected.png.
  • platform/qt/svg/dom/SVGNumberList-basics-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGNumberList-basics-expected.png.
  • platform/qt/svg/dom/SVGPathSegList-appendItem-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGPathSegList-appendItem-expected.png.
  • platform/qt/svg/dom/SVGPathSegList-clear-and-initialize-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGPathSegList-clear-and-initialize-expected.png.
  • platform/qt/svg/dom/SVGPathSegList-insertItemBefore-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGPathSegList-insertItemBefore-expected.png.
  • platform/qt/svg/dom/SVGPathSegList-removeItem-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGPathSegList-removeItem-expected.png.
  • platform/qt/svg/dom/SVGPathSegList-replaceItem-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGPathSegList-replaceItem-expected.png.
  • platform/qt/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png.
  • platform/qt/svg/dom/SVGPointList-basics-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGPointList-basics-expected.png.
  • platform/qt/svg/dom/SVGStringList-basics-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGStringList-basics-expected.png.
  • platform/qt/svg/dom/SVGTransformList-basics-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk2/svg/dom/SVGTransformList-basics-expected.png.
  • platform/qt/svg/dynamic-updates/SVGUseElement-svgdom-href1-prop-expected.png:
  • platform/qt/svg/hixie/perf/003-expected.png:
  • platform/qt/svg/text/select-textLength-spacing-squeeze-3-expected.png:
  • platform/qt/svg/text/select-textLength-spacing-stretch-1-expected.png:
  • platform/qt/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png:
  • platform/qt/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png:
  • platform/qt/svg/text/select-x-list-1-expected.png:
  • platform/qt/svg/text/select-x-list-with-tspans-1-expected.png:
  • platform/qt/svg/text/small-fonts-2-expected.png:
  • platform/qt/svg/text/small-fonts-3-expected.png:
  • platform/qt/svg/text/text-align-01-b-expected.png:
  • platform/qt/svg/text/text-align-02-b-expected.png:
  • platform/qt/svg/text/text-align-03-b-expected.png:
  • platform/qt/svg/text/text-align-06-b-expected.png:
  • platform/qt/svg/text/text-fonts-02-t-expected.png:
  • platform/qt/svg/text/text-path-01-b-expected.png:
  • platform/qt/svg/text/text-text-03-b-expected.png:
  • platform/qt/svg/text/text-text-05-t-expected.png:
  • platform/qt/svg/text/text-tref-01-b-expected.png:
  • platform/qt/svg/text/text-tselect-01-b-expected.png:
  • platform/qt/svg/text/text-tspan-01-b-expected.png:
  • platform/qt/svg/transforms/animated-path-inside-transformed-html-expected.png:
  • platform/qt/svg/transforms/svg-css-transforms-expected.png:
  • platform/qt/svg/transforms/text-with-mask-with-svg-transform-expected.png:
  • platform/qt/svg/transforms/text-with-pattern-inside-transformed-html-expected.png:
  • platform/qt/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
  • platform/qt/svg/zoom/page/zoom-mask-with-percentages-expected.png:
  • platform/qt/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png:
  • platform/qt/svg/zoom/text/zoom-foreignObject-expected.png:
  • platform/qt/tables/mozilla/bugs/bug6674-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_position-table-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_simple-table-cell-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_simple-table-expected.png:
  • platform/qt/tables/mozilla/marvin/backgr_simple-table-row-group-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.png:
  • platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.png:
  • platform/qt/transforms/svg-vs-css-expected.png:
6:43 AM Changeset in webkit [138155] by kareng@chromium.org
  • 17 edits
    4 deletes in branches/chromium/1365

Revert 137939

Add support for tracking hit test rectangles to enable fast event rejection in the compositor
https://bugs.webkit.org/show_bug.cgi?id=103914

Reviewed by James Robinson.

Source/WebCore:

Adding support for tracking hit test target regions for the purpose of performing initial hit testing
in the compositor to avoid blocking scrolling on the main thread while waiting to hit test events that
aren't occuring in regions with handlers. This is initially being done to avoid having to go to the main
thread when scrolling by flicking on touch devices when the flick occurs outside a tracked touch event
region. This patch includes the implementation to turn this on in Chromium.

To accomplish this goal, Document will now keep a counted hash set of nodes with touch event handlers
instead of only an unsigned integer of the total count. ScrollingCoordinator then updates the compositor
when new touch event handlers are registered or removed, or after layout much like how
nonFastScrollableRegions are currently tracked.

This implementation will not properly update the hit test rects when the renderers are inside a sub-
tree that scrolls.

This change was initially rolled out due to stale Node pointers in Document's touchEventTargets. This
patch adds a callback to remove the Node from that structure to Node's destructor. This is covered
by the touch-target-removed-crash.html test case which is also added.

Test: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html

platform/chromium/fast/events/touch/touch-target-removed-crash.html

  • dom/Document.cpp:

(WebCore::Document::Document): Added a HashCountedSet of touch target nodes. Note: DOMWindow targets
are stored as the Document they point to.
(WebCore::Document::didAddTouchEventHandler): Changed to keep track of the handler instead of a count, and
to update the ScrollingCoordinator with the change.
(WebCore::Document::didRemoveTouchEventHandler): Ditto.

  • dom/Document.h:

(WebCore::Document::hasTouchEventHandlers): It's no longer O(1) to get the count of touch handlers, so
expose whether there are any or not.
(WebCore::Document::touchEventTargets):

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener): Add the Document to the touch target set instead of DOMWindow.
(WebCore::DOMWindow::removeEventListener):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent):

  • page/Frame.cpp:

(WebCore::Frame::setDocument):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeAbsoluteTouchEventTargetRects): Walk the renderers for event handler
nodes and generate the absolute hit testing rects.

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::setTouchEventTargetRectsChanged): Hook to pass along the hit test rects to
the scrolling tree/compositor.
(ScrollingCoordinator):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:

(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRectsChanged):
(WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.h:

(ScrollingCoordinatorChromium):

  • testing/Internals.cpp:

(WebCore::Internals::touchEventHandlerCount): Changed to do the work to calculate the actual count since
it's no longer stored as an int in Document.
(WebCore::Internals::touchEventTargetClientRects):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/chromium:

Enabling touch event target region tracking.

  • features.gypi:
  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::requestTouchEventType):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):

LayoutTests:

  • platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Added.
  • platform/chromium/fast/events/touch/compositor-touch-hit-rects.html: Added.
  • platform/chromium/fast/events/touch/touch-target-removed-crash-expected.txt: Added.
  • platform/chromium/fast/events/touch/touch-target-removed-crash.html: Added.

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11633018

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

[EFL][WK2][AC] Avoid creating an empty surface.
https://bugs.webkit.org/show_bug.cgi?id=105410

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-19
Reviewed by Kenneth Rohde Christiansen.

Ensure that the view has valid size before creating the surface.

  • UIProcess/API/efl/EvasGLSurface.h:

(WebKit::EvasGLSurface::create):

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::displayTimerFired):

6:33 AM Changeset in webkit [138153] by kareng@chromium.org
  • 1 add in branches/chromium/1365/codereview.settings

for easy drovering

6:31 AM Changeset in webkit [138152] by kareng@chromium.org
  • 1 copy in branches/chromium/1365

branching for chromium

6:14 AM Changeset in webkit [138151] by vsevik@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Support removing several tabs from TabbedEditorContainer/TabbedPane at once.
https://bugs.webkit.org/show_bug.cgi?id=104881

Reviewed by Alexander Pavlov.

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):

  • inspector/front-end/TabbedEditorContainer.js:

(WebInspector.TabbedEditorContainer.prototype.removeUISourceCode):

  • inspector/front-end/TabbedPane.js:

(WebInspector.TabbedPane.prototype.closeTab):
(WebInspector.TabbedPane.prototype.closeTabs):

5:56 AM Changeset in webkit [138150] by caseq@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: scripts to evaluate on load are not removed from inspector state when Page agent is disabled
https://bugs.webkit.org/show_bug.cgi?id=105422

Reviewed by Alexander Pavlov.

  • reset scripts to evaluate on load when InspectorPageAgent is disabled.
  • added InspectorState::remove();
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::disable):

  • inspector/InspectorState.cpp:

(WebCore::InspectorState::remove):
(WebCore):

  • inspector/InspectorState.h:

(InspectorState):

5:45 AM Changeset in webkit [138149] by kenneth@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][Qt][WK2] Going back to 47-amazing-css3-animation-demos shows nothing or wrong position
https://bugs.webkit.org/show_bug.cgi?id=104414

Reviewed by Simon Hausmann.

When contents size changes, make sure to apply any pending position
change if possible.

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::didChangeContentsSize):

5:38 AM Changeset in webkit [138148] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

INPUT_MULTIPLE_FIELDS_UI: Make year field readonly if min and max have the same year
https://bugs.webkit.org/show_bug.cgi?id=105383

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-12-19
Reviewed by Kent Tamura.

Source/WebCore:

Make year field readonly if min and max have the same year, and it does not have
value with different year.

Test: fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html

  • css/html.css: Add CSS rule for the year field.
  • html/shadow/DateTimeEditElement.cpp:

(DateTimeEditBuilder):
(WebCore::DateTimeEditBuilder::visitField): Make year-field readonly when appropriate.
(WebCore::DateTimeEditBuilder::shouldYearFieldReadOnly): Added.

LayoutTests:

  • fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield-expected.txt: Added.
  • fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html: Added.
  • fast/forms/date-multiple-fields/resources/preserve-value-after-history-back-frame.html: Tweak so year field is focusable.
  • fast/forms/datetimelocal-multiple-fields/resources/preserve-value-after-history-back-frame.html: Ditto.
  • fast/forms/month-multiple-fields/resources/preserve-value-after-history-back-frame.html: Ditto.
  • fast/forms/week-multiple-fields/resources/preserve-value-after-history-back-frame.html: Ditto.
5:32 AM Changeset in webkit [138147] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] [WK2] Trailing semicolon in an #include line
https://bugs.webkit.org/show_bug.cgi?id=105418

Patch by Alberto Garcia <agarcia@igalia.com> on 2012-12-19
Reviewed by Xan Lopez.

  • UIProcess/gtk/WebContextGtk.cpp:

Remove trailing semicolon in #include line.

5:22 AM Changeset in webkit [138146] by kenneth@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Move deviceScaleFactor to our view as it's view related
https://bugs.webkit.org/show_bug.cgi?id=105412

Reviewed by Laszlo Gombos.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::setDeviceScaleFactor):
(EwkViewImpl::transformFromScene):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_device_pixel_ratio_set):

5:13 AM Changeset in webkit [138145] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Fix undesired re-entrant calls during media error dialog
https://bugs.webkit.org/show_bug.cgi?id=105398

Patch by Max Feil <mfeil@rim.com> on 2012-12-19
Reviewed by Rob Buis.

A recent change in libwebview (PR194379) to the dialog
handling means that dialogs are not truly blocking anymore.
While the dialog is up, a sub-event loop is called. Therefore
the HTML5 media code will continue processing pps messages from
mm-renderer, responding to periodic timers, etc., all while a
media error dialog call higher up in the stack is waiting for
the user to respond. Unfortunately certain places in our code
do not anticipate being called in this re-entrant way.

This patch restores previous behaviour, covered by existing tests.

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::waitMetadataTimerFired):

5:02 AM Changeset in webkit [138144] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [REGRESSION] The last remembered tab is not restored when the Settings dialog is opened
https://bugs.webkit.org/show_bug.cgi?id=105414

Reviewed by Vsevolod Vlasov.

Do not force the "General" tab when opening settings upon the Cog button click.

  • inspector/front-end/SettingsScreen.js:

(WebInspector.SettingsController.prototype._mouseUp):

5:00 AM Changeset in webkit [138143] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, skip flakey tests.

  • platform/qt-5.0-wk2/TestExpectations:
4:49 AM Changeset in webkit [138142] by zeno.albisser@digia.com
  • 3 edits in trunk/Source/WebKit2

[Qt] Missing vtable for LoadStartedCatcher.
https://bugs.webkit.org/show_bug.cgi?id=105313

Properly splitting class declarations and function
definitions into headers/cpp-files.
This makes including util.moc redundant
and avoids the well known vtable issues with QObject classes.

Reviewed by Simon Hausmann.

  • UIProcess/API/qt/tests/util.cpp:

(LoadSpy::LoadSpy):
(LoadSpy::onLoadingChanged):

  • UIProcess/API/qt/tests/util.h:

(LoadSpy):

3:56 AM Changeset in webkit [138141] by reni@webkit.org
  • 3 edits
    2 adds in trunk

CSSParser crases, when no context is available, and the value is a valid keyword
https://bugs.webkit.org/show_bug.cgi?id=105275

Reviewed by Tony Chang.

ParserContext could be null even if the keyword is valid. We have to check it.

Source/WebCore:

Test: fast/css/invalid-parsercontext-valid-keyword-crash.svg

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

LayoutTests:

  • fast/css/invalid-parsercontext-valid-keyword-crash-expected.txt: Added.
  • fast/css/invalid-parsercontext-valid-keyword-crash.svg: Added.
3:35 AM Changeset in webkit [138140] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk/Source/WebCore

[EFL][WebGL] Refactor GLXSurface.
https://bugs.webkit.org/show_bug.cgi?id=105357

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-19
Reviewed by Kenneth Rohde Christiansen.

This is in preparation for adding EGL support.
There is lot of X related code which could be shared between our current GLX implementation
and EGL. This patch makes it possible to share the common code but doesn't change any functionality.

  • PlatformEfl.cmake:
  • platform/graphics/surfaces/glx/GLXSurface.cpp:

(WebCore):
(WebCore::GLXTransportSurface::GLXTransportSurface):
(WebCore::GLXTransportSurface::configuration):
(WebCore::GLXTransportSurface::destroy):
(WebCore::GLXTransportSurface::freeResources):
(WebCore::GLXPBuffer::GLXPBuffer):
(WebCore::GLXPBuffer::initialize):
(WebCore::GLXPBuffer::configuration):
(WebCore::GLXPBuffer::setGeometry):

  • platform/graphics/surfaces/glx/GLXSurface.h:

(GLXTransportSurface):
(GLXPBuffer):

GLX related implementation.

  • platform/graphics/surfaces/glx/GLXWindowResources.h: Added.

(WebCore):
(SharedGLXResources):
(WebCore::SharedGLXResources::create):
(WebCore::SharedGLXResources::nativeDisplay):
(WebCore::SharedGLXResources::pBufferContextConfig):
(WebCore::SharedGLXResources::surfaceContextConfig):
(WebCore::SharedGLXResources::SharedGLXResources):
(WebCore::SharedGLXResources::createConfig):

Moving X related code to a seperate class.

  • platform/graphics/surfaces/glx/X11WindowResources.cpp: Added.

(WebCore):
(WebCore::X11OffScreenWindow::X11OffScreenWindow):
(WebCore::X11OffScreenWindow::~X11OffScreenWindow):
(WebCore::X11OffScreenWindow::setGeometry):
(WebCore::X11OffScreenWindow::createOffscreenWindow):

  • platform/graphics/surfaces/glx/X11WindowResources.h: Added.

(WebCore):
(SharedX11Resources):
(WebCore::SharedX11Resources::deref):
(WebCore::SharedX11Resources::x11Display):
(WebCore::SharedX11Resources::getXWindow):
(WebCore::SharedX11Resources::visualInfo):
(WebCore::SharedX11Resources::isXRenderExtensionSupported):
(WebCore::SharedX11Resources::SharedX11Resources):
(WebCore::SharedX11Resources::~SharedX11Resources):
(X11OffScreenWindow):

2:56 AM Changeset in webkit [138139] by dominik.rottsches@intel.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening.

Adding failing touch events case, details in bug 105406.

  • platform/efl/TestExpectations:
2:50 AM Changeset in webkit [138138] by commit-queue@webkit.org
  • 13 edits
    1 delete in trunk

[JSC] Add support for overloaded constructors
https://bugs.webkit.org/show_bug.cgi?id=103226

Patch by Tommy Widenflycht <tommyw@chromium.org> on 2012-12-19
Reviewed by Kentaro Hara.

Source/WebCore:

This patch adds the same support for overloaded constructors to JSC as V8.
As proof of implementation soundness WebSockets custom constructor is removed.

Existing tests cover patch. As they should.

  • GNUmakefile.list.am:
  • Modules/websockets/WebSocket.idl:
  • Target.pri:
  • UseJSC.cmake:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSWebSocketCustom.cpp: Removed.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorDeclaration):
(GenerateConstructorDefinitions):
(GenerateOverloadedConstructorDefinition):
(GenerateConstructorDefinition):
(GenerateConstructorHelperMethods):

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

(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors1):
(WebCore):
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3):
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4):
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):

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

(JSTestOverloadedConstructorsConstructor):

LayoutTests:

  • http/tests/websocket/tests/hybi/url-parsing-expected.txt:
2:48 AM Changeset in webkit [138137] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Mark XHR tests flaky (unreliable console logging)
https://bugs.webkit.org/show_bug.cgi?id=105403

Unreviewed gardening: mark a bunch of xmlhttprequest tests flaky.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-12-19

  • platform/efl/TestExpectations:
2:46 AM Changeset in webkit [138136] by zeno.albisser@digia.com
  • 2 edits in trunk/Tools

[Qt][Mac] run-launcher cannot find Qt5WebKitWidgets.
https://bugs.webkit.org/show_bug.cgi?id=105309

The version number is only used as a part
of the library name on Linux.

Reviewed by Kenneth Rohde Christiansen.

  • Scripts/webkitdirs.pm:

(builtDylibPathForName):

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

Pass debuggerTaskMode as a parameter in WorkerScriptDebugServer constructor
https://bugs.webkit.org/show_bug.cgi?id=105085

Patch by Seokju Kwon <Seokju Kwon> on 2012-12-19
Reviewed by Yury Semikhatsky.

Leave WorkerDebuggerAgent::debuggerTaskMode
and remove WorkerScriptDebugServer::debuggerTaskMode.

No new tests, no behavior change.

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):

  • bindings/js/WorkerScriptDebugServer.h:

(WorkerScriptDebugServer):

  • bindings/v8/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
(WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):

  • bindings/v8/WorkerScriptDebugServer.h:

(WorkerScriptDebugServer):

  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):

2:29 AM Changeset in webkit [138134] by János Badics
  • 2 edits in trunk/LayoutTests

[Qt] Gardening after r138095, skip a newly added, but failing test.
https://bugs.webkit.org/show_bug.cgi?id=105406

Reviewed by Csaba Osztrogonác.

  • platform/qt/TestExpectations:
2:18 AM Changeset in webkit [138133] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Tests that time out are not considered as failures.
https://bugs.webkit.org/show_bug.cgi?id=105318

Patch by Alberto Garcia <agarcia@igalia.com> on 2012-12-19
Reviewed by Martin Robinson.

Fix parsing of the GTK API tests log files.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunGtkAPITests.commandComplete):

2:10 AM Changeset in webkit [138132] by loislo@chromium.org
  • 1 edit
    1 move in trunk/LayoutTests

Unreviewed gardening. Move chromium-mac image to chromium where it will also be used for win and linux.

  • platform/chromium/fast/text/line-initial-and-final-swashes-expected.png: Renamed from LayoutTests/platform/chromium-mac/fast/text/line-initial-and-final-swashes-expected.png.
1:56 AM Changeset in webkit [138131] by loislo@chromium.org
  • 5 edits
    2 adds in trunk

Unreviewed, rolling out r138129.
http://trac.webkit.org/changeset/138129
https://bugs.webkit.org/show_bug.cgi?id=105399

reapply patch r138123. The problem was on chromium side at r173875.

Source/WebCore:

  • dom/Element.cpp:

(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):

  • dom/Element.h:

(WebCore::Node::insertedInto):
(WebCore):
(WebCore::Node::removedFrom):

  • dom/Node.cpp:

LayoutTests:

  • fast/dom/shadow/getelementbyid-shadow-expected.txt: Added.
  • fast/dom/shadow/getelementbyid-shadow.html: Added.
12:54 AM Changeset in webkit [138130] by tasak@google.com
  • 3 edits
    2 adds in trunk

[Shadow] TITLE elements in Shadow DOM should not affect document.title attribute
https://bugs.webkit.org/show_bug.cgi?id=85864

Reviewed by Ryosuke Niwa.

Source/WebCore:

Modified HTMLTitleElement to check whether a title element is in a
shadow tree or not when it is inserted or removed. Now if a title
element has been just removed from or inserted into a shadow tree,
document.title is not updated independent of inDocument(). If the
title element is not in a shadow tree and in document,
document.title is updated.

Test: fast/dom/shadow/title-element-in-shadow.html

  • html/HTMLTitleElement.cpp:

(WebCore::HTMLTitleElement::insertedInto):
Added a condition: isInShadowTree() to the code which checks
inDocument or not.
(WebCore::HTMLTitleElement::removedFrom):
Added a condition: insertionPoint.isInShadowTree() to the code which
checks an insertion point is in a document or not.
(WebCore::HTMLTitleElement::childrenChanged):
Added a condition: isInShadowTree() before setTitle.
If not isInShadowTree, modified to removeTitle from document.

LayoutTests:

  • fast/dom/shadow/title-element-in-shadow-expected.txt: Added.
  • fast/dom/shadow/title-element-in-shadow.html: Added.
12:46 AM Changeset in webkit [138129] by loislo@chromium.org
  • 5 edits
    2 deletes in trunk

Unreviewed, rolling out r138123.
http://trac.webkit.org/changeset/138123
https://bugs.webkit.org/show_bug.cgi?id=105399

It broke compositing/visibility/visibility-simple-video-
layer.html (Requested by loislo on #webkit).

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

Source/WebCore:

  • dom/Element.cpp:

(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):

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

(WebCore::Node::insertedInto):
(WebCore):
(WebCore::Node::removedFrom):

LayoutTests:

  • fast/dom/shadow/getelementbyid-shadow-expected.txt: Removed.
  • fast/dom/shadow/getelementbyid-shadow.html: Removed.
12:41 AM Changeset in webkit [138128] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

transitions/interrupted-accelerated-transition.html should use pauseAPI
https://bugs.webkit.org/show_bug.cgi?id=103524

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-12-19
Reviewed by Simon Fraser.

In certain situations interrupted-accelerated-transition.html exceeds the
test tolerance, making the test flaky. Use the pauseAPI so we don't
depend on javascript timing.

  • transitions/resources/interrupted-accelerated-transition-final.html:
12:23 AM Changeset in webkit [138127] by loislo@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Restore expectations for mac.

The tests still have problem with scroller image.

  • platform/chromium/TestExpectations:

added: webkit.org/b/102294 [ Mac ] platform/chromium/virtual/deferred/fast/images/exif-orientation.html [ ImageOnlyFailure ]
added: webkit.org/b/102294 [ Mac ] platform/chromium/virtual/deferred/fast/images/exif-orientation-css.html [ ImageOnlyFailure ]
added: webkit.org/b/102294 [ Mac ] platform/chromium/virtual/deferred/fast/images/gray-scale-jpeg-with-color-profile.html [ ImageOnlyFailure ]

12:21 AM Changeset in webkit [138126] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unused parameters on WebContext.cpp
https://bugs.webkit.org/show_bug.cgi?id=105395

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-12-19
Reviewed by Kentaro Hara.

Because the parameters 'certficate', 'host' are not used if !ENABLE(NETWORK_PROCESS),
use UNUSED_PARAM macro to fix build warning -Wunused-parameter.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::allowSpecificHTTPSCertificateForHost):

12:15 AM Changeset in webkit [138125] by loislo@chromium.org
  • 1 edit
    1 add
    1 delete in trunk/LayoutTests

Unreviewed gardening. Update expectation for mac and remove wrong expectation for win.

  • platform/chromium-mac-snowleopard/fast/text/line-initial-and-final-swashes-expected.png: Added.
  • platform/chromium-win/fast/text/line-initial-and-final-swashes-expected.png: Removed.

Dec 18, 2012:

11:57 PM Changeset in webkit [138124] by dmazzoni@google.com
  • 2 edits
    2 moves in trunk/LayoutTests

AX: radio-button-checkbox-size is Mac-specific and should be moved.
https://bugs.webkit.org/show_bug.cgi?id=105382

Reviewed by Chris Fleizach.

Move radio-button-checkbox-size to platform/mac because the
behavior it tests for is Mac-specific. Take it out of the
Chromium TestExpectations file.

  • platform/chromium/TestExpectations:
  • platform/mac/accessibility/radio-button-checkbox-size-expected.txt: Renamed from LayoutTests/accessibility/radio-button-checkbox-size-expected.txt.
  • platform/mac/accessibility/radio-button-checkbox-size.html: Renamed from LayoutTests/accessibility/radio-button-checkbox-size.html.
11:54 PM Changeset in webkit [138123] by shinyak@chromium.org
  • 5 edits
    2 adds in trunk

ShadowRoot.getElementById() returns a deleted element
https://bugs.webkit.org/show_bug.cgi?id=105243

Reviewed by Dimitri Glazkov.

Source/WebCore:

Only when the treeScope of an element and the treeScope of insertionPoint is the same in insertedInto or removedFrom,
we can call updatedId() etc. However, we didn't check it's same.

For removedFrom, since an element has been removed, treeScope() doesn't return the original treeScope but document()
every time.

This patch might hurt html5-full-render a bit: the result is here. The first 2 results are without this patch,
the last 2 results are with this patch.

Dromaeo/dom-modify [runs/s]

35.97, 36.09 --> 36.05, 35.69

Parser/html5-full-render [ms]

4156.58, 4166.09 --> 4155.22, 4216.38

Test: fast/dom/shadow/getelementbyid-shadow.html

  • dom/Element.cpp:

(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):

  • dom/Element.h:

(WebCore::Node::insertedInto): Moved from Node.cpp to make this inline.
(WebCore):
(WebCore::Node::removedFrom): ditto.

  • dom/Node.cpp:

LayoutTests:

  • fast/dom/shadow/getelementbyid-shadow-expected.txt: Added.
  • fast/dom/shadow/getelementbyid-shadow.html: Added.
11:37 PM Changeset in webkit [138122] by vivek.vg@samsung.com
  • 3 edits in trunk/Source/WebCore

Web Inspector: AuditLauncherView UI components should be disabled until ongoing audit finishes
https://bugs.webkit.org/show_bug.cgi?id=105389

Reviewed by Alexander Pavlov.

While the Audit request is on-going, UI components on the AuditLauncherView are disabled
until the request is completed or explicitly stopped. Also changed the _categoriesElement
from div to fieldset and modified the associated CSS file accordingly.

No new tests as this is a UI change.

  • inspector/front-end/AuditLauncherView.js:

(WebInspector.AuditLauncherView.prototype._setAuditRunning):
(WebInspector.AuditLauncherView.prototype._toggleUIComponents):

  • inspector/front-end/auditsPanel.css:

(.audit-launcher-view fieldset.audit-categories-container):

11:36 PM Changeset in webkit [138121] by loislo@chromium.org
  • 11 edits
    2 copies
    1 move in trunk

Unreviewed, rolling out r138061.
https://bugs.webkit.org/show_bug.cgi?id=105396

Original patch:
http://trac.webkit.org/changeset/138061
https://bugs.webkit.org/show_bug.cgi?id=97359

It is crashing on Debug bots

Source/WebKit/chromium:

  • public/WebAccessibilityObject.h:

(WebAccessibilityObject):

  • src/WebAccessibilityObject.cpp:

Tools:

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

(WebTestRunner::AccessibilityUIElement::AccessibilityUIElement):
(WebTestRunner::AccessibilityUIElement::elementAtPointCallback):

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

(AccessibilityUIElement):

LayoutTests:

  • accessibility/svg-bounds.html:
  • accessibility/svg-remote-element-expected.txt:
  • accessibility/svg-remote-element.html:
  • platform/chromium/TestExpectations:
  • platform/chromium/accessibility/svg-bounds-expected.txt: Copied from LayoutTests/accessibility/svg-bounds-expected.txt.
  • platform/mac/accessibility/svg-bounds-expected.txt: Renamed from LayoutTests/accessibility/svg-bounds-expected.txt.
  • platform/mac/accessibility/svg-remote-element-expected.txt: Copied from LayoutTests/accessibility/svg-remote-element-expected.txt.
11:33 PM Changeset in webkit [138120] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] regression(r138071) Add mission functions for build fix
https://bugs.webkit.org/show_bug.cgi?id=105392

Unreviewed build fix.

r138071 add new functions to LocalizedStrings.cpp, but EFL port doesn't use them.
So, add those functions to LocalizedStringsEfl.cpp

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-12-18

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore):
(WebCore::textTrackClosedCaptionsText):
(WebCore::textTrackSubtitlesText):
(WebCore::textTrackOffText):
(WebCore::textTrackNoLabelText):

10:58 PM Changeset in webkit [138119] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, skip a new failing test.

  • platform/qt-5.0-wk1/TestExpectations:
10:42 PM Changeset in webkit [138118] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Chromium] profiler - differentiate between native code (program) and idle time
https://bugs.webkit.org/show_bug.cgi?id=88446

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-18
Reviewed by Pavel Feldman.

Now idleTime is supplied in profile object. In this patch, idleTime,
if any, is subtracted from "(program)" node, and new node "(idle)" is
injected as a top level node to profile.

  • inspector/front-end/CPUProfileView.js:

(WebInspector.CPUProfileView.profileCallback): Call _injectIdleTimeNode
if non-zero idleTime is specified.
(WebInspector.CPUProfileView.prototype._injectIdleTimeNode): Lookup for
"(program)" node, modify it, add "(idle)" node.

10:34 PM Changeset in webkit [138117] by loislo@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

Unreviewed rebaseline after r138075. Remove entries for passing tests and one bad expectation for a reftest by dpranke@chromium.org

  • platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/scrollbars-on-positioned-content-expected.png: Added.
10:26 PM Changeset in webkit [138116] by loislo@chromium.org
  • 1 edit
    5 adds in trunk/LayoutTests

Unreviewed rebaseline.

  • platform/chromium-linux-x86/fast/inline/justify-emphasis-inline-box-expected.txt: Added.
  • platform/chromium-linux/fast/inline/justify-emphasis-inline-box-expected.png: Added.
  • platform/chromium-linux/fast/inline/justify-emphasis-inline-box-expected.txt: Added.
  • platform/chromium-win/fast/inline/justify-emphasis-inline-box-expected.png: Added.
  • platform/chromium-win/fast/inline/justify-emphasis-inline-box-expected.txt: Added.
10:14 PM Changeset in webkit [138115] by loislo@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Layout Test fast/events/touch/touch-input-element-change-documents.html is failing
https://bugs.webkit.org/show_bug.cgi?id=105388

wrong path to the js-test-pre.js

  • fast/events/touch/touch-input-element-change-documents.html:
9:41 PM Changeset in webkit [138114] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r138097.
http://trac.webkit.org/changeset/138097
https://bugs.webkit.org/show_bug.cgi?id=105386

multiple crashes on media tests (Requested by loislo on
#webkit).

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

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::canPlayType):
(WebCore::createFileURLForApplicationCacheResource):
(WebCore::stringForNetworkState):
(WebCore::HTMLMediaElement::preload):
(WebCore::HTMLMediaElement::setLoop):
(WebCore::HTMLMediaElement::getPluginProxyParams):

9:19 PM Changeset in webkit [138113] by jchaffraix@webkit.org
  • 8 edits in trunk/Source/WebCore

Free one bit in RenderObject
https://bugs.webkit.org/show_bug.cgi?id=105065

Reviewed by Simon Fraser.

This change uses the mutual exclusivity between the different position bits to pack
the information more efficiently. Because you can be only in one position at any point
in time, you only need to store 4 states in RenderObject (ie 2 bits of information) but
we were using 3 bits to store this information, thus losing one bit that I am reclaiming.

The change covers the 3 bits into a single PositionState. In order to avoid any extra branch
on the common code path, the logic was modified to be able to convert a EPosition to a PositionState
using only a bit mask. This also means that we now sets up and clears all the bits at once instead
of several calls, which matches more closely what happens at style change.

Change covered by existing tests.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateFromStyle):
Removed a call, superseed by the one in RenderBoxModelObject::updateFromStyle.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::updateFromStyle):
Changed to set the positioned bits in only one call to setPositionedState.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::styleWillChange):
Changed to clear all positioned bits at once.

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::styleDidChange):
Ditto, which was probably the intent anyway.

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):
Changed to explicitly be AbsolutelyPositioned, not that it really matters as we only store
the out-of-flow information.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isOutOfFlowPositioned):
(WebCore::RenderObject::isInFlowPositioned):
(WebCore::RenderObject::isRelPositioned):
(WebCore::RenderObject::isStickyPositioned):
(WebCore::RenderObject::isPositioned):
(WebCore::RenderObject::clearPositionedState):
Updated after the renaming below.

(WebCore::RenderObject::setPositionState):
Ditto, but added an ASSERT to ensure that the out-of-flow bit is only set on boxes, to match
existing code.

  • rendering/style/RenderStyleConstants.h:

Changed the values so that the conversion to PositionState is a simple bit mask, e.g
FixedPosition & 0x3 == AbsolutePosition as we only store the out-of-flow position information.

(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
Introduced PositionState to hold the different bits.

(WebCore::RenderObject::RenderObjectBitfields::setPositionedState):
(WebCore::RenderObject::RenderObjectBitfields::clearPositionedState):
(WebCore::RenderObject::RenderObjectBitfields::isOutOfFlowPositioned):
(WebCore::RenderObject::RenderObjectBitfields::isRelPositioned):
(WebCore::RenderObject::RenderObjectBitfields::isStickyPositioned):
(WebCore::RenderObject::RenderObjectBitfields::isPositioned):
Re-implemented these getters / setters and renamed them to match our style while at it.

9:13 PM Changeset in webkit [138112] by dmazzoni@google.com
  • 3 edits in trunk/LayoutTests

AX: aria-controls-with-tabs should run on Chromium
https://bugs.webkit.org/show_bug.cgi?id=105381

Reviewed by Chris Fleizach.

Use accessibleElementById so the test works on all platforms,
and specifically unskip it in the Chromium expectations.

  • accessibility/aria-controls-with-tabs.html:
  • platform/chromium/TestExpectations:
8:33 PM Changeset in webkit [138111] by commit-queue@webkit.org
  • 10 edits in trunk

Text Autosizing: containers wider than their enclosing clusters should be autosized as separate clusters
https://bugs.webkit.org/show_bug.cgi?id=103627

Patch by Anton Vayvod <avayvod@chromium.org> on 2012-12-18
Reviewed by Julien Chaffraix.

Source/WebCore:

Some blocks of texts might be wider than their parent clusters and need to be autosized separately.

isAutosizingCluster() now checks for the width of the container being greater than the width of the lowest
common ancestor of the text nodes of the enclosing cluster. This block containing all text is passed to all
tree traversal methods.
An overloaded version is added for cases when we don't have the lowest common ancestor yet.

The change fixes several cases covered by existing tests.

  • rendering/TextAutosizer.cpp:

(WebCore::TextAutosizer::processSubtree):

Calls processCluster with a new number of arguments.

(WebCore::TextAutosizer::processCluster):

Passes block containing all text nodes into processContainer. Assertion removed since it can no longer be
checked without passing an additional parameter (the parent block containing all text) to the function
for the sake of this assertion only.

(WebCore::TextAutosizer::processContainer):

|parentBlockContainingAllText| parameter passed into isAutosizingCluster.

(WebCore::TextAutosizer::isAutosizingCluster(const RenderBlock*, const RenderBlock*)):

The overloaded method that is used when the render block checked is already known to be an autosizing
container and there's full information necessary to determine if it's a cluster like the parent block
containing all text within the enclosing cluster.
Considers a block a cluster if it is wider than its parent block containing all text within enclosing
cluster.

(WebCore::TextAutosizer::isAutosizingCluster(const RenderObject*)):

The overloaded method that checks for the given object to be an autosizing container first (for
convenience of the caller) and doesn't require information about the parent cluster. Used when such
information is not available, for example, in the process of retrieving the information for the parent
cluster or when looking for the root cluster in the tree.

(WebCore::TextAutosizer::clusterShouldBeAutosized):

Passes new parameter to measureDescendantTextWidth.

(WebCore::TextAutosizer::measureDescendantTextWidth):

Uses blockContainingAllText parameter to pass to isAutosizingCluster.

(WebCore::TextAutosizer::findDeepestBlockContainingAllText):

Assertion removed since it can no longer be checked without passing an additional parameter (the
parent block containing all text) to the function for the sake of this assertion only.

(WebCore::TextAutosizer::findFirstTextLeafNotInCluster):

Uses shorter isAutosizingCluster call.

LayoutTests:

Modified existing tests to reflect the new autosizing approach to handling of the elements that are
wider than the lowest common ancestor of the text nodes of the enclosing autosizing cluster.

  • fast/text-autosizing/cluster-wide-in-narrow-expected.html:
  • fast/text-autosizing/cluster-wide-in-narrow.html:
  • fast/text-autosizing/wide-child-expected.html:
  • fast/text-autosizing/wide-child.html:
  • fast/text-autosizing/wide-in-narrow-overflow-scroll-expected.html:
  • fast/text-autosizing/wide-in-narrow-overflow-scroll.html:
8:23 PM Changeset in webkit [138110] by ap@apple.com
  • 8 edits in trunk/Source

Correcting reviewer in ChangeLogs.

8:21 PM Changeset in webkit [138109] by ap@apple.com
  • 30 edits in trunk/Source

Remove unnecessary functions from CookiesStrategy
https://bugs.webkit.org/show_bug.cgi?id=105369

Reviewed by Sam Weinig.

Remove CookieJar functions that are only ever called from WebKit.

  • WebCore.exp.in:
  • loader/CookieJar.cpp:
  • loader/CookieJar.h:
  • platform/CookiesStrategy.h:
8:18 PM Changeset in webkit [138108] by hayato@chromium.org
  • 8 edits in trunk/PerformanceTests

Use element.webkitCreateShadowRoot instead of WebKitShadowRoot in PerformanceTests.
https://bugs.webkit.org/show_bug.cgi?id=105256

Reviewed by Dimitri Glazkov.

WebKitShadowRoot constructor was deleted in favor of element.webkitCreateShadowRoot().

  • ShadowDOM/ChangingClassNameShadowDOM.html:
  • ShadowDOM/ChangingSelect.html:
  • ShadowDOM/ContentReprojection.html:
  • ShadowDOM/DistributionWithMultipleShadowRoots.html:
  • ShadowDOM/LargeDistributionWithLayout.html:
  • ShadowDOM/MultipleInsertionPoints.html:
  • ShadowDOM/ShadowReprojection.html:
  • ShadowDOM/SmallDistributionWithLayout.html:
7:29 PM Changeset in webkit [138107] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk

Proxies should set InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero
https://bugs.webkit.org/show_bug.cgi?id=105379

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Forgetting to set this flag led to the DFG trying to ensure array storage on a proxy. I've
now hardened the code with a release assertion as well as fixing the bug. A release assertion
is appropriate here since this is slow-path code.

  • runtime/JSObject.cpp:

(JSC::JSObject::enterDictionaryIndexingMode):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlowNoCheck):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):

  • runtime/JSObject.h:

(JSObject):

  • runtime/JSProxy.h:

(JSProxy):

LayoutTests:

  • fast/js/dfg-ensure-non-array-array-storage-on-window-expected.txt: Added.
  • fast/js/dfg-ensure-non-array-array-storage-on-window.html: Added.
  • fast/js/script-tests/dfg-ensure-non-array-array-storage-on-window.js: Added.

(foo):
(bar):
(.shouldBe):

7:28 PM Changeset in webkit [138106] by fpizlo@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, fix expected file to have the right test description.

  • fast/js/dfg-ensure-array-storage-on-window-expected.txt:
7:18 PM Changeset in webkit [138105] by haraken@chromium.org
  • 3 edits
    2 copies in branches/chromium/1312

Merge 137964

Regression causing DOM objects to have unstable NPObject* references with v8 bindings
https://bugs.webkit.org/show_bug.cgi?id=104921

Source/WebCore:

Patch by Matthew Dempsky <mdempsky@google.com> on 2012-12-17
Reviewed by Kentaro Hara.

Fix regression introduced by changeset 135804 resulting in
unstable NPObject* references for v8 objects. In the iter !=
v8NPObjectMap->end() code path, objectVector was left unassigned
if the for loop terminated without returning.

Also, V8Object::GetIdentityHash() is documented as not being guaranteed
as unique. As such, don't ASSERT() that two objects with the same hash
must therefor be the same object.

Tests: plugins/npruntime/embed-property-iframe-equality.html

  • bindings/v8/NPV8Object.cpp:

(WebCore::npCreateV8ScriptObject): Fix.

LayoutTests:

Patch by Mathew Dempsky <mdempsky@google.com> on 2012-12-17
Reviewed by Kentaro Hara.

Add variant of embed-property-equality test to verify that the
test still passes when the object being tested for equality
has already been remembered by a plugin from a different
JavaScript context.

  • plugins/npruntime/embed-property-iframe-equality.html: Added.
  • plugins/npruntime/embed-property-iframe-equality-expected.txt: Added.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11644013

7:00 PM Changeset in webkit [138104] by alice.liu@apple.com
  • 5 edits
    1 add in trunk

Source/WebKit/mac: Add SPI to WebKit1 WebFrame for hit testing
https://bugs.webkit.org/show_bug.cgi?id=105106

Reviewed by Dan Bernstein.

  • WebView/WebFrame.mm:

(-[WebFrame elementAtPoint:]): Added. Takes an NSPoint to feed to the WebCore::Frame for hit-testing.
Creates a WebElementDictionary from that WebCore::HitTestResult, and returns the element dictionary.

  • WebView/WebFramePrivate.h:

Tools: Test for https://bugs.webkit.org/show_bug.cgi?id=105106
Add SPI to WebKit1 WebFrame for hit testing

Reviewed by Dan Bernstein.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added file Tests/mac/ElementAtPointInWebFrame.mm
  • TestWebKitAPI/Tests/mac/ElementAtPointInWebFrame.mm: Added.

(TestWebKitAPI::TEST): Loads html with two divs positioned in the 2nd and 4th quadrants of the webview.
Then hit-tests at three points, expecting to hit the two divs and body element.

6:45 PM Changeset in webkit [138103] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK][AC] Assertion failed while destroying GraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=105312

Patch by ChangSeok Oh <ChangSeok Oh> on 2012-12-18
Reviewed by Gustavo Noronha Silva.

According to the comment in GraphicsLayer::~GraphicsLayer(), we should call
willBeDestroyed() before destructor of GraphicsLayer.

No new tests since this patch can be covered by already existing gtk ac tests.

  • platform/graphics/clutter/GraphicsLayerClutter.cpp:

(WebCore::GraphicsLayerClutter::~GraphicsLayerClutter): call willBeDestroyed()

6:35 PM Changeset in webkit [138102] by timothy_horton@apple.com
  • 3 edits
    1 delete in trunk/LayoutTests

fast/css/image-set-value-not-removed-crash.html should not InsertText with an apostrophe
https://bugs.webkit.org/show_bug.cgi?id=105375

Reviewed by Beth Dakin.

Don't InsertText text content with an apostrophe in it, as this can break
on platforms where apostrophes turn into curly quotes.

  • fast/css/image-set-value-not-removed-crash-expected.txt:
  • fast/css/image-set-value-not-removed-crash.html:
  • platform/win/fast/css/image-set-value-not-removed-crash-expected.txt: Removed.
6:33 PM Changeset in webkit [138101] by alice.liu@apple.com
  • 5 edits
    1 add in trunk

Source/WebKit/mac: Add SPI to WebKit1 WebFrame for node conversion to JSValueRef
https://bugs.webkit.org/show_bug.cgi?id=105262

Reviewed by Anders Carlsson.

  • WebView/WebFrame.mm:

(-[WebFrame jsWrapper:forWorld:]): Added. Takes a DOMNode and WebScriptWorld and provides a JSValueRef
for the WebCore::Node in that particular WebScriptWorld.

  • WebView/WebFramePrivate.h:

Tools: Test for https://bugs.webkit.org/show_bug.cgi?id=105262
Add SPI to WebKit1 WebFrame for node conversion to JSValueRef

Reviewed by Anders Carlsson.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added file Tests/mac/JSWrapperForNodeInWebFrame.mm.mm
  • TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm.mm: Added.

(TestWebKitAPI::TEST): Tests for the correct JS wrapper for a DOMNode, provided a WebScriptWorld.
Loads html with a single div element. In an isolated world, creates a property on that node.
Also, in the standard world, creates a different property on that node. Then tests for 4 things:

  • Existence of the isolated property in the isolated world.
  • Existence of the standard property in the standard world.
  • Non-existence of the isolated property in the standard world.
  • Non-existence of the standard property in the isolated world.
6:32 PM Changeset in webkit [138100] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

[GTK][AC] Fix assertion failures for AC with clutter
https://bugs.webkit.org/show_bug.cgi?id=105039

Patch by ChangSeok Oh <ChangSeok Oh> on 2012-12-18
Reviewed by Gustavo Noronha Silva.

AcceleratedCompositingContext could be a client of GraphicsLayerClutter
not only RenderLayerBacking. So inserting ASSERT_NOT_REACH in notifyFlushRequired()
causes a crash by calling GraphicsLayerClutter::noteLayerPropertyChanged in debug build.
And also I added flushCompositingStateIncludingSubframes taken from
AcceleratedCompositingContextGL to flushAndRenderLayers(). If not so,
ASSERT(!needsLayout()) failed in FrameView::paintContents() too in debug build.

  • WebCoreSupport/AcceleratedCompositingContextClutter.cpp:

(WebKit::AcceleratedCompositingContext::flushAndRenderLayers): Add updateLayoutAndStyleIfNeededRecursive()
(WebKit::AcceleratedCompositingContext::notifyAnimationStarted): Removed ASSERT_NOT_REACHED()
(WebKit::AcceleratedCompositingContext::notifyFlushRequired): Removed ASSERT_NOT_REACHED()

6:21 PM Changeset in webkit [138099] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove extra call to doFatFingers.
https://bugs.webkit.org/show_bug.cgi?id=105347

Patch by Genevieve Mak <gmak@rim.com> on 2012-12-18
Reviewed by Rob Buis.

Reviewed Internally by Mike Fenton.
Now that we do fat fingers on touch start, we don't need this anymore.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::touchEvent):

6:19 PM Changeset in webkit [138098] by oliver@apple.com
  • 7 edits
    2 adds in trunk/Source/JavaScriptCore

Add a JSScriptRef API to JSC so that we can allow API users to avoid the full cost of reparsing everytime the execute a script.
https://bugs.webkit.org/show_bug.cgi?id=105340

Reviewed by Gavin Barraclough.

This patch adds a (currently private) API to allow users of the JSC API to create a JSScript object
that references a reusable version of the script that they wish to evaluate. This can help us avoid
numeorus copies that are otherwise induced by our existing API and gives us an opaque object that we
can hang various caches off. Currently this is simply a simple SourceProvider, but in future we may
be able to add more caching without requiring new/replacement APIs.

  • API/JSScriptRef.cpp: Added.
  • API/JSScriptRefPrivate.h: Added.
  • API/tests/testapi.c: Add tests for new APIs.
  • JavaScriptCore.xcodeproj/project.pbxproj:
6:14 PM Changeset in webkit [138097] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Minor improvements to HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=105353

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-12-18
Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::canPlayType):
(WebCore::createFileURLForApplicationCacheResource):
(WebCore::stringForNetworkState):
(WebCore::HTMLMediaElement::preload):
(WebCore::HTMLMediaElement::getPluginProxyParams):
Use ASCIILiteral for literal strings becoming WTFStrings.

(WebCore::HTMLMediaElement::setLoop):
By going through setAttribute, parseAttribute would already take care of
updating the disable sleep, so the call here is not needed.

6:11 PM Changeset in webkit [138096] by jonlee@apple.com
  • 10 edits
    2 adds in trunk/Source/WebKit2

[WK2] Create a context client
https://bugs.webkit.org/show_bug.cgi?id=105316
<rdar://problem/12901762>

Reviewed by Brady Eidson.

Web contexts already have clients related to downloads or history.
Miscellaneous callbacks can be grouped into a generic client for the
web context.

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetClient): Set the client for the context.

  • UIProcess/API/C/WKContext.h: Define a new, empty WKContextClient.
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::initializeClient):

  • UIProcess/WebContext.h: Add a variable for the new client. Move the

download client so that all the clients are grouped together.
(WebKit::WebContext::client): Returns the context client.

  • UIProcess/WebContextClient.cpp: Added. Currently empty, but will be

filled out in a pending patch.

  • UIProcess/WebContextClient.h: Added.

Add WebContextClient.{h,cpp}.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebKit2.xcodeproj/project.pbxproj:
  • win/WebKit2.vcproj:
6:04 PM Changeset in webkit [138095] by leviw@chromium.org
  • 5 edits
    2 adds in trunk

Input elements with default touch handlers don't update handler counts when changing documents
https://bugs.webkit.org/show_bug.cgi?id=105334

Reviewed by James Robinson.

Source/WebCore:

When an Input element with default touch event handlers changes documents, it failed to
update the touch event handler sets in both the old and new document. This patch fixes this
case.

Test: fast/events/touch/touch-input-element-change-documents.html

  • dom/Document.h:

(WebCore::Document::didRemoveTouchEventTargetNode) This function makes sense when touch
handling is enabled, regardless of whether we're tracking the rects.

  • dom/Document.cpp:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement): Switch from didRemoveTouchEventHandler to
didRemoveTouchEventTargetNode, since we don't care about counts in the destructor.
(WebCore::HTMLInputElement::updateType): Fixing incorrect indentation.
(WebCore::HTMLInputElement::didMoveToNewDocument): Adding the node to the new document and
removing it from the old.

LayoutTests:

  • fast/events/touch/touch-input-element-change-documents-expected.txt: Added.
  • fast/events/touch/touch-input-element-change-documents.html: Added.
6:02 PM Changeset in webkit [138094] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Skip two asserting tests in Debug.

  • platform/mac/TestExpectations:
5:54 PM Changeset in webkit [138093] by kbr@google.com
  • 1 edit in branches/chromium/1312/Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp

Merge 136332

[chromium] Let Pepper Flash use integrated GPU
https://bugs.webkit.org/show_bug.cgi?id=103800

Patch by John Bauman <jbauman@chromium.org> on 2012-12-02
Reviewed by Kenneth Russell.

Pepper Flash uses the SharedGraphicsContext3D as a parent, so don't
require that to use the discrete GPU. This means that accelerated
canvas will use the integrated GPU, but that will save battery life
and seems acceptable.

  • platform/graphics/gpu/SharedGraphicsContext3D.cpp:

(WebCore::SharedGraphicsContext3DImpl::createContext):

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11639008

5:52 PM Changeset in webkit [138092] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Remove temporary backwards compatible interface code (from r137724).
https://bugs.webkit.org/show_bug.cgi?id=105205

Patch by David Dorwin <ddorwin@chromium.org> on 2012-12-18
Reviewed by James Robinson.

  • public/WebMediaPlayerClient.h:
  • src/WebMediaPlayerClientImpl.cpp:
5:45 PM Changeset in webkit [138091] by Simon Fraser
  • 2 edits in trunk/LayoutTests

New baseline for Acid3 test.

  • platform/mac/http/tests/misc/acid3-expected.txt:
5:41 PM Changeset in webkit [138090] by Simon Fraser
  • 3 edits
    2 adds in trunk/LayoutTests

Rebaseline some tests on Lion.

  • platform/mac-lion/fast/text/decorations-with-text-combine-expected.txt: Added.
  • platform/mac-lion/fast/text/orientation-sideways-expected.txt: Added.
  • platform/mac-lion/fast/writing-mode/broken-ideographic-font-expected.txt:
  • platform/mac-lion/fast/writing-mode/vertical-baseline-alignment-expected.txt:
5:15 PM Changeset in webkit [138089] by Simon Fraser
  • 2 edits in trunk/Tools

Disable the SimplifyMarkup API test, wich asserts in debug builds.
Tracked by https://bugs.webkit.org/show_bug.cgi?id=105370.

  • TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:

(TestWebKitAPI::TEST):

4:49 PM Changeset in webkit [138088] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed bad merge in "Initial refactoring of database functionality into the manager and server".
https://bugs.webkit.org/show_bug.cgi?id=104748.

Not reviewed.

No new tests.

  • Modules/webdatabase/DBBackendServer.cpp:
4:35 PM Changeset in webkit [138087] by fpizlo@apple.com
  • 2 edits in trunk/LayoutTests

Fix the test description.

Rubber stamped by Mark Hahnenberg.

  • fast/js/script-tests/dfg-ensure-array-storage-on-window.js:
4:33 PM Changeset in webkit [138086] by fpizlo@apple.com
  • 3 edits
    6 adds in trunk

DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode incorrectly checks for non-array array storage when it should be checking for array array storage
https://bugs.webkit.org/show_bug.cgi?id=105365

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):

LayoutTests:

  • fast/js/dfg-ensure-array-storage-on-window-expected.txt: Added.
  • fast/js/dfg-ensure-array-storage-on-window.html: Added.
  • fast/js/indexed-setter-on-global-object-expected.txt: Added.
  • fast/js/indexed-setter-on-global-object.html: Added.
  • fast/js/script-tests/dfg-ensure-array-storage-on-window.js: Added.

(foo):

  • fast/js/script-tests/indexed-setter-on-global-object.js: Added.
4:27 PM Changeset in webkit [138085] by mark.lam@apple.com
  • 26 edits
    2 adds in trunk/Source/WebCore

Initial refactoring of database functionality into the manager and server.
https://bugs.webkit.org/show_bug.cgi?id=104748.

Reviewed by Brady Eidson.

This is not a complete refactor, but a stepping stone on the way to isolating
script side database activity from the SQL backend.

No new tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/webdatabase/AbstractDatabase.cpp:

(WebCore):
(WebCore::updateGuidVersionMap):
(WebCore::guidForOriginAndName):
(WebCore::AbstractDatabase::AbstractDatabase):
(WebCore::AbstractDatabase::maximumSize):

  • Modules/webdatabase/AbstractDatabase.h:

(AbstractDatabase):

  • Moved isAvailable() and setIsAvailable() to the DatabaseManager.
  • Modules/webdatabase/AbstractDatabaseServer.h:

(AbstractDatabaseServer):

  • Modules/webdatabase/DBBackendServer.cpp: Added.

(WebCore::DBBackend::Server::initialize):
(WebCore::DBBackend::Server::setClient):
(WebCore::DBBackend::Server::databaseDirectoryPath):
(WebCore::DBBackend::Server::setDatabaseDirectoryPath):
(WebCore::DBBackend::Server::fullPathForDatabase):
(WebCore::DBBackend::Server::hasEntryForOrigin):
(WebCore::DBBackend::Server::origins):
(WebCore::DBBackend::Server::databaseNamesForOrigin):
(WebCore::DBBackend::Server::detailsForNameAndOrigin):
(WebCore::DBBackend::Server::usageForOrigin):
(WebCore::DBBackend::Server::quotaForOrigin):
(WebCore::DBBackend::Server::setQuota):
(WebCore::DBBackend::Server::deleteAllDatabases):
(WebCore::DBBackend::Server::deleteOrigin):
(WebCore::DBBackend::Server::deleteDatabase):
(WebCore::DBBackend::Server::scheduleNotifyDatabaseChanged):
(WebCore::DBBackend::Server::databaseChanged):
(WebCore::DBBackend::Server::closeDatabasesImmediately):
(WebCore::DBBackend::Server::interruptAllDatabasesForContext):
(WebCore::DBBackend::Server::canEstablishDatabase):
(WebCore::DBBackend::Server::addOpenDatabase):
(WebCore::DBBackend::Server::removeOpenDatabase):
(WebCore::DBBackend::Server::setDatabaseDetails):
(WebCore::DBBackend::Server::getMaxSizeForDatabase):

  • Refactored all calls to the DatabaseTracker to go thru the DBBackend::Server.
  • Modules/webdatabase/DBBackendServer.h:
  • Modules/webdatabase/DOMWindowWebDatabase.cpp:

(WebCore::DOMWindowWebDatabase::openDatabase):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::close):
(WebCore::Database::maximumSize):

  • Modules/webdatabase/Database.h:

(Database):

  • Moved the openDatabase() factory method to the DatabaseManager.
  • Removed the unused deliverPendingCallback() prototype.
  • Modules/webdatabase/DatabaseBasicTypes.h: Added.
  • A place to define some common basic types used by the database module.
  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::databaseExceededQuota):

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::DatabaseManager):
(WebCore::DatabaseManager::initialize):
(WebCore::DatabaseManager::setClient):
(WebCore::DatabaseManager::databaseDirectoryPath):
(WebCore::DatabaseManager::setDatabaseDirectoryPath):
(WebCore::DatabaseManager::isAvailable):
(WebCore::DatabaseManager::setIsAvailable):
(DatabaseCreationCallbackTask):
(WebCore::DatabaseCreationCallbackTask::create):
(WebCore::DatabaseCreationCallbackTask::performTask):
(WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
(WebCore::DatabaseManager::openDatabase):
(WebCore::DatabaseManager::openDatabaseSync):
(WebCore::DatabaseManager::setHasOpenDatabases):
(WebCore::DatabaseManager::fullPathForDatabase):
(WebCore::DatabaseManager::hasEntryForOrigin):
(WebCore::DatabaseManager::origins):
(WebCore::DatabaseManager::databaseNamesForOrigin):
(WebCore::DatabaseManager::detailsForNameAndOrigin):
(WebCore::DatabaseManager::usageForOrigin):
(WebCore::DatabaseManager::quotaForOrigin):
(WebCore::DatabaseManager::setQuota):
(WebCore::DatabaseManager::deleteAllDatabases):
(WebCore::DatabaseManager::deleteOrigin):
(WebCore::DatabaseManager::deleteDatabase):
(WebCore::DatabaseManager::scheduleNotifyDatabaseChanged):
(WebCore::DatabaseManager::databaseChanged):
(WebCore::DatabaseManager::closeDatabasesImmediately):
(WebCore::DatabaseManager::interruptAllDatabasesForContext):
(WebCore::DatabaseManager::canEstablishDatabase):
(WebCore::DatabaseManager::addOpenDatabase):
(WebCore::DatabaseManager::removeOpenDatabase):
(WebCore::DatabaseManager::setDatabaseDetails):
(WebCore::DatabaseManager::getMaxSizeForDatabase):

  • Modules/webdatabase/DatabaseManager.h:

(DatabaseManager):

  • Modules/webdatabase/DatabaseSync.cpp:

(WebCore::DatabaseSync::~DatabaseSync):
(WebCore::DatabaseSync::closeImmediately):

  • Modules/webdatabase/DatabaseSync.h:

(DatabaseSync):

  • Moved the openDatabaseSync() factory method to the DatabaseManager.
  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/SQLResultSet.h:
  • Modules/webdatabase/SQLStatementSync.h:
  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webdatabase/SQLTransactionClient.cpp:

(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExecuteStatement):
(WebCore::SQLTransactionClient::didExceedQuota):

  • Modules/webdatabase/SQLTransactionSync.h:
  • Modules/webdatabase/WorkerContextWebDatabase.cpp:

(WebCore::WorkerContextWebDatabase::openDatabase):
(WebCore::WorkerContextWebDatabase::openDatabaseSync):

  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
4:26 PM Changeset in webkit [138084] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

Bug 105344 - [BlackBerry] Make single line text edits touch scrollable.
https://bugs.webkit.org/show_bug.cgi?id=105344

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

Reviewed Internally by Mike Fenton.
We don't need to check the overflow for editable layers because there's
no need for overflow to be set by the content.
PR #231776

  • WebKitSupport/InRegionScrollableArea.cpp:

(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

4:19 PM Changeset in webkit [138083] by commit-queue@webkit.org
  • 18 edits
    8 adds in trunk

EventSource should support CORS
https://bugs.webkit.org/show_bug.cgi?id=61862

Patch by Per-Erik Brodin <per-erik.brodin@ericsson.com> on 2012-12-18
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Enabled CORS in EventSource with optional constructor argument to
indicate whether credentials should be included or not, as per the spec.
Added didFailAccessControlCheck to ThreadableLoaderClient to be able to
properly distinguish CORS failures from other errors.

Tests: http/tests/eventsource/eventsource-cors-basic.html

http/tests/eventsource/eventsource-cors-no-server.html
http/tests/eventsource/eventsource-cors-with-credentials.html

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::preflightFailure):

  • loader/ThreadableLoaderClient.h:

(WebCore::ThreadableLoaderClient::didFailAccessControlCheck):

  • loader/ThreadableLoaderClientWrapper.h:

(WebCore::ThreadableLoaderClientWrapper::didFailAccessControlCheck):
(ThreadableLoaderClientWrapper):

  • loader/WorkerThreadableLoader.cpp:

(WebCore::workerContextDidFailAccessControlCheck):
(WebCore):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck):

  • loader/WorkerThreadableLoader.h:

(MainThreadBridge):

  • page/EventSource.cpp:

(WebCore::EventSource::EventSource):
(WebCore::EventSource::create):
(WebCore::EventSource::connect):
(WebCore::EventSource::withCredentials):
(WebCore):
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::didFailAccessControlCheck):
(WebCore::EventSource::didFailRedirectCheck):
(WebCore::EventSource::abortConnectionAttempt):
(WebCore::EventSource::parseEventStreamLine):
(WebCore::EventSource::createMessageEvent):

  • page/EventSource.h:

(WebCore):
(EventSource):
(WebCore::EventSource::refEventTarget):
(WebCore::EventSource::derefEventTarget):

  • page/EventSource.idl:

LayoutTests:

Added new CORS tests for EventSource. Modified existing test to verify
that the new constructor argument can be passed to the constructor.

  • fast/eventsource/eventsource-constructor-expected.txt:
  • fast/eventsource/eventsource-constructor.html:
  • fast/js/constructor-length.html:
  • http/tests/eventsource/eventsource-cors-basic-expected.txt: Added.
  • http/tests/eventsource/eventsource-cors-basic.html: Added.
  • http/tests/eventsource/eventsource-cors-no-server-expected.txt: Added.
  • http/tests/eventsource/eventsource-cors-no-server.html: Added.
  • http/tests/eventsource/eventsource-cors-with-credentials-expected.txt: Added.
  • http/tests/eventsource/eventsource-cors-with-credentials.html: Added.
  • http/tests/eventsource/resources/es-cors-basic.php: Added.
  • http/tests/eventsource/resources/es-cors-credentials.php: Added.
  • platform/blackberry/fast/js/constructor-length-expected.txt:
  • platform/chromium/fast/js/constructor-length-expected.txt:
  • platform/gtk/fast/js/constructor-length-expected.txt:
  • platform/mac/fast/js/constructor-length-expected.txt:
  • platform/qt/fast/js/constructor-length-expected.txt:
4:16 PM Changeset in webkit [138082] by dpranke@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] pull in the CDM module recently added to media
https://bugs.webkit.org/show_bug.cgi?id=105360

Unreiviewed build fix, but sanity checked by ddorwin.

  • DEPS:
4:10 PM Changeset in webkit [138081] by commit-queue@webkit.org
  • 11 edits
    2 adds in trunk/Source/WebCore

IndexedDB: Implement custom bindings for parsing options
https://bugs.webkit.org/show_bug.cgi?id=96614

Patch by Michael Pruett <michael@68k.org> on 2012-12-18
Reviewed by Darin Adler.

Parsing the options dictionary in IDBDatabase.createObjectStore()
and IDBObjectStore.createIndex() requires custom bindings in JSC.

Tests: storage/indexeddb/*

  • GNUmakefile.list.am:
  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::createObjectStore):
(WebCore):

  • Modules/indexeddb/IDBDatabase.h:

(IDBDatabase):

  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::createIndex):
(WebCore):

  • Modules/indexeddb/IDBObjectStore.h:

(IDBObjectStore):

  • Modules/indexeddb/IDBObjectStore.idl:
  • UseJSC.cmake:
  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::idbKeyPathFromValue): Added utility function for converting a JSValue to an IDBKeyPath.
(WebCore):

  • bindings/js/IDBBindingUtilities.h:

(WebCore):

  • bindings/js/JSIDBDatabaseCustom.cpp: Added.

(WebCore):
(WebCore::JSIDBDatabase::createObjectStore):

  • bindings/js/JSIDBObjectStoreCustom.cpp: Added.

(WebCore):
(WebCore::JSIDBObjectStore::createIndex):

4:02 PM Changeset in webkit [138080] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Cannot click an element at 2nd line or more inside inline-block in vertical writing mode.
https://bugs.webkit.org/show_bug.cgi?id=104775

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2012-12-18
Reviewed by Dean Jackson.

Source/WebCore:

If the parent of an inline box changes writing mode, then the inline box must flip incoming hit point coordinates.
Otherwise, the coordinate will be misunderstood because the box has a different origin from its parent.
If the InlineBox doesn't flip its offset, its children will use the wrong offset
because they don't know their grandparent changed writing modes.
InlineBox::nodeAtPoint should flip accumulatedOffset like InlineBox::paint().

Test: fast/writing-mode/vertical-inline-block-hittest.html

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::nodeAtPoint):

LayoutTests:

Test that we can click 2nd line inside inline-block in vertical writing mode.

  • fast/writing-mode/vertical-inline-block-hittest-expected.txt: Added.
  • fast/writing-mode/vertical-inline-block-hittest.html: Added.
4:01 PM Changeset in webkit [138079] by dino@apple.com
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed attempted build fix for Chromium.

Insert stub methods for localized text track menu labels.

  • src/LocalizedStrings.cpp:

(WebCore):
(WebCore::textTrackClosedCaptionsText):
(WebCore::textTrackSubtitlesText):
(WebCore::textTrackOffText):
(WebCore::textTrackNoLabelText):

3:48 PM Changeset in webkit [138078] by ike@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/12720539> per-pid private temporary directories for sandboxed webkit2 plugins

Reviewed by Sam Weinig, Alexey Proskuryakov, Anders Carlsson.

Previously we assigned each PluginProcess a private temporary and
cache directory based on the bundle name of the plugin that was
running. This sometimes led to overly-long pathnames (sockets on OS X
can only be 103 characters long), and didn't provide isolation between
multiple running instances of the same plugin on behalf of different
processes. We now assign each PluginProcess its own private
temporary and cache directory regardless of which plugin it's running,
and make an attempt to clean these up when the process terminates.

We also pass the temporary directory into the sandbox
profile as a parameter, in case the plugin profile needs to apply
additional rules beyond the default read/write policy.

  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain):

  • WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:

(enterSandbox):

3:35 PM Changeset in webkit [138077] by dpranke@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Pull in the opus codec sources.

Unreviewed, build fix.

  • DEPS:
3:31 PM Changeset in webkit [138076] by Simon Fraser
  • 14 edits
    2 copies
    7 adds in trunk

Allow position:sticky elements to be moved by the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=105245

Reviewed by Beth Dakin.

Source/WebCore:

Allow sticky position elements to be repositioned on the scrolling thread.

RenderLayerCompositor::requiresCompositingForPosition() is changed to make
all position:-webkit-sticky elements composited.

Sticky position constraints are already communicated to the ScrollingCoordinator,
but now we created ScrollingStateStickyNodes for them, and send the constraints
over to the scrolling thread for new ScrollingTreeStickyNodes. That allows
their layers to be repositioned on the scrolling thread.

Tests: platform/mac/tiled-drawing/sticky/sticky-horizontal.html

platform/mac/tiled-drawing/sticky/sticky-vertical.html

  • WebCore.xcodeproj/project.pbxproj: Add new files.
  • page/scrolling/ScrollingConstraints.h:

(WebCore::StickyPositionViewportConstraints::absoluteContainingBlockRect): New accessors.
(WebCore::StickyPositionViewportConstraints::absoluteStickyBoxRect):
(WebCore::StickyPositionViewportConstraints::operator==):
(WebCore::StickyPositionViewportConstraints::operator!=):

  • page/scrolling/ScrollingCoordinator.h: Added StickyNode type.
  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
New virtual method that allows different kinds of nodes to sync layer positions.

  • page/scrolling/ScrollingStateFixedNode.h:
  • page/scrolling/ScrollingStateNode.h:

(WebCore::ScrollingStateNode::isStickyNode):
(WebCore::ScrollingStateNode::syncLayerPositionForViewportRect):

  • page/scrolling/ScrollingStateStickyNode.cpp: Added.

(WebCore::ScrollingStateStickyNode::create):
(WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::~ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::clone):
(WebCore::ScrollingStateStickyNode::updateConstraints):
(WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
(WebCore::ScrollingStateStickyNode::dumpProperties):

  • page/scrolling/ScrollingStateStickyNode.h: Copied from Source/WebCore/page/scrolling/ScrollingStateFixedNode.h.

(ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::viewportConstraints):
(WebCore::toScrollingStateStickyNode):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::updateTreeFromStateNode):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::attachToStateTree): Handle sticky nodes.
(WebCore::ScrollingCoordinatorMac::syncChildPositions): Generalize to different kinds of nodes by
calling a virtual method on the node.
(WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):

  • page/scrolling/mac/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):

  • page/scrolling/mac/ScrollingTreeStickyNode.h: Added.

(ScrollingTreeStickyNode):

  • page/scrolling/mac/ScrollingTreeStickyNode.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm.

(WebCore::ScrollingTreeStickyNode::create):
(WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
(WebCore::ScrollingTreeStickyNode::~ScrollingTreeStickyNode):
(WebCore::ScrollingTreeStickyNode::update):
(WebCore::operator*):
(WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::attachToScrollingCoordinator):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
(WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

LayoutTests:

Sticky position tests that dump the scrolling tree.

  • platform/mac/tiled-drawing/sticky/sticky-horizontal-expected.txt: Added.
  • platform/mac/tiled-drawing/sticky/sticky-horizontal.html: Added.
  • platform/mac/tiled-drawing/sticky/sticky-vertical-expected.txt: Added.
  • platform/mac/tiled-drawing/sticky/sticky-vertical.html: Added.
3:04 PM Changeset in webkit [138075] by dpranke@chromium.org
  • 2 edits
    1 delete in trunk/LayoutTests

Remove entries for passing tests and one bad expectation for a reftest.

Unreviewed.

  • platform/chromium-mac/compositing/background-color/background-color-change-to-text-expected.png: Removed.
  • platform/chromium/TestExpectations:
2:49 PM Changeset in webkit [138074] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

SunSpider/date-format-tofte shouldn't compile each of the tiny worthless eval's only to OSR exit in the prologue every time
https://bugs.webkit.org/show_bug.cgi?id=105335

Reviewed by Geoffrey Garen.

The first thing I did was restructure the logic of canInlineResolveOperations(),
because I didn't understand it. This was relevant because the OSR exits are
caused by a resolve that the DFG cannot handle.

I was then going to make it so that we didn't compile the resolve at all, but
realized that this would not be the best fix: it didn't seem sensible to me to
be optimizing these evals after only 60 invocations. Evals should have a higher
threshold, since they often contain code for which the baseline JIT does a
pretty good job already (if all you've got is a single heap access or a single
hard-to-inline call, then the baseline JIT has got you covered), and typically
if we see one eval code block we expect to see more (from the same eval site):
so our typical low threshold could lead to a *lot* of compilation. As such, the
main effect of this patch is to introduce an evalThresholdMultiplier, which is
now set to 10.

This is a ~5% speed-up on data-format-tofte. No regressions anywhere as far as
I can see.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::codeTypeThresholdMultiplier):
(JSC):
(JSC::CodeBlock::optimizationThresholdScalingFactor):
(JSC::CodeBlock::exitCountThresholdForReoptimization):
(JSC::CodeBlock::exitCountThresholdForReoptimizationFromLoop):

  • bytecode/CodeBlock.h:

(CodeBlock):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canInlineResolveOperations):

  • dfg/DFGOSRExitCompiler.cpp:
  • runtime/Options.h:

(JSC):

2:32 PM Changeset in webkit [138073] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Convert indexingTypeToString to IndexingTypeDump
https://bugs.webkit.org/show_bug.cgi?id=105351

Reviewed by Mark Hahnenberg.

This gets rid of another case of static char buffer[thingy].

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • runtime/IndexingType.cpp:

(JSC::dumpIndexingType):

  • runtime/IndexingType.h:

(JSC):

  • runtime/JSValue.cpp:

(JSC::JSValue::dump):

2:32 PM Changeset in webkit [138072] by dgrogan@chromium.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Split BackingStore histogram
https://bugs.webkit.org/show_bug.cgi?id=105222

Reviewed by Tony Chang.

Add separate histograms for Consistency, Write, and Read errors.
Recategorize some read errors as consistency errors.

Tested the preprocessor logic by manually making some functions fail
and printing the histogram string from chromium code.

Next up is logging successes to get an idea of which functions have
the highest failure _rate_.

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::recordInternalError):
(WebCore):
(WebCore::setUpMetadata):
(WebCore::IDBBackingStore::getIDBDatabaseMetaData):
(WebCore::getNewDatabaseId):
(WebCore::IDBBackingStore::createIDBDatabaseMetaData):
(WebCore::IDBBackingStore::getObjectStores):
(WebCore::setMaxObjectStoreId):
(WebCore::IDBBackingStore::deleteObjectStore):
(WebCore::IDBBackingStore::getRecord):
(WebCore::getNewVersionNumber):
(WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBBackingStore::getIndexes):
(WebCore::setMaxIndexId):
(WebCore::versionExists):
(WebCore::IDBBackingStore::findKeyInIndex):
(WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStore::keyExistsInIndex):
(WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
(WebCore::ObjectStoreCursorImpl::loadCurrentRow):
(WebCore::IndexKeyCursorImpl::loadCurrentRow):
(WebCore::IndexCursorImpl::loadCurrentRow):

2:30 PM Changeset in webkit [138071] by dino@apple.com
  • 11 edits
    3 adds in trunk

Track menu needs localization
https://bugs.webkit.org/show_bug.cgi?id=105233

Reviewed by Eric Carlson.

Source/WebCore:

Allow the UI strings in the closed captions menu to be localized, and
profile strings for the English locale.

Test: media/video-controls-captions-trackmenu-localized.html

  • English.lproj/Localizable.strings: Adds the four new captions strings.
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Use localized getters.

  • platform/LocalizedStrings.cpp:

(WebCore::textTrackClosedCaptionsText): New localized string getter.
(WebCore::textTrackSubtitlesText): Ditto.
(WebCore::textTrackOffText): Ditto.
(WebCore::textTrackNoLabelText): Ditto.

  • platform/LocalizedStrings.h:

LayoutTests:

Test to exercise the localization of strings in the captions menu.
While I was here I merged some common code into a helper file.

  • media/trackmenu-test.js: Added. New helper file to run common test operations.
  • media/video-controls-captions-trackmenu-localized-expected.txt: Added.
  • media/video-controls-captions-trackmenu-localized.html: Added.
  • media/video-controls-captions-trackmenu-sorted.html: Updated to use helper functions.
  • platform/chromium/TestExpectations: Skip unimplemented test.
  • platform/efl/TestExpectations: Ditto.
  • platform/gtk/TestExpectations: Ditto.
  • platform/qt/TestExpectations: Ditto.
2:26 PM Changeset in webkit [138070] by dpranke@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, roll chromium deps to r173769

  • DEPS:
2:25 PM Changeset in webkit [138069] by Beth Dakin
  • 11 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=102579
[mac] Enable scaled cursors

Reviewed by Dean Jackson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Not much is required to get this turned on. We just need the feature to be
defined, and we need to initialize m_imageScaleFactor in the Cursor constructors.

  • Configurations/FeatureDefines.xcconfig:
  • platform/mac/CursorMac.mm:

(WebCore::Cursor::Cursor):
(WebCore::Cursor::operator=):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

Un-skip these tests now that the feature is enabled.

  • platform/mac/TestExpectations:
2:16 PM Changeset in webkit [138068] by thakis@chromium.org
  • 2 edits in trunk/Websites/webkit.org

Fix broken loop in style guide
https://bugs.webkit.org/show_bug.cgi?id=105346

Reviewed by Ryosuke Niwa.

Found by Sean Silva <silvas@purdue.edu>

  • coding/coding-style.html:
2:01 PM Changeset in webkit [138067] by mhahnenberg@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Restrictions on oversize CopiedBlock allocations should be relaxed
https://bugs.webkit.org/show_bug.cgi?id=105339

Reviewed by Filip Pizlo.

Currently the DFG has a single branch in the inline allocation path for property/array storage where
it checks to see if the number of bytes requested will fit in the current block. This does not match
what the C++ allocation path does; it checks if the requested number of bytes is oversize, and then
if it's not, it tries to fit it in the current block. The garbage collector assumes that ALL allocations
that are greater than 16KB are in oversize blocks. Therefore, this mismatch can lead to crashes when
the collector tries to perform some operation on a CopiedBlock.

To avoid adding an extra branch to the inline allocation path in the JIT, we should make it so that
oversize blocks are allocated on the same alignment boundaries so that there is a single mask to find
the block header of any CopiedBlock (rather than two, one for normal and one for oversize blocks), and
we should figure out if a block is oversize by some other method than just whatever the JSObject says
it is. One way we could record this info Region of the block, since we allocate a one-off Region for
oversize blocks.

  • heap/BlockAllocator.h:

(JSC::Region::isCustomSize):
(Region):
(JSC::Region::createCustomSize):
(JSC::Region::Region):
(JSC::BlockAllocator::deallocateCustomSize):

  • heap/CopiedBlock.h:

(CopiedBlock):
(JSC::CopiedBlock::isOversize):
(JSC):

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::tryReallocate):
(JSC::CopiedSpace::tryReallocateOversize):

  • heap/CopiedSpace.h:

(CopiedSpace):

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::contains):
(JSC::CopiedSpace::tryAllocate):
(JSC):

  • heap/CopyVisitor.h:

(CopyVisitor):

  • heap/CopyVisitorInlines.h:

(JSC::CopyVisitor::checkIfShouldCopy):
(JSC::CopyVisitor::didCopy):

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::copyLater):

  • runtime/JSObject.cpp:

(JSC::JSObject::copyButterfly):

1:44 PM Changeset in webkit [138066] by jpetsovits@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Build fix for r138024.
https://bugs.webkit.org/show_bug.cgi?id=105199
RIM PR 260232

Reviewed by Yong Li.

The clearVisibleTiles() function doesn't exist anymore
and apparently I fail at merge conflict resolution.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):

1:36 PM Changeset in webkit [138065] by Joseph Pecoraro
  • 8 edits in trunk/Source

[Mac] Add Build Phase to Check Headers for Inappropriate Macros (Platform.h macros)
https://bugs.webkit.org/show_bug.cgi?id=104279

Reviewed by David Kilzer.

Source/JavaScriptCore:

Add a build phase to check the public JavaScriptCore headers for
inappropriate macros.

Source/WebCore:

Set the executable as an input path on the check-* build phases.

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

Add a build phase to check the public WebKit headers for
inappropriate macros. Also set the executable as an input
path on the other check-* build phases.

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit2:

Add a build phase to check the public WebKit2 headers for
inappropriate macros. Also set the executable as an input
path on the other check-* build phases.

  • WebKit2.xcodeproj/project.pbxproj:
1:36 PM Changeset in webkit [138064] by Joseph Pecoraro
  • 2 edits
    12 adds in trunk/Tools

[Mac] Add Build Phase to Check Headers for Inappropriate Macros (Platform.h macros)
https://bugs.webkit.org/show_bug.cgi?id=104279

Reviewed by David Kilzer.

Add a build phase script that checks a framework's header files for
Platform.h and Compiler.h macros. Also add some tests for the script.

  • Scripts/check-for-inappropriate-macros-in-external-headers: Added.

Script to be used in build phases to check for inappropriate macros in headers.

  • Scripts/test-webkitruby: Added.

Script that can be used to run all webkitruby tests.

  • Scripts/test-webkit-scripts:

Also run the ruby tests.

  • Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/fake-data-failing-expected.txt: Added.
  • Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/pass-expected.txt: Added.
  • Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/passing-expected.txt: Added.
  • Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/resources/Fake.framework/Headers/Fail.h: Added.
  • Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/resources/Fake.framework/Headers/Pass.h: Added.
  • Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/run-test.rb: Added.

Tests for the new script.

1:34 PM Changeset in webkit [138063] by dmazzoni@google.com
  • 3 edits in trunk/LayoutTests

[chromium] Unreviewed gardening.

Updating the expectation and unskipping a test whose output was correct.

  • platform/chromium/TestExpectations:
  • platform/chromium/accessibility/legend-expected.txt:
1:28 PM Changeset in webkit [138062] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION: Using the Exit Full Screen button in the menu bar to exit HTML5 / media full screen breaks Safari windows
https://bugs.webkit.org/show_bug.cgi?id=104610

Reviewed by Anders Carlsson.

When a user clicks on the menu-bar exit fullscreen button, that skips notifying the document that
the window is exiting fullscreen and tearing down the placeholder. Manually call that part of the code
when we detect that it has been skipped.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):

1:28 PM Changeset in webkit [138061] by dmazzoni@google.com
  • 11 edits
    1 move
    2 deletes in trunk

AX: support clickPoint in DRT for chromium
https://bugs.webkit.org/show_bug.cgi?id=97359

Reviewed by Chris Fleizach.

Source/WebKit/chromium:

Exposes the clickPoint accessibility method in WebAccessibilityObject.

  • public/WebAccessibilityObject.h:

(WebAccessibilityObject):

  • src/WebAccessibilityObject.cpp:

(WebKit::WebAccessibilityObject::clickPoint):
(WebKit):

Tools:

Implement clickPointX, clickPointY, and elementAtPoint for Chromium, so that
several more tests can pass.

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

(WebTestRunner::AccessibilityUIElement::AccessibilityUIElement):
(WebTestRunner::AccessibilityUIElement::clickPointXGetterCallback):
(WebTestRunner):
(WebTestRunner::AccessibilityUIElement::clickPointYGetterCallback):
(WebTestRunner::AccessibilityUIElement::elementAtPointCallback):

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

(AccessibilityUIElement):

LayoutTests:

Enable four more tests now that clickPointX, clickPointY,
and elementAtPoint are implemented for Chromium.

Minor fixes to two tests to make them more robust
across platfoms and when run in parallel.

  • accessibility/svg-bounds.html: Updated
  • accessibility/svg-bounds-expected.txt: Added (made cross-platform
  • accessibility/svg-remote-element.html: Updated
  • accessibility/svg-remote-element-expected.txt: Added (made cross-platform)
  • platform/mac/accessibility/svg-bounds-expected.txt: Deleted
  • platform/mac/accessibility/svg-remote-element-expected.txt: Deleted
  • platform/chromium/TestExpectations: Updated
1:09 PM Changeset in webkit [138060] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

WebProcesses often crash if they access the network after a NetworkProcess crash.
<rdar://problem/12865789> and https://bugs.webkit.org/show_bug.cgi?id=105338

Reviewed by Alexey Proskuryakov.

After a NetworkProcess crash we should try to re-establish a connection to a new NetworkProcess
when it is needed.

If that attempt fails, then the WebProcess should "cleanly" crash.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::networkConnection):

1:06 PM Changeset in webkit [138059] by adamk@chromium.org
  • 5 edits in trunk

[HTMLTemplateElement] Prevent first-level recursive <template> from resetting the implied context
https://bugs.webkit.org/show_bug.cgi?id=104142

Reviewed by Eric Seidel.

Source/WebCore:

This patch adds a stack of InsertionModes retains the chosen
"implied context" for each template element.

Based on a patch by Rafael Weinstein.

Tests added to html5lib/run-template.html

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Initialize the stack appropriately for HTMLTemplateElement.innerHTML.
(WebCore::HTMLTreeBuilder::processTemplateStartTag):
(WebCore::HTMLTreeBuilder::processTemplateEndTag):
(WebCore::HTMLTreeBuilder::processStartTag): Once we've figured out the insertion mode for a given <template> store it in the stack.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processEndOfFile): Clear the stack if we hit end of file to allow the assertion in finish().
(WebCore::HTMLTreeBuilder::finished):

  • html/parser/HTMLTreeBuilder.h:

(HTMLTreeBuilder):

LayoutTests:

Added test that the original template context is retained after inner template.

  • html5lib/resources/template.dat:
1:02 PM Changeset in webkit [138058] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Build fix after r138045.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._collect_tests): Use relative_path. We skip only when this path
is not explicitly specified. The condition was backwards but never matched so we
always ran the test regardless of whether it's listed in the skipped list or not.

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(test_collect_tests_with_ignored_skipped_list): Renamed so that it actually runs.

12:58 PM Changeset in webkit [138057] by jpetsovits@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Clean up "frontState" vs. "geometry" naming confusion.
https://bugs.webkit.org/show_bug.cgi?id=105331
RIM PR 260232

Reviewed by Adam Treat.

The concept of the "front state" is going away or will be
marginalized/renamed, but I don't want to clutter upcoming
patches with renames. So do the variable renames in here,
once, and have future patches focus on actual behavior changes.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::shouldDirectRenderingToWindow):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::compositeContents):
(BlackBerry::WebKit::BackingStorePrivate::resetTiles):
(BlackBerry::WebKit::BackingStorePrivate::updateTiles):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):

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

[BlackBerry] Use midpoint for fixed position heuristic
https://bugs.webkit.org/show_bug.cgi?id=105329

Patch by Andrew Lo <anlo@rim.com> on 2012-12-18
Reviewed by Rob Buis.
Internally reviewed by Joe Mason.

Use the midpoint of the layer when determining whether the
fixed-position layer is on the top or bottom half of the screen
rather than the top of the layer.
Internal PR 237073.

No new tests are needed.

  • platform/graphics/blackberry/LayerRenderer.cpp:

(WebCore::LayerRenderer::updateLayersRecursive):

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

[BlackBerry] Fixed position elements should be fixed position on x axis
https://bugs.webkit.org/show_bug.cgi?id=105333

Patch by Andrew Lo <anlo@rim.com> on 2012-12-18
Reviewed by Rob Buis.
Internally reviewed by Joe Mason.

Have fixed position elements be fixed on the X axis as well as Y.
This better aligns with what other ports are doing.
Internal PR237073.

No new tests are needed.

  • platform/graphics/blackberry/LayerRenderer.cpp:

(WebCore::LayerRenderer::updateLayersRecursive):

12:34 PM Changeset in webkit [138054] by nghanavatian@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Reduce calls to IMF on return
https://bugs.webkit.org/show_bug.cgi?id=105308

Reviewed by Yong Li.

PR207743
The extra calls of selection change and most importantly, end composition
are sent incorrectly on return. This is causing our state to be reset
every time we hit enter.

Internally reviewed by Mike Fenton and Gen Mak.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::InputHandler):
(BlackBerry::WebKit::InputHandler::nodeTextChanged):
(BlackBerry::WebKit::InputHandler::selectionChanged):
(BlackBerry::WebKit::InputHandler::handleKeyboardInput):
(BlackBerry::WebKit::InputHandler::shouldNotifyWebView):
(WebKit):

  • WebKitSupport/InputHandler.h:

(InputHandler):

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

[BlackBerry] Add -fno-exceptions to CXX_FLAGS
https://bugs.webkit.org/show_bug.cgi?id=105306

Patch by Ming Xie <mxie@rim.com> on 2012-12-18
Reviewed by Rob Buis.

Disable exception handling. We don't have any try or catch
constructs in our code.

  • Source/cmake/OptionsBlackBerry.cmake:
12:18 PM Changeset in webkit [138052] by danakj@chromium.org
  • 2 edits in trunk/Source/Platform

[chromium] Make WebLayerTreeView::loseCompositorContext non-pure virtual
https://bugs.webkit.org/show_bug.cgi?id=105328

Reviewed by James Robinson.

This allows us to decouple the chromium and webkit sides and remove this
function entirely on each side.

  • chromium/public/WebLayerTreeView.h:

(WebKit::WebLayerTreeView::loseCompositorContext):

12:14 PM Changeset in webkit [138051] by simonjam@chromium.org
  • 2 edits in trunk/Source/WebCore

[Resource Timing] Populate responseEnd on cross-origin requests
https://bugs.webkit.org/show_bug.cgi?id=105231

Reviewed by Tony Gentilcore.

No new tests. Covered by existing cross-origin test, but masked by iframe bug.

  • page/PerformanceResourceTiming.cpp:

(WebCore::PerformanceResourceTiming::responseEnd):

12:07 PM Changeset in webkit [138050] by eae@chromium.org
  • 2 edits in trunk/Tools

TestWebKitAPI/Tests/WebCore/LayoutUnit fails on mac
https://bugs.webkit.org/show_bug.cgi?id=105332

Reviewed by Levi Weintraub.

Create new test suite for LayoutUnit tests as the KURL tests are
of the incompatible TEST_F type.

  • TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:

(TestWebKitAPI):
(TestWebKitAPI::TEST_F):

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

Enable media stream on Android for Chromium
https://bugs.webkit.org/show_bug.cgi?id=102545

Patch by Wei Jia <wjia@chromium.org> on 2012-12-18
Reviewed by Eric Seidel.

Put all webrtc related stuff under one flag "enable_webrtc" which is set to 1
on Linux/Windows/Mac and 0 on Android.

  • features.gypi:
11:47 AM Changeset in webkit [138048] by mvujovic@adobe.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[ANGLE] Use of uninitialized memory in ArrayBoundsClamper
https://bugs.webkit.org/show_bug.cgi?id=105218

Reviewed by Dean Jackson.

TIntermBinary::addIndexClamp is uninitialized when the compile flag
SH_CLAMP_INDIRECT_ARRAY_BOUNDS is not set. Then, addIndexClamp is used in OutputGLSLBase.
CSS Shaders needs to do a first validation pass without the SH_CLAMP_INDIRECT_ARRAY_BOUNDS
flag and its effects. However, sometimes addIndexClamp is true, which inserts clamping code
that causes a shader to fail compilation at the WebGL level.

  • src/compiler/intermediate.h:

(TIntermBinary::TIntermBinary):

11:44 AM Changeset in webkit [138047] by commit-queue@webkit.org
  • 2 edits in trunk/Source/Platform

[chromium] Fix include style in WebTransformOperations.h
https://bugs.webkit.org/show_bug.cgi?id=105259

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

Changes include of WebTransformationMatrix.h from '#include <public/..h>' to '#include "....h". The latter
always works, since #include "foo.h" always finds foo.h in the same directory, and doesn't require all
downstream users of this header to have Source/Platform/chromium/ on the include path.

  • chromium/public/WebTransformOperations.h:
11:29 AM Changeset in webkit [138046] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after http://trac.webkit.org/changeset/138041

Need to cast int64_t to int32_t to avoid a warning on some compilers.

  • platform/LayoutUnit.h:

(WebCore::boundedMultiply):

11:15 AM Changeset in webkit [138045] by rniwa@webkit.org
  • 4 edits in trunk/Tools

Running a skipped test with run-perf-tests could alert the user
https://bugs.webkit.org/show_bug.cgi?id=105219

Reviewed by Eric Seidel.

Force run skipped performance tests explicitly specified in the command line.
Also warn the user when the specified paths don't exist.

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

(Port.relative_test_filename):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args):
(PerfTestsRunner._collect_tests):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(test_collect_tests_with_skipped_list_and_files):

11:12 AM Changeset in webkit [138044] by commit-queue@webkit.org
  • 5 edits in trunk

Chrome Android java output is too verbose
https://bugs.webkit.org/show_bug.cgi?id=105247

Patch by Yaron Friedman <yfriedman@chromium.org> on 2012-12-18
Reviewed by Tony Chang.

Pass -quiet to ant to suppress extraneous output.

Source/WebKit/chromium:

  • WebKitUnitTests.gyp:

Tools:

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
  • TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:
11:08 AM Changeset in webkit [138043] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

[CSS Exclusions] shape-inside layout fails to adjust first line correctly for writing-mode: vertical-rl
https://bugs.webkit.org/show_bug.cgi?id=104419

Patch by Hans Muller <hmuller@adobe.com> on 2012-12-18
Reviewed by Dirk Schulze.

Source/WebCore:

ExclusionShapes no longer maintain a private "internal" coordinate system,
they're now defined in logical coordinates. The createExclusionShape() method
now handles the one-time conversion from physical to logical coordinates.

Test: fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-003.html

  • rendering/ExclusionPolygon.cpp:

(WebCore::ExclusionPolygon::getExcludedIntervals): Removed logical to internal coordinate conversions.
(WebCore::ExclusionPolygon::getIncludedIntervals): Ditto.
(WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Ditto.

  • rendering/ExclusionPolygon.h:
  • rendering/ExclusionRectangle.cpp:

(WebCore::ExclusionRectangle::getExcludedIntervals): Removed logical to internal coordinate conversions.
(WebCore::ExclusionRectangle::getIncludedIntervals): Ditto.
(WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop): Ditto.

  • rendering/ExclusionRectangle.h:
  • rendering/ExclusionShape.cpp:

(WebCore::physicalRectToLogical): Convert a FloatRect defined with coordinates to logical coordinates.
(WebCore::physicalPointToLogical): Similar.
(WebCore::physicalSizeToLogical): Simlar.
(WebCore::ExclusionShape::createExclusionShape): Convert shapes from physical to logical coordinates.

  • rendering/ExclusionShape.h:

(ExclusionShape): Removed internal to logical coordinate conversion utility methods.

LayoutTests:

For the vertical writing modes, verify that rounded rectangle shape-inside content is
adjusted in the logical down direction when it will not fit betwen the rounded corners.

  • fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-003-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-003.html: Added.
10:55 AM Changeset in webkit [138042] by rniwa@webkit.org
  • 6 edits in trunk/Tools

Consider removing --pause-before-testing option
https://bugs.webkit.org/show_bug.cgi?id=105248

Reviewed by Eric Seidel.

Remove --pause-before-testing option.

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

(DriverProxy.start): Removed.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.init):
(PerfTest.test_path): Renamed from path_or_url.
(PerfTest.run):
(PerfTest): Removed "driver" argument.
(PerfTest._run_with_driver):
(PerfTest.run_single):
(ChromiumStylePerfTest.init):
(PageLoadingPerfTest.init):
(PageLoadingPerfTest.run_single):
(PageLoadingPerfTest._run_with_driver): Renamed from run so that PerfTest.run can create a driver for us.
(ReplayPerfTest.init):
(ReplayPerfTest.prepare):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPageLoadingPerfTest.test_run):
(TestPageLoadingPerfTest.test_run_with_memory_output):
(TestPageLoadingPerfTest.test_run_with_bad_output):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args):
(PerfTestsRunner._run_tests_set): Removed the code to create a driver and pause before running the test.
(PerfTestsRunner._run_single_test): Removed "driver" argument.

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(run_test):
(test_run_test_pause_before_testing): Removed.

10:46 AM Changeset in webkit [138041] by eae@chromium.org
  • 2 edits in trunk/Source/WebCore

Optimize LayoutUnit::boundedMultiply
https://bugs.webkit.org/show_bug.cgi?id=105216

Reviewed by Levi Weintraub.

LayoutUnit::boundedMultiply is used for multiplication that's
prone to overflow and for all LayoutUnit multiplication if
SATURATED_LAYOUT_ARITHMETIC is enabled. The current approach is
quite inefficient.

Change it to use a more efficient saturated multiplication
implementation. As the implementation needs to use
kFixedPointDenominator it is implemented in LayoutUnit.h instead
of in wtf/SaturatedArithmetic.h.

Test: Covered by TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp

  • platform/LayoutUnit.h:

(WebCore::boundedMultiply):

10:43 AM Changeset in webkit [138040] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

[CSS Exclusions] Blocks should not re-use their parent's ExclusionShapeInsideInfo
if they participate in inline layout
https://bugs.webkit.org/show_bug.cgi?id=104582

Patch by Bear Travis <betravis@adobe.com> on 2012-12-18
Reviewed by Julien Chaffraix.

Source/WebCore:

Blocks that participate in inline layout should not re-use a parent's
ExclusionShapeInsideInfo, as the parent and child would both use the info for
layout at the same time. This patch alters LayoutState to not include
ExclusionShapeInsideInfo if the current block participates in inline layout (ie,
it is a float, inline-block, or inline-table).

Test: fast/exclusions/shape-inside/shape-inside-recursive-layout.html

  • rendering/ExclusionShapeInsideInfo.h:

(WebCore::ExclusionShapeInsideInfo::ownerBlock): Return the block associated with
the shape-inside style.

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState): Do not re-use ExclusionShapeInsideInfo
on a block that participates in inline layout (floats and inline blocks).

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::allowsExclusionShapeInsideInfoSharing): Returns whether the
block can re-use an ExclusionShapeInsideInfo from its parent block.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Adding an assert to make sure
we do not overwrite ExclusionShapeInsideInfo's state during a recursive layout.

  • rendering/RenderView.h:

(WebCore::RenderView::pushLayoutState): Push a new LayoutState in the case that
ExclusionShapeInsideInfo exists but should not be propagated.

LayoutTests:

Test that recursive inline layouts work correctly.

  • fast/exclusions/resources/simple-rectangle.js:

(createRectangleTest): Remove extra ':' from pseudo-element.
(createRectangleTestResult): Ditto.

  • fast/exclusions/shape-inside/shape-inside-recursive-layout-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-recursive-layout.html: Added.
10:35 AM Changeset in webkit [138039] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Removing failures for a bunch of tests that are now passing due to
various reasons.

  • platform/gtk/TestExpectations:
10:32 AM Changeset in webkit [138038] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[GTK] Tests that time out are not considered as failures.
https://bugs.webkit.org/show_bug.cgi?id=105318

Patch by Alberto Garcia <agarcia@igalia.com> on 2012-12-18
Reviewed by Martin Robinson.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunGtkAPITests.commandComplete):
Consider log lines that end with TIMEOUT as errors.

  • Scripts/run-gtk-tests:

(TestRunner.run_tests):
Consider timeouts as failures when returning the number of failed
tests.

10:23 AM Changeset in webkit [138037] by tony@chromium.org
  • 6 edits
    2 adds in trunk

REGRESSION(r136324): flex items with percent heights not resizing
https://bugs.webkit.org/show_bug.cgi?id=105213

Reviewed by Ojan Vafai.

Source/WebCore:

We were missing some of the logic for when to relayout a flex child. Refactor
the code in RenderBlock::layoutBlockChildren so we can use it in RenderFlexibleBox.

Test: css3/flexbox/flexitem-percent-height-change.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateNeedsLayoutAndPreferredLogicalWidthsDirtyBeforeBlockChildLayout):
Pull out logic needed by RenderFlexibleBox.
(WebCore::RenderBlock::layoutBlockChildren): Use helper method.

  • rendering/RenderBlock.h:

(RenderBlock): Add updateNeedsLayoutAndPreferredLogicalWidthsDirtyBeforeBlockChildLayout.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock): Pass through relayoutChildren bool.
(WebCore::RenderFlexibleBox::layoutFlexItems): Pass through relayoutChildren and mark the child as needing
layout if it has a percent height.
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): We need to always layout here since we're
trying to get the preferred size.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):

  • rendering/RenderFlexibleBox.h:

LayoutTests:

Add a test that changes the height of a flexbox with a percentage height child.

  • css3/flexbox/flexitem-percent-height-change-expected.txt: Added.
  • css3/flexbox/flexitem-percent-height-change.html: Added.
10:07 AM Changeset in webkit [138036] by Simon Fraser
  • 5 edits
    2 adds in trunk

Fix position:-webkit-sticky behavior when zoomed
https://bugs.webkit.org/show_bug.cgi?id=105251

Reviewed by Dean Jackson.

Source/WebCore:

Position sticky elements were misplaced when stickily-constrained, under zooming.
The cause was that some of the functions used to compute sticky position
took page scale into account, and some did not.

Fix by using localToContainerQuad(..., view()) to compute RenderView-relative
quads, which avoids page scale, so all the constraints math is done ignoring
page scale. This also requires that we compute a scale-free viewport rect
in stickyPositionOffset().

Test: fast/css/sticky/sticky-top-zoomed.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
(WebCore::RenderBoxModelObject::stickyPositionOffset):

LayoutTests:

Ref test for sticky elements in a zoomed page.

This test is marked as failing for WK1, because scrollbars always show on
zoomed pages and cannot be hidden there.

  • fast/css/sticky/sticky-top-zoomed-expected.html: Added.
  • fast/css/sticky/sticky-top-zoomed.html: Added.
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:06 AM Changeset in webkit [138035] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: DataGrid cell values are "clipped" in editing mode.
https://bugs.webkit.org/show_bug.cgi?id=105277

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-18
Reviewed by Pavel Feldman.

UIUtils expects that "text-overflow" is not "ellipsis".

  • inspector/front-end/dataGrid.css:

(.data-grid td.editing > div): Override text-overflow for editing mode.

10:04 AM Changeset in webkit [138034] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Inspector] Add frameId for frame owner nodes.
https://bugs.webkit.org/show_bug.cgi?id=105317

Patch by Ken Kania <kkania@chromium.org> on 2012-12-18
Reviewed by Pavel Feldman.

This is needed to translate from a node ID to the execution context ID for
evaluating scripts in the associated frame.

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

(WebCore::InspectorDOMAgent::buildObjectForNode):

10:00 AM Changeset in webkit [138033] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk

[EFL] Allow the build system to detect EGL support.
https://bugs.webkit.org/show_bug.cgi?id=105287

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-18
Reviewed by Laszlo Gombos.

Currently, we don't have any way to determine if EGL is supported by the build.
This patch adds support for this. The patch doesn't make any changes to take this into
use. This will be done in another patch.

  • Source/cmake/FindEGL.cmake:
9:55 AM Changeset in webkit [138032] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Qt] Fix the ARMv7 build after r137976
https://bugs.webkit.org/show_bug.cgi?id=105270

Reviewed by Csaba Osztrogonác.

Add default value for Jump parameter to fix build.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::Jump::Jump):

9:32 AM Changeset in webkit [138031] by pravin.d@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, adding secondary email.

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

[WinCairo] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=105175

Patch by peavo@outlook.com <peavo@outlook.com> on 2012-12-18
Reviewed by Simon Fraser.

  • rendering/RenderLayer.h: Compile fixes for USE(ACCELERATED_COMPOSITING) mismatch.
9:19 AM Changeset in webkit [138029] by pravin.d@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, promoting myself to committer's list

9:18 AM Changeset in webkit [138028] by jpetsovits@rim.com
  • 6 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove the visible tile buffer from the BackingStore.
https://bugs.webkit.org/show_bug.cgi?id=105302
RIM PR 260232

Reviewed by George Staikos.

The visible tile buffer was introduced as an additional
buffering solution that was necessary because other
buffers would only cover part of the screen and could
only be swapped one by one, with long blocking calls
between each newly rendered tile. By carrying an old copy
of all tiles at once, we were avoiding checkerboard and
visual artifacts during load time when much zoom-to-fit
action is going on.

These days, the visual tile buffer hurts more than it helps,
not only taking up lots of memory but also requiring
complexity that we'd rather get rid of. Now that multiple
buffers are being swapped into the user interface thread
at once, the need for the visible tile buffer is no longer
there and can be exchanged for standard geometry behavior.

This patch simply deletes the visible tile buffer to use
existing other code instead. Differences in behavior are
non-existent or negligible.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::transformChanged):
(BlackBerry::WebKit::BackingStorePrivate::orientationChanged):
(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):

  • Api/BackingStore_p.h:

(BackingStorePrivate):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

  • WebKitSupport/SurfacePool.cpp:

(BlackBerry::WebKit::SurfacePool::SurfacePool):
(BlackBerry::WebKit::SurfacePool::initialize):
(BlackBerry::WebKit::SurfacePool::createBuffers):
(BlackBerry::WebKit::SurfacePool::releaseBuffers):

  • WebKitSupport/SurfacePool.h:

(SurfacePool):

9:00 AM Changeset in webkit [138027] by thiago.santos@intel.com
  • 2 edits
    4 adds in trunk/LayoutTests

[EFL] Unreviewed gardening.

Added new baselines marked tests flaky due to Accessibility code
crashes.

  • platform/efl-wk2/TestExpectations:
  • platform/efl-wk2/editing/selection/move-by-character-6-expected.png: Added.
  • platform/efl-wk2/editing/selection/move-by-character-6-expected.txt: Added.
8:45 AM Changeset in webkit [138026] by eae@chromium.org
  • 7 edits
    2 deletes in trunk

Have kFixedPointDenominator be constant across ports
https://bugs.webkit.org/show_bug.cgi?id=104843

Source/WebCore:

Reviewed by Julien Chaffraix.

Currently the kFixedPointDenominator constant is set to either
64 or 1 depending on the SUBPIXEL_LAYOUT flag. As this constant
is used to limit the range of supported values this results in
inconsistencies across ports.

Change kFixedPointDenominator to always be 64 and introduce a
new constant (kEffectiveFixedPointDenominator) that varies.
This ensures that the same range of values are supported across
ports regardless of the SUBPIXEL_LAYOUT flag.

Covered by fast/css/large-numbers.html and fast/css/large-number-round-trip.html

  • platform/LayoutUnit.h:

Add kEffectiveFixedPointDenominator constant and change
LayoutUnit code to use it instead of kFixedPointDenominator
which is now set to 64 regardless of the SUBPIXEL_LAYOUT flag.

LayoutTests:

Reviewed by Julien Chaffraix.

Unskip the following tests on efl, qt and gtk:
fast/css/large-number-round-trip.html
fast/css/large-numbers.html

Remove platform specific results for large-number-round-trip.html.

  • fast/css/large-number-round-trip-expected.txt:
  • platform/chromium/fast/css/large-number-round-trip-expected.txt: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/fast/css/large-number-round-trip-expected.txt: Removed.
  • platform/qt/TestExpectations:
8:39 AM Changeset in webkit [138025] by commit-queue@webkit.org
  • 6 edits in trunk

Unreviewed, rolling out r137979.
http://trac.webkit.org/changeset/137979
https://bugs.webkit.org/show_bug.cgi?id=105311

nodeName returned by the inspector protocol commands should
match one accessible fro JS (Requested by yurys_ on #webkit).

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

Source/WebCore:

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):

LayoutTests:

  • inspector/elements/shadow-dom-modify-chardata-expected.txt:
  • inspector/elements/shadow-root-expected.txt:
  • inspector/elements/shadow-root.html:
8:37 AM Changeset in webkit [138024] by jpetsovits@rim.com
  • 11 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Restructure the render queue to process multiple tiles at once.
https://bugs.webkit.org/show_bug.cgi?id=105199
RIM PR 260232

Reviewed by George Staikos.
Internally reviewed by Arvid Nilsson.

Since my last big commit, r136442, the BackingStore's render()
function is able to fetch multiple back buffers and swap them
into the user interface thread in one go. However, it turns out
that this is not enough to actually render to all of the
available back buffers at once. The RenderQueue class was still
working with a model based on processing one rectangle after
another.

This commit rewrites large parts of RenderQueue to issue
render() calls for multiple tiles at once. As WebCore painting
gets cheaper and blocking becomes more of an issue, this commit
does away with paints smaller than tile size and always renders
whole tiles at once. This means the demise of RenderRect.
As an additional benefit, this means we can remove the
copyPreviousContentsToTileBuffer() function which caused
potential threading issues as it was accessing a buffer
now owned by the UI thread from the WebKit thread.

RenderQueue is also smarter than before in assigning batches,
it now takes into account the number of available back buffers
for rendering as well as excludes tiles outside contents
boundaries. Regular render jobs continue being tracked as
regions (and are being issued to didRenderContent()) with only
the changed content regions. Everything else switches over to
tile index lists from previously lists of rectangles.
By default, we render as many tiles at once as we can grab
back buffers, or until a given set of jobs is done.
For high-priority jobs, render() will be called in a loop.

To allow for the necessary changes in render() and improve
reliability in the same go, we now call render() almost
exclusively through RenderQueue. Other places would often
call renderVisibleContents() in situations where rendering
is not possible, geometries don't get updated, or content
rendered notifications would not get issued to the client.
By replacing renderVisibleContents() with a scheduled
high-priority queue that's immediately being processed
(but only if possible), these problems go away.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
(BlackBerry::WebKit::BackingStorePrivate::repaint):
(BlackBerry::WebKit::BackingStorePrivate::slowScroll):
(BlackBerry::WebKit::BackingStorePrivate::renderJob):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
(BlackBerry::WebKit::BackingStorePrivate::indexesForBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
(BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
(BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::renderAndBlitVisibleContentsImmediately):
(BlackBerry::WebKit::BackingStorePrivate::renderAndBlitImmediately):
(BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::compositeContents):
(BlackBerry::WebKit::BackingStorePrivate::visibleTileIndexes):
(BlackBerry::WebKit::BackingStorePrivate::resetTiles):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
(BlackBerry::WebKit::BackingStorePrivate::updateTile):
(BlackBerry::WebKit::BackingStorePrivate::transformChanged):
(BlackBerry::WebKit::BackingStorePrivate::didRenderContent):

  • Api/BackingStore_p.h:

(BackingStorePrivate):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
(BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):

  • Api/WebPageCompositor.cpp:

(BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):

  • WebKitSupport/RenderQueue.cpp:

(BlackBerry::WebKit::compareRectOneDirection):
(BlackBerry::WebKit::tileIndexIsLessThan):
(WebKit):
(BlackBerry::WebKit::tileIndexLessThanFunction):
(BlackBerry::WebKit::TileIndexLessThan::TileIndexLessThan):
(BlackBerry::WebKit::TileIndexLessThan::operator()):
(TileIndexLessThan):
(BlackBerry::WebKit::RenderQueue::reset):
(BlackBerry::WebKit::RenderQueue::isEmpty):
(BlackBerry::WebKit::RenderQueue::hasCurrentRegularRenderJob):
(BlackBerry::WebKit::RenderQueue::hasCurrentVisibleZoomJob):
(BlackBerry::WebKit::RenderQueue::hasCurrentVisibleScrollJob):
(BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJob):
(BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJobCompleted):
(BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJob):
(BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJobCompleted):
(BlackBerry::WebKit::RenderQueue::isCurrentRegularRenderJob):
(BlackBerry::WebKit::RenderQueue::tileIndexesIntersectingRegion):
(BlackBerry::WebKit::RenderQueue::tileIndexesFullyContainedInRegion):
(BlackBerry::WebKit::RenderQueue::tileRegion):
(BlackBerry::WebKit::RenderQueue::addToQueue):
(BlackBerry::WebKit::RenderQueue::addToRegularQueue):
(BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
(BlackBerry::WebKit::RenderQueue::quickSort):
(BlackBerry::WebKit::RenderQueue::visibleContentChanged):
(BlackBerry::WebKit::RenderQueue::backingStoreRectChanging):
(BlackBerry::WebKit::RenderQueue::clear):
(BlackBerry::WebKit::RenderQueue::clearRegions):
(BlackBerry::WebKit::RenderQueue::clearTileIndexes):
(BlackBerry::WebKit::RenderQueue::render):
(BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
(BlackBerry::WebKit::RenderQueue::renderScrollZoomJobs):
(BlackBerry::WebKit::RenderQueue::scrollZoomJobsCompleted):

  • WebKitSupport/RenderQueue.h:

(WebKit):
(RenderQueue):

  • WebKitSupport/SurfacePool.cpp:

(BlackBerry::WebKit::SurfacePool::numberOfAvailableBackBuffers):
(BlackBerry::WebKit::SurfacePool::takeBackBuffer):

  • WebKitSupport/SurfacePool.h:

(SurfacePool):

  • WebKitSupport/TileIndex.h:

(WebKit):

8:06 AM Changeset in webkit [138023] by wjmaclean@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed gardening: marking test as flaky on Linux Dbg bot.
http://webkit.org/b/86114

Unreviewed gardening.

  • platform/chromium/TestExpectations:
7:55 AM Changeset in webkit [138022] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Styles] Selector matches are not marked after property editing
https://bugs.webkit.org/show_bug.cgi?id=105284

Reviewed by Vsevolod Vlasov.

Once a property edit is committed, the selector markup is reset and needs to be re-applied.

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertiesSection.prototype.update):

7:53 AM Changeset in webkit [138021] by kerz@chromium.org
  • 20 edits
    4 deletes in branches/chromium/1364

Revert 137939

Add support for tracking hit test rectangles to enable fast event rejection in the compositor
https://bugs.webkit.org/show_bug.cgi?id=103914

Reviewed by James Robinson.

Source/WebCore:

Adding support for tracking hit test target regions for the purpose of performing initial hit testing
in the compositor to avoid blocking scrolling on the main thread while waiting to hit test events that
aren't occuring in regions with handlers. This is initially being done to avoid having to go to the main
thread when scrolling by flicking on touch devices when the flick occurs outside a tracked touch event
region. This patch includes the implementation to turn this on in Chromium.

To accomplish this goal, Document will now keep a counted hash set of nodes with touch event handlers
instead of only an unsigned integer of the total count. ScrollingCoordinator then updates the compositor
when new touch event handlers are registered or removed, or after layout much like how
nonFastScrollableRegions are currently tracked.

This implementation will not properly update the hit test rects when the renderers are inside a sub-
tree that scrolls.

This change was initially rolled out due to stale Node pointers in Document's touchEventTargets. This
patch adds a callback to remove the Node from that structure to Node's destructor. This is covered
by the touch-target-removed-crash.html test case which is also added.

Test: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html

platform/chromium/fast/events/touch/touch-target-removed-crash.html

  • dom/Document.cpp:

(WebCore::Document::Document): Added a HashCountedSet of touch target nodes. Note: DOMWindow targets
are stored as the Document they point to.
(WebCore::Document::didAddTouchEventHandler): Changed to keep track of the handler instead of a count, and
to update the ScrollingCoordinator with the change.
(WebCore::Document::didRemoveTouchEventHandler): Ditto.

  • dom/Document.h:

(WebCore::Document::hasTouchEventHandlers): It's no longer O(1) to get the count of touch handlers, so
expose whether there are any or not.
(WebCore::Document::touchEventTargets):

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener): Add the Document to the touch target set instead of DOMWindow.
(WebCore::DOMWindow::removeEventListener):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent):

  • page/Frame.cpp:

(WebCore::Frame::setDocument):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeAbsoluteTouchEventTargetRects): Walk the renderers for event handler
nodes and generate the absolute hit testing rects.

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::setTouchEventTargetRectsChanged): Hook to pass along the hit test rects to
the scrolling tree/compositor.
(ScrollingCoordinator):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:

(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRectsChanged):
(WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.h:

(ScrollingCoordinatorChromium):

  • testing/Internals.cpp:

(WebCore::Internals::touchEventHandlerCount): Changed to do the work to calculate the actual count since
it's no longer stored as an int in Document.
(WebCore::Internals::touchEventTargetClientRects):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/chromium:

Enabling touch event target region tracking.

  • features.gypi:
  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::requestTouchEventType):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):

LayoutTests:

  • platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Added.
  • platform/chromium/fast/events/touch/compositor-touch-hit-rects.html: Added.
  • platform/chromium/fast/events/touch/touch-target-removed-crash-expected.txt: Added.
  • platform/chromium/fast/events/touch/touch-target-removed-crash.html: Added.

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/11612021

7:52 AM Changeset in webkit [138020] by kerz@chromium.org
  • 1 copy in branches/chromium/1364/codereview.settings

Fix drover

7:49 AM Changeset in webkit [138019] by thiago.santos@intel.com
  • 3 edits
    1 move
    2 adds in trunk/Tools

[EFL] ImageDiff does not build on WebKit2 only builds
https://bugs.webkit.org/show_bug.cgi?id=105288

Reviewed by Kenneth Rohde Christiansen.

Moved ImageDiff to the efl/ folder inside Tools/ (so we don't pollute
the folder with things which are EFL-specific.

ImageDiff will be built by default now regardless of WebKit API flavor
you choose.

  • CMakeLists.txt:
  • DumpRenderTree/efl/CMakeLists.txt:
  • efl/ImageDiff/CMakeLists.txt: Added.
  • efl/ImageDiff/ImageDiff.cpp: Renamed from Tools/DumpRenderTree/efl/ImageDiff.cpp.
7:48 AM Changeset in webkit [138018] by kerz@chromium.org
  • 1 copy in branches/chromium/1364

Branch for Chromium

7:23 AM Changeset in webkit [138017] by eric.carlson@apple.com
  • 16 edits
    2 adds in trunk

Add in-band text track cues only once
https://bugs.webkit.org/show_bug.cgi?id=104593

Reviewed by Dean Jackson.

Source/WebCore:

Test: media/track/track-in-band-cues-added-once.html

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::hasCue): New.

  • html/track/InbandTextTrack.h:
  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::setCueSettings): Remember the raw cue settings so they can be accessed later.

  • html/track/TextTrackCue.h:
  • platform/graphics/InbandTextTrackPrivateClient.h: Declare hasCue.
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCue): Early return if m_player has been cleared.
(WebCore::InbandTextTrackPrivateAVF::setMode): Ditto.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::seek): Clear the partially accumulated cue when the seek

starts, not when it completes.

(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
(WebCore::MediaPlayerPrivateAVFoundation::flushCurrentCue): Don't add a cue if it is already in the

text track cue list.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::clearTextTracks): Drive-by cleanup, clear the track list completely.

LayoutTests:

Test to ensure that in-band text track cues are not added to the the cue list more than once.

  • media/track/track-in-band-cues-added-once-expected.txt: Added.
  • media/track/track-in-band-cues-added-once.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
7:01 AM Changeset in webkit [138016] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [Network] Ordering of cookies displayed is nondeterministic.
https://bugs.webkit.org/show_bug.cgi?id=105272

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-18
Reviewed by Vsevolod Vlasov.

This patch fixes double-selection of request and sets default ordering
of cookies.

  • inspector/front-end/CookiesTable.js: By default sort by name.
  • inspector/front-end/NetworkPanel.js: Do not fire "select" on

mouse-click in viewing-request mode.

6:42 AM Changeset in webkit [138015] by kenneth@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] When creating new windows, use the opener's context
https://bugs.webkit.org/show_bug.cgi?id=105283

Reviewed by Laszlo Gombos.

Use the context of the opener if exists.

  • MiniBrowser/efl/main.c:

(on_key_down):
(on_window_create):
(window_create):
(elm_main):

5:53 AM Changeset in webkit [138014] by thiago.santos@intel.com
  • 2 edits in trunk/LayoutTests

[WK2] Unreviewed gardening.

Fixed malformed entry on the WK2 expectations file.

  • platform/wk2/TestExpectations:
5:42 AM Changeset in webkit [138013] by apavlov@chromium.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r138011.
http://trac.webkit.org/changeset/138011
https://bugs.webkit.org/show_bug.cgi?id=105272

WebInspector: Broke request selection in the Network panel

  • inspector/front-end/CookiesTable.js:

(WebInspector.CookiesTable):

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkPanel.prototype._toggleGridMode):
(WebInspector.NetworkPanel.prototype._toggleViewingRequestMode):
(WebInspector.NetworkDataGridNode.prototype.createCells):
(WebInspector.NetworkDataGridNode.prototype.get selectable):

5:04 AM Changeset in webkit [138012] by Nate Chapin
  • 3 edits in trunk/Source/WebCore

REGRESSION (r137607): Cannot download files, stuck in “Preparing to download”
https://bugs.webkit.org/show_bug.cgi?id=105044

Reviewed by Antti Koivisto.

The work done by DocumentLoader::mainReceivedError() changed subtly in r137607,
such that it cancels the ResourceHandle. We want to treat switching to a download
like a failure, where WebCore assumes that the load is finished, and no
cancellation is required.

No new tests, tested manually by verifying that downloading files works in
Safari Mac.

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::continueAfterContentPolicy):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::cancel): Remove the workaround added in r137763.

4:57 AM Changeset in webkit [138011] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [Network] Ordering of cookies displayed is nondeterministic.
https://bugs.webkit.org/show_bug.cgi?id=105272

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-18
Reviewed by Alexander Pavlov.

This patch fixes double-selection of request and sets default ordering
of cookies.

  • inspector/front-end/CookiesTable.js: By default sort by name.
  • inspector/front-end/NetworkPanel.js: Remove redundant member, make

rows "not-selectable", activate request selection on "mouse-down".

4:49 AM Changeset in webkit [138010] by loislo@chromium.org
  • 2 edits
    1 copy in trunk/LayoutTests

Unreviewed rebaseline new test introdiced at r138003

  • inspector-protocol/media-query-listener-exception-expected.txt:
  • platform/chromium/inspector-protocol/media-query-listener-exception-expected.txt: Copied from LayoutTests/inspector-protocol/media-query-listener-exception-expected.txt.
4:19 AM Changeset in webkit [138009] by thiago.santos@intel.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening

Skipped some accessibility because of missing bits on EFL.

  • platform/efl-wk2/TestExpectations:
4:07 AM Changeset in webkit [138008] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

[JSC] Refactoring CodeGeneratorJS.pm to simplify adding support for overloaded constructors
https://bugs.webkit.org/show_bug.cgi?id=105271

Patch by Tommy Widenflycht <tommyw@chromium.org> on 2012-12-18
Reviewed by Kentaro Hara.

This patch splits the very large function that generates constructor code into a few smaller ones.
No changes in actual generated code but some functions in the generated bindings code moves.

Existing tests cover patch.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateConstructorDefinitions):
(GenerateConstructorDefinition):
(GenerateConstructorSupportDefinitions):
(IsCustomConstructable):
(IsConstructable):

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

(WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):
(WebCore):
(WebCore::toJS):
(WebCore::JSFloat64Array::indexSetter):

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

(WebCore):
(WebCore::JSTestEventConstructorConstructor::JSTestEventConstructorConstructor):
(WebCore::JSTestEventConstructorConstructor::finishCreation):
(WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
(WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):

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

(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore):

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

(WebCore):
(WebCore::JSTestNamedConstructorNamedConstructor::JSTestNamedConstructorNamedConstructor):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):

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

(WebCore::JSTestNodeConstructor::constructJSTestNode):
(WebCore):

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

(WebCore::JSTestObjConstructor::constructJSTestObj):
(WebCore):

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

(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
(WebCore):

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

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
(WebCore):

3:58 AM Changeset in webkit [138007] by thiago.santos@intel.com
  • 3 edits in trunk/Tools

[EFL][WK2] Gardening of TestWebKitAPI tests
https://bugs.webkit.org/show_bug.cgi?id=105268

Reviewed by Kenneth Rohde Christiansen.

Some tests were marked as failing but are passing and the newly added
LayoutUnit should have it's own binary because it conflicts with the
fixture used by KURL and is failing on the bots because of that.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformEfl.cmake:
3:57 AM Changeset in webkit [138006] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Add support for setMuted() for media
https://bugs.webkit.org/show_bug.cgi?id=105254

Patch by Max Feil <mfeil@rim.com> on 2012-12-18
Reviewed by George Staikos.

Simply pass the API call through to the platform layer.

Covered by existing tests.

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::setMuted):
(WebCore):
(WebCore::MediaPlayerPrivate::muted):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:

(MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::supportsMuting):

3:46 AM Changeset in webkit [138005] by yurys@chromium.org
  • 10 edits in trunk/Source

Web Inspector: show cached images under MemoryCache -> Images section
https://bugs.webkit.org/show_bug.cgi?id=105261

Reviewed by Pavel Feldman.

Source/WebCore:

Provided class name and name for several objects related to CachedImage.
Changed native memory snapsho view so that MemoryCache.Image section can
be expanded into individual images.

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeMemorySnapshotView):
(WebInspector.NativeSnapshotNode.prototype._addChildrenFromGraph):
(WebInspector.NativeHeapGraphEdge):
(WebInspector.NativeHeapGraphEdge.prototype.type):
(WebInspector.NativeHeapGraphEdge.prototype.name):
(WebInspector.NativeHeapGraphEdge.prototype.target):
(WebInspector.NativeHeapGraphEdge.prototype._getStringField):
(WebInspector.NativeHeapGraphEdge.prototype.toString):
(WebInspector.NativeHeapGraphNode.prototype.size):
(WebInspector.NativeHeapGraphNode.prototype.referencedNodes):
(WebInspector.NativeHeapGraphNode.prototype.outgoingEdges):
(WebInspector.NativeHeapGraphNode.prototype.targetOfEdge):
(WebInspector.NativeHeapGraphNode.prototype.targetsOfAllEdges):
(WebInspector.NativeHeapGraphNode.prototype._firstEdgePoistion):
(WebInspector.NativeHeapGraphNode.prototype._afterLastEdgePosition):
(WebInspector.NativeHeapGraphNode.prototype._getStringField):
(WebInspector.NativeHeapGraphNode.prototype.toString):
(WebInspector.NativeHeapGraph):
(WebInspector.NativeHeapGraph.prototype.rootNodes):
(WebInspector.NativeHeapGraph.prototype._calculateNodeEdgeIndexes):
(WebInspector.NativeHeapGraph.prototype._addDummyNode):
(WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
(WebInspector.NativeMemoryProfileType.prototype.buttonClicked):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::reportMemoryUsage):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::reportMemoryUsage):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::reportMemoryUsage):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::reportMemoryUsage):
(WebCore::FrameData::reportMemoryUsage):

  • platform/graphics/Image.cpp:

(WebCore::Image::reportMemoryUsage):

  • platform/graphics/skia/MemoryInstrumentationSkia.cpp:

(reportMemoryUsage):

Source/WTF:

Use first provided name and class name. If one of the ancestors tries to overwrite
it just ignore the call.

  • wtf/MemoryObjectInfo.h:

(WTF::MemoryObjectInfo::setClassName):
(WTF::MemoryObjectInfo::setName):

3:43 AM Changeset in webkit [138004] by caseq@chromium.org
  • 14 edits in trunk/Source/WebCore

Web Inspector: Calculate "idle" time for CPU profiles.
https://bugs.webkit.org/show_bug.cgi?id=103120

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-18
Reviewed by Pavel Feldman.

CPU profiles contain a very confusing "(program)" item.
It is time when there is no JS stack.
That could be either idle time, or time when browser is doing something.

To split "(program)" item to idle and really program time we are to
calculate idle time during profiling.

  • bindings/js/ScriptProfile.cpp: Added "idleTime" getter.
  • bindings/js/ScriptProfile.h: Ditto.
  • bindings/js/ScriptProfiler.h:

Added getter of thread-local map of currently written profiles.

  • bindings/v8/ScriptProfile.cpp: Added "idleTime" getter.
  • bindings/v8/ScriptProfile.h: Ditto.
  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::start): Put profile name to map.
(WebCore::ScriptProfiler::stop): Remove profile name from map;
pass idleTime to profile constructor.

  • bindings/v8/ScriptProfiler.h:

Added getter of thread-local map of currently written profiles.

  • inspector/Inspector.json: Added "idleTime" field to profile.
  • inspector/InspectorController.cpp: Pass hooks to profiler agent.
  • inspector/InspectorProfilerAgent.cpp:

Add idle time to currently written profiles.

  • inspector/InspectorProfilerAgent.h:

Added member to hold reference to map of currently written profiles.

  • inspector/InspectorTimelineAgent.h:

Cleanup.

  • inspector/ScriptProfile.idl:

Add "idleTime" member.

2:47 AM Changeset in webkit [138003] by yurys@chromium.org
  • 7 edits
    2 adds in trunk

Web Inspector: MediaQueryList listener silently catches errors
https://bugs.webkit.org/show_bug.cgi?id=105162

Reviewed by Alexander Pavlov.

Source/WebCore:

Drive-by: removed unused ScriptCallback::call(bool).

Test: inspector-protocol/media-query-listener-exception.html

  • bindings/js/ScriptFunctionCall.cpp:

(WebCore::ScriptCallback::call):

  • bindings/js/ScriptFunctionCall.h:

(ScriptCallback):

  • bindings/v8/ScriptFunctionCall.cpp: report uncaught exception to the inspector

if it was thrown during the function call.
(WebCore::ScriptCallback::call):

  • bindings/v8/ScriptFunctionCall.h:

(ScriptCallback):

LayoutTests:

Test that uncaught exception in MediaQueryListListener will be logged to the console.

  • http/tests/inspector-protocol/resources/protocol-test.js:

(runTest):

  • inspector-protocol/media-query-listener-exception-expected.txt: Added.
  • inspector-protocol/media-query-listener-exception.html: Added.
2:40 AM Changeset in webkit [138002] by dominik.rottsches@intel.com
  • 2 edits in trunk/LayoutTests

webaudio/oscillator* tests should use OfflineAudioContext
https://bugs.webkit.org/show_bug.cgi?id=105174

Reviewed by Kentaro Hara.

webaudio/oscillator* tests were using the slower webkitAudioContext for output rendering.
Replacing the usage with webkitOfflineAudioContext allows for faster-than-realtime rendering
in testing. Also, it avoids a deprecation warning on the console.

  • webaudio/resources/oscillator-testing.js: Replace usage of webkitAudioContext with webkitOfflineAudioContext

(generateExponentialOscillatorSweep):

2:37 AM WebInspector edited by abecsi@webkit.org
Remove spam. (diff)
2:07 AM Changeset in webkit [138001] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/qt-5.0-wk2/fast/text/zero-font-size-expected.txt: Updated.
  • platform/wk2/TestExpectations: Skip a new failing test.
2:03 AM Changeset in webkit [138000] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Network: display JavaScript stack in case of script initiator.
https://bugs.webkit.org/show_bug.cgi?id=104899

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-18
Reviewed by Vsevolod Vlasov.

Show popup with navigavle stack-trace.

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkLogView.prototype._getPopoverAnchor):
Added new target.
(WebInspector.NetworkLogView.prototype._showPopover):
Added case for new target.
(WebInspector.NetworkLogView.prototype._generateScriptInitiatedPopoverContent):
Generates table with stack trace items.
(WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
Added target marker, removed annoying titles.

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

Style fix to OpenCL SVG Filters
https://bugs.webkit.org/show_bug.cgi?id=105265

Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2012-12-18
Reviewed by Zoltan Herczeg.

Inserted missing spaces and correct copyright text. There were no vital changes.

  • platform/graphics/gpu/opencl/FilterContextOpenCL.cpp:

(WebCore):

  • platform/graphics/gpu/opencl/FilterContextOpenCL.h:

(FilterContextOpenCL):

  • platform/graphics/gpu/opencl/OpenCLFEColorMatrix.cpp:

(WebCore::FilterContextOpenCL::applyFEColorMatrix):

  • platform/graphics/gpu/opencl/OpenCLFETurbulence.cpp:

(WebCore):
(WebCore::FilterContextOpenCL::compileFETurbulence):
(WebCore::FilterContextOpenCL::applyFETurbulence):
(WebCore::FETurbulence::platformApplyOpenCL):

  • platform/graphics/gpu/opencl/OpenCLHandle.h:
1:46 AM WebInspector edited by mousewiki@yahoo.com
(diff)
1:42 AM Changeset in webkit [137998] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

Rebaselining a test after r137953.

Patch by Szilard Ledan <Szilárd LEDÁN> on 2012-12-18

  • platform/qt/editing/selection/move-by-character-6-expected.txt:
1:05 AM Changeset in webkit [137997] by jochen@chromium.org
  • 10 edits in trunk/Tools

[chromium] move webintent related methods to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=105164

Reviewed by Darin Fisher.

Also deleted the unused deliveredIntentFailure and
deliveredIntentResult methods.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

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

(WebKit):
(WebTestRunner::WebTestDelegate::setCurrentWebIntentRequest):
(WebTestRunner::WebTestDelegate::currentWebIntentRequest):

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

(WebKit):
(WebTestProxyBase):
(WebTestRunner::WebTestProxy::registerIntentService):
(WebTestRunner::WebTestProxy::dispatchIntent):

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

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::sendWebIntentResponse):
(WebTestRunner):
(WebTestRunner::TestRunner::deliverWebIntent):

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

(TestRunner):

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

(WebTestRunner::WebTestProxyBase::postAccessibilityNotification):
(WebTestRunner::WebTestProxyBase::registerIntentService):
(WebTestRunner):
(WebTestRunner::WebTestProxyBase::dispatchIntent):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::setCurrentWebIntentRequest):
(WebViewHost::currentWebIntentRequest):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebKit):
(WebViewHost):

1:02 AM Changeset in webkit [137996] by aandrey@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [WebGL] handle video elements used in WebGL
https://bugs.webkit.org/show_bug.cgi?id=105170

Reviewed by Yury Semikhatsky.

Copy current image of video elements into a canvas to use it later in the replay.

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

12:45 AM Changeset in webkit [137995] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Rebaselining a test after r137953.
Adding back failure expectations for SVG viewspec tests after the rollout in r137947.
Enhancing failure expectation for a slow HTTP multipart test that can pass,
fail or timeout.

  • platform/gtk/TestExpectations:
  • platform/gtk/editing/selection/move-by-character-6-expected.txt:
12:37 AM Changeset in webkit [137994] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Implement uncommitted memory for Linux.
https://bugs.webkit.org/show_bug.cgi?id=65766

Patch by Uli Schlachter <psychon@znc.in> on 2012-12-18
Reviewed by Simon Hausmann.

The old approach used MAP_NORESERVE to allocate address space without
committing it. However, that flag gets ignored if
/proc/sys/vm/overcommit_memory is set to 2. The new approach uses a
mapping with PROT_NONE. This works because mappings which aren't even
readable don't get accounted as committed on Linux.

  • wtf/OSAllocatorPosix.cpp:

(WTF::OSAllocator::reserveUncommitted):
(WTF::OSAllocator::reserveAndCommit):
(WTF::OSAllocator::commit):
(WTF::OSAllocator::decommit):

12:25 AM Changeset in webkit [137993] by jochen@chromium.org
  • 13 edits
    1 copy in trunk/Tools

[chromium] move editing callback dumping to the WebTestProxy
https://bugs.webkit.org/show_bug.cgi?id=105013

Reviewed by Darin Fisher.

To decide whether or not to dump the editing callbacks, the WebTestProxy
needs to query the TestRunner. For this purpose, I introduce a
WebTestRunner class that just exposes the shouldDumpEditingCallbacks
method. In contrast to e.g. WebEventSender, the WebTestRunner is just
an interface, and it is not owned by the WebTestInterfaces, but the
embedder of the TestRunner library must provide it. This will change
once all TestRunner methods are in the library.

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/chromium/DRTTestRunner.cpp:

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

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):
(DRTTestRunner::taskList):
(DRTTestRunner::WorkQueue::taskList):

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

(WebTestRunner):
(WebTestInterfaces):

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

(WebKit):
(WebTestRunner):
(WebTestProxyBase):
(WebTestRunner::WebTestProxy::shouldBeginEditing):
(WebTestRunner::WebTestProxy::shouldEndEditing):
(WebTestRunner::WebTestProxy::shouldInsertNode):
(WebTestRunner::WebTestProxy::shouldInsertText):
(WebTestRunner::WebTestProxy::shouldChangeSelectedRange):
(WebTestRunner::WebTestProxy::shouldDeleteRange):
(WebTestRunner::WebTestProxy::shouldApplyStyle):
(WebTestRunner::WebTestProxy::didBeginEditing):
(WebTestRunner::WebTestProxy::didChangeSelection):
(WebTestRunner::WebTestProxy::didChangeContents):
(WebTestRunner::WebTestProxy::didEndEditing):

  • DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h: Copied from Tools/DumpRenderTree/chromium/TestRunner/public/WebTestInterfaces.h.

(WebTestRunner):
(WebTestRunner::WebTestRunner::shouldDumpEditingCallbacks):

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

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::~TestRunner):
(WebTestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldDumpEditingCallbacks):
(WebTestRunner::TestRunner::dumpEditingCallbacks):

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

(TestRunner):

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

(WebTestRunner::WebTestInterfaces::Internal::testRunner):
(WebTestRunner::WebTestInterfaces::Internal::setTestRunner):
(WebTestInterfaces::Internal):
(WebTestRunner::WebTestInterfaces::Internal::Internal):
(WebTestRunner::WebTestInterfaces::testRunner):
(WebTestRunner):
(WebTestRunner::WebTestInterfaces::setTestRunner):

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

(WebTestRunner::WebTestProxyBase::postAccessibilityNotification):
(WebTestRunner):
(WebTestRunner::WebTestProxyBase::shouldBeginEditing):
(WebTestRunner::WebTestProxyBase::shouldEndEditing):
(WebTestRunner::WebTestProxyBase::shouldInsertNode):
(WebTestRunner::WebTestProxyBase::shouldInsertText):
(WebTestRunner::WebTestProxyBase::shouldChangeSelectedRange):
(WebTestRunner::WebTestProxyBase::shouldDeleteRange):
(WebTestRunner::WebTestProxyBase::shouldApplyStyle):
(WebTestRunner::WebTestProxyBase::didBeginEditing):
(WebTestRunner::WebTestProxyBase::didChangeSelection):
(WebTestRunner::WebTestProxyBase::didChangeContents):
(WebTestRunner::WebTestProxyBase::didEndEditing):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::initialize):
(TestShell::createNewWindow):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::shouldBeginEditing):
(WebViewHost::shouldEndEditing):
(WebViewHost::shouldInsertNode):
(WebViewHost::shouldInsertText):
(WebViewHost::shouldChangeSelectedRange):
(WebViewHost::shouldDeleteRange):
(WebViewHost::shouldApplyStyle):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

Dec 17, 2012:

11:58 PM Changeset in webkit [137992] by jochen@chromium.org
  • 5 edits in trunk/Tools

[chromium] Fix methods in TestRunner that directly modify the settings instead of going through WebPreferences
https://bugs.webkit.org/show_bug.cgi?id=105154

Reviewed by Tony Chang.

If the settings are modified directly, the embedder can't keep track of
them and might accidentially override the changed settings.

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

(WebPreferences):

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

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::setAsynchronousSpellCheckingEnabled):
(WebTestRunner):
(WebTestRunner::TestRunner::setMinimumTimerInterval):
(WebTestRunner::TestRunner::setTouchDragDropEnabled):

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

(TestRunner):

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

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

11:34 PM Changeset in webkit [137991] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Editable text element can't be selected
https://bugs.webkit.org/show_bug.cgi?id=105240

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2012-12-17
Reviewed by Rob Buis.
Internally reviewed by Genevieve Mak and Mike Fenton.

Internal PR266755
When the target is Text, we should allow it to collect text nodes in
the shadow tree of text editable elements.

  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::getNodesFromRect):

11:28 PM Changeset in webkit [137990] by shinyak@chromium.org
  • 2 edits in trunk/PerformanceTests

[Shadow] LargeDistributionWithLayout.html should be updated
https://bugs.webkit.org/show_bug.cgi?id=105242

Reviewed by Ryosuke Niwa.

Since this test was written when distribution took O(N2). However, now it's almost O(N), so this test finishes
in very short time. We should convert it unit to runs/s.

This test contains a some error to cause test failure, e.g. using obsolete API, so they also should be fixed.

  • ShadowDOM/LargeDistributionWithLayout.html:
11:20 PM Performance Tests edited by rniwa@webkit.org
Revised some (diff)
11:14 PM Changeset in webkit [137989] by caseq@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Web Inspector: paint inspector overlay on a transparency layer
https://bugs.webkit.org/show_bug.cgi?id=97659

Reviewed by Yury Semikhatsky.

Add a call to PlatformContextSkia::setDrawingToImageBuffer(true) to
fix wrong rendering of content on transparent background.

  • src/WebDevToolsAgentImpl.cpp:

(WebKit::WebDevToolsAgentImpl::paintPageOverlay):

10:54 PM Changeset in webkit [137988] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Constant fold !{number} in the parser
https://bugs.webkit.org/show_bug.cgi?id=105232

Reviewed by Filip Pizlo.

Typically, we wait for hot execution and constant fold in the DFG.
However, !0 and !1 are common enough in minifiers that it can be good
to get them out of the way early, for faster/smaller parsing and startup.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createLogicalNot): !{literal} is super simple, especially
since there's no literal form of NaN or Inf.

10:37 PM Changeset in webkit [137987] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

Exposing querySelector function on WebNode
https://bugs.webkit.org/show_bug.cgi?id=105193

Patch by Alex Hutter <ahutter@chromium.org> on 2012-12-17
Reviewed by Darin Fisher.

This change is necessitated by the new autofill flows in chromium.

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

(WebKit::WebNode::querySelector):
(WebKit):

10:10 PM Changeset in webkit [137986] by jchaffraix@webkit.org
  • 2 edits in trunk/Tools

Unreviewed unit test skipping.

Filed https://bugs.webkit.org/show_bug.cgi?id=105253 to re-enable them.

  • TestWebKitAPI/Tests/WTF/MathExtras.cpp:

(TestWebKitAPI):
(TestWebKitAPI::TEST):

9:53 PM Changeset in webkit [137985] by loislo@chromium.org
  • 6 edits
    5 adds in trunk/LayoutTests

Unreviewed rebaseline after r137593.

  • platform/chromium-linux-x86/editing/selection/move-by-character-6-expected.txt: Added.
  • platform/chromium-linux/editing/selection/move-by-character-6-expected.png:
  • platform/chromium-linux/editing/selection/move-by-character-6-expected.txt: Added.
  • platform/chromium-mac-lion/editing/selection/move-by-character-6-expected.png:
  • platform/chromium-mac-lion/editing/selection/move-by-character-6-expected.txt: Added.
  • platform/chromium-mac-snowleopard/editing/selection/move-by-character-6-expected.txt: Added.
  • platform/chromium-mac/editing/selection/move-by-character-6-expected.png:
  • platform/chromium-mac/editing/selection/move-by-character-6-expected.txt: Added.
  • platform/chromium-win/editing/selection/move-by-character-6-expected.png:
  • platform/chromium-win/editing/selection/move-by-character-6-expected.txt:
9:35 PM Changeset in webkit [137984] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Add ASSERTions to ensure that CSSPropertys that are variables only ever refer to CSSValues that are variables.
https://bugs.webkit.org/show_bug.cgi?id=104876

Reviewed by Steve Block.

Add assertions to CSSProperty constructors to make that if it is initialized with CSSPropertyVariable that
the value type associated with it is also a variable. This is already asserted at read time, but ASSERTing
here will produce a more useful backtrace.

No new tests as functionality unchanged.

  • css/CSSProperty.h:

(WebCore::CSSProperty::CSSProperty):

9:30 PM Changeset in webkit [137983] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Make inspector scripts sourceURL absolute.
https://bugs.webkit.org/show_bug.cgi?id=105166

Reviewed by Yury Semikhatsky.

  • inspector/front-end/utilities.js:
9:23 PM Changeset in webkit [137982] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

REGRESSION(r137442): Crash because of an uninitialized member.
https://bugs.webkit.org/show_bug.cgi?id=105246

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

TextureMapperGL defines m_context although TextureMapper defines m_context.
r137442 removes the initialization code in TextureMapperGL, which is
what causes this regression. This patch removes the duplicated member
in TextureMapperGL.

No new tests. Covered by existing tests.

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::TextureMapper::TextureMapper):

  • platform/graphics/texmap/TextureMapper.h:

(WebCore::TextureMapper::setGraphicsContext):
(WebCore::TextureMapper::graphicsContext):
(TextureMapper):

  • platform/graphics/texmap/TextureMapperGL.h:

(WebCore):

9:01 PM Changeset in webkit [137981] by pdr@google.com
  • 4 edits
    2 adds in trunk

Queue container size requests while images are loading.
https://bugs.webkit.org/show_bug.cgi?id=105097

Reviewed by Dean Jackson.

Source/WebCore:

We use CachedImage::setContainerSizeForRenderer(...) to notify images of requesting
container sizes. Unfortunately, if the image is not yet loaded we ignore this container
size information! This patch stores requesting container sizes made while the image is
not yet loaded.

This patch fixes a bug where SVG images would display incorrectly on the first load but
correctly thereafter. Additionally, this bug caused the SVGImageCache to not be used in many
real world scenarios.

This patch is loosely based on a patch by blambov in WK98403.

Test: http/tests/misc/svg-image-delayed-size-negotiation.html

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::didRemoveClient):
(WebCore::CachedImage::allClientsRemoved):
(WebCore::CachedImage::setContainerSizeForRenderer):
(WebCore::CachedImage::clear):
(WebCore::CachedImage::createImage):

  • loader/cache/CachedImage.h:

A new map has been added to track renderer -> size information before an image has
loaded. Note that this affects all images (not just images that require container size
information) but we cannot know the image type before the image has loaded.

LayoutTests:

I reused the embedded.svg and svg-slow.pl test files from a similar test for svg-as-object
size negotiation. svg-slow.pl simply delays the loading of the embedded.svg file.
Triggering this bug reliably using the local filesystem is too brittle.

  • http/tests/misc/svg-image-delayed-size-negotiation-expected.html: Added.
  • http/tests/misc/svg-image-delayed-size-negotiation.html: Added.
8:35 PM Changeset in webkit [137980] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk

DFG is too aggressive eliding overflow checks for additions involving large constants
https://bugs.webkit.org/show_bug.cgi?id=105239

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

If we elide overflow checks on an addition (or subtraction) involving a larger-than-232 immediate,
then make sure that the non-constant child of the addition knows that he's got to do an overflow
check, by flowing the UsedAsNumber property at him.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::addSpeculationMode):
(Graph):
(JSC::DFG::Graph::addShouldSpeculateInteger):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

LayoutTests:

  • fast/js/dfg-int-overflow-large-constants-in-a-line-expected.txt: Added.
  • fast/js/dfg-int-overflow-large-constants-in-a-line.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-int-overflow-large-constants-in-a-line.js: Added.

(foo):

8:33 PM Changeset in webkit [137979] by shinyak@chromium.org
  • 6 edits in trunk

Web Inspector: need to visually distinguish UA shadow roots
https://bugs.webkit.org/show_bug.cgi?id=104877

Reviewed by Yury Semikhatsky.

Source/WebCore:

Now we have an option to show ShadowRoot in the Inspector. Since the Inspector has displayed UserAgent ShadowRoot and
Author ShadowRoot as the same #shadow-root, a user could not distinguish them.

We would like to show UserAgent ShadowRoot as #webkit-shadow-root.

Test: inspector/shadow-root.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode): Make nodeName of UserAgent ShadowRoot #webkit-shadow-root.
Since the correct nodeName of ShadowRoot is #document-fragment, we have to specify the nodeName of Author ShadowRoot
as #shadow-root here.

LayoutTests:

  • inspector/elements/shadow-dom-modify-chardata-expected.txt:
  • inspector/elements/shadow-root-expected.txt:
  • inspector/elements/shadow-root.html: Adds <input> test.
8:28 PM Changeset in webkit [137978] by tasak@google.com
  • 3 edits in trunk/LayoutTests

fast/dom/shadow/host-wrapper-reclaimed.html is failing on EFL bots
https://bugs.webkit.org/show_bug.cgi?id=103109

Reviewed by Kentaro Hara.

host-wrapper-reclaimed uses gc(), but the function gc is not defined
in all platforms, e.g. "ReferenceError: Can't find variable: gc".
So we should include js-test-pre.js, which defines gc.

  • fast/dom/shadow/host-wrapper-reclaimed-expected.txt:
  • fast/dom/shadow/host-wrapper-reclaimed.html:
8:19 PM Changeset in webkit [137977] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Prevent selection handles from being rendered after selection was canceled
https://bugs.webkit.org/show_bug.cgi?id=105203

Patch by Yongxin Dai <yodai@rim.com> on 2012-12-17
Reviewed by Rob Buis.

PR255438

Here is the explanation why handles occur without selection overlay.

  1. Still touch at current selection (Selection A) initiated by touch-hold
  2. Selection expanding (Selection B) is ongoing
  3. Finger moves. In UI thread:

1) SelectionHander::cancelSelection() gets called.

  1. Selection A is canceled immediately (clear selecting state and hide handles)
  2. Post a request to webkit thread to cancel Selection A.
  1. In webkit thread:

1) Selection B becomes active selection

  1. Show selection overlay for Selection B
  2. Dispatch Selection B to UI thread to show handles

2) Handle the request of canceling Selection A. The selection A was gone. Instead the active Selection B is canceled.
The visual change is Selection overlay for Selection B becomes invisible..

  1. In UI thread:

Selection B is rendered. The start handle and the end handle occur without selection overlay.

The fix is to notify client with a empty selection whenever the selection is canceled in webkit thread.

Reviewed Internally by Mike Fenton.

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::cancelSelection):

7:51 PM Changeset in webkit [137976] by msaboff@apple.com
  • 12 edits
    1 move
    1 delete in trunk/Source/JavaScriptCore

DFG: Refactor DFGCorrectableJumpPoint to reduce size of OSRExit data
https://bugs.webkit.org/show_bug.cgi?id=105237

Reviewed by Filip Pizlo.

Replaced DFGCorrectableJumpPoint with OSRExitCompilationInfo which is used and kept alive only while we are
compiling in the DFG. Moved the patchable branch offset directly into OSRExit.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • assembler/AbstractMacroAssembler.h:
  • dfg/DFGCorrectableJumpPoint.cpp: Removed.
  • dfg/DFGCorrectableJumpPoint.h: Removed.
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::appendExitJump):
(JITCompiler):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::OSRExit::setPatchableCodeOffset):
(JSC::DFG::OSRExit::getPatchableCodeOffsetAsJump):
(JSC::DFG::OSRExit::codeLocationForRepatch):
(JSC::DFG::OSRExit::correctJump):

  • dfg/DFGOSRExit.h:

(OSRExit):

  • dfg/DFGOSRExitCompilationInfo.h: Added.

(OSRExitCompilationInfo):
(JSC::DFG::OSRExitCompilationInfo::OSRExitCompilationInfo):
(JSC::DFG::OSRExitCompilationInfo::failureJump):

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):

7:51 PM Changeset in webkit [137975] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1312

Merge 137464
BUG=165602
Review URL: https://codereview.chromium.org/11616012

7:47 PM Changeset in webkit [137974] by cevans@google.com
  • 2 edits in branches/chromium/1312/Source/WebCore/dom

Merge 137739
BUG=165864
Review URL: https://codereview.chromium.org/11593024

7:44 PM Changeset in webkit [137973] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the Mac build.

  • NetworkProcess/mac/NetworkProcessMac.mm:
7:44 PM Changeset in webkit [137972] by cevans@google.com
  • 2 edits in branches/chromium/1312/LayoutTests/fast/dom

Merge 137736
BUG=165864
Review URL: https://codereview.chromium.org/11612012

7:41 PM Changeset in webkit [137971] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1312

Merge 137702
BUG=165864
Review URL: https://codereview.chromium.org/11573057

7:30 PM Changeset in webkit [137970] by danakj@chromium.org
  • 2 edits in trunk/Source/Platform

[chromium] Add the GL_CHROMIUM_lose_context to WebGraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=105238

Reviewed by James Robinson.

  • chromium/public/WebGraphicsContext3D.h:

(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::loseContext):

6:39 PM Changeset in webkit [137969] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Add ecore_imf_evas to FindEcore.cmake
https://bugs.webkit.org/show_bug.cgi?id=105159

Patch by Halton Huo <halton.huo@intel.com> on 2012-12-17
Reviewed by Laszlo Gombos.

.:

ecore_imf_evas is a separate library, we should add for EFL port as well.

  • Source/cmake/FindEcore.cmake: Add finding FIND_EFL_LIBRARY for ecore_imf_evas

Source/WebKit2:

  • PlatformEfl.cmake: Add ECORE_IMF_EVAS_LIBRARIES to WebProcess_LIBRARIES
6:38 PM Changeset in webkit [137968] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=103959

Patch by Huang Dongsung <luxtella@company100.net> on 2012-12-17
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop() is used when class
methods cannot be called asynchronously by client. Updates of tiles are
committed as soon as all the events in event queue have been processed.
After this patch Frame sets m_commitTileUpdatesOnIdleEventLoop to true.

In addition, remove TiledBackingStoreClient::tiledBackingStoreUpdatesAllowed()
which was introduced for Coordinated Graphics.

Refactoring covered by existing tests.

  • page/Frame.cpp:

(WebCore::Frame::setTiledBackingStoreEnabled):

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::TiledBackingStore):
(WebCore::TiledBackingStore::setTrajectoryVector):

Separate setting a trajectory vector from coverWithTilesIfNeeded().

(WebCore::TiledBackingStore::coverWithTilesIfNeeded):
(WebCore::TiledBackingStore::updateTileBuffers):
(WebCore::TiledBackingStore::createTiles):
(WebCore::TiledBackingStore::isTileBufferUpdatesSuspended):
(WebCore::TiledBackingStore::startTileBufferUpdateTimer):
(WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
(WebCore::TiledBackingStore::startBackingStoreUpdateTimer):
(WebCore::TiledBackingStore::backingStoreUpdateTimerFired):

  • platform/graphics/TiledBackingStore.h:

(TiledBackingStore):
(WebCore::TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop):

  • platform/graphics/TiledBackingStoreClient.h:

(WebCore::TiledBackingStoreClient::tiledBackingStoreHasPendingTileCreation):

If TiledBackingStore does not create all tiles, TiledBackingStore
notifies a client of needing to create tiles more, when
m_commitTileUpdatesOnIdleEventLoop is false.

Source/WebKit2:

Currently, CoordinatedGraphicsLayer has complex code related to TiledBackingStore.
It has two problem.

  1. CoordinatedGraphicsLayer hacks TiledBackingStore to prevent

TiledBackingStore from asynchronously sending UpdateTile message to UI
Process.

  1. CreateTile and RemoveTile message can be sent to UI Process at any time.

This patch makes CoordinatedGraphicsLayer use TiledBackingStore more explicitly.
It means only during flushing layer states, CoordinatedGraphicsLayer
calls methods of TiledBackingStore, which indirectly call createTile(),
updateTile() and removeTile().

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::CoordinatedGraphicsLayer::setContentsScale):
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::setNeedsVisibleRectAdjustment):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
(WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
(WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
6:22 PM Changeset in webkit [137967] by beidson@apple.com
  • 8 edits in trunk/Source/WebKit2

Can't visit sites with untrusted certs with the NetworkProcess.
<rdar://problem/12885641> and https://bugs.webkit.org/show_bug.cgi?id=105235

Reviewed by Sam Weinig.

For Mac the missing functionality is being able to tell the network layer in the
NetworkProcess to temporarily accept a certificate chain for the given host.

This patch adds some SPI supporting the way this works on Mac.

Add a message and Mac implementation for "allowSpecificHTTPSCertificateForHost":

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):

Add SPI for the embedding app"

  • UIProcess/API/C/WKContext.cpp:

(WKContextAllowSpecificHTTPSCertificateForHost):

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

(WebKit::WebContext::allowSpecificHTTPSCertificateForHost):

  • UIProcess/WebContext.h:
5:56 PM Changeset in webkit [137966] by dino@apple.com
  • 8 edits
    2 adds in trunk

Track menu should be sorted
https://bugs.webkit.org/show_bug.cgi?id=105229

Reviewed by Eric Carlson.

Source/WebCore:

Make sure that the <li> elements in the track menu are correctly
sorted as they are built. This uses insertion sort, but it shouldn't
be horrible given that we don't expect a huge number of tracks.

Test: media/video-controls-captions-trackmenu-sorted.html

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
(WebCore::insertTextTrackMenuItemIntoSortedContainer): New function that calls insertBefore with
the correct parameters to ensure the <ul> is correctly sorted.
(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):

  • html/shadow/MediaControlElements.h:

(MediaControlClosedCaptionsTrackListElement): Rename menuItems to m_menuItems for consistency.

LayoutTests:

New test to make sure we sort the menu of available tracks.

  • media/video-controls-captions-trackmenu-sorted-expected.txt: Added.
  • media/video-controls-captions-trackmenu-sorted.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
5:48 PM Changeset in webkit [137965] by dino@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Add Silvia Pfeiffer to contributor list.

  • Scripts/webkitpy/common/config/committers.py:
5:43 PM Changeset in webkit [137964] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Regression causing DOM objects to have unstable NPObject* references with v8 bindings
https://bugs.webkit.org/show_bug.cgi?id=104921

Source/WebCore:

Patch by Matthew Dempsky <mdempsky@google.com> on 2012-12-17
Reviewed by Kentaro Hara.

Fix regression introduced by changeset 135804 resulting in
unstable NPObject* references for v8 objects. In the iter !=
v8NPObjectMap->end() code path, objectVector was left unassigned
if the for loop terminated without returning.

Also, V8Object::GetIdentityHash() is documented as not being guaranteed
as unique. As such, don't ASSERT() that two objects with the same hash
must therefor be the same object.

Tests: plugins/npruntime/embed-property-iframe-equality.html

  • bindings/v8/NPV8Object.cpp:

(WebCore::npCreateV8ScriptObject): Fix.

LayoutTests:

Patch by Mathew Dempsky <mdempsky@google.com> on 2012-12-17
Reviewed by Kentaro Hara.

Add variant of embed-property-equality test to verify that the
test still passes when the object being tested for equality
has already been remembered by a plugin from a different
JavaScript context.

  • plugins/npruntime/embed-property-iframe-equality.html: Added.
  • plugins/npruntime/embed-property-iframe-equality-expected.txt: Added.
5:35 PM Changeset in webkit [137963] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk

DFG is too aggressive with eliding overflow checks in loops
https://bugs.webkit.org/show_bug.cgi?id=105226

Reviewed by Mark Hahnenberg and Oliver Hunt.

Source/JavaScriptCore:

If we see a variable's live range cross basic block boundaries, conservatively assume that it may
be part of a data-flow back-edge, and as a result, we may have entirely integer operations that
could lead to the creation of an integer that is out of range of 252 (the significand of a double
float). This does not seem to regress any of the benchmarks we care about, and it fixes the bug.

In future we may want to actually look at whether or not there was a data-flow back-edge instead
of being super conservative about it. But we have no evidence, yet, that this would help us on
real code.

  • dfg/DFGNodeFlags.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

LayoutTests:

  • fast/js/dfg-int-overflow-in-loop-expected.txt: Added.
  • fast/js/dfg-int-overflow-in-loop.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-int-overflow-in-loop.js: Added.

(foo):

5:21 PM Changeset in webkit [137962] by Chris Fleizach
  • 10 edits
    2 adds in trunk

Seamless iframe should not announce a new browsing context
https://bugs.webkit.org/show_bug.cgi?id=86317

Reviewed by Eric Seidel.

Source/WebCore:

Introduce a new role for seamless frames so that the platforms can decide what to do
with this kind of object. For the mac, it's exposed as a group.

Test: platform/mac/accessibility/seamless-iframe.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore):

  • accessibility/AccessibilityNodeObject.h:

(AccessibilityNodeObject):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isWebArea):
(WebCore::AccessibilityObject::isSeamlessWebArea):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::parentObjectIfExists):
(WebCore::AccessibilityRenderObject::parentObject):
(WebCore::AccessibilityRenderObject::boundingBoxRect):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(createAccessibilityRoleMap):

Source/WebKit/chromium:

  • public/WebAccessibilityRole.h:
  • src/AssertMatchingEnums.cpp:

LayoutTests:

  • platform/mac/accessibility/seamless-iframe-expected.txt: Added.
  • platform/mac/accessibility/seamless-iframe.html: Added.
5:03 PM Changeset in webkit [137961] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Butterfly::growArrayRight shouldn't be called on null Butterfly objects
https://bugs.webkit.org/show_bug.cgi?id=105221

Reviewed by Filip Pizlo.

Currently we depend upon the fact that Butterfly::growArrayRight works with null Butterfly
objects purely by coincidence. We should add a new static function that null checks the old
Butterfly object and creates a new one if it's null, or calls growArrayRight if it isn't for
use in the couple of places in JSObject that expect such behavior to work.

  • runtime/Butterfly.h:

(Butterfly):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::createOrGrowArrayRight):
(JSC):

  • runtime/JSObject.cpp:

(JSC::JSObject::createInitialIndexedStorage):
(JSC::JSObject::createArrayStorage):

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

Percentage width replaced element incorrectly rendered when intrinsic size changed
https://bugs.webkit.org/show_bug.cgi?id=102784

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-12-17
Reviewed by Tony Chang.

Source/WebCore:

To make relayout when the image dimension is changed,
and if the logical width is percent type and the containing block fits to it.
In this case, the containing block's width need to be updated first,
because the 'newWidth' was calculated from the 'old containing block width'.

Test: fast/css/percent-width-img-src-change.html

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageDimensionsChanged):

LayoutTests:

Add test to check when the source of images with percentage width is changed.

  • fast/css/percent-width-img-src-change.html: Added.
  • fast/css/percent-width-img-src-change-expected.txt: Added.
4:44 PM Changeset in webkit [137959] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

DidHitRelevantRepaintedObjectsAreaThreshold should not use the viewRect since
that varies
https://bugs.webkit.org/show_bug.cgi?id=105116
-and corresponding-
<rdar://problem/12889449>

Reviewed by Geoff Garen.

DidHitRelevantRepaintedObjectsAreaThreshold should not use the viewRect since that
varies depending on window size. This can lead to a huge amount of variability in
the heuristic which is not desired. Instead, we should use a hard-coded rect.

  • page/Page.cpp:

(WebCore::relevantViewRect):
(WebCore):
(WebCore::Page::addRelevantRepaintedObject):
(WebCore::Page::addRelevantUnpaintedObject):

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

[CoordinatedGraphics] Assertion hit in WebKit::LayerTreeRenderer::setLayerState()
https://bugs.webkit.org/show_bug.cgi?id=104518

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

CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly() must perform
only during flushing pending layer changes in CoordinatedLayerTreeHost.
RenderLayerCompositor can call GraphicsLayer::flushCompositingState() regardless
of CoordinatedLayerTreeHost and it breaks our assumption. It means that
CoordinatedGraphicsLayer can send messages although m_waitingForUIProcess in
CoordinatedLayerTreeHost is true.

Assertion hits because of the same reason. If RenderLayerCompositor calls
flushCompositingState() before the first CoordinatedLayerTreeHost::flushPendingLayerChanges(),
SetCompositingLayerState message can be prior to SetRootCompositingLayer message.

We fix this by ensuring that we perform the layer flush only in the code
path originating from CoordinatedLayerTreeHost.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayerClient):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
4:26 PM Changeset in webkit [137957] by Simon Fraser
  • 9 edits
    2 adds in trunk

Fix repositioning of fixed elements on zooming
https://bugs.webkit.org/show_bug.cgi?id=105223

Reviewed by Beth Dakin.

Source/WebCore:

When zoomed, scrolling would move the layers of fixed-position
elements oddly. This happened because on the scrolling thread we
passed a scale of 1, rather than the actual page scale to
scrollOffsetForFixedPosition().

Fix by plumbing the page scale through the scrolling state node
to the scrolling node.

Test: platform/mac/tiled-drawing/fixed/four-bars-zoomed.html

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
(WebCore::ScrollingStateScrollingNode::dumpProperties):

  • page/scrolling/ScrollingStateScrollingNode.h:

(WebCore::ScrollingStateScrollingNode::frameScaleFactor):
(ScrollingStateScrollingNode):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::update):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::frameScaleFactor):
(ScrollingTreeScrollingNode):

  • page/scrolling/mac/ScrollingCoordinatorMac.h:

(ScrollParameters):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinatorMac::setScrollParametersForNode):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

LayoutTests:

Testcase that zoomed with fixed-position elements.

  • platform/mac/tiled-drawing/fixed/four-bars-zoomed-expected.txt: Added.
  • platform/mac/tiled-drawing/fixed/four-bars-zoomed.html: Added.
4:05 PM Changeset in webkit [137956] by dpranke@chromium.org
  • 2 edits in trunk/Tools

build.webkit.org - add more google windows bots
https://bugs.webkit.org/show_bug.cgi?id=105225

Reviewed by Eric Seidel.

Adds two more windows bots (google-windows-3, a builder, and
google-windows-4, a tester) for the Chromium configs.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
4:01 PM Changeset in webkit [137955] by commit-queue@webkit.org
  • 18 edits
    2 adds in trunk

Implement matching cue by the class name with ::cue pseudo element
https://bugs.webkit.org/show_bug.cgi?id=104191

Patch by Dima Gorbik <dgorbik@apple.com> on 2012-12-17
Reviewed by Antti Koivisto.

Source/WebCore:

Implemented the ::cue() pseudo-element with an argument that may hold a simple selector list.
This enables matching cue objects by the class name.

Test: media/track/track-css-matching.html

  • css/CSSGrammar.y.in: support parsing the ::cue() with an argument.
  • css/CSSParser.cpp:

(WebCore::CSSParser::detectFunctionTypeToken): tokenize the 'cue'.
(WebCore::CSSParser::updateSpecifiersWithElementName): do not set the tag for the cue pseudo-element because
the ::cue may match elements with different tags.
(WebCore::CSSParser::updateSpecifiers): the behavior for the PseudoCue selector should be same as for
unknown pseudo elements - the pseudo-element should stay on top of the selector chain.

  • css/CSSSelector.cpp: added the type detection for the new selector.

(WebCore::CSSSelector::pseudoId):
(WebCore::nameToPseudoTypeMap):
(WebCore::CSSSelector::extractPseudoType):

  • css/CSSSelector.h:
  • css/RuleSet.cpp: add a new list to hold all the rulesets for the new pseudo element.

(WebCore::RuleSet::reportMemoryUsage):
(WebCore::RuleSet::addRule):
(WebCore::RuleSet::shrinkToFit):

  • css/RuleSet.h:

(RuleSet):
(WebCore::RuleSet::cuePseudoRules):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOneSelector):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRules):

  • dom/Element.cpp: an addition to the rare data to be able to find out if the node is a webvtt node.

(WebCore):
(WebCore::Element::isWebVTTNode):
(WebCore::Element::setIsWebVTTNode):
(WebCore::Element::cloneDataFromElement):

  • dom/Element.h:

(Element):

  • dom/ElementRareData.h:

(ElementRareData):

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(NodeRareData):
(WebCore::NodeRareData::isWebVTTNode):
(WebCore::NodeRareData::setIsWebVTTNode):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::markNodesAsWebVTTNodes): mark the cloned nodes as WebVTT nodes.
(WebCore):
(WebCore::TextTrackCue::getCueAsHTML):

  • html/track/TextTrackCue.h:

(TextTrackCue):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::constructTreeFromToken):

  • rendering/style/RenderStyleConstants.h:

LayoutTests:

Verify that ::cue pseudo-element accepts a simple-selector list that matches cue objects by the a class.

  • media/track/captions-webvtt/styling.vtt:
  • media/track/track-css-matching-expected.txt: Added.
  • media/track/track-css-matching.html: Added.
3:59 PM Changeset in webkit [137954] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

IndexedDB: Don't use strings to represent serialized values
https://bugs.webkit.org/show_bug.cgi?id=104354

Patch by Michael Pruett <michael@68k.org> on 2012-12-17
Reviewed by Kentaro Hara.

Use Vector<uint8_t> rather than String to represent serialized values
in IndexedDB. This change is necessary to implement IndexedDB for JSC.

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::getRecord):
(WebCore::IDBBackingStore::putRecord):
(WebCore::ObjectStoreKeyCursorImpl::value):
(WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
(WebCore::ObjectStoreCursorImpl::value):
(ObjectStoreCursorImpl):
(WebCore::ObjectStoreCursorImpl::loadCurrentRow):
(WebCore::IndexKeyCursorImpl::value):
(WebCore::IndexCursorImpl::value):
(WebCore::IndexCursorImpl::IndexCursorImpl):
(IndexCursorImpl):
(WebCore::IndexCursorImpl::loadCurrentRow):

  • Modules/indexeddb/IDBBackingStore.h:

(IDBBackingStore):
(Cursor):

  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):

  • Modules/indexeddb/IDBCursorBackendImpl.h:

(WebCore::IDBCursorBackendImpl::value):

  • Modules/indexeddb/IDBIndexBackendImpl.cpp:

(WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::perform):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::perform):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore):

  • bindings/js/SerializedScriptValue.h:
  • bindings/v8/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::createFromWireBytes):
(WebCore):
(WebCore::SerializedScriptValue::toWireBytes):

  • bindings/v8/SerializedScriptValue.h:

(SerializedScriptValue):

3:54 PM Changeset in webkit [137953] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Layout Test editing/selection/move-by-character-crash-test-textarea.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=104951

Reviewed by Eric Seidel.

The problem was that editing/selection/move-by-character-6.html was running editing commands
in a timer without making the test runner wait. Fixed the bug by calling waitUntilDone and
notifyDone at appropriate places in editing.js.

We don't need to rebaseline other tests since this is the only test that uses commandDelay.

  • editing/editing.js:

(setSelectionCommand):
(transposeCharactersCommand):
(moveSelectionLeftByCharacterCommand):
(moveSelectionRightByCharacterCommand):
(extendSelectionLeftByCharacterCommand):
(extendSelectionRightByCharacterCommand):
(moveSelectionForwardByCharacterCommand):
(extendSelectionForwardByCharacterCommand):
(moveSelectionForwardByWordCommand):
(extendSelectionForwardByWordCommand):
(moveSelectionForwardBySentenceCommand):
(extendSelectionForwardBySentenceCommand):
(moveSelectionForwardByLineCommand):
(extendSelectionForwardByLineCommand):
(moveSelectionForwardByLineBoundaryCommand):
(extendSelectionForwardByLineBoundaryCommand):
(moveSelectionBackwardByCharacterCommand):
(extendSelectionBackwardByCharacterCommand):
(moveSelectionBackwardByWordCommand):
(extendSelectionBackwardByWordCommand):
(moveSelectionBackwardBySentenceCommand):
(extendSelectionBackwardBySentenceCommand):
(moveSelectionBackwardByLineCommand):
(extendSelectionBackwardByLineCommand):
(extendSelectionBackwardByLineBoundaryCommand):
(moveSelectionBackwardByLineBoundaryCommand):
(boldCommand):
(underlineCommand):
(fontNameCommand):
(fontSizeCommand):
(fontSizeDeltaCommand):
(italicCommand):
(justifyCenterCommand):
(justifyLeftCommand):
(justifyRightCommand):
(insertHTMLCommand):
(insertImageCommand):
(insertLineBreakCommand):
(insertParagraphCommand):
(insertNewlineInQuotedContentCommand):
(typeCharacterCommand):
(selectAllCommand):
(strikethroughCommand):
(undoCommand):
(redoCommand):
(changeRootSize):
(cutCommand):
(copyCommand):
(pasteCommand):
(createLinkCommand):
(unlinkCommand):
(pasteAndMatchStyleCommand):
(deleteCommand):
(forwardDeleteCommand):
(backColorCommand):
(foreColorCommand):
(executeCommand):

  • platform/mac/editing/selection/move-by-character-6-expected.txt: Rebaselined.
3:28 PM Changeset in webkit [137952] by eric@webkit.org
  • 2 edits in trunk/Tools

Cleanup --profiler=perf code a little and allow up to 1000 report files (instead of 100)
https://bugs.webkit.org/show_bug.cgi?id=105217

Reviewed by Dirk Pranke.

Previously --profile would fail strangely if find_unused_filename returned None
(which would happen as soon as we had 100 report files).
Now we'll search through 1000 filenames before giving up (and assert if we failed to find one).
I also made some minor cleanups to the output of perf, and tried to make the
commands more self-documenting by using long-names for args.

  • Scripts/webkitpy/common/system/profiler.py:

(SingleFileOutputProfiler.init):
(Perf.attach_to_pid):
(Perf.profile_after_exit):

3:10 PM Changeset in webkit [137951] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

javascript integer overflow
https://bugs.webkit.org/show_bug.cgi?id=104967

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Fix PutScopedVar backward flow.

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

LayoutTests:

  • fast/js/dfg-put-scoped-var-backward-flow-expected.txt: Added.
  • fast/js/dfg-put-scoped-var-backward-flow.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-put-scoped-var-backward-flow.js: Added.

(sum):

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

Change SET_VAR, SET_BORDERVALUE_COLOR macro to require semicolon(;) at the end of the line
https://bugs.webkit.org/show_bug.cgi?id=104774

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-12-17
Reviewed by Eric Seidel.

Remove the last ; in SET_VAR, SET_BORDERVALUE_COLOR macro definition.
Add the omitted ; in RenderStyle.h | .cpp

No new tests, just style change.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setColor):
(WebCore::RenderStyle::setVisitedLinkColor):
(WebCore::RenderStyle::setHorizontalBorderSpacing):
(WebCore::RenderStyle::setVerticalBorderSpacing):

  • rendering/style/RenderStyle.h:
2:43 PM Changeset in webkit [137949] by yoli@rim.com
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Deadlock caused by PluginViewPrivate::destroyBuffers()
https://bugs.webkit.org/show_bug.cgi?id=105215

Reviewed by Rob Buis.
Also internally reviewed by George Staikos.

PR# 266443
It should release mutexes before sending sync message.

  • plugins/blackberry/PluginViewPrivateBlackBerry.cpp:

(WebCore::PluginViewPrivate::destroyBuffers):

2:42 PM Changeset in webkit [137948] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk/LayoutTests

Chromium rebaseline fast/gradients/css3-linear-angle-gradients.html
https://bugs.webkit.org/show_bug.cgi?id=105211

Patch by Tab Atkins <jackalmage@gmail.com> on 2012-12-17
Reviewed by Dean Jackson.

  • platform/chromium-mac-lion/fast/gradients/css3-linear-angle-gradients-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/gradients/css3-linear-angle-gradients-expected.png: Removed.
  • platform/chromium-mac/fast/gradients/css3-linear-angle-gradients-expected.png:
  • platform/chromium-win/fast/gradients/css3-linear-angle-gradients-expected.png:
2:36 PM Changeset in webkit [137947] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed, rolling out r137198.
http://trac.webkit.org/changeset/137198
https://bugs.webkit.org/show_bug.cgi?id=105212

This patch is causing API behavior compatibility problems
(Requested by zdobersek on #webkit).

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

Source/WebCore:

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateFromSoupMessage):

Tools:

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(willSendRequestCallback):

2:24 PM Changeset in webkit [137946] by dmazzoni@google.com
  • 14 edits
    2 adds in trunk

AX: textUnderElement should consider alt text, but skip links and controls
https://bugs.webkit.org/show_bug.cgi?id=101650

Reviewed by Chris Fleizach.

Source/WebCore:

Getting inner text from an element now ignores focusable descendants
and containers, but uses alternative text. The computation of
textUnderElement is now recursive and doesn't depend on text
iterators, which might not do the right thing for accessibility
anyways.

For GTK, the old behavior is retained so that support for
the object replacement character is still there. Filed a new
bug (105214) for GTK folks to look at this.

Test: accessibility/button-title-uses-inner-img-alt.html
Test: accessibility/focusable-div.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore):
(WebCore::shouldUseAccessiblityObjectInnerText):
(WebCore::AccessibilityNodeObject::textUnderElement):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):

LayoutTests:

Adds new tests to show that getting inner text from an element
now ignores focusable descendants and containers, but uses alternative
text.

Updates and rebaselines several tests to reflect the new logic.
Skips these tests on GTK until support for the object replacement
character can be added.

  • accessibility/button-title-uses-inner-img-alt-expected.txt: Added.
  • accessibility/button-title-uses-inner-img-alt.html: Added.
  • accessibility/focusable-div-expected.txt: Extended with more test cases.
  • accessibility/focusable-div.html: Extended with more test cases.
  • platform/chromium/TestExpectations: Un-skip test that now passes.
  • platform/chromium/accessibility/image-link-expected.txt: Rebaseline
  • platform/mac/accessibility/image-link-expected.txt: Rebaseline
  • platform/mac/accessibility/internal-link-anchors2-expected.txt: Rebaseline
  • platform/mac/accessibility/static-text-role-uses-text-under-element-expected.txt: Rebaseline
  • platform/mac/accessibility/static-text-role-uses-text-under-element.html: Fix
  • platform/mac/accessibility/table-with-aria-role-expected.txt: Rebaseline
  • platform/gtk/TestExpectations: Skip these tests until this feature is implemented for GTK.
2:17 PM Changeset in webkit [137945] by leviw@chromium.org
  • 6 edits in trunk/LayoutTests

Convert sub-pixel iframe-copy-on-scroll tests to use Mock scrollbars
https://bugs.webkit.org/show_bug.cgi?id=105210

Reviewed by Emil A Eklund.

Converting the iframe tests in sub-pixel/ to use mock scrollbars. These tests needed to
be rebaselined following r137847 anyways. Best to make this change before that.

  • fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html:
  • fast/sub-pixel/transformed-iframe-copy-on-scroll.html:
  • platform/chromium-linux/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png:
  • platform/chromium-linux/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png:
  • platform/chromium/TestExpectations:
2:02 PM Changeset in webkit [137944] by esprehn@chromium.org
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers list.

  • Scripts/webkitpy/common/config/committers.py:
1:55 PM Changeset in webkit [137943] by dpranke@chromium.org
  • 3 edits in trunk/Tools

nrwt: shuffle code around for cleanup in run_webkit_tests.py
https://bugs.webkit.org/show_bug.cgi?id=105078

Reviewed by Ojan Vafai.

This patch reorders functions so that run_webkit_tests can be
understood in a top-down matter better, and to make things slightly
more sensible when I merge manager.py into it.

Also, this adds tests for the actual main() routine, which had several
bugs get through testing a week or two ago.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(main):
(parse_args):
(_set_up_derived_options):
(run):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(RunTest):
(RunTest.test_no_http_tests):
(PortTest.disabled_test_mac_lion):
(MainTest):
(MainTest.test_exception_handling):
(MainTest.test_exception_handling.interrupting_run):
(MainTest.test_exception_handling.successful_run):
(MainTest.test_exception_handling.successful_run.FakeRunDetails):
(MainTest.test_exception_handling.exception_raising_run):

1:50 PM Changeset in webkit [137942] by dpranke@chromium.org
  • 3 edits
    3 adds in trunk/Tools

webkitpy: move --lint-test-files code into its own module
https://bugs.webkit.org/show_bug.cgi?id=105077

Reviewed by Eric Seidel.

It really didn't need to be in run_webkit_tests.py anymore.
This patch adds a new lint-test-expectations scripts to Tools/Scripts;
rwt --lint-test-files is still supported for backwards compatibility
for now.

  • Scripts/lint-test-expectations: Added.
  • Scripts/webkitpy/layout_tests/lint_test_expectations.py: Added.

(lint):
(main):

  • Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py: Added.

(FakePort):
(FakePort.init):
(FakePort.test_configuration):
(FakePort.expectations_dict):
(FakePort.skipped_layout_tests):
(FakePort.all_test_configurations):
(FakePort.configuration_specifier_macros):
(FakePort.get_option):
(FakeFactory):
(FakeFactory.init):
(FakeFactory.get):
(FakeFactory.all_port_names):
(LintTest):
(LintTest.test_all_configurations):
(LintTest.test_lint_test_files):
(LintTest.test_lint_test_fileserrors):
(MainTest):
(MainTest.test_success):
(MainTest.test_success.interrupting_lint):
(MainTest.test_success.successful_lint):
(MainTest.test_success.exception_raising_lint):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(main):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(StreamTestingMixin.assertNotEmpty):

1:48 PM Changeset in webkit [137941] by Lucas Forschler
  • 2 edits in tags/Safari-537.22/Source/WebKit2

Merged r137933. <rdar://problem/12895354>

1:48 PM Changeset in webkit [137940] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Prevent CookieManager from blocking the WKT thread
https://bugs.webkit.org/show_bug.cgi?id=105111

Prevent CookieManager from blocking the WKT Thread.

PR 265603

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-12-17
Reviewed by Rob Buis.

Adding some guards to CookieManager so it will return immedately
if getCookie functions are called when the database isn't loaded yet.

setCookie functions will be redispatched until the database is ready.

  • platform/blackberry/CookieManager.cpp:

(WebCore::CookieManager::CookieManager):
(WebCore::CookieManager::setCookies):
(WebCore::CookieManager::getCookie):
(WebCore::CookieManager::generateHtmlFragmentForCookies):
(WebCore::CookieManager::getRawCookies):
(WebCore::CookieManager::removeAllCookies):
(WebCore::CookieManager::getBackingStoreCookies):
(WebCore::CookieManager::setPrivateMode):
(WebCore::CookieManager::removeCookieWithName):

  • platform/blackberry/CookieManager.h:
1:42 PM Changeset in webkit [137939] by leviw@chromium.org
  • 20 edits
    4 adds in trunk

Add support for tracking hit test rectangles to enable fast event rejection in the compositor
https://bugs.webkit.org/show_bug.cgi?id=103914

Reviewed by James Robinson.

Source/WebCore:

Adding support for tracking hit test target regions for the purpose of performing initial hit testing
in the compositor to avoid blocking scrolling on the main thread while waiting to hit test events that
aren't occuring in regions with handlers. This is initially being done to avoid having to go to the main
thread when scrolling by flicking on touch devices when the flick occurs outside a tracked touch event
region. This patch includes the implementation to turn this on in Chromium.

To accomplish this goal, Document will now keep a counted hash set of nodes with touch event handlers
instead of only an unsigned integer of the total count. ScrollingCoordinator then updates the compositor
when new touch event handlers are registered or removed, or after layout much like how
nonFastScrollableRegions are currently tracked.

This implementation will not properly update the hit test rects when the renderers are inside a sub-
tree that scrolls.

This change was initially rolled out due to stale Node pointers in Document's touchEventTargets. This
patch adds a callback to remove the Node from that structure to Node's destructor. This is covered
by the touch-target-removed-crash.html test case which is also added.

Test: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html

platform/chromium/fast/events/touch/touch-target-removed-crash.html

  • dom/Document.cpp:

(WebCore::Document::Document): Added a HashCountedSet of touch target nodes. Note: DOMWindow targets
are stored as the Document they point to.
(WebCore::Document::didAddTouchEventHandler): Changed to keep track of the handler instead of a count, and
to update the ScrollingCoordinator with the change.
(WebCore::Document::didRemoveTouchEventHandler): Ditto.

  • dom/Document.h:

(WebCore::Document::hasTouchEventHandlers): It's no longer O(1) to get the count of touch handlers, so
expose whether there are any or not.
(WebCore::Document::touchEventTargets):

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener): Add the Document to the touch target set instead of DOMWindow.
(WebCore::DOMWindow::removeEventListener):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent):

  • page/Frame.cpp:

(WebCore::Frame::setDocument):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeAbsoluteTouchEventTargetRects): Walk the renderers for event handler
nodes and generate the absolute hit testing rects.

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::setTouchEventTargetRectsChanged): Hook to pass along the hit test rects to
the scrolling tree/compositor.
(ScrollingCoordinator):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:

(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRectsChanged):
(WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects):

  • page/scrolling/chromium/ScrollingCoordinatorChromium.h:

(ScrollingCoordinatorChromium):

  • testing/Internals.cpp:

(WebCore::Internals::touchEventHandlerCount): Changed to do the work to calculate the actual count since
it's no longer stored as an int in Document.
(WebCore::Internals::touchEventTargetClientRects):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/chromium:

Enabling touch event target region tracking.

  • features.gypi:
  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::requestTouchEventType):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):

LayoutTests:

  • platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Added.
  • platform/chromium/fast/events/touch/compositor-touch-hit-rects.html: Added.
  • platform/chromium/fast/events/touch/touch-target-removed-crash-expected.txt: Added.
  • platform/chromium/fast/events/touch/touch-target-removed-crash.html: Added.
1:40 PM Changeset in webkit [137938] by adamk@chromium.org
  • 2 edits in trunk/Tools

build-webkit: rename --template-tag to --template-element to match ENABLE #define name
https://bugs.webkit.org/show_bug.cgi?id=105072

Reviewed by Laszlo Gombos.

  • Scripts/webkitperl/FeatureList.pm:
1:38 PM Changeset in webkit [137937] by fpizlo@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

Rationalize array profiling for out-of-bounds and hole cases
https://bugs.webkit.org/show_bug.cgi?id=105139

Reviewed by Geoffrey Garen.

This makes ArrayProfile track whether or not we had out-of-bounds, which allows
for more precise decision-making in the DFG.

Also cleaned up ExitKinds for out-of-bounds and hole cases to make it easier to
look at them in the profiler.

Slight speed-up (5-8%) on SunSpider/crypto-md5.

  • bytecode/ArrayProfile.cpp:

(JSC::ArrayProfile::computeUpdatedPrediction):
(JSC::ArrayProfile::briefDescription):

  • bytecode/ArrayProfile.h:

(JSC::ArrayProfile::ArrayProfile):
(JSC::ArrayProfile::addressOfOutOfBounds):
(JSC::ArrayProfile::expectedStructure):
(JSC::ArrayProfile::structureIsPolymorphic):
(JSC::ArrayProfile::outOfBounds):
(JSC::ArrayProfile::polymorphicStructure):

  • bytecode/CodeBlock.cpp:

(JSC::dumpChain):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):
(JSC::exitKindIsCountable):

  • bytecode/ExitKind.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getArrayModeAndEmitChecks):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::emitArrayProfileOutOfBoundsSpecialCase):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emitSlow_op_put_by_val):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emitSlow_op_put_by_val):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
1:37 PM Changeset in webkit [137936] by jchaffraix@webkit.org
  • 2 edits in trunk/Tools

Add some unit testing for WTF::clampTo* functions
https://bugs.webkit.org/show_bug.cgi?id=105060

Reviewed by Emil A Eklund.

The new tests are targeted at clamping to int / unsigned and float as those are
the one explicitely exposed through more dedicated functions (like clampToInteger,
clampToPositiveInteger and clampToFloat).

  • TestWebKitAPI/Tests/WTF/MathExtras.cpp:
1:34 PM Changeset in webkit [137935] by yoli@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Null pointer access in compositorDrawsRootLayer
https://bugs.webkit.org/show_bug.cgi?id=105204

Reviewed by Rob Buis.

PR# 267188.
Add a null check for m_mainFrame in the function.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::compositorDrawsRootLayer):

1:28 PM Changeset in webkit [137934] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Dragging a .jpg to Finder saves it as .jpeg
https://bugs.webkit.org/show_bug.cgi?id=105140
https://code.google.com/p/chromium/issues/detail?id=35811

Patch by Avi Drissman <avi@chromium.org> on 2012-12-17
Reviewed by Tony Chang.

If the filename's extension is already valid for the MIME type, we don't
need to rewrite it to the preferred extension.

No layout tests because it involves dragging items to the desktop.

  • platform/chromium/ClipboardChromium.cpp:

(WebCore::writeImageToDataObject):

1:22 PM Changeset in webkit [137933] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/12895354> NetworkProcess should not exit after downloading
https://bugs.webkit.org/show_bug.cgi?id=105209

Reviewed by Anders Carlsson.

  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::shouldTerminate): This process should never voluntarily terminate, because it keeps session auth and cookies.
12:53 PM WebKit Team edited by Elliott Sprehn
(diff)
12:37 PM Changeset in webkit [137932] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use application size rather than screen size where appropriate.
https://bugs.webkit.org/show_bug.cgi?id=105201

Patch by Andrew Lo <anlo@rim.com> on 2012-12-17
Reviewed by Rob Buis.
Internally reviewed by Jeff Rogers.

Switch from screenSize to applicationSize where appropriate.
Internal PR266400

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::transformedViewportSize):
(BlackBerry::WebKit::WebPagePrivate::setDefaultLayoutSize):

  • WebKitSupport/SurfacePool.cpp:

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

12:30 PM Changeset in webkit [137931] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Improve DOMSupport visibleSelectionForClosestActualWordStart for content editable.
https://bugs.webkit.org/show_bug.cgi?id=105198

Reviewed by Rob Buis.

PR 258038.

Improve closest word matching by giving preference to the left when
distances are equal.

Also enforce container matching to avoid selecting the paragraph
marker if a CE div is followed immediately by a CE paragraph.

Minor refactor - don't calculate the distance if the selection
isn't on a word.

Reviewed Internally by Gen Mak and Nima Ghanavatian.

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::visibleSelectionForClosestActualWordStart):

12:07 PM Changeset in webkit [137930] by commit-queue@webkit.org
  • 11 edits
    11 adds in trunk

[CSS Exclusions] shape-outside on floats for rectangle shapes height/width
https://bugs.webkit.org/show_bug.cgi?id=100398

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2012-12-17
Reviewed by Julien Chaffraix.

Source/WebCore:

Implement shape outside for floats changing only the height and width
as a simple starting point.

This implementation changes floats to use the bounding box of the
shape outside instead of the margin box for layout. The content box of
the float is unchanged. This patch does not support positioning the
shape outside box, so the x and y parameters are currently ignored in
the specified shape. This will be fixed in a patch for bug 100399.

Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-margin-is-ignored.html

fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle-horizontal-multiple.html
fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle-percentage.html
fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle.html

  • CMakeLists.txt: Add ExclusionShapeOutsideInfo.{cpp,h}.
  • GNUmakefile.list.am: Add ExclusionShapeOutsideInfo.{cpp,h}.
  • Target.pri: Add ExclusionShapeOutsideInfo.{cpp,h}.
  • WebCore.gypi: Add ExclusionShapeOutsideInfo.{cpp,h}.
  • WebCore.vcproj/WebCore.vcproj: Add ExclusionShapeOutsideInfo.{cpp,h}.
  • WebCore.xcodeproj/project.pbxproj: Add ExclusionShapeOutsideInfo.{cpp,h}.
  • rendering/ExclusionShapeOutsideInfo.cpp: Added. Associates the

ExclusionShape object for shape outside with a RenderBox. Analagous to
ExclusionShapeInsideInfo.

(WebCore::exclusionShapeOutsideInfoMap):
(WebCore::ExclusionShapeOutsideInfo::ExclusionShapeOutsideInfo):
(WebCore::ExclusionShapeOutsideInfo::~ExclusionShapeOutsideInfo):
(WebCore::ExclusionShapeOutsideInfo::ensureInfoForRenderBox):
(WebCore::ExclusionShapeOutsideInfo::infoForRenderBox):
(WebCore::ExclusionShapeOutsideInfo::isInfoEnabledForRenderBox):
(WebCore::ExclusionShapeOutsideInfo::removeInfoForRenderBox):
(WebCore::ExclusionShapeOutsideInfo::computedShape):

  • rendering/ExclusionShapeOutsideInfo.h: Added. Associates the

ExclusionShape object for shape outside with a RenderBox. Analagous to
ExclusionShapeInsideInfo.

(ExclusionShapeOutsideInfo):
(WebCore::ExclusionShapeOutsideInfo::create):
(WebCore::ExclusionShapeOutsideInfo::shapeLogicalLeft):
(WebCore::ExclusionShapeOutsideInfo::shapeLogicalRight):
(WebCore::ExclusionShapeOutsideInfo::shapeLogicalTop):
(WebCore::ExclusionShapeOutsideInfo::shapeLogicalBottom):
(WebCore::ExclusionShapeOutsideInfo::shapeLogicalWidth):
(WebCore::ExclusionShapeOutsideInfo::shapeLogicalHeight):
(WebCore::ExclusionShapeOutsideInfo::setShapeSize):
(WebCore::ExclusionShapeOutsideInfo::dirtyShapeSize):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::insertFloatingObject): Use the shape outside's bounding box to set the width that is

used for inline layout for the float and it's siblings.

(WebCore::RenderBlock::positionNewFloats): Use the shape outside's bounding box to set the height that

is used for inline layout for the float and it's siblings. Ignore margins when positioning if the float
has shape outside, per the exclusions spec.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed): Clean up associated ExclusionShape.
(WebCore::RenderBox::styleDidChange): Handle style change for shape outside.
(WebCore::RenderBox::updateExclusionShapeOutsideInfoAfterStyleChange): Handle style change for shape outside.

  • rendering/RenderBox.h:

(WebCore::RenderBox::exclusionShapeOutsideInfo): Get the ExclusionShapeOutsideInfo associated with this

RenderBox.

LayoutTests:

Tests for the basic shape outside functionality to show how the shape affects inline text and other floats.
Also test using percentages to specify the shape and that margins are properly ignored (per the spec), when a
shape is applied to a float.

  • fast/exclusions/shape-outside-floats/shape-outside-floats-margin-is-ignored-expected.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-margin-is-ignored.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle-expected.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle-horizontal-multiple-expected.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle-horizontal-multiple.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle-percentage-expected.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle-percentage.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle.html: Added.
11:59 AM Changeset in webkit [137929] by jpetsovits@rim.com
  • 9 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Clean up log output in WebKit/blackberry.
https://bugs.webkit.org/show_bug.cgi?id=104823

Reviewed by George Staikos.

Behavior-preserving change, fixing many issues with logging:

  • Call logAlways() instead of BBLOG() in already defined-out debug blocks.
  • Call logAlways() instead of BBLOG() for serious errors, too.
  • Fix build for the DEBUG_OVERFLOW_DETECTION block in ChromeClientBlackBerry.
  • Fix build for double declarations of "elapsed" variables in RenderQueue.
  • Fix compiler warnings due to format string / parameter mismatches.
  • Remove unnecessary trailing newlines in logged strings.
  • Consistently use Platform:: as prefix except inside WebCore-namespaced code.
  • Use indentation that actually passes WebKit style checks.
  • Change point/size/rect output to use Platform toString() formats for consistency.
  • Api/BackingStore.cpp:

(BlackBerry::WebKit::bestDivisor):
(BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
(BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
(BlackBerry::WebKit::BackingStorePrivate::repaint):
(BlackBerry::WebKit::BackingStorePrivate::slowScroll):
(BlackBerry::WebKit::BackingStorePrivate::scroll):
(BlackBerry::WebKit::BackingStorePrivate::renderJob):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
(BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
(BlackBerry::WebKit::BackingStorePrivate::renderContents):
(BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
(BlackBerry::WebKit::BackingStorePrivate::fillWindow):
(BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
(BlackBerry::WebKit::BackingStorePrivate::clearWindow):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
(BlackBerry::WebKit::WebPagePrivate::contentsSizeChanged):
(BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
(BlackBerry::WebKit::WebPage::touchEvent):
(BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
(BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
(BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
(BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::overflowExceedsContentsSize):

  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::checkFingerIntersection):
(BlackBerry::WebKit::FatFingers::findIntersectingRegions):
(BlackBerry::WebKit::FatFingers::checkForText):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::convertStringToWchar):
(BlackBerry::WebKit::convertStringToWcharVector):
(BlackBerry::WebKit::convertSpannableStringToString):
(BlackBerry::WebKit::InputHandler::learnText):
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
(BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
(BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
(BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
(BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
(BlackBerry::WebKit::InputHandler::setElementUnfocused):
(BlackBerry::WebKit::InputHandler::setInputModeEnabled):
(BlackBerry::WebKit::InputHandler::setElementFocused):
(BlackBerry::WebKit::InputHandler::spellCheckBlock):
(BlackBerry::WebKit::InputHandler::nodeTextChanged):
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
(BlackBerry::WebKit::InputHandler::frameUnloaded):
(BlackBerry::WebKit::InputHandler::selectionChanged):
(BlackBerry::WebKit::InputHandler::setSelection):
(BlackBerry::WebKit::InputHandler::handleKeyboardInput):
(BlackBerry::WebKit::InputHandler::deleteTextRelativeToCursor):
(BlackBerry::WebKit::InputHandler::deleteText):
(BlackBerry::WebKit::InputHandler::spannableTextInRange):
(BlackBerry::WebKit::InputHandler::setComposingRegion):
(BlackBerry::WebKit::InputHandler::finishComposition):
(BlackBerry::WebKit::InputHandler::setText):
(BlackBerry::WebKit::InputHandler::setTextAttributes):
(BlackBerry::WebKit::InputHandler::setRelativeCursorPosition):
(BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
(BlackBerry::WebKit::InputHandler::setComposingText):
(BlackBerry::WebKit::InputHandler::commitText):

  • WebKitSupport/RenderQueue.cpp:

(BlackBerry::WebKit::RenderQueue::addToRegularQueue):
(BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
(BlackBerry::WebKit::RenderQueue::render):
(BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
(BlackBerry::WebKit::RenderQueue::startRegularRenderJobBatchIfNeeded):
(BlackBerry::WebKit::RenderQueue::renderVisibleZoomJob):
(BlackBerry::WebKit::RenderQueue::renderVisibleScrollJob):
(BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
(BlackBerry::WebKit::RenderQueue::renderNonVisibleScrollJob):

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::cancelSelection):
(BlackBerry::WebKit::SelectionHandler::shouldUpdateSelectionOrCaretForPoint):
(BlackBerry::WebKit::SelectionHandler::setCaretPosition):
(BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
(BlackBerry::WebKit::SelectionHandler::setSelection):
(BlackBerry::WebKit::SelectionHandler::selectObject):
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):

  • WebKitSupport/SurfacePool.cpp:

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

11:44 AM Changeset in webkit [137928] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Web Inspector: Search by selection
https://bugs.webkit.org/show_bug.cgi?id=104970

Patch by John J. Barton <johnjbarton@chromium.org> on 2012-12-17
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Upon activation of the search control, conditionally set input.value to window.getSelection().
For both single file (SearchController) and multifile (AdvancedSearchController).

Test: inspector/editor/text-editor-selection-to-search.html

  • inspector/front-end/AdvancedSearchController.js:

(WebInspector.AdvancedSearchController.prototype.show):
(WebInspector.SearchView.prototype.syncToSelection):

  • inspector/front-end/SearchController.js:

(WebInspector.SearchController.prototype.showSearchField):

LayoutTests:

New inspector test for editor setting the search query

  • inspector/editor/text-editor-selection-to-search-expected.txt: Added.
  • inspector/editor/text-editor-selection-to-search.html: Added.
11:38 AM Performance Tests edited by eric@webkit.org
(diff)
11:35 AM Changeset in webkit [137927] by eric@webkit.org
  • 3 edits in trunk/Tools

rpt --profile --chromium-android throws exception
https://bugs.webkit.org/show_bug.cgi?id=105061

Reviewed by Daniel Bates.

Somehow popen(args) got turned into popen(*args) at some point,
which caused my new stringify code to fail when args was passed by name.
Fixed and tested.

  • Scripts/webkitpy/common/system/executive.py:

(Executive._stringify_args):
(Executive):
(Executive.popen):

  • Scripts/webkitpy/common/system/executive_unittest.py:

(ExecutiveTest.test_popen_args):

11:32 AM Changeset in webkit [137926] by pilgrim@chromium.org
  • 4 edits in trunk/Tools

Use Platform::current() instead of webKitPlatformSupport() in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=105054

Reviewed by Jochen Eisinger.

Part of a refactoring series; see tracking bug 82948.

  • DumpRenderTree/chromium/NotificationPresenter.cpp:

(NotificationPresenter::show):

  • DumpRenderTree/chromium/Task.cpp:

(postTask):

  • DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp:
11:31 AM Performance Tests edited by eric@webkit.org
(diff)
11:30 AM Performance Tests edited by eric@webkit.org
(diff)
11:21 AM Changeset in webkit [137925] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] Use gst_element_link_pads_full() with CHECK_NOTHING for speed and sanity
https://bugs.webkit.org/show_bug.cgi?id=105181

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2012-12-17
Reviewed by Philippe Normand.

Replace some calls to gst_pad_link() on request pads, by
gst_element_link_pads_full() with CHECK_NOTHING flag, removing
unnecessary pad compatibility checks and simplifying code.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcConstructed): Links audioconvert source with a
requested interleave sink using gst_element_link_pads_full().

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Links a

requested source pad from videoTee with the queue sink.

11:12 AM Changeset in webkit [137924] by eae@chromium.org
  • 8 edits
    4 adds in trunk

Clamp values in LayoutUnit::operator/ when SATURATED_LAYOUT_ARITHMETIC is enabled
https://bugs.webkit.org/show_bug.cgi?id=104955

Reviewed by Julien Chaffraix.

Source/WebCore:

LayoutUnit::operator/ currently does not clamp values and
instead overflows when given a value greater than INT_MAX or
less than INT_MIN.

Test: TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp

  • platform/LayoutUnit.h:

(WebCore::operator/):
Clamp value if SATURATED_LAYOUT_ARITHMETIC is enabled.

Tools:

Add tests for LayoutUnit.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/ForwardingHeaders: Added.
  • TestWebKitAPI/ForwardingHeaders/WebCore: Added.
  • TestWebKitAPI/ForwardingHeaders/WebCore/LayoutUnit.h: Added.
  • TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:
  • TestWebKitAPI/TestWebKitAPI.gypi:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp: Added.

(TestWebKitAPI):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/win/TestWebKitAPI.vcproj:
10:59 AM Changeset in webkit [137923] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Don't allow edge TileCache tiles to be larger than necessary
https://bugs.webkit.org/show_bug.cgi?id=105195

Reviewed by Anders Carlsson.

The TileCache would allow edge tiles to be larger than the required size, with the assumption
that the extra space would never be visible. However, for content tiled layers, it can be,
and it doesn't get correctly cleared. So always keep the edge tiles at the specified size.

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

(WebCore::TileCache::revalidateTiles):

10:46 AM Changeset in webkit [137922] by jochen@chromium.org
  • 5 edits in trunk/Tools

[chromium] removed unused preferences from testRunner.overridePreference
https://bugs.webkit.org/show_bug.cgi?id=105169

Reviewed by Tony Chang.

Most notably this removes the code related to font family maps which is
now handled via window.internals.settings

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

(WebPreferences):

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

(WebTestRunner::TestRunner::overridePreference):

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

(TestRunner):

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

(WebTestRunner::WebPreferences::applyTo):

10:44 AM Changeset in webkit [137921] by commit-queue@webkit.org
  • 7 edits in trunk

Source/WebKit/chromium: [chromium] Move ownership of WebLayerTreeView to WebWidgetClient
https://bugs.webkit.org/show_bug.cgi?id=105071

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

This moves ownership of a given WebWidget's WebLayerTreeView from WebViewImpl out to the embedder by way of
WebWidgetClient. To deal with the two-sided nature of the patch, if construction by the new path fails
WebViewImpl constructs a WebLayerTreeView by the old path, which means it keeps ownership.

  • public/WebWidgetClient.h:

(WebWidgetClient):
(WebKit::WebWidgetClient::initializeLayerTreeView):
(WebKit::WebWidgetClient::layerTreeView):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::webLayerTreeView):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

  • src/WebViewImpl.h:

Tools: [chromium] Move creation of WebLayerTreeView to WebWidgetClient
https://bugs.webkit.org/show_bug.cgi?id=105071

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

Update WebViewHost for the new WebWidgetClient interface.

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::initializeLayerTreeView):
(WebViewHost::layerTreeView):
(WebViewHost::~WebViewHost):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

10:27 AM Changeset in webkit [137920] by commit-queue@webkit.org
  • 5 edits in trunk

[CSS Exclusions] Floats should respect shape-inside on exclusions
https://bugs.webkit.org/show_bug.cgi?id=89261

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2012-12-17
Reviewed by David Hyatt.

Source/WebCore:

Position floats properly with respect to an exclusion shape. Note that
this will not attempt to position floats in a polygon that has
multiple segments. In the multiple segment case, the floats will be
positioned as if the exclusion did not exist.

Updated an existing test case to test for this.
Test: fast/exclusions/shape-inside/shape-inside-floats-simple.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeLogicalLocationForFloat): Adjust the
right and left offsets to take into account the right and left offset
contributed by the exclusion shape.

LayoutTests:

Update test to properly test floats with shape-inside.

  • fast/exclusions/shape-inside/shape-inside-floats-simple-expected.html:
  • fast/exclusions/shape-inside/shape-inside-floats-simple.html:
10:25 AM Changeset in webkit [137919] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Implement add64 for MIPS assembler after r136601
https://bugs.webkit.org/show_bug.cgi?id=104106

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2012-12-17
Reviewed by Zoltan Herczeg.

Added add64 function to MacroAssebler of MIPS.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::add32):
(JSC::MacroAssemblerMIPS::add64):
(MacroAssemblerMIPS):

10:22 AM Changeset in webkit [137918] by Lucas Forschler
  • 1 copy in tags/Safari-537.22

New Tag.

9:51 AM Changeset in webkit [137917] by thiago.santos@intel.com
  • 2 edits in trunk/Source/WebKit2

[EFL] Unit tests process hanging on WK2 Release bots
https://bugs.webkit.org/show_bug.cgi?id=105021

Reviewed by Kenneth Rohde Christiansen.

Follow-up of r137605, which made it more difficult to reproduce
the race condition but doesn't entirely solve the problem. Now
we are handling only points in the middle of the fork()/exec().

  • UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:

(WebKit::ProcessLauncher::launchProcess):

9:35 AM Changeset in webkit [137916] by kenneth@webkit.org
  • 8 edits in trunk

[EFL][WK2] window_create doesn't receive the url
https://bugs.webkit.org/show_bug.cgi?id=105184

Reviewed by Alexis Menard.

Source/WebKit2:

Pass the url to the window_create method.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::createNewPage):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_window_features.cpp:

(createDefaultWindow):
(createWindow):

  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::createNewPage):

Tools:

  • MiniBrowser/efl/main.c: Use the url supplied to window_create

(on_window_create):

9:35 AM WebInspector edited by zandobersek@gmail.com
Removing spam. (diff)
9:19 AM Changeset in webkit [137915] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

GraphicsLayer's repaint count should update even when debugging option to show it is off
https://bugs.webkit.org/show_bug.cgi?id=105178

Patch by Antoine Quint <Antoine Quint> on 2012-12-17
Reviewed by Simon Fraser.

Update the repain count even if the debug option to show them is turned off.
This allows the count to be accurate in between toggles of the debug option
and to allow the InspectorLayerTreeAgent to get accurate results any time
the layer tree is requested (see webkit.org/b/105024).

  • platform/graphics/mac/WebLayer.mm:

(drawLayerContents):

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

[CSS Exclusions] Add helper functions for converting floats to LayoutUnits
https://bugs.webkit.org/show_bug.cgi?id=103450

Patch by Hans Muller <hmuller@adobe.com> on 2012-12-17
Reviewed by Dirk Schulze.

When a float logicalTop value is converted to a LayoutUnit it's necessary to
use LayoutUnit::fromFloatCeil() to ensure that we're snapping to a value that's
inside the ExclusionShape. Similarly, to convert a logicalBottom value from
float to LayoutUnit we use LayoutUnit::fromFloatFloor(). Added a pair of private
ExlcusionShapeInsideInfo methods that do the conversions and refactored existing
code to use them.

This is just a cleanup. No new tests are needed, the existing tests cover
these changes.

  • rendering/ExclusionShapeInsideInfo.cpp:

(WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Use the new floatLogicalTopToLayoutUnit() method.

  • rendering/ExclusionShapeInsideInfo.h:

(WebCore::ExclusionShapeInsideInfo::shapeLogicalTop): Use the new floatLogicalTopToLayoutUnit() method.
(WebCore::ExclusionShapeInsideInfo::shapeLogicalBottom): Use the new floatLogicalBottomToLayoutUnit() method.
(ExclusionShapeInsideInfo):
(WebCore::ExclusionShapeInsideInfo::floatLogicalTopToLayoutUnit): Convert a float to a LayoutUnit with LayoutUnit::fromFloatCeil().
(WebCore::ExclusionShapeInsideInfo::floatLogicalBottomToLayoutUnit): Convert a float to a LayoutUnit with LayoutUnit::fromFloatFloor().

8:57 AM Changeset in webkit [137913] by commit-queue@webkit.org
  • 6 edits in trunk

Web Inspector: Provide the paint count of layers through the LayerTreeAgent
https://bugs.webkit.org/show_bug.cgi?id=105024

Patch by Antoine Quint <Antoine Quint> on 2012-12-17
Reviewed by Pavel Feldman.

Source/WebCore:

We add a new optional .paintCount property to the Layer object, passing through the
relevant information from GraphicsLayer.

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

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):

LayoutTests:

Add the paintCount property to the expected output of the LayerTreeAgent test.

  • inspector-protocol/layer-tree-expected.txt:
  • inspector-protocol/layer-tree.html:
8:54 AM WebInspector edited by mousewiki@yahoo.com
(diff)
8:35 AM Changeset in webkit [137912] by pfeldman@chromium.org
  • 5 edits in trunk/Source

Web Inspector: [chromium] make toolbar render with Mountain Lion-friendly colors
https://bugs.webkit.org/show_bug.cgi?id=105177

Reviewed by Vsevolod Vlasov.

Source/WebCore:

  • inspector/front-end/UIUtils.js:

(WebInspector.platformFlavor):

  • inspector/front-end/inspector.css:

(#toolbar):
(body.dock-to-bottom #toolbar):
(.toolbar-item):

Source/WebKit/chromium:

  • src/js/devTools.css:

(body.dock-to-bottom #toolbar):
(body.undocked.platform-mac-leopard #toolbar):
(body.undocked.platform-mac-leopard.inactive #toolbar):
(body.undocked.platform-mac-snowleopard #toolbar):
(body.undocked.platform-mac-snowleopard.inactive #toolbar):
(body.undocked.platform-mac-mountain-lion #toolbar):
(body.undocked.platform-mac-mountain-lion.inactive #toolbar):

8:31 AM Changeset in webkit [137911] by loislo@chromium.org
  • 4 edits in trunk

Web Inspector: Native Memory Instrumentation: MemoryInstrumentation doesn't detect reportMemoryUsage method defined in a base class.
https://bugs.webkit.org/show_bug.cgi?id=105026

Reviewed by Yury Semikhatsky.

Old SFINAE test was replaced with new one based on this article:
http://stackoverflow.com/questions/1966362/sfinae-to-check-for-inherited-member-functions

Source/WTF:

  • wtf/MemoryInstrumentation.h:

(MemoryInstrumentation):
(yes):
(IsInstrumented):
(no):
(WTF::MemoryInstrumentation::IsInstrumented::BaseMixin::reportMemoryUsage):
(WTF::MemoryInstrumentation::selectInstrumentationMethod):
(InstrumentationSelector):
(WTF):
(WTF::::reportObjectMemoryUsage):

Tools:

New test which covers this problem was added.

  • TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:
8:22 AM Changeset in webkit [137910] by Csaba Osztrogonác
  • 3 edits
    3 adds in trunk/LayoutTests

[Qt][WK2] Unreviewed gardening.

  • platform/qt-5.0-wk2/TestExpectations: Skip a new failing test.
  • platform/qt-5.0-wk2/compositing/iframes/page-cache-layer-tree-expected.txt: Added because of minor pixel differences.
  • platform/qt-5.0-wk2/fast/images/crossfade-client-not-removed-crash-expected.txt: Added WK2 specific result.
  • platform/qt-5.0-wk2/fast/text/zero-font-size-expected.txt: Added after r137902.
  • platform/qt-5.0-wk2/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt: Updated.
8:20 AM Changeset in webkit [137909] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Attribute: Remove unused constructor and isNull().
<http://webkit.org/b/105179>

Reviewed by Antti Koivisto.

Removed the Attribute constructor that takes a localName rather than a full QualifiedName as that was never used.
Also removed Attribute::isNull(), since that was only called in one place where isNull() will never be true.

  • dom/Attribute.h:
  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::collectStyleForPresentationAttribute):

7:45 AM Changeset in webkit [137908] by commit-queue@webkit.org
  • 14 edits in trunk

[Blackberry] Static code analysis warning fixes
https://bugs.webkit.org/show_bug.cgi?id=105129

Patch by Anthony Scian <ascian@rim.com> on 2012-12-17
Reviewed by Rob Buis.

Source/WebCore:

  • alloca can return NULL, recoded to just use a temp var
  • plugins/blackberry/PluginViewBlackBerry.cpp:

(WebCore::PluginView::updateBuffer):

Source/WebKit/blackberry:

  • disable copy/op= in BackingStore
  • cache and check intermediate values in parentLayer
  • disable copy/op= in InRegionScroller
  • disable copy/op= in WebPageGroupLoadDeferrer
  • disable copy/op= in WebSettings
  • disable copy/op= in WebViewportArguments
  • disable copy/op= in BackingStoreClient
  • disable copy/op= in TileBuffer
  • if stopNode is not NULL, loop could iterate past NULL; added NULL check to loop to make the code more robust
  • Api/BackingStore.h:
  • Api/InRegionScroller.cpp:

(BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
(BlackBerry::WebKit::parentLayer):

  • Api/InRegionScroller.h:
  • Api/WebPageGroupLoadDeferrer.h:
  • Api/WebSettings.h:
  • Api/WebViewportArguments.h:
  • WebKitSupport/BackingStoreClient.h:

(BackingStoreClient):

  • WebKitSupport/BackingStoreTile.h:

(TileBuffer):

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::visibleTextQuads):

Tools:

Added null checks for fopen calls, no recovery attempted; access fault prevention only.

  • DumpRenderTree/blackberry/DumpRenderTree.cpp:

(BlackBerry::WebKit::createFile):
(BlackBerry::WebKit::DumpRenderTree::runTest):

7:01 AM Changeset in webkit [137907] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK2] compositing/overflow/automatically-opt-into-composited-scrolling.html makes other tests fail
https://bugs.webkit.org/show_bug.cgi?id=105173

Unreviewed gardening, skip the culprit tests to paint the bots green.

  • platform/qt-5.0-wk2/TestExpectations:
6:59 AM Changeset in webkit [137906] by mikhail.pozdnyakov@intel.com
  • 4 edits in trunk

[WK2] TiledBackingStore: css3/device-adapt/viewport-width-not-affecting-next-page.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=105131

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

The problem was lead by truncation of the scaled result for 'contentFixedSize'.
Fixed now with using FloatSize::scale() instead of IntSize::scale().

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::sendViewportAttributesChanged):

LayoutTests:

Unskipped css3/device-adapt/viewport-width-not-affecting-next-page.html for WK2 EFL.

  • platform/efl-wk2/TestExpectations:
6:53 AM Changeset in webkit [137905] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Make popover content accessible for clicks.
https://bugs.webkit.org/show_bug.cgi?id=105167

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-17
Reviewed by Vsevolod Vlasov.

Currently it is very hard to move mouse pointer inside of popover area.
The only maneuver is to precisely jerk the mouse in direction of popover.

This path makes anchor and popover "active" areas overlap, so it becomes
possible to smoothly move mouse to popover interior.

  • inspector/front-end/Popover.js:

(WebInspector.Popover.prototype._innerShow): Make popover "outer" border
an be "active" area.

  • inspector/front-end/popover.css: Allow popover "outer" border receive

mouse events.

6:40 AM Changeset in webkit [137904] by peter@chromium.org
  • 2 edits in trunk/Tools

Add Anton Vayvod and Tim Volodine as contributors in committers.py
https://bugs.webkit.org/show_bug.cgi?id=105025

Unreviewed. Adds two contributors to committers.py.
They are initially contributing to the Text Autosizing feature (master bug: 84186).

Patch by John Mellor <johnme@chromium.org> on 2012-12-17

  • Scripts/webkitpy/common/config/committers.py:
6:14 AM Changeset in webkit [137903] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Persist Audit selections across sessions
https://bugs.webkit.org/show_bug.cgi?id=103944

Reviewed by Alexander Pavlov.

Make selected audit categories a persistent setting, to simplify life for those
repeatedly running same set of categories.

  • inspector/front-end/AuditLauncherView.js:

(WebInspector.AuditLauncherView):
(WebInspector.AuditLauncherView.prototype.addCategory.get var):
(WebInspector.AuditLauncherView.prototype.addCategory):
(WebInspector.AuditLauncherView.prototype._selectAllClicked):
(WebInspector.AuditLauncherView.prototype._categoryClicked):
(WebInspector.AuditLauncherView.prototype._createCategoryElement):

6:04 AM Changeset in webkit [137902] by commit-queue@webkit.org
  • 3 edits
    5 adds in trunk/LayoutTests

[WK2] Enable tests that use boolean overridePreference
https://bugs.webkit.org/show_bug.cgi?id=105008

Unreviewed gardening. Enable tests that call overridePreference()
with a boolean value, mostly webgl ones. Add a few fail results for
EFL.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-12-17

  • platform/efl/TestExpectations:
  • platform/wk2/TestExpectations:
6:01 AM Changeset in webkit [137901] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

[Texmap] Drawing of ARB textures broken after r137498.
https://bugs.webkit.org/show_bug.cgi?id=105165

Disable antialiasing for ARB textures after unifying
code paths. We are currently missing a fragment shader
to do antialiasing with ARB textures.

Reviewed by Kenneth Rohde Christiansen.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawTexture):

5:55 AM WebKit Team edited by mikhail.pozdnyakov@intel.com
adding myself to committers list (diff)
5:54 AM Changeset in webkit [137900] by kenneth@webkit.org
  • 1 edit
    1 add in trunk

Add manual test to verify that geometry methods (moveTo, etc) work
https://bugs.webkit.org/show_bug.cgi?id=105160

Reviewed by Alexis Menard.

  • ManualTests/window-geometry.html: Added.
5:50 AM Changeset in webkit [137899] by mikhail.pozdnyakov@intel.com
  • 2 edits in trunk/Tools

Unreviewed, add myself to committers.py.

  • Scripts/webkitpy/common/config/committers.py:
4:33 AM Changeset in webkit [137898] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Popup flickers when cursor moves between elements with same anchor.
https://bugs.webkit.org/show_bug.cgi?id=104992

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-17
Reviewed by Pavel Feldman.

Popup disappears and then appears again when mouse pointer traverses
between sub-elements of anchor element.

  • inspector/front-end/Popover.js: Split method "_mouseOut".

(WebInspector.PopoverHelper.prototype._popoverMouseOut):
Handler for Popover.
(WebInspector.PopoverHelper.prototype._mouseOut):
Handler for PopoverHelper.

4:13 AM Changeset in webkit [137897] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK1]REGRESSION(r137811): compositing/tiling/crash-huge-layer.html makes the following test crash on 32 bit
https://bugs.webkit.org/show_bug.cgi?id=105158

Unreviewed gardening, skip the culprit test to paint the bots green.

  • platform/qt-5.0-wk1/TestExpectations:
4:09 AM Changeset in webkit [137896] by caseq@chromium.org
  • 7 edits in trunk/Source

[Chromium] Remove support for TRACE_EVENT_IF_LONGER_THANx macros
https://bugs.webkit.org/show_bug.cgi?id=104784

Reviewed by Pavel Feldman.

Source/Platform:

  • remove threshold and id of related begin event from arguments of addTraceEvent()
  • do not return the index of added event from addTraceEvent()
  • chromium/public/Platform.h:

(Platform):
(WebKit::Platform::addTraceEvent):

Source/WebCore:

  • removed TRACE_EVENT_IF_LONGER_THANx macros;
  • changed addTraceEvent() to return void, as we no longer need the index of added event.
  • platform/EventTracer.h:

(EventTracer):

  • platform/chromium/EventTracerChromium.cpp:

(WebCore::EventTracer::addTraceEvent):

  • platform/chromium/TraceEvent.h:

(TraceEvent):
(WebCore::TraceEvent::addTraceEvent):
(WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
(Data):

3:49 AM Changeset in webkit [137895] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix Math.pow implementation with MinGW-w64
https://bugs.webkit.org/show_bug.cgi?id=105087

Patch by Jonathan Liu <net147@gmail.com> on 2012-12-17
Reviewed by Simon Hausmann.

The MinGW-w64 runtime has different behaviour for pow()
compared to other C runtimes. This results in the following
test262 tests failing with the latest MinGW-w64 runtime:

  • S15.8.2.13_A14
  • S15.8.2.13_A16
  • S15.8.2.13_A20
  • S15.8.2.13_A22

Handle the special cases that are different with MinGW-w64.

  • runtime/MathObject.cpp:

(JSC::mathPow):

3:48 AM Changeset in webkit [137894] by Simon Hausmann
  • 8 edits in trunk

[Qt] remove some unnecessary CONFIG additions

Patch by Oswald Buddenhagen <oswald.buddenhagen@digia.com> on 2012-12-17
Reviewed by Simon Hausmann.

qt is already added by spec_pre.prf, warn_on and depend_includepath by
default_pre.prf.

Source/WebKit/qt:

  • declarative/experimental/experimental.pri:
  • declarative/public.pri:

Source/WebKit2:

  • UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
  • UIProcess/API/qt/tests/qmltests/WebView.pro:

Tools:

  • qmake/mkspecs/features/default_post.prf:
3:35 AM Changeset in webkit [137893] by loislo@chromium.org
  • 4 edits in trunk

Unreviewed, rolling out r137892.
http://trac.webkit.org/changeset/137892
https://bugs.webkit.org/show_bug.cgi?id=105026

it broke compilation on windows

Source/WTF:

  • wtf/MemoryInstrumentation.h:

(WTF::MemoryInstrumentation::selectInstrumentationMethod):
(MemoryInstrumentation):
(WTF::MemoryInstrumentation::reportObjectMemoryUsage):
(WTF::reportMemoryUsage):

Tools:

  • TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:
3:29 AM Changeset in webkit [137892] by loislo@chromium.org
  • 4 edits in trunk

Web Inspector: Native Memory Instrumentation: MemoryInstrumentation doesn't detect reportMemoryUsage method defined in a base class.
https://bugs.webkit.org/show_bug.cgi?id=105026

Reviewed by Yury Semikhatsky.

Old SFINAE test was replaced with new one based on this article:
http://stackoverflow.com/questions/1966362/sfinae-to-check-for-inherited-member-functions

Source/WTF:

  • wtf/MemoryInstrumentation.h:

(MemoryInstrumentation):
(yes):
(IsInstrumented):
(no):
(WTF::MemoryInstrumentation::IsInstrumented::BaseMixin::reportMemoryUsage):
(WTF::MemoryInstrumentation::selectInstrumentationMethod):
(InstrumentationSelector):
(WTF):
(WTF::::reportObjectMemoryUsage):

Tools:

New test which covers this problem was added.

  • TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:
3:13 AM Changeset in webkit [137891] by Simon Hausmann
  • 5 edits in trunk

[Qt] rely on automatic output directory setup

Patch by Oswald Buddenhagen <oswald.buddenhagen@digia.com> on 2012-12-17
Reviewed by Simon Hausmann.

Now being a proper qt module (by virtue of having load(qt_build_config)
in .qmake.conf), webkit gets the path setup goodies for free.

This also fixes Makefile.api.Debug/Release trying to generate qrc_WebKit.cpp
at the same time, instead of the debug and release version ending up in different
directories as they should.

Source/WebKit2:

  • UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
  • UIProcess/API/qt/tests/qmltests/WebView.pro:

Tools:

  • qmake/mkspecs/features/default_pre.prf:
2:49 AM Changeset in webkit [137890] by thiago.santos@intel.com
  • 3 edits in trunk/Source/WebKit2

[EFL] Unit tests process hanging on WK2 Release bots
https://bugs.webkit.org/show_bug.cgi?id=105021

Reviewed by Kenneth Rohde Christiansen.

Do not allocate memory in the middle of a fork()/exec().
EFL uses global FastMalloc new operator and when we fork(), the
process is in a very delicate state. We were being lucky most of the
time, but sometimes FastMalloc enters in a busy wait and hangs
because it's data structures cannot be trusted after the fork().

This explains why sometimes we see UIProcess hanging on the bots:
they are in fact UIProcess trying to exec() into a WebProcess but
hanged just after the fork(). CMake test runner kills the original
UIProcess due to timeout and the buggy one stays forever.

  • PlatformEfl.cmake:

Set the timeout back to the original value.

  • UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:

(WebKit::ProcessLauncher::launchProcess):
I'm keeping the original behavior, including the call to
system() when wrapping the WebProcess on Debug mode. This
should be changed to exec() in another patch.

2:37 AM Changeset in webkit [137889] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Fix the Qt Windows build after r137803
https://bugs.webkit.org/show_bug.cgi?id=105152

Reviewed by Kentaro Hara.

  • Shared/CacheModel.h:
2:25 AM Changeset in webkit [137888] by charles.wei@torchmobile.com.cn
  • 2 edits in trunk/Tools

[BlackBerry] Need to re-enable video track
https://bugs.webkit.org/show_bug.cgi?id=105155

Reviewed by George Staikos.

Just enable Video Track for BlackBerry.

  • Scripts/webkitperl/FeatureList.pm:
2:08 AM Changeset in webkit [137887] by János Badics
  • 2 edits in trunk/Tools

Unreviewed. Added myself to committers.py

  • Scripts/webkitpy/common/config/committers.py:
1:38 AM Changeset in webkit [137886] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix linking of libraries with -Wl,-whole-archive
https://bugs.webkit.org/show_bug.cgi?id=104436

Patch by Jonathan Liu <net147@gmail.com> on 2012-12-17
Reviewed by Simon Hausmann.

If there is more than one library in LIBS linked with
-Wl,-whole-archive -l... -Wl,-no-whole-archive, qmake tries to
merge the duplicate flags in LIBS which causes linking to fail.

Add no_smart_library_merge to CONFIG to prevent the duplicate
flags from being removed when using -Wl,-whole-archive.

  • qmake/mkspecs/features/functions.prf:
12:57 AM Changeset in webkit [137885] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r136794.
http://trac.webkit.org/changeset/136794
https://bugs.webkit.org/show_bug.cgi?id=104203

The GC change can leak memory

  • bindings/v8/V8GCController.cpp:

(WebCore):
(WebCore::addImplicitReferencesForNodeWithEventListeners):

12:56 AM Changeset in webkit [137884] by rgabor@webkit.org
  • 3 edits in trunk/Source/WebCore

Reduce the code size of ARM SIMD in GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=105086

Reviewed by Zoltan Herczeg.

Reduce the code size of ARM SIMD in GraphicsContext3D and change the ARM
namespace to SIMD.

  • platform/graphics/GraphicsContext3D.cpp:

(WebCore):

  • platform/graphics/cpu/arm/GraphicsContext3DNEON.h:

(WebCore::SIMD::unpackOneRowOfRGBA4444ToRGBA8):
(WebCore::SIMD::packOneRowOfRGBA8ToUnsignedShort4444):
(WebCore::SIMD::unpackOneRowOfRGBA5551ToRGBA8):
(WebCore::SIMD::packOneRowOfRGBA8ToUnsignedShort5551):
(WebCore::SIMD::unpackOneRowOfRGB565ToRGBA8):
(WebCore::SIMD::packOneRowOfRGBA8ToUnsignedShort565):

12:53 AM Changeset in webkit [137883] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: frame bars on timeline do not react on hover and double click
https://bugs.webkit.org/show_bug.cgi?id=105153

Reviewed by Alexander Pavlov.

Remove z-index: -100 from #timeline-grid-header, as it prevents mouse events from
reaching frame strip. Use pointer-events: none on frame dividers instead.

  • inspector/front-end/timelinePanel.css:

(.timeline .resources-event-divider.timeline-frame-divider):
(#timeline-grid-header):

Dec 16, 2012:

11:55 PM Changeset in webkit [137882] by Csaba Osztrogonác
  • 36 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Update expected files after r137798.

  • platform/qt-5.0-wk2/compositing/columns/composited-in-paginated-expected.txt:
  • platform/qt-5.0-wk2/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/become-composited-nested-iframes-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/become-overlapped-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/composited-parent-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe2-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe3-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/enter-compositing-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/iframe-resize-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/overlapped-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/overlapped-nested-iframes-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/resizer-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/scrolling-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-and-transform-expected.txt:
  • platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
  • platform/qt-5.0-wk2/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • platform/qt-5.0-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
  • platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
  • platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
  • platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt:
  • platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt:
  • platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt:
  • platform/qt-5.0-wk2/compositing/tiled-layers-hidpi-expected.txt:
  • platform/qt-5.0-wk2/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • platform/qt-5.0-wk2/compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
  • platform/qt/compositing/backing/no-backing-for-clip-expected.txt:
  • platform/qt/compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • platform/qt/compositing/backing/no-backing-for-perspective-expected.txt:
  • platform/qt/compositing/geometry/preserve-3d-switching-expected.txt:
11:44 PM Changeset in webkit [137881] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Improve performance of a conversion from WebKit strings to V8 strings
https://bugs.webkit.org/show_bug.cgi?id=105150

Reviewed by Eric Seidel.

V8 provides v8::Weak(isolate) and v8::Local::New(isolate, ...),
which are much faster than v8::Weak() and v8::Local::New().
By using the faster APIs, we can improve performance of a conversion
from a WebKit string to a V8 string. This improves performance of
div.id, div.className, ...and a lot of DOM attributes that return
strings.

[Dromaeo/dom-attr]
120 runs/sec, 120 runs/sec, 118 runs/sec => 125 runs/sec, 123 run/sec, 125 runs/sec (+4.1%)

[Dromaeo/dom-traverse]
94 runs/sec, 94 runs/sec, 96 runs/sec => 107 runs/sec, 105 runs/sec, 107 runs/sec (+12.3%)

[Bindings/id-getter]
356 runs/sec, 356 runs/sec, 341 runs/sec => 423 runs/sec, 424 runs/sec, 424 runs/sec (+20.7%)

No tests. No change in behavior.

  • bindings/v8/V8ValueCache.h:

(WebCore::StringCache::v8ExternalString):

11:37 PM Changeset in webkit [137880] by anilsson@rim.com
  • 10 edits in trunk

[BlackBerry] Adapt to new BlackBerry::Platform::TouchPoint API
https://bugs.webkit.org/show_bug.cgi?id=105143
RIM PR 171941

Reviewed by Rob Buis.
Internally reviewed by George Staikos.

Source/WebCore:

TouchPoint instances now provide document coordinates for the viewport
and content position of the touch event. The pixel coordinates stored
in the TouchPoint should no longer be needed in WebKit.

Also adapt to new method names and encapsulation of TouchPoint data
members.

No change in behavior, no new tests.

  • platform/blackberry/PlatformTouchPointBlackBerry.cpp:

(WebCore::PlatformTouchPoint::PlatformTouchPoint):

Source/WebKit/blackberry:

TouchPoint instances now provide document coordinates for the viewport
and content position of the touch event. The pixel coordinates stored
in the TouchPoint should no longer be needed in WebKit. One exception
is when passing events to a full screen plugin.

Also adapt to new method names and encapsulation of TouchPoint data
members.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::touchEvent):
(BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
(BlackBerry::WebKit::WebPagePrivate::dispatchTouchEventToFullScreenPlugin):
(BlackBerry::WebKit::WebPagePrivate::dispatchTouchPointAsMouseEventToFullScreenPlugin):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):

  • WebKitSupport/InputHandler.h:

(InputHandler):

  • WebKitSupport/TouchEventHandler.cpp:

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

  • WebKitSupport/TouchEventHandler.h:

(TouchEventHandler):

Tools:

Adapt to new method names and encapsulation of TouchPoint data members.

  • DumpRenderTree/blackberry/EventSender.cpp:

(addTouchPointCallback):
(updateTouchPointCallback):
(touchEndCallback):
(releaseTouchPointCallback):
(sendTouchEvent):

11:20 PM Changeset in webkit [137879] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark new compositing/overflow/automatically-opt-into-composited-scrolling.html
test introduced in r137828 as failing on EFL WK2.

  • platform/efl-wk2/TestExpectations:
11:16 PM Changeset in webkit [137878] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Bytecode dumping should show rare case profiles
https://bugs.webkit.org/show_bug.cgi?id=105133

Reviewed by Geoffrey Garen.

Refactored the dumper to call dumpBytecodeCommandAndNewLine in just one place,
rather than in all of the places. Changed the rare case profile getters to use
tryBinarySearch rather than binarySearch, so that they can be used speculatively
even if you don't know that the bytecode has rare case profiles. This actually
increases our assertion level, since it means that in release builds we will get
null and crash rather than getting some random adjacent profile. And then this
adds some printing of the rare case profiles.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printUnaryOp):
(JSC::CodeBlock::printBinaryOp):
(JSC::CodeBlock::printConditionalJump):
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::printPutByIdOp):
(JSC::CodeBlock::beginDumpProfiling):
(JSC):
(JSC::CodeBlock::dumpValueProfiling):
(JSC::CodeBlock::dumpArrayProfiling):
(JSC::CodeBlock::dumpRareCaseProfile):
(JSC::CodeBlock::dumpBytecode):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::rareCaseProfileForBytecodeOffset):
(JSC::CodeBlock::specialFastCaseProfileForBytecodeOffset):

11:13 PM Changeset in webkit [137877] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Fix JS compiler warning.
https://bugs.webkit.org/show_bug.cgi?id=105032

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-16
Reviewed by Pavel Feldman.

Problem: event handler parameter has actial parameter
type KeyboardEvent, but ".addEventListener" refuses listeners with such
signature.

Solution: explicitly upcast argument type.

  • inspector/front-end/ElementsTreeOutline.js: Update JsDocs.
11:07 PM Changeset in webkit [137876] by timothy_horton@apple.com
  • 13 edits in trunk/Source

PDFPlugin: The "Open in Preview" HUD button should work
https://bugs.webkit.org/show_bug.cgi?id=102448
<rdar://problem/12695729>

Reviewed by Alexey Proskuryakov.

Implement the "Open in Preview" button for PDFPlugin, by moving the implementation from PDFViewController
onto WebPageProxyMac, and reusing it in PDFViewController and PDFPlugin.

  • UIProcess/API/mac/PDFViewController.h:

(PDFViewController): Remove unnecessary members in favor of a UUID that identifies our PDF on disk.

  • UIProcess/API/mac/PDFViewController.mm:

(WebKit::PDFViewController::openPDFInFinder): Move PDFViewController's implementation of openPDFInFinder
and related functions to WebPageProxyMac. This will allow it to be shared with PDFPlugin.

  • UIProcess/WebPageProxy.h:

(WebPageProxy): Add savePDFToFileInTemporaryFolderAndOpenWithNativeApplication,
savePDFToFileInTemporaryFolderAndOpenWithNativeApplicationRaw, and openPDFFromTemporaryFolderWithNativeApplication.
Add m_temporaryPDFFiles, which is used to keep track of the filenames of PDFs that we've saved to disk.

  • UIProcess/WebPageProxy.messages.in:

Add SavePDFToFileInTemporaryFolderAndOpenWithNativeApplication and OpenPDFFromTemporaryFolderWithNativeApplication.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::temporaryPDFDirectoryPath): Copied from PDFViewController. Construct the path to a
WebKitPDFs temporary directory into which PDFs to be opened with a native application are downloaded.
(WebKit::pathToPDFOnDisk): Copied from PDFViewController. Combine temporaryPDFDirectoryPath
with the suggested filename for the given PDF, creating a new filename if the file already exists.
(WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplicationRaw):
(WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):
Save the given PDF data to a temporary file, given the suggested filename. This inserts the
filename used into m_temporaryPDFFiles, where it can later be retrieved by UUID when asked
to open the PDF again in a native application. Then, open it with NSWorkspace.
(WebKit::WebPageProxy::openPDFFromTemporaryFolderWithNativeApplication):
Open the previously saved PDF file with NSWorkspace, referenced by UUID.
We identify the file by UUID instead of name so that only the UIProcess needs
to keep track of the actual filename, and so that the WebProcess
cannot hand an arbitrary filename back to the UIProcess to open.

  • WebProcess/Plugins/PDF/PDFPlugin.h:

(PDFPlugin): Add openWithNativeApplication and storage for the UUID that identifies our PDF on disk.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFLayerControllerDelegate openWithPreview]): Forward openWithPreview to PDFPlugin's openWithNativeApplication.
(WebKit::PDFPlugin::saveToPDF):
Hand raw data to WebPage and have it send the message to WebPageProxy instead of using IPC types in PDFPlugin.
(WebKit::PDFPlugin::openWithNativeApplication):
Ask WebPage to save the current PDF to a temporary directory and open it with a native application.
If we've already downloaded the PDF (and have a non-null m_temporaryPDFUUID),
we can just open the existing file.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::savePDFToFileInDownloadsFolder): Hand the PDF data to WebPageProxy to save.
(WebKit::WebPage::savePDFToTemporaryFolderAndOpenWithNativeApplication): Hand the PDF data to WebPageProxy to save and open.

  • WebProcess/WebPage/WebPage.h:

(WebPage): Add savePDFToFileInDownloadsFolder and savePDFToTemporaryFolderAndOpenWithNativeApplication.

Expose createCanonicalUUIDString and UUID.h.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
11:06 PM Changeset in webkit [137875] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark editing/execCommand/indent-paragraphs.html as expected to
crash on EFL port until Bug 105042 is fixed.

  • platform/efl/TestExpectations:
11:01 PM Changeset in webkit [137874] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Remote Web Inspector requires the inspector
https://bugs.webkit.org/show_bug.cgi?id=105088

Patch by Seokju Kwon <Seokju Kwon> on 2012-12-16
Reviewed by Sam Weinig.

Inspector server should not be started without inspector.

  • config.h:
10:57 PM Changeset in webkit [137873] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Fix unused parameter compile warnings
https://bugs.webkit.org/show_bug.cgi?id=105089

Patch by Seokju Kwon <Seokju Kwon> on 2012-12-16
Reviewed by Kentaro Hara.

Use UNUSED_PARAM macro to fix build warning -Wunused-parameter.

Source/WebCore:

No new tests, no behavior change.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::supportsProfiling):
(WebCore::JSDOMWindowBase::supportsRichSourceInfo):

Source/WebKit/efl:

  • ewk/ewk_view.cpp:

(ewk_view_inspector_show):
(ewk_view_inspector_close):
(ewk_view_inspector_view_get):
(ewk_view_inspector_view_set):

Source/WebKit2:

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_inspector_show):
(ewk_view_inspector_close):

10:47 PM Changeset in webkit [137872] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Header files of ewk_context_menu should be installed
https://bugs.webkit.org/show_bug.cgi?id=105069

Reviewed by Gyuyoung Kim.

  • PlatformEfl.cmake:

Modified to install ewk_context_menu.h and ewk_context_menu_item.h which
are included in EWebKit2.h

9:40 PM Changeset in webkit [137871] by ap@apple.com
  • 5 edits in trunk/Source

<rdar://problem/12886898> Bundle uploads don't work
https://bugs.webkit.org/show_bug.cgi?id=105149

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.exp.in: Exported FormData::removeGeneratedFilesIfNeeded().
  • platform/network/FormData.cpp:

(WebCore::encodeElement):
(WebCore::decodeElement):
Encode generated file name for archive, too. I'm not entirely sure how this affects other uses
of FormData serialization, but it seems logical that if we encode m_hasGeneratedFiles, we
should also encode their names.

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didFail):
Clean up generated files when they are no longer needed. This has to be done before FormData
destruction. This duplicates same work done in WebProcess, but duplicaiton is safe, and may
be helpful if one of the sides prematurely exits.

8:56 PM Changeset in webkit [137870] by hayato@chromium.org
  • 7 edits in trunk

[Shadow DOM] Kill ShadowRoot constructor
https://bugs.webkit.org/show_bug.cgi?id=102913

Reviewed by Dimitri Glazkov.

Source/WebCore:

Re-landing r137408 which breaks browser tests on chromium. I've
updated the browser tests on chromium so that they do not use
WebKitShadowRoot constructor.

No new tests. Updating existing layout tests.

  • dom/ShadowRoot.idl:
  • page/DOMWindow.idl:

LayoutTests:

  • fast/js/global-constructors-expected.txt:
  • platform/efl/fast/js/global-constructors-expected.txt:
  • platform/gtk/fast/js/global-constructors-expected.txt:
7:17 PM Changeset in webkit [137869] by mjs@apple.com
  • 1 edit
    1 add in trunk/Tools

Add a script to compute the mean and 95% confidence interval (using two-sided t-test) of a sample set
https://bugs.webkit.org/show_bug.cgi?id=105148

Reviewed by Filip Pizlo.

Usage examples:

$ sampstat --help
Usage: sampstat [options] [FILES]

Compute the mean and 95% confidence interval of a sample set.
Standard input or files must contain two or more decimal numbers, one per line.


Options:

-h, --help show this help message and exit
-u UNIT, --unit=UNIT assume values are in units of UNIT
-v, --verbose print all values (with units)


$ sampstat -u MB memresults.txt
2356.90 MB +/- 101.34 MB (4.3%)

$ sampstat -v -u MB memresults.txt

2318.21 MB
2399.56 MB
2352.93 MB


Mean: 2356.90 MB +/- 101.34 MB (4.3%)

  • Scripts/sampstat: Added.

(sum): Helper function to compute the sum of a list.
(arithmeticMean): Compute the meam of a list.
(standardDeviation): Compute the sample standard deviation (unbiased estimator).
(standardError): Compute the sample standard error.
(tDist): Compute t(.025, n-1), the t-value for atwo-sided 95% confidence interval.
(twoSidedConfidenceInterval): Compute the two-sided confidence interval range about the mean.

6:43 PM Changeset in webkit [137868] by jonlee@apple.com
  • 10 edits in trunk/Source

Allow built-in PDF plugin and plugin documents to auto-start
https://bugs.webkit.org/show_bug.cgi?id=105000
<rdar://problem/12633351>

Reviewed by Sam Weinig.

Source/WebCore:

Plug-ins in plug-in documents that are in the main frame should always auto-start.

Add a virtual function that returns whether the PluginViewBase should auto-start its plug-in.
Add a callback that gives the HTML plug-in element an opportunity to set the display state
based on the widget.

  • plugins/PluginViewBase.h:

(WebCore::PluginViewBase::shouldAlwaysAutoStart): Added. By default returns false.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Renamed from
subframeLoaderWillLoadPlugIn() for consistency. This call will also be made a little later
in the subframe loader. Adds a check to see if the plug-in is inside a plug-in document
of the main frame. If so, auto-start.
(WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Given the widget created,
check to see if it should always auto-start. If so, set the display state to Playing. Otherwise
leave the display state alone.

  • html/HTMLPlugInImageElement.h:
  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::requestPlugin): Move the will-load-plug-in call into loadPlugin().
(WebCore::SubframeLoader::loadPlugin): Immediately prior to the plug-in's creation, make the
will-create call. If a plug-in was made, make the did-create call. The did-create call should
be made before setWidget() since that might initialize the plug-in, which could take the display
state into account if being initialized synchronously.

Source/WebKit2:

Overrides PluginViewBase::shouldAlwaysAutoStart().

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::shouldAlwaysAutoStart): If there's no plug-in, return the default,
otherwise return the plug-in's behavior.

  • WebProcess/Plugins/PluginView.h:
  • WebProcess/Plugins/Plugin.h:

(WebKit::Plugin::shouldAlwaysAutoStart): Added. By default, return false.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.h: Built-in PDF plug-ins should auto-start.
6:29 PM Changeset in webkit [137867] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[TexMap] Perform the layer-tree traversal in GraphicsLayerTextureMapper.
https://bugs.webkit.org/show_bug.cgi?id=103366

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

Currently, Texture Mapper performs the layer-tree traversal in
TextureMapperLayer, while Coordinated Graphics performs the traversal in
CoordinatedGraphicsLayer. This patch makes Texture Mapper perform the
traversal in GraphicsLayerTextureMapper.

Also removed the SyncOptions enum, which is redundant since no client
calls it with ComputationsOnly.

This is in preparation for refactoring TextureMapper to work in an actor
model (http://webkit.org/b/103854).

No new tests. Covered by existing tests.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerTextureMapper::flushCompositingState):
(WebCore::GraphicsLayerTextureMapper::didFlushCompositingState):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

(GraphicsLayerTextureMapper):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):

  • platform/graphics/texmap/TextureMapperLayer.h:

(TextureMapperLayer):

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

Coordinated Graphics: Small refactor of CoordinatedLayerTreeHost and CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=104880

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

This patch changes two points.

  1. Remove layerByIDMap() in CoordinatedGraphicsLayer because it is unused.
  2. Remove code swapping m_registeredLayers in CoordinatedLayerTreeHost because

setCoordinator(0) does not call detachLayer().

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):

6:18 PM Changeset in webkit [137865] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove the random crash thread
https://bugs.webkit.org/show_bug.cgi?id=105147

Reviewed by Sam Weinig.

Remove old crashy code.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initialize):

6:14 PM Changeset in webkit [137864] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

Implement authentication for downloads
https://bugs.webkit.org/show_bug.cgi?id=105146
<rdar://problem/12239483>

Reviewed by Sam Weinig.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initialize):
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):
(WebKit::NetworkProcess::downloadsAuthenticationManager):

  • NetworkProcess/NetworkProcess.h:
  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):

  • WebProcess/Downloads/Download.cpp:

(WebKit::Download::didReceiveAuthenticationChallenge):

  • WebProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::downloadsAuthenticationManager):

  • WebProcess/Downloads/DownloadManager.h:
  • WebProcess/Downloads/mac/DownloadMac.mm:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::downloadsAuthenticationManager):
(WebKit::WebProcess::didReceiveSyncMessage):

  • WebProcess/WebProcess.h:
6:10 PM Changeset in webkit [137863] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Coordinated Graphics: Small refactor of CoordinatedLayerTreeHost and CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=104880

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

Delete backing stores explicitly in ~CoordinatedLayerTreeHost().

Clarify the lifecycle of backing stores in CoordinatedGraphicsLayer.
Currently, CoordinatedGraphicsLayer::removeTile() checks if m_coordinator
exists, because ~CoordinatedLayerTreeHost() sets m_coordinator in
CoordinatedGraphicsLayer to 0. This patch purges backing stores before setting
m_coordinator to 0. This change makes code more readable.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):

5:51 PM Changeset in webkit [137862] by andersca@apple.com
  • 11 edits in trunk/Source/WebKit2

Authentication manager cleanup
https://bugs.webkit.org/show_bug.cgi?id=105144

Reviewed by Sam Weinig.

Some cleanup to make it possible to reuse the authentication manager from the network process.

  • UIProcess/Authentication/AuthenticationChallengeProxy.cpp:

(WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
(WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
(WebKit::AuthenticationChallengeProxy::useCredential):
(WebKit::AuthenticationChallengeProxy::cancel):

  • UIProcess/Authentication/AuthenticationChallengeProxy.h:

(WebKit::AuthenticationChallengeProxy::create):
(AuthenticationChallengeProxy):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveAuthenticationChallenge):

  • WebProcess/Authentication/AuthenticationManager.cpp:

(WebKit::AuthenticationManager::AuthenticationManager):
(WebKit::AuthenticationManager::setConnection):
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
(WebKit::AuthenticationManager::useCredentialForChallenge):

  • WebProcess/Authentication/AuthenticationManager.h:
  • WebProcess/Downloads/Download.cpp:

(WebKit::Download::didReceiveAuthenticationChallenge):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initialize):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::authenticationManager):
(WebProcess):

5:26 PM Changeset in webkit [137861] by haraken@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

Unreviewed. Rebaselined virtual/gpu/compositedscrolling/scrollbars/scrollbar-orientation.html.

  • platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/scrollbar-orientation-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/scrollbar-orientation-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/scrollbar-orientation-expected.png: Added.
5:24 PM Changeset in webkit [137860] by haraken@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

Unreviewed. Rebaselined virtual/gpu/compositedscrolling/scrollbars/scrollbar-buttons.html.

  • platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/scrollbar-buttons-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/scrollbar-buttons-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/scrollbar-buttons-expected.png: Added.
5:20 PM Changeset in webkit [137859] by haraken@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

Unreviewed. Rebaselined virtual/gpu/compositedscrolling/scrollbars/disabled-scrollbar.html.

  • platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/disabled-scrollbar-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/disabled-scrollbar-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/disabled-scrollbar-expected.png: Added.
5:19 PM Changeset in webkit [137858] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Rudimentary support for main resource downloads
https://bugs.webkit.org/show_bug.cgi?id=105141

Reviewed by Sam Weinig.

For now, instead of converting a main resource load into a download, just cancel it and start
a new separate download.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::downloadRequest):
Call through to the download manager.

(WebKit::NetworkProcess::cancelDownload):
Call through to the download manager.

  • NetworkProcess/NetworkProcess.messages.in:

Add new messages.

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::cancel):
Send the cancel message to the network process when needed.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::download):
Handle the network process case.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForResponse):
Keep track of the current request when calling decidePolicyForResponse.

5:18 PM Changeset in webkit [137857] by haraken@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

Unreviewed. Rebaselined virtual/gpu/compositedscrolling/scrollbars/basic-scrollbar.html.

  • platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/basic-scrollbar-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/basic-scrollbar-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/basic-scrollbar-expected.png: Added.
5:15 PM Changeset in webkit [137856] by haraken@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined virtual/gpu/compositedscrolling/overflow/updating-scrolling-content.html.

  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/updating-scrolling-content-expected.txt: Added.
5:13 PM Changeset in webkit [137855] by haraken@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch.html.

  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt: Added.
5:11 PM Changeset in webkit [137854] by haraken@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined virtual/gpu/compositedscrolling/overflow/scrolling-without-painting.html.

  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/scrolling-without-painting-expected.txt: Added.
5:09 PM Changeset in webkit [137853] by haraken@chromium.org
  • 1 edit
    6 adds in trunk/LayoutTests

Unreviewed. Rebaselined virtual/gpu/compositedscrolling/overflow/remove-overflow-crash2.html.

  • platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/overflow/remove-overflow-crash2-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/overflow/remove-overflow-crash2-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/remove-overflow-crash2-expected.png: Added.
5:06 PM Changeset in webkit [137852] by haraken@chromium.org
  • 2 edits
    1 move in trunk/LayoutTests

Unreviewed. Rebaselined webkitConvertPoint.html.

  • platform/chromium-mac/fast/dom/Window/webkitConvertPoint-expected.txt:
  • platform/chromium/fast/dom/Window/webkitConvertPoint-expected.txt: Renamed from LayoutTests/platform/chromium-win/fast/dom/Window/webkitConvertPoint-expected.txt.
5:03 PM Changeset in webkit [137851] by haraken@chromium.org
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed. Rebaselined pixels of transformed-iframe-copy-on-scroll.html.

  • platform/chromium-mac-lion/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added.
  • platform/chromium-mac/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added.
  • platform/chromium-mac/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt: Added.
4:59 PM Changeset in webkit [137850] by haraken@chromium.org
  • 2 edits
    1 copy in trunk/LayoutTests

Unreviewed. Rebaselined images for fast/inline/justify-emphasis-inline-box.html.

  • platform/chromium-mac-lion/fast/inline/justify-emphasis-inline-box-expected.png: Copied from LayoutTests/platform/chromium-mac/fast/inline/justify-emphasis-inline-box-expected.png.
  • platform/chromium-mac/fast/inline/justify-emphasis-inline-box-expected.png:
4:57 PM Changeset in webkit [137849] by haraken@chromium.org
  • 1 edit
    5 deletes in trunk/LayoutTests

Unreviewed. Rebaselined fast/css/nested-layers-with-hover.html.

  • platform/chromium-win/fast/css/nested-layers-with-hover-expected.txt: Removed.
  • platform/chromium/fast/css/nested-layers-with-hover-expected.txt: Removed.
  • platform/efl/fast/css/nested-layers-with-hover-expected.txt: Removed.
  • platform/gtk/fast/css/nested-layers-with-hover-expected.txt: Removed.
  • platform/qt/fast/css/nested-layers-with-hover-expected.txt: Removed.
2:38 PM Changeset in webkit [137848] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[WebKit2] CustomProtocolManager should intercept messages of class MessageClassCustomProtocolManager sent to the network process
https://bugs.webkit.org/show_bug.cgi?id=105137

Reviewed by Anders Carlsson.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didReceiveMessage):

1:50 PM Changeset in webkit [137847] by leviw@chromium.org
  • 66 edits
    3 adds in trunk

Push pixel snapping logic into TransformState
https://bugs.webkit.org/show_bug.cgi?id=101779

Reviewed by Simon Fraser.

Source/WebCore:

The old SnapOffsetForTransforms behavior fell apart when there was content nested in
multiple levels of containers with sub-pixel offsets. The point of this flag was to
mirror the pixel snapping that occurs in paint, where offsets are accumulated bottom-
up through the render tree and snapped at the end. This change eliminates this flag
and pushes pixel snapping logic down into TransformState.

TransformState now tracks a LayoutSize accumulated offset when there's no transform
or we're just translating. We then snap and apply this offset before accumulating
values into a transform, and when returning planar coordinates to callers.

Test: fast/sub-pixel/transformed-iframe-copy-on-scroll.html added,

fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html modified to also catch this bug.

  • platform/graphics/transforms/TransformState.cpp:

(WebCore::TransformState::operator=): Pass accumulated offset.
(WebCore::TransformState::translateTransform): Extracted this functionality for
re-use when applying the accumulated offset, or accumulating from a call to move.
(WebCore::TransformState::translateMappedCoordinates): Same as above when we're not
acculating into a transform.
(WebCore::TransformState::move): Changed to accumulate into m_accumulatedOffset when
not accumulating into a transform.
(WebCore::TransformState::applyAccumulatedOffset):
(WebCore::TransformState::applyTransform): Applies the accumulated offset before the
transform.
(WebCore::TransformState::flatten): Ditto for flattening.
(WebCore::TransformState::mappedPoint): Translates by the accumulated offset before
returning.
(WebCore::TransformState::mappedQuad): Ditto.

  • platform/graphics/transforms/TransformState.h:

(TransformState): Added m_accumulatedOffset.

  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::mapToContainer): When not using a transform, we still need
to snap our offset before applying to our float result. Also, flatten when we have a
non-uniform step.

  • rendering/RenderGeometryMap.h:

(RenderGeometryMap): Remove use of SnapOffsetForTransforms.

Everything below simply drops the use of SnapOffsetForTransforms:

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getUpperLeftCorner):

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::computeRelativePosition):

  • editing/FrameSelection.cpp:

(WebCore::CaretBase::absoluteBoundsForLocalRect):

  • editing/RenderedPosition.cpp:

(WebCore::RenderedPosition::absoluteRect):

  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::absoluteCaretBounds):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint):

  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::defaultEventHandler):

  • page/FrameView.cpp:

(WebCore::FrameView::convertFromRenderer):
(WebCore::FrameView::convertToRenderer):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::pushMappingToContainer):

  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::computeStickyPositionConstraints):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::userResize):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::pushMappingToContainer):

  • rendering/RenderInline.h:

(RenderInline):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::absoluteToContents):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::childrenClipRect):
(WebCore::RenderLayer::selfClipRect):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::contentsVisible):

  • rendering/RenderMediaControls.cpp:

(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::showPopup):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::absoluteFocusRingQuads):

  • rendering/RenderObject.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteRectsForRange):
(WebCore::RenderText::absoluteQuads):
(WebCore::RenderText::absoluteQuadsForRange):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):

  • rendering/RenderView.cpp:

(WebCore::RenderView::selectionBounds):

  • rendering/RenderView.h:

(RenderView):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::updateWidgetGeometry):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::mapLocalToContainer):

  • rendering/svg/RenderSVGForeignObject.h:

(RenderSVGForeignObject):

  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::mapLocalToContainer):

  • rendering/svg/RenderSVGInline.h:

(RenderSVGInline):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::mapLocalToContainer):

  • rendering/svg/RenderSVGModelObject.h:

(RenderSVGModelObject):

  • rendering/svg/RenderSVGRoot.h:

(RenderSVGRoot):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::mapLocalToContainer):

  • rendering/svg/RenderSVGText.h:

(RenderSVGText):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::mapLocalToContainer):

  • rendering/svg/SVGRenderSupport.h:

(SVGRenderSupport):

Source/WebKit/chromium:

Eliminating use of SnapOffsetForTransforms as it's no longer needed.

  • src/FindInPageCoordinates.cpp:

(WebKit::toNormalizedRect):

  • src/LinkHighlight.cpp:

(WebKit::convertTargetSpaceQuadToCompositedLayer):

  • src/WebInputEventConversion.cpp:

(WebKit::convertAbsoluteLocationForRenderObject):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::windowToLocalPoint):

Source/WebKit/mac:

  • WebView/WebFullScreenController.mm:

(screenRectOfContents): Removed SnapOffsetForTransforms as it's no longer needed.

Source/WebKit2:

Eliminating use of SnapOffsetForTransforms as it's no longer needed.

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::screenRectOfContents):

LayoutTests:

  • fast/dom/Window/webkitConvertPoint.html: Updating values to match corrected pixel snapping.
  • fast/multicol/break-properties.html: Fixing sub-pixel layout feature checking.
  • fast/multicol/vertical-lr/break-properties.html: Ditto.
  • fast/multicol/vertical-rl/break-properties.html: Ditto.
  • fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html: Updating to catch the bug where the old

pixel snapping logic did the wrong thing when nested.

  • fast/sub-pixel/transformed-iframe-copy-on-scroll.html: Added.
  • platform/chromium-linux/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png:
  • platform/chromium-linux/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added.
  • platform/chromium-linux/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt: Added.
  • platform/chromium-win/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt:
  • platform/chromium/TestExpectations:
12:57 PM Changeset in webkit [137846] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Rename WebFrame::convertHandleToDownload to convertMainResourceLoadToDownload
https://bugs.webkit.org/show_bug.cgi?id=105134

Reviewed by Sam Weinig.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::convertMainResourceLoadToDownload):

  • WebProcess/WebPage/WebFrame.h:

(WebFrame):

12:30 PM Changeset in webkit [137845] by andersca@apple.com
  • 37 edits in trunk/Source

Rename FrameLoaderClient::download to convertMainResourceLoadToDownload
https://bugs.webkit.org/show_bug.cgi?id=105122

Reviewed by Andreas Kling.

Source/WebCore:

Rename FrameLoaderClient::download to convertMainResourceLoadToDownload and change it to take a MainResourceLoader instead
of a ResourceHandle, since resource handles may not exist when loading isn't done in the web process.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.h:
  • loader/FrameLoaderClient.h:

(WebCore):
(FrameLoaderClient):

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::continueAfterContentPolicy):

Source/WebKit/blackberry:

Update for WebCore changes.

  • Api/WebPage.h:
  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):

  • WebCoreSupport/FrameLoaderClientBlackBerry.h:

(FrameLoaderClientBlackBerry):

Source/WebKit/chromium:

Update for WebCore changes.

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::convertMainResourceLoadToDownload):

  • src/FrameLoaderClientImpl.h:

(FrameLoaderClientImpl):

Source/WebKit/efl:

Update for WebCore changes.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::convertMainResourceLoadToDownload):

  • WebCoreSupport/FrameLoaderClientEfl.h:

(FrameLoaderClientEfl):

Source/WebKit/gtk:

Update for WebCore changes.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::convertMainResourceLoadToDownload):

  • WebCoreSupport/FrameLoaderClientGtk.h:

(FrameLoaderClient):

Source/WebKit/mac:

Update for WebCore changes.

  • WebCoreSupport/WebFrameLoaderClient.h:

(WebFrameLoaderClient):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::convertMainResourceLoadToDownload):

Source/WebKit/qt:

Update for WebCore changes.

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::convertMainResourceLoadToDownload):

  • WebCoreSupport/FrameLoaderClientQt.h:

(FrameLoaderClientQt):

Source/WebKit/win:

Update for WebCore changes.

  • WebFrame.cpp:

(WebFrame::convertMainResourceLoadToDownload):

  • WebFrame.h:

Source/WebKit/wince:

Update for WebCore changes.

  • WebCoreSupport/FrameLoaderClientWinCE.cpp:

(WebKit::FrameLoaderClientWinCE::convertMainResourceLoadToDownload):

  • WebCoreSupport/FrameLoaderClientWinCE.h:

(FrameLoaderClientWinCE):

Source/WebKit/wx:

Update for WebCore changes.

  • WebKitSupport/FrameLoaderClientWx.cpp:

(WebCore::FrameLoaderClientWx::convertMainResourceLoadToDownload):

  • WebKitSupport/FrameLoaderClientWx.h:

(FrameLoaderClientWx):

Source/WebKit2:

Update for WebCore changes.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

(WebFrameLoaderClient):

11:26 AM Changeset in webkit [137844] by eric.carlson@apple.com
  • 8 edits in trunk

Remove in-band text tracks when media element's src changes
https://bugs.webkit.org/show_bug.cgi?id=105081

Reviewed by Sam Weinig.

Source/WebCore:

No new tests, media/track/track-in-band.html was updated to test this change.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerDidRemoveTrack): Move some code into removeTrack.
(WebCore::HTMLMediaElement::removeTrack): New, remove a track and all of its cues.
(WebCore::HTMLMediaElement::removeAllInbandTracks): New, remove all in-band tracks.
(WebCore::HTMLMediaElement::clearMediaPlayer): Call removeAllInbandTracks.

  • html/HTMLMediaElement.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Call clearTextTracks.
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearTextTracks): Remove all tracks from client.

LayoutTests:

Extend test to verify that all in-band tracks are removed from the media element
when its src changes.

  • media/track/track-in-band-expected.txt:
  • media/track/track-in-band.html:
10:36 AM Changeset in webkit [137843] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] GUIMark3 page is rendered at a large scale during history navigation back
https://bugs.webkit.org/show_bug.cgi?id=105130

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by George Staikos.

PR: 265999
During history navigation, UI thread can blit the contents at a bad
view state before WebKit thread restores the view state.
Suspend screen updates before goBackOrForward() and resume thereafter
so that screen can be updated after the correct view state is updated.
No need to render or blit here, as goBackOrForward() can dispatch a
message to WebKit thread to do that in WebPagePrivate::restoreHistoryViewState().

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::goBackOrForward):

10:20 AM Changeset in webkit [137842] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark new editing/pasteboard/copy-paste-ruby-text.html test introduced
in r137477 as expected to fail for EFL port due to missing PasteBoard
implementation.

  • platform/efl/TestExpectations:
10:14 AM Changeset in webkit [137841] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix assertions when doing a full repaint of compositing layers
https://bugs.webkit.org/show_bug.cgi?id=105128

Reviewed by Dan Bernstein.

In r137811 I added code to repaint all compositing layers when FrameView::layout()
is doing a full repaint. However, this code needs to avoid calling setContentsNeedDisplay()
on layers that don't actually draw their own content: those that draw into an ancestor,
and those that draw into a window.

Fixes assertions in existing tests.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterLayout):

10:10 AM Changeset in webkit [137840] by Christophe Dumez
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed EFL gardening.

Generate EFL expectation for new fast/inline/justify-emphasis-inline-box.html
test introduced in r137786.

  • platform/efl/fast/inline/justify-emphasis-inline-box-expected.png: Added.
  • platform/efl/fast/inline/justify-emphasis-inline-box-expected.txt: Added.
9:59 AM Changeset in webkit [137839] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK][AC] Build failure with an option --with-acceleration-backend=clutter
https://bugs.webkit.org/show_bug.cgi?id=105027

Patch by ChangSeok Oh <ChangSeok Oh> on 2012-12-16
Reviewed by Gustavo Noronha Silva.

.:

I turned off opengl related variables, enable_glx, enable_egl and enable_gles2
when selecting clutter as the acceleration-backend. Because they seem useless for the AC by clutter.

  • configure.ac:

Source/WebCore:

GLContext.* and RedirectedXCompositeWindow.* are meaningful only if opengl is
a backend for the AC. So I wrap them in USE_OPENGL.

No new tests. This patch fixes a build fauilure, not adding new features.

  • GNUmakefile.list.am:
7:41 AM Changeset in webkit [137838] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] create playbin in ::load(), not in player constructor
https://bugs.webkit.org/show_bug.cgi?id=103898

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2012-12-16
Reviewed by Philippe Normand.

This patch moves the instantiation of the playbin pipeline into the
WebCore::MediaPlayerPrivateGStreamer::load() method, so the pipeline
layout can reflect other predefined settings such as audio pitch
preservation in variable playback rate scenarios

No new tests. Covered by existing tests.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::load):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):

6:53 AM Changeset in webkit [137837] by Christophe Dumez
  • 10 edits in trunk/LayoutTests

Unreviewed rebaseline.

Rebaseline several compositing tests after r137798.

  • compositing/iframes/overlapped-nested-iframes-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-iframe-absolute-expected.txt:
  • compositing/rtl/rtl-iframe-fixed-expected.txt:
  • compositing/rtl/rtl-iframe-relative-expected.txt:
  • compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
3:00 AM Changeset in webkit [137836] by mihnea@adobe.com
  • 3 edits
    8 adds in trunk

[CSSRegions] Pseudo-elements should not be directly collected into a named flow
https://bugs.webkit.org/show_bug.cgi?id=105046

Reviewed by Abhishek Arya.

Source/WebCore:

Prevent pseudo-elements to be collected into a named-flow by bailing out early in the collecting stage.
Following the CSSRegions spec, http://dev.w3.org/csswg/css3-regions/#flow-into, the pseudo-elements
like ::before/::after/::first-letter/::first-line are not allowed to become content nodes, being directly
collected into a flow thread.

Tests: fast/regions/pseudo-after-content-node.html

fast/regions/pseudo-before-content-node.html
fast/regions/pseudo-first-letter-content-node.html
fast/regions/pseudo-first-line-content-node.html

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):

LayoutTests:

Prevent pseudo-elements to be collected into a named-flow by bailing out early in the collecting stage.

Following the CSSRegions spec, http://dev.w3.org/csswg/css3-regions/#flow-into, the pseudo-elements
like ::before/::after/::first-letter/::first-line are not allowed to become content nodes, being directly
collected into a flow thread.

  • fast/regions/pseudo-after-content-node-expected.txt: Added.
  • fast/regions/pseudo-after-content-node.html: Added.
  • fast/regions/pseudo-before-content-node-expected.txt: Added.
  • fast/regions/pseudo-before-content-node.html: Added.
  • fast/regions/pseudo-first-letter-content-node-expected.txt: Added.
  • fast/regions/pseudo-first-letter-content-node.html: Added.
  • fast/regions/pseudo-first-line-content-node-expected.txt: Added.
  • fast/regions/pseudo-first-line-content-node.html: Added.
2:01 AM Changeset in webkit [137835] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Source/WebCore: [CSS Regions] broken feature detection: body.webkitRegionOverset and body.webkitGetRegionFlowRanges shouldn't succeed when disabled at runtime
https://bugs.webkit.org/show_bug.cgi?id=99707

Patch by Mihai Maerean <Mihai Maerean> on 2012-12-16
Reviewed by Hajime Morita.

The bug is that the CSS Regions feature leaks information at run-time. There are JS properties that exist even
if the feature is disabled at run-time (document.webkitGetNamedFlows, document.body.webkitRegionOverset,
document.body.webkitGetRegionFlowRanges and window.WebKitCSSRegionRule).

The fix is to add V8EnabledAtRuntime=cssRegions in the IDL files to the properties that leak information and to
the interfaces that are the type of those properties.

Test: fast/regions/region-leak-js-information-when-disabled-at-runtime.html

  • css/WebKitCSSRegionRule.idl:

added V8EnabledAtRuntime=cssRegions for the WebKitCSSRegionRule interface.

  • dom/DOMNamedFlowCollection.idl:

added V8EnabledAtRuntime=cssRegions for the DOMNamedFlowCollection interface.

  • dom/Document.idl:

added V8EnabledAtRuntime=cssRegions for the webkitGetNamedFlows method.

  • dom/Element.idl:

added V8EnabledAtRuntime=cssRegions for the webkitRegionOverset attribute.
added V8EnabledAtRuntime=cssRegions for the webkitGetRegionFlowRanges method.

  • page/DOMWindow.idl:

added V8EnabledAtRuntime=cssRegions for the WebKitCSSRegionRule attribute.

LayoutTests: [CSS Regions] broken feature detection: body.webkitRegionOverset and body.webkitGetRegionFlowRanges shouldn't succeed when disabled at runtime.
https://bugs.webkit.org/show_bug.cgi?id=99707

Patch by Mihai Maerean <Mihai Maerean> on 2012-12-16
Reviewed by Hajime Morita.

The bug is that the CSS Regions feature leaks information at run-time. There are JS properties that exist even
if the feature is disabled at run-time (document.webkitGetNamedFlows, document.body.webkitRegionOverset,
document.body.webkitGetRegionFlowRanges and window.WebKitCSSRegionRule).
The best LayoutTest would test that the properties exist when the feature is enabled and that the properties
just aren't there when the feature is disabled.
But, since during running Layout Tests the feature is enabled by default and switching the
RuntimeEnabledFeatures requires the process to be restarted and that is currently not possible, we can only test
that the properties exist and have the proper type.

  • fast/regions/region-leak-js-information-when-disabled-at-runtime-expected.txt: Added.
  • fast/regions/region-leak-js-information-when-disabled-at-runtime.html: Added.

Dec 15, 2012:

8:41 PM Changeset in webkit [137834] by vollick@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] More expectations updates for composited scrolling.

Unreviewed change. Updating expectations.

Added expectations for a remaining test that needs a new baseline.

  • platform/chromium/TestExpectations:
8:03 PM Changeset in webkit [137833] by vollick@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] More expectations updates for composited scrolling.

Unreviewed change. Updating expectations.

Some of the Failures noted in the last change were actually
ImageOnlyFailures, and some tests are now passing - these are
corrected in this patch.

  • platform/chromium/TestExpectations:
7:11 PM Changeset in webkit [137832] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Another build fix.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createDownloadProxy):

6:54 PM Changeset in webkit [137831] by aestes@apple.com
  • 11 edits in trunk/Source/WebKit2

[WebKit2] Have CustomProtocolManager and CustomProtocolManagerProxy store Connections for messaging
https://bugs.webkit.org/show_bug.cgi?id=105124

Reviewed by Anders Carlsson.

Remove CustomProtocolManagerProxy's assumption that all messages go to
a web process. Have it take a ChildProcessProxy instead and extract its
connection.

Similarly, remove CustomProtocolManager's assumption that all messages
go through a shared WebProcess. Initialize the shared CustomProtocolManager
with a Connection object instead.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess): Initialize the
shared CustomProtocolManager with the NetworkProcess's connection to
the UI process.

  • Shared/Network/CustomProtocols/CustomProtocolManager.h:

(WebKit::CustomProtocolManager::connection): Assert m_connection is
non-0 and return it.

  • Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:

(+[WKCustomProtocol canInitWithRequest:]): Remove an unnecessary
namespace.
(-[WKCustomProtocol initWithRequest:cachedResponse:client:]): Ditto.
(-[WKCustomProtocol startLoading]): Send a message on the
CustomProtocolManager's connection rather than assuming there is a
shared WebProcess in our address space.
(-[WKCustomProtocol stopLoading]): Ditto.
(WebKit::CustomProtocolManager::initialize): Initialize the shared
CustomProtocolManager with a Connection and register our custom
protocol handler with NSURLProtocol.

  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:

(WebKit):
(CustomProtocolManagerProxy): Take a ChildProcessProxy* rather than a
WebProcessProxy*.

  • UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:

(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy): Ditto.
(WebKit::CustomProtocolManagerProxy::startLoading): Ditto.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::NetworkProcessProxy): Instantiate a
CustomProtocolManagerProxy for the network process.
(WebKit::NetworkProcessProxy::didReceiveMessage): Route messages of
class MessageClassCustomProtocolManagerProxy to the
CustomProtocolManagerProxy.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didReceiveMessage): Assert that we aren't
using the network process since we've received a message from a
web process's CustomProtocolManager.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Break CustomProtocolManager
initialization out into a helper function.
(WebKit::WebProcess::initializeCustomProtocolManager): Initialize our
CustomProtocolManager.

  • WebProcess/WebProcess.h:
6:47 PM Changeset in webkit [137830] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Happy little Qt build fix.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::download):

6:41 PM Changeset in webkit [137829] by vollick@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Update test expectations now that we're opting into composited scrolling
https://bugs.webkit.org/show_bug.cgi?id=105123

Unreviewed change. Updating expectations.

Added expectations for tests that need updated baselines now that
we're opting into composited scrolling.

  • platform/chromium/TestExpectations:
6:07 PM Changeset in webkit [137828] by vollick@chromium.org
  • 12 edits
    2 adds in trunk

Source/WebCore: [chromium] Automatically use composited scrolling
https://bugs.webkit.org/show_bug.cgi?id=94743

Reviewed by Adrienne Walker.

We currently use the composited scrolling facilities provided by
wkb.ug/91117 if the overflow scroll block element is styled with
-webkit-overflow-scrolling: touch. Ideally, we could automatically
opt into composited scrolling if it is safe to do so. This can affect
antialiasing, so it is important that automatically opting in is only
enabled via a setting.

The way I determine if it is safe is by checking that z-ordering will
not be affected if the overflow scrollable element were promoted to a
stacking context (details below), and that clipping our scrolling
descendants will not affect rendering.

To check the first condition (that z-ordering will not be affected).
I ensure that the candidate element and all its descendants appear as a
contiguous block in the candidate's stacking context. That is, if no
other elements are 'between' any of the candidates descendants when we
sort in paint order, then we're safe. This is overly conservative,
however. We could, in future, only consider stacking problems between
elements that actually overlap.

To ensure that clipping will not cause a rendering change, I ensure
that the layer has no out of flow positioned descendant whose
containing block is not also a descendant of ours.

Test: compositing/overflow/automatically-opt-into-compositing-scrolling.html

(WebCore):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::acceleratedCompositingForOverflowScrollEnabled):
(WebCore):
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive):
(WebCore::RenderLayer::positionNewlyCreatedOverflowControls):
(WebCore::RenderLayer::canSafelyEstablishAStackingContext):

Returns true if the RenderLayer could become a stacking context without
affecting the stacking order.

(WebCore::RenderLayer::updateDescendantDependentFlags):

We now need to keep track of out of flow positioned descendants.

(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::usesCompositedScrolling):

Returns true if the layer actually is using composited scrolling.
This function may return false, even when needsCompositedScrolling
returns true.

(WebCore::RenderLayer::needsCompositedScrolling):

This function returns true if we would like to use composited
scrolling and it is safe to turn it on.

(WebCore::RenderLayer::updateNeedsCompositedScrolling):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::dirtyZOrderLists):
(WebCore::RenderLayer::dirtyNormalFlowList):

Since these could affect opting into composited scrolling, we must
request that the RenderLayerCompositor reevaluate compositing.

(WebCore::RenderLayer::updateLayerListsIfNeeded):

We call updateCanSafelyEstablishStackingContext here, if necessary.

(WebCore::RenderLayer::shouldBeNormalFlowOnly):
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):

usesCompositedScrolling -> needsCompositedScrolling

(WebCore::RenderLayer::setAncestorChainHasOutOfFlowPositionedDescendant):
(WebCore::RenderLayer::dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus):
(WebCore::RenderLayer::updateOutOfFlowPositioned):

Dirties and sets the out of flow positioned descendant state.

(WebCore::RenderLayer::styleChanged):

  • rendering/RenderLayer.h:

(RenderLayer):
(WebCore::RenderLayer::hasOutOfFlowPositionedDescendant):

  • rendering/RenderLayerBacking.cpp:

(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::hasUnpositionedOverflowControlsLayers):
(WebCore):

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling):

  • rendering/RenderLayerCompositor.h:

(WebCore::RenderLayerCompositor::setShouldReevaluateCompositingAfterLayout):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::setEnableCompositingForOverflowScroll):

Allows enabling the setting in layout tests.

(WebCore):

  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:

LayoutTests: Automatically use composited scrolling
https://bugs.webkit.org/show_bug.cgi?id=94743

Reviewed by Adrienne Walker.

Tests various configurations of elements to ensure that we only automatically opt into
composited scrolling when it is safe to do so.

  • compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Added.
  • compositing/overflow/automatically-opt-into-composited-scrolling.html: Added.
  • platform/chromium/TestExpectations: The test platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style.html is failing due to wkb.ug/103156
6:01 PM Changeset in webkit [137827] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

Unreviewed. Fix make distcheck.

  • bindings/gobject/GNUmakefile.am: Do not dist generated DOM

bindings headers.

  • platform/ScrollAnimatorNone.cpp: Include PlatformGestureEvent.h

only if gesture events are enabled.

5:49 PM Changeset in webkit [137826] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • platform/network/FormData.cpp: (WebCore::encodeElement): (WebCore::decodeElement): (WebCore::FormData::encode): (WebCore::FormData::decode): Disambiguated encode/decode functions. I'm not quite sure why the compiler was confused, but distinct names should make the code more readable anyway.
5:31 PM Changeset in webkit [137825] by ap@apple.com
  • 8 edits in trunk/Source

<rdar://problem/12886312> Cannot upload patches to Bugzilla (<input type=file> doesn't work)
https://bugs.webkit.org/show_bug.cgi?id=105120

Reviewed by Sam Weinig.

Serialize HTTP body. ResourceRequest serialization cannot (and shouldn't) know about
body streams, as used with files.

  • Shared/Network/NetworkResourceLoadParameters.cpp: (WebKit::NetworkResourceLoadParameters::encode): (WebKit::NetworkResourceLoadParameters::decode):
  • Shared/WebCoreArgumentCoders.cpp: (CoreIPC::::encode):
5:26 PM Changeset in webkit [137824] by andersca@apple.com
  • 14 edits in trunk/Source/WebKit2

Handle downloads in the network process
https://bugs.webkit.org/show_bug.cgi?id=105117

Reviewed by Sam Weinig.

Start using the download manager in the network process.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::startDownload):
Call through to the download manager.

  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:

Add StartDownload message.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::downloadManager):
Add "singleton" download manager.

(WebKit::NetworkProcess::didCreateDownload):
(WebKit::NetworkProcess::didDestroyDownload):
(WebKit::NetworkProcess::downloadProxyConnection):
Implement DownloadManager::Client.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):
Call through to the message receiver map.

  • WebProcess/Downloads/Download.cpp:
  • WebProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::downloadProxyConnection):

  • WebProcess/Downloads/DownloadManager.h:

Rename connection to downloadProxyConnection.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::startDownload):
When using the network process, send a message to it with the request that needs to be downloaded.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::downloadProxyConnection):
Return the connection to the UI process.

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

NSURLCache should be disabled in the WebProcess when using the NetworkProcess
<rdar://problem/12872266>
https://bugs.webkit.org/show_bug.cgi?id=105119

Reviewed by Alexey Proskuryakov.

Set the size of the NSURLCache to 0 (both disk and memory) in the WebProcess when using
the NetworkProcess.

  • WebProcess/mac/WebProcessMac.mm:

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

4:42 PM Changeset in webkit [137822] by aestes@apple.com
  • 4 edits in trunk/Source/WebKit2

[WebKit2] Register the custom protocol handler in the network process if it exists
https://bugs.webkit.org/show_bug.cgi?id=105118

Reviewed by Anders Carlsson.

Register our custom protocol handler with NSURLProtocol when starting
up the network process; do not register the custom protocol handler in
web processes if a network process is being used.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

4:22 PM Changeset in webkit [137821] by weinig@apple.com
  • 12 edits in trunk/Source/WebKit2

The network process should use the correct NSURLCache location and set its size correctly for the CacheModel
<rdar://problem/12848505>
https://bugs.webkit.org/show_bug.cgi?id=105115

Reviewed by Anders Carlsson.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setCacheModel):

  • NetworkProcess/NetworkProcess.h:

(NetworkProcess):

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::platformInitialize):
(WebKit::memorySize):
(WebKit::volumeFreeSize):
(WebKit::NetworkProcess::platformSetCacheModel):
Copy code from the WebProcess to set up the NSURLCache correctly (location and size).
We should eventually move the calculation of this to the WebContext so it can be done
once.

  • Shared/Network/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h:

(NetworkProcessCreationParameters):
Add the necessary creation parameters to set up the cache.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didFinishLaunching):

  • UIProcess/Network/NetworkProcessProxy.h:

(NetworkProcessProxy):

  • UIProcess/Network/mac/NetworkProcessProxyMac.mm:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::setCacheModel):

  • UIProcess/WebContext.h:

(WebKit):
(WebContext):

  • UIProcess/mac/WebContextMac.mm:

(WebKit):
(WebKit::WebContext::platformInitializeNetworkProcess):
Move initializing the NetworkProcess to just after creating (matching the WebProcess),
rather than waiting for it finish loading before sending the creation parameters.
Additionally, this moves the setting up of the creation parameters to the WebContext,
as that is where all the interesting state resides (and also matches the WebProcess).

4:18 PM Changeset in webkit [137820] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Clean up the previous build fix; access m_networkProcess directly.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::registerSchemeForCustomProtocol):
(WebKit::WebContext::unregisterSchemeForCustomProtocol):

4:13 PM Changeset in webkit [137819] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::registerSchemeForCustomProtocol):
(WebKit::WebContext::unregisterSchemeForCustomProtocol):

4:03 PM Changeset in webkit [137818] by aestes@apple.com
  • 11 edits in trunk/Source/WebKit2

[WebKit2] Register schemes with the network process if it is being used
https://bugs.webkit.org/show_bug.cgi?id=105113

Reviewed by Anders Carlsson.

If a WebContext is using the network process, it needs to be told about
scheme (un)registration rather than the context's web processes.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess): Tell the shared
CustomProtocolManager about schemes registered at process creation time.
(WebKit::NetworkProcess::registerSchemeForCustomProtocol): Tell the
shared CustomProtocolManager about a new scheme.
(WebKit::NetworkProcess::unregisterSchemeForCustomProtocol): Remove a
scheme from the shared CustomProtocolManager.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in: Add registration and

unregistration messages for the NetworkProcess.

  • Shared/Network/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode): Encode
urlSchemesRegisteredForCustomProtocols.
(WebKit::NetworkProcessCreationParameters::decode): Decode
urlSchemesRegisteredForCustomProtocols.

  • Shared/Network/NetworkProcessCreationParameters.h: Define

urlSchemesRegisteredForCustomProtocols.

  • UIProcess/Network/mac/NetworkProcessProxyMac.mm:

(WebKit::NetworkProcessProxy::platformInitializeNetworkProcess): Populate
urlSchemesRegisteredForCustomProtocols with the current set of schemes.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::registerSchemeForCustomProtocol): Send a new
scheme to either the network process or to the context's web processes.
(WebKit::WebContext::unregisterSchemeForCustomProtocol): Ditto for
removing a scheme.

  • UIProcess/WebContext.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess): Only populate
urlSchemesRegisteredForCustomProtocols if the network process isn't
being used.
(WebKit::WebContext::registerNotificationObservers):

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess):
urlSchemesRegisteredForCustomProtocols should only be non-empty if the
network process isn't being used. Assert this.

3:43 PM Changeset in webkit [137817] by nghanavatian@rim.com
  • 12 edits in trunk

[BlackBerry] Pass key modifiers with touch and mouse events
https://bugs.webkit.org/show_bug.cgi?id=105108

Reviewed by Rob Buis.

Source/WebCore:

Call Screen to retrieve current key modifiers.

Internally reviewed by Gen Mak.

  • platform/PlatformMouseEvent.h:

(PlatformMouseEvent):

  • platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:

(WebCore::PlatformKeyboardEvent::getCurrentModifierState):

  • platform/blackberry/PlatformMouseEventBlackBerry.cpp:

(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/blackberry/PlatformTouchEventBlackBerry.cpp:

(WebCore::PlatformTouchEvent::PlatformTouchEvent):

Source/WebKit/blackberry:

Pass key modifiers to allow for added functionality, such as
shift+click to highlight.

Internally reviewed by Gen Mak.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::webContext):
(BlackBerry::WebKit::WebPagePrivate::updateCursor):
(BlackBerry::WebKit::WebPage::mouseEvent):
(BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):

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

(BlackBerry::WebKit::TouchEventHandler::sendClickAtFatFingersPoint):
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
(BlackBerry::WebKit::TouchEventHandler::handleFatFingerPressed):

  • WebKitSupport/TouchEventHandler.h:

(TouchEventHandler):

Tools:

Update DRT to new api.

Internally reviewed by Gen Mak.

  • DumpRenderTree/blackberry/EventSender.cpp:

(mouseDownCallback):
(mouseUpCallback):
(mouseMoveToCallback):

3:40 PM Changeset in webkit [137816] by nghanavatian@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Clean up allocated memory from InputMethodSupport
https://bugs.webkit.org/show_bug.cgi?id=105110

Reviewed by Rob Buis.

PR265919
We are deep copying the spannable_string from IMF and freeing
here once we're done with it.

Internally reviewed by Jeff Rogers.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):

3:35 PM Changeset in webkit [137815] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Remove the unneeded NetworkProcessCrashed message
https://bugs.webkit.org/show_bug.cgi?id=105114

Reviewed by Sam Weinig.

Remove the NetworkProcessCrashed message; it's not needed since the connection member variable is already
nulled out in WebProcess::networkProcessConnectionClosed which is called when the Connection::Client::didClose member
function is called on the connection between the web process and network process.

Furthermore, this message was handled on the connection queue which runs on a different thread and the handler was not
thread-safe so this could in theory cause bad crashes.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didClose):

  • WebProcess/WebProcess.cpp:
  • WebProcess/WebProcess.h:

(WebProcess):

  • WebProcess/WebProcess.messages.in:
3:32 PM Changeset in webkit [137814] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[BlackBerry] Prevent CookieManager from blocking the WKT thread
https://bugs.webkit.org/show_bug.cgi?id=105111

PR 265603

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-12-15
Reviewed by Rob Buis.
Internally reviewed by Konrad Piascik.

The getBackingStoreCookies in WKT is blocking the thread because it has to wait for
the db to be opened before it can call on it.

The fix is to make CookieDatabaseBackingStore in the cookie_db thread dispatch
a getBackingStoreCookies call on WKT after invokeOpen is finished.

Tested loading the browser. Cookies are being loaded into memory on start up.

  • platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:

(WebCore::CookieDatabaseBackingStore::invokeOpen):

  • platform/blackberry/CookieManager.cpp:

(WebCore::cookieManager):

  • platform/blackberry/CookieManager.h:
3:11 PM Changeset in webkit [137813] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Add a DownloadProxyMap object to the NetworkProcessProxy object
https://bugs.webkit.org/show_bug.cgi?id=105112

Reviewed by Sam Weinig.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::createDownloadProxy):
(WebKit::NetworkProcessProxy::didClose):

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

(WebKit::WebContext::createDownloadProxy):

  • UIProcess/WebProcessProxy.cpp:
  • UIProcess/WebProcessProxy.h:
2:49 PM Changeset in webkit [137812] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Move the download proxy map from the web context to the web process proxy
https://bugs.webkit.org/show_bug.cgi?id=105109

Reviewed by Andreas Kling.

More progress towards making downloads work with the networking process. Since downloads are handled by the
web process when not using a networking process, it makes sense for the download proxy map to live in the
web process proxy object.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::download):
(WebKit::WebContext::createDownloadProxy):

  • UIProcess/WebContext.h:

(WebContext):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::shouldTerminate):
(WebKit):
(WebKit::WebProcessProxy::createDownloadProxy):

  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):

2:11 PM Changeset in webkit [137811] by Simon Fraser
  • 15 edits
    1 add in trunk

Fix repaint issues when resizing a window with centered content, for platforms with a tile cache
https://bugs.webkit.org/show_bug.cgi?id=105073

Reviewed by Dan Bernstein.

Add a manual test for window resize with a centered element.

  • ManualTests/resize-repaint.html: Added.

Source/WebCore:

There were several issues with the "do full repaint" code path in
FrameView::layout(). These caused repaint issues when resizing the web view,
especially for platforms that use a tile cache.

First, the m_doFullRepaint flag wold get clobbered on resize-layouts, because
the call to adjustViewSize() re-enters layout(), and resets the m_doFullRepaint member
variable to false, even if the outer call had previously set it to true. This would
cause us to lose track of whether we needed to do a full repaint. The patch fixes
this by restoring m_doFullRepaint to the value it had before the call to adjustViewSize().

The second problem was that full repaints would not propagate to compositing
layers. They only repainted the RenderView, and on platforms that use a tile cache,
this only repaints the top portion of that tile cache. This was fixed by sending
a NeedsFullRepaintInBacking flag down into RenderLayer::updateLayerPositions(),
and using that to do a full repaint on all compositing layers.

Sending this new flag down into updateAfterLayout() prompted some boolean/flags
cleanup with propagated into several files. This also allowed me to no longer
include RenderLayerBacking.h in RenderLayerCompositor.h, but that required
header cleanup in several files.

Automated testing is not possible because WebKitTestRunner resizes the window
asynchronously (bug 105101). Added manual test.

  • page/FrameView.cpp:

(WebCore::updateLayerPositionFlags):
(WebCore::FrameView::layout):

  • page/scrolling/ScrollingCoordinator.cpp:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterLayout):
(WebCore::RenderLayerBacking::contentChanged):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderObject.cpp:
  • rendering/RenderView.cpp:

Source/WebKit/chromium:

Include RenderLayerBacking.h, which is no longer included by RenderLayerCompositor.h.

  • tests/ScrollingCoordinatorChromiumTest.cpp:
2:04 PM Changeset in webkit [137810] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

DownloadProxy should keep a strong reference to its associated web context
https://bugs.webkit.org/show_bug.cgi?id=105107

Reviewed by Alexey Proskuryakov.

While this does create a ref-cycle, it's broken when the download completes, fails, is canceled or
if the process that's doing the download crashes.

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::processDidClose):
(WebKit::DownloadProxy::didStart):
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
(WebKit::DownloadProxy::didReceiveResponse):
(WebKit::DownloadProxy::didReceiveData):
(WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
(WebKit::DownloadProxy::didCreateDestination):
(WebKit::DownloadProxy::didFinish):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):

  • UIProcess/Downloads/DownloadProxy.h:

(DownloadProxy):

1:53 PM Changeset in webkit [137809] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Remove WebContext::downloadFinished
https://bugs.webkit.org/show_bug.cgi?id=105105

Reviewed by Sam Weinig.

Have DownloadProxyMap manage the message receiver map and remove WebContext::downloadFinished.

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::didFinish):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):

  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::DownloadProxyMap):
(WebKit::DownloadProxyMap::createDownloadProxy):
(WebKit::DownloadProxyMap::downloadFinished):

  • UIProcess/Downloads/DownloadProxyMap.h:

(DownloadProxyMap):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::createDownloadProxy):

  • UIProcess/WebContext.h:
1:31 PM Changeset in webkit [137808] by weinig@apple.com
  • 8 edits
    3 deletes in trunk/Source/WebKit2

Make the NetworkProcess be managed by the WebContext, rather than a singleton NetworkProcessMananger
https://bugs.webkit.org/show_bug.cgi?id=105104

Reviewed by Alexey Proskuryakov.

Move to having the WebContext own and manage the NetworkProcessProxy.

  • UIProcess/Network/NetworkProcessManager.cpp: Removed.
  • UIProcess/Network/NetworkProcessManager.h: Removed.
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::create):
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):

  • UIProcess/Network/NetworkProcessProxy.h:

(WebKit):
(NetworkProcessProxy):

  • UIProcess/Network/mac/NetworkProcessManagerMac.mm: Removed.
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::removeNetworkProcessProxy):
(WebKit::WebContext::getNetworkProcessConnection):
(WebKit::WebContext::willStartUsingPrivateBrowsing):
(WebKit::WebContext::willStopUsingPrivateBrowsing):
(WebKit::WebContext::createNewWebProcess):

  • UIProcess/WebContext.h:

(WebKit):
(WebContext):
(WebKit::WebContext::networkProcess):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getNetworkProcessConnection):

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::applicationBecameVisible):
(WebKit::WebContext::applicationBecameOccluded):

  • WebKit2.xcodeproj/project.pbxproj:
1:15 PM Changeset in webkit [137807] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

DownloadProxy objects should know which DownloadProxyMap they belong to
https://bugs.webkit.org/show_bug.cgi?id=105102

Reviewed by Andy Estes.

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::create):
(WebKit::DownloadProxy::DownloadProxy):

  • UIProcess/Downloads/DownloadProxy.h:

(WebKit):
(DownloadProxy):

  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::createDownloadProxy):

1:08 PM Changeset in webkit [137806] by aestes@apple.com
  • 3 edits
    3 moves
    2 adds in trunk/Source/WebKit2

[WebKit2] Move CustomProtocolManager to Shared/
https://bugs.webkit.org/show_bug.cgi?id=105103

Reviewed by Sam Weinig.

CustomProtocolManager can be instantiated either in the NetworkProcess or the WebProcess, so it should live in Shared/.

  • DerivedSources.make: Update the path where CustomProtocolManager.messages.in can be found.
  • Shared/Network/CustomProtocols/CustomProtocolManager.h: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.h.
  • Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in.
  • Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm.
  • WebKit2.xcodeproj/project.pbxproj:
1:02 PM Changeset in webkit [137805] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the Qt build.

  • Target.pri:
12:35 PM Changeset in webkit [137804] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Get rid of DownloadProxyMap::downloads()
https://bugs.webkit.org/show_bug.cgi?id=105100

Reviewed by Sam Weinig.

Add the needed member functions to DownloadProxyMap and remove the downloads() member function.

  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::downloadFinished):
(WebKit::DownloadProxyMap::processDidClose):
(WebKit):

  • UIProcess/Downloads/DownloadProxyMap.h:

(WebKit::DownloadProxyMap::isEmpty):
(DownloadProxyMap):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::downloadFinished):

12:26 PM Changeset in webkit [137803] by weinig@apple.com
  • 9 edits
    1 add in trunk/Source/WebKit2

Move calculation of caches sizes based on the cache model to CacheModel.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=105098

Reviewed by Anders Carlsson.

Move calculation of caches sizes based on the cache model to CacheModel.h/cpp so
that it can be used by more than just the WebProcess.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Shared/CacheModel.cpp: Added.

(WebKit):
(WebKit::calculateCacheSizes):

  • Shared/CacheModel.h:
  • Target.pri:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp:
  • WebProcess/WebProcess.h:

(WebProcess):

  • win/WebKit2.vcproj:
12:13 PM Changeset in webkit [137802] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

DownloadProxyMap shouldn't be a singleton after all
https://bugs.webkit.org/show_bug.cgi?id=105099

Reviewed by Sam Weinig.

Make the DownloadProxyMap be per context instead, and get rid of the m_downloads hash map from WebContext.

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::didFinish):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):

  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::~DownloadProxyMap):

  • UIProcess/Downloads/DownloadProxyMap.h:

(DownloadProxyMap):
(WebKit::DownloadProxyMap::downloads):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::createDownloadProxy):
(WebKit::WebContext::downloadFinished):

  • UIProcess/WebContext.h:

(WebContext):

11:40 AM Changeset in webkit [137801] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build.

  • platform/graphics/ca/GraphicsLayerCA.h:

Remove an unused member variable.

11:37 AM Changeset in webkit [137800] by Simon Fraser
  • 11 edits in trunk

REGRESSION (r137006): TileCache flashes to linen, rather than the background color, when scrolling fast
https://bugs.webkit.org/show_bug.cgi?id=104746

Reviewed by Darin Adler.

Make RenderLayerBacking::updateBackgroundColor() responsible for setting the background
color of the main frame's root layer to the document background color (rather than doing
it in code related to overlay scrollbars, which was crazy). This is only done for platforms
that use a TiledBacking (currently, just Mac).

Also fix updateBackgroundColor() to not call m_graphicsLayer->setContentsToBackgroundColor()
and then call clearBackgroundColor() right away if the color was transparent.

  • page/FrameView.cpp:

(WebCore::FrameView::recalculateScrollbarOverlayStyle): Remove code that calls documentBackgroundColorDidChange().

  • rendering/RenderLayerBacking.cpp:

(WebCore::clipBox): Remove blank linke.
(WebCore::RenderLayerBacking::updateBackgroundColor):

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

(RenderLayerCompositor):

11:36 AM Changeset in webkit [137799] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Stop the XvfbDriver before proceeding with its starting setup
https://bugs.webkit.org/show_bug.cgi?id=105006

Reviewed by Philippe Normand.

Just as with the base Driver implementation, stop the XvfbDriver
before proceeding with setting up lock files and a new Xvfb instance.
This forces any driver or Xvfb instances that are currently under
the driver's control to be closed/killed and cleaned up after.

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

(XvfbDriver._start):

11:11 AM Changeset in webkit [137798] by Simon Fraser
  • 100 edits in trunk

Disambiguate "background color" and "contents as solid color" on GraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=104842

Source/WebCore:

Patch by No'am Rosenthal <noam.rosenthal@nokia.com> on 2012-12-15
Reviewed by Simon Fraser.

Rename overloads in GraphicsLayerTextureMapper and GraphicsLayerChromium to account for the rename in GraphicsLayer.

Covered by existing tests.

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setContentsToSolidColor):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

(GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::solidColor):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::flushCompositingStateSelf):

  • platform/graphics/texmap/TextureMapperLayer.h:

(State):

Source/WebKit2:

Patch by No'am Rosenthal <noam.rosenthal@nokia.com> on 2012-12-15
Reviewed by Simon Fraser.

Rename overloads in coordinated graphics to account for the rename in GraphicsLayer.

  • Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:

(CoordinatedLayerInfo):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::setLayerState):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

LayoutTests:

Patch by No'am Rosenthal <Noam Rosenthal> on 2012-12-15
Reviewed by Simon Fraser.

Since we don't set the background color for a layer with a solid color, the test results have to be rebaselined.

  • compositing/backing/no-backing-for-clip-expected.txt:
  • compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • compositing/backing/no-backing-for-perspective-expected.txt:
  • compositing/columns/composited-in-paginated-expected.txt:
  • compositing/geometry/ancestor-overflow-change-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • compositing/geometry/clip-expected.txt:
  • compositing/geometry/clip-inside-expected.txt:
  • compositing/geometry/composited-in-columns-expected.txt:
  • compositing/geometry/flipped-writing-mode-expected.txt:
  • compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
  • compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
  • compositing/geometry/preserve-3d-switching-expected.txt:
  • compositing/iframes/become-composited-nested-iframes-expected.txt:
  • compositing/iframes/become-overlapped-iframe-expected.txt:
  • compositing/iframes/composited-parent-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • compositing/iframes/connect-compositing-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe2-expected.txt:
  • compositing/iframes/connect-compositing-iframe3-expected.txt:
  • compositing/iframes/enter-compositing-iframe-expected.txt:
  • compositing/iframes/iframe-resize-expected.txt:
  • compositing/iframes/invisible-nested-iframe-hide-expected.txt:
  • compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • compositing/iframes/overlapped-iframe-expected.txt:
  • compositing/iframes/overlapped-iframe-iframe-expected.txt:
  • compositing/iframes/page-cache-layer-tree-expected.txt:
  • compositing/iframes/scrolling-iframe-expected.txt:
  • compositing/layer-creation/animation-overlap-with-children-expected.txt:
  • compositing/layer-creation/fixed-position-and-transform-expected.txt:
  • compositing/layer-creation/fixed-position-under-transform-expected.txt:
  • compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • compositing/layer-creation/overflow-scroll-overlap-expected.txt:
  • compositing/layer-creation/overlap-animation-expected.txt:
  • compositing/layer-creation/overlap-child-layer-expected.txt:
  • compositing/layer-creation/overlap-clipping-expected.txt:
  • compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
  • compositing/layer-creation/overlap-transformed-layer-expected.txt:
  • compositing/layer-creation/overlap-transforms-expected.txt:
  • compositing/layer-creation/scroll-partial-update-expected.txt:
  • compositing/layer-creation/spanOverlapsCanvas-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
  • compositing/layer-creation/translatez-overlap-expected.txt:
  • compositing/overflow-trumps-transform-style-expected.txt:
  • compositing/overflow/clip-descendents-expected.txt:
  • compositing/plugins/no-backing-store-expected.txt:
  • compositing/rtl/rtl-absolute-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-fixed-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-expected.txt:
  • compositing/rtl/rtl-relative-expected.txt:
  • compositing/tiled-layers-hidpi-expected.txt:
  • compositing/visible-rect/2d-transformed-expected.txt:
  • compositing/visible-rect/3d-transform-style-expected.txt:
  • compositing/visible-rect/3d-transformed-expected.txt:
  • compositing/visible-rect/animated-expected.txt:
  • compositing/visible-rect/animated-from-none-expected.txt:
  • compositing/visible-rect/clipped-by-viewport-expected.txt:
  • compositing/visible-rect/clipped-visible-rect-expected.txt:
  • compositing/visible-rect/iframe-and-layers-expected.txt:
  • compositing/visible-rect/nested-transform-expected.txt:
  • compositing/visible-rect/scrolled-expected.txt:
  • css3/filters/filtered-compositing-descendant-expected.txt:
  • platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
  • platform/mac/compositing/iframes/resizer-expected.txt:
  • platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
  • platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
10:49 AM Changeset in webkit [137797] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

[GTK][WK2] Memory leak in ChunkedUpdateDrawingArea::paintIntoUpdateChunk()
https://bugs.webkit.org/show_bug.cgi?id=105095

Reviewed by Martin Robinson.

Adopt the pointer returned by cairo_create() in
ChunkedUpdateDrawingArea::paintIntoUpdateChunk() to avoid leaking
memory.

  • WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp:

(WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):

6:49 AM WebInspector edited by abecsi@webkit.org
Remove spam. (diff)
3:24 AM WebInspector edited by mousewiki@yahoo.com
(diff)
1:02 AM Changeset in webkit [137796] by mark.lam@apple.com
  • 3 edits in trunk/Source/WebKit2

Added #if ENABLE(SQL_DATABASE) around WebPlatformStrategies::getDatabaseServer().
https://bugs.webkit.org/show_bug.cgi?id=104934..

Not reviewed.

Greening the Qt Linux Release Minimal bot.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

(WebPlatformStrategies):

12:09 AM Changeset in webkit [137795] by mark.lam@apple.com
  • 33 edits
    4 copies in trunk/Source

Re-landing patch for "Introducing the DatabaseStrategy and database servers".
https://bugs.webkit.org/show_bug.cgi?id=104934.

Not reviewed.

Source/WebCore:

Merged from r137767. Previously reviewed by Sam Weinig.
Also added ZTVN7WebCore16DatabaseStrategyE to WebCore.exp.in.

No new tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/webdatabase/AbstractDatabaseServer.h: Copied from Source/WebCore/Modules/webdatabase/AbstractDatabaseServer.h.
  • Modules/webdatabase/DBBackendServer.h: Copied from Source/WebCore/Modules/webdatabase/DBBackendServer.h.
  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::DatabaseManager):

  • Modules/webdatabase/DatabaseManager.h:

(DatabaseManager):

  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/DatabaseStrategy.cpp: Copied from Source/WebCore/platform/DatabaseStrategy.cpp.
  • platform/DatabaseStrategy.h: Copied from Source/WebCore/platform/DatabaseStrategy.h.
  • platform/PlatformStrategies.h:

(WebCore::PlatformStrategies::databaseStrategy):
(PlatformStrategies):
(WebCore::PlatformStrategies::PlatformStrategies):

Source/WebKit/efl:

Merged from r137767. Previously reviewed by Sam Weinig.

  • WebCoreSupport/PlatformStrategiesEfl.cpp:

(PlatformStrategiesEfl::createDatabaseStrategy):

  • WebCoreSupport/PlatformStrategiesEfl.h:

(PlatformStrategiesEfl):

Source/WebKit/gtk:

Merged from r137767. Previously reviewed by Sam Weinig.

  • WebCoreSupport/PlatformStrategiesGtk.cpp:

(PlatformStrategiesGtk::createDatabaseStrategy):

  • WebCoreSupport/PlatformStrategiesGtk.h:

(PlatformStrategiesGtk):

Source/WebKit/mac:

Merged from r137767. Previously reviewed by Sam Weinig.

  • WebCoreSupport/WebPlatformStrategies.h:

(WebPlatformStrategies):

  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::createDatabaseStrategy):

Source/WebKit/qt:

Merged from r137767. Previously reviewed by Sam Weinig.

  • WebCoreSupport/PlatformStrategiesQt.cpp:

(PlatformStrategiesQt::createDatabaseStrategy):

  • WebCoreSupport/PlatformStrategiesQt.h:

(PlatformStrategiesQt):

Source/WebKit/win:

Merged from r137767. Previously reviewed by Sam Weinig.

  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::createDatabaseStrategy):

  • WebCoreSupport/WebPlatformStrategies.h:

(WebPlatformStrategies):

Source/WebKit/wince:

Merged from r137767. Previously reviewed by Sam Weinig.

  • WebCoreSupport/PlatformStrategiesWinCE.cpp:

(PlatformStrategiesWinCE::createDatabaseStrategy):

  • WebCoreSupport/PlatformStrategiesWinCE.h:

(PlatformStrategiesWinCE):

Source/WebKit2:

Merged from r137767. Previously reviewed by Sam Weinig.

  • CMakeLists.txt:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createDatabaseStrategy):
(WebKit):
(WebKit::WebPlatformStrategies::getDatabaseServer):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

(WebPlatformStrategies):

Note: See TracTimeline for information about the timeline view.