Timeline



Aug 12, 2012:

11:55 PM Changeset in webkit [125393] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r125392.
http://trac.webkit.org/changeset/125392
https://bugs.webkit.org/show_bug.cgi?id=93797

Simple rebaseline won't work. Need further investigation.
(Requested by pfeldman on #webkit).

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

  • inspector/console/console-format-collections-expected.txt:
11:48 PM Changeset in webkit [125392] by pfeldman@chromium.org
  • 2 edits in trunk/LayoutTests

Not reviewed: rebaselined inspector/console/console-format-collections.html after r125284.
https://bugs.webkit.org/show_bug.cgi?id=93748

  • inspector/console/console-format-collections-expected.txt:
11:21 PM Changeset in webkit [125391] by kinuko@chromium.org
  • 21 edits in trunk/Source

Support creating File object from FileSystem URL for files in FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=93706

Reviewed by Darin Fisher.

Source/Platform:

  • chromium/public/WebBlobData.h:
  • chromium/public/WebHTTPBody.h:

(WebHTTPBody):

Source/WebCore:

Current File code assumes the existence of local file (i.e. requires a platform local file path) but for FileSystem
files it may not be always the case. For example some implementation may want to use in-memory filesystem to realize
sandboxed filesystem, or others may have the filesystem in remote servers.

This patch adds basic support for making File object constructible not only from a file path but from a FileSystem URL.
Since File can be appended to FormData or included in another Blob this patch also extends BlobData and FormData to support URL.

FileChooser and Drag-and-drop changes are not included in this patch.

No new tests: will add tests when we implement the platform side changes to wire this change.

  • Modules/filesystem/DOMFileSystem.cpp:

(WebCore::DOMFileSystem::createFile):

  • Modules/filesystem/DOMFileSystemSync.cpp:

(WebCore::DOMFileSystemSync::createFile):

  • fileapi/Blob.cpp:

(WebCore::Blob::sliceInternal):

  • fileapi/File.cpp:

(WebCore::createBlobDataForFileSystemURL): Added.
(WebCore::File::File):

  • fileapi/File.h:

(WebCore::File::createForFileSystemFile):
(WebCore::File::fileSystemURL): Added.

  • fileapi/WebKitBlobBuilder.cpp:

(WebCore::WebKitBlobBuilder::append):

  • platform/chromium/support/WebHTTPBody.cpp:

(WebKit::WebHTTPBody::elementAt):
(WebKit::WebHTTPBody::appendURL): Added.
(WebKit::WebHTTPBody::appendURLRange): Added.
(WebKit::WebHTTPBody::appendBlob):

  • platform/network/BlobData.cpp:

(WebCore::BlobData::appendURL):

  • platform/network/BlobData.h:

(BlobDataItem):
(WebCore::BlobDataItem::BlobDataItem):

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::appendStorageItems):
(WebCore::BlobRegistryImpl::registerBlobURL):

  • platform/network/FormData.cpp:

(WebCore::FormData::deepCopy):
(WebCore::FormData::appendURL): Added.
(WebCore::FormData::appendURLRange): Added.
(WebCore::FormData::appendKeyValuePairItems):

  • platform/network/FormData.h:

(WebCore::FormDataElement::FormDataElement):
(FormDataElement):
(WebCore::operator==):

Source/WebKit/chromium:

  • src/WebBlobData.cpp:

(WebKit::WebBlobData::itemAt):

10:21 PM Changeset in webkit [125390] by morrita@google.com
  • 2 edits in trunk/Tools

Unreviewed, added a proxy address to contributors_who_are_not_committers.

  • Scripts/webkitpy/common/config/committers.py:
9:36 PM Changeset in webkit [125389] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

<rdar://problem/11442485> off-screen or inactive pages can change the mouse pointer

Reviewed by Adele Peterson.

  • page/EventHandler.cpp:

(WebCore::EventHandler::fakeMouseMoveEventTimerFired): Added a check that the page is
on-screen and active before dispatching the fake mouse event.

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

[BlackBerry] use MediaPlayer::userAgent() in MediaPlayerPrivateBlackBerry to avoid layering violation
https://bugs.webkit.org/show_bug.cgi?id=93588

Patch by Jonathan Dong <Jonathan Dong> on 2012-08-12
Reviewed by Antonio Gomes.

Removed helper function MediaPlayerPrivate::userAgent() which has
introduced abstraction layering violation and replaced with
MediaPlayer::userAgent().

No new tests since there's no functional change.

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::load):

9:23 PM Changeset in webkit [125387] by yutak@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed. Update TestExpectations so it matches the recent results.

  • platform/chromium/TestExpectations:
9:16 PM Changeset in webkit [125386] by kinuko@chromium.org
  • 5 edits in trunk/Source/WebCore

Record metrics to measure the usage of WebKitBlobBuilder to eventually deprecate it
https://bugs.webkit.org/show_bug.cgi?id=90535

Reviewed by Eric Seidel.

No new tests as this has no functional changes.

  • bindings/js/JSBlobCustom.cpp:

(WebCore::JSBlobConstructor::constructJSBlob):

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallback):

  • fileapi/WebKitBlobBuilder.cpp:

(WebCore::WebKitBlobBuilder::getBlob):

  • fileapi/WebKitBlobBuilder.h:

(WebKitBlobBuilder):

8:55 PM Changeset in webkit [125385] by yutak@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Fix Chromium's Android build.

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::find): Needs parentheses for a function call.

5:14 PM Changeset in webkit [125384] by ojan@chromium.org
  • 3 edits in trunk/Source/WebCore

Remove unnecessary null checks from pseudoStyleForElement and adjustRenderStyle
https://bugs.webkit.org/show_bug.cgi?id=93730

Reviewed by Tony Chang.

All the callers of both methods make sure to pass in a non-null parentStyle.

No change in behavior.

  • css/StyleResolver.cpp:
  • css/StyleResolver.h:
4:13 PM Changeset in webkit [125383] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new tests without expected results.

  • platform/qt/Skipped:
4:01 PM Changeset in webkit [125382] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Tap highlight flashes checkerboard after pinch zoom
https://bugs.webkit.org/show_bug.cgi?id=93601

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-08-12
Reviewed by Antonio Gomes.

Since the tap highlight is usually rather small, we can reimplement
GraphicsLayerClient::contentsVisible() to always return true in order
to keep all AC layer tiles cached all the time.

PR 189895

  • WebKitSupport/DefaultTapHighlight.cpp:

(BlackBerry::WebKit::DefaultTapHighlight::contentsVisible):
(WebKit):

  • WebKitSupport/DefaultTapHighlight.h:

(DefaultTapHighlight):

3:59 PM Changeset in webkit [125381] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Tap highlight sometimes doesn't disappear
https://bugs.webkit.org/show_bug.cgi?id=93711

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-08-12
Reviewed by Antonio Gomes.

The WebOverlayOverride implementation just changes properties of a
LayerCompositingThread directly, which means the changes will
immediately be overwritten on the next commit. Therefore, when the tap
highlight implementation adds a fade out animation, that animation will
instantly be removed again if a commit happens for any reason.

The reason is I totally botched the implementation of
WebOverlayOverride, it's not wrapping WebCore::LayerOverride at all,
instead for some reason it's manipulating the LayerCompositingThread
directly.

Fixed by actually mapping WebOverlayOverride calls to the corresponding
WebCore::LayerOverride method, and scheduling a compositing run to make
the change visible and kick off animations.

Reviewed internally by Sean Wang.

PR 188453

  • Api/WebOverlay.cpp:

(BlackBerry::WebKit::WebOverlayPrivate::override):

  • Api/WebOverlayOverride.cpp:

(BlackBerry::WebKit::WebOverlayOverride::WebOverlayOverride):
(BlackBerry::WebKit::WebOverlayOverride::~WebOverlayOverride):
(BlackBerry::WebKit::WebOverlayOverride::setPosition):
(BlackBerry::WebKit::WebOverlayOverride::setAnchorPoint):
(BlackBerry::WebKit::WebOverlayOverride::setSize):
(BlackBerry::WebKit::WebOverlayOverride::setTransform):
(BlackBerry::WebKit::WebOverlayOverride::setOpacity):
(BlackBerry::WebKit::WebOverlayOverride::addAnimation):
(BlackBerry::WebKit::WebOverlayOverride::removeAnimation):

  • Api/WebOverlayOverride.h:
  • Api/WebOverlay_p.h:

(WebOverlayPrivate):
(WebOverlayPrivateWebKitThread):
(WebOverlayPrivateCompositingThread):

11:14 AM Changeset in webkit [125380] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

table cell.cellIndex should return -1 if there is no parent table
https://bugs.webkit.org/show_bug.cgi?id=93738

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-08-12
Reviewed by Eric Seidel.

Source/WebCore:

According to the HTML5 spec the cellIndex of a table cell(td/th) whose parent is not a table row
must be -1. Currently we are returning zero. This patch fixes this behavior.

Test: fast/table/cellIndex-of-cell-with-different-parents.html

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::cellIndex):

If the parent of the cell is not a table row, -1 is returned. Otherwise a value greater
than or equal to zero is return.

  • rendering/RenderTableCell.h:

(RenderTableCell):

Removed dead code and made minor webkit style related fix.

LayoutTests:

  • fast/table/cellIndex-of-cell-with-different-parents-expected.txt: Added.
  • fast/table/cellIndex-of-cell-with-different-parents.html: Added.
11:05 AM Changeset in webkit [125379] by leandrogracia@chromium.org
  • 9 edits
    4 adds in trunk/Source

[Chromium] Implement the find-in-page match rects API
https://bugs.webkit.org/show_bug.cgi?id=93111

Reviewed by Adam Barth.

Source/WebCore:

Introduce the find-in-page coordinate system. This system tries to solve
the unintuitive tickmark results presented in pages with multiple frames
and scrolled contents where the find results might not be in the visible
area of a frame, which might lead to tickmarks below the container frame.

To achieve this, this coordinate system goes up the render tree
normalizing the coordinates by the actual contents size of its container.
This leads to tickmarks scaled to the visible size of their frame
independently of its scroll. This coordinate system supports also CSS
scroll:overflow, transforms and the different positions.

Also add an auxiliary method to Range in order to provide a transform
friendly way to retrieve the absolute coordinates of the enclosing
bounding box without the adjustment operations that the existing
enclosingRect method does.

Tested by WebFrameTest WebKit unit test.

  • dom/Range.cpp:

(WebCore::Range::transformFriendlyBoundingBox): add a transform-friendly equivalent of boundingBox.
(WebCore):

  • dom/Range.h: move boundingBox to the group of non-transform-friendly methods.

(Range):

Source/WebKit/chromium:

Implement the funcionality of the find-in-page match rects API in WebFrame.
These methods keep a cache of the match rects in a special coordinate system
(find-in-page coordinates) and update them on size changes. They also allow
to recover the match closest to a given point, therefore enabling to move
to find matches when tapping on their corresponding tickmarks.

  • WebKit.gyp: add FindInPageCoordinates.h / cpp.
  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::contentsSizeChanged): propagate didChangeContentsSize to WebFrameImpl.

  • src/FindInPageCoordinates.cpp: Added.

(WebKit):
(WebKit::toNormalizedRect): auxiliary internal function.
(WebKit::findInPageRectFromAbsoluteRect): main coordinate conversion function.
(WebKit::findInPageRectFromRange): convenience conversion function for Ranges.

  • src/FindInPageCoordinates.h: Added.

(WebCore):
(WebKit):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::FindMatch::FindMatch): find matches cache constructor.
(WebKit):
(WebKit::WebFrameImpl::find): clear match cache when appropriate and zoom into results on the Android port.
(WebKit::WebFrameImpl::stopFinding): clear matches cache.
(WebKit::WebFrameImpl::scopeStringMatches): add new results to the matches cache.
(WebKit::WebFrameImpl::increaseMatchCount): update the matches cache version.
(WebKit::WebFrameImpl::resetMatchCount): update the matches cache version.
(WebKit::WebFrameImpl::findMatchMarkersVersion): new API providing the matches cache version.
(WebKit::WebFrameImpl::clearFindMatchesCache): internal utility method to reset the matches cache.
(WebKit::WebFrameImpl::isActiveMatchFrameValid): internal utility method to check if the local frame is still in the frame tree.
(WebKit::WebFrameImpl::updateFindMatchRects): internal utility method to update the match result rects if required.
(WebKit::WebFrameImpl::activeFindMatchRect): new API providing the active find match rect in find-in-page coordinates.
(WebKit::WebFrameImpl::findMatchRects): new API returning the valid match rects in find-in-page coordinates.
(WebKit::WebFrameImpl::appendFindMatchRects): internal utility method to concatenate the match results of multiple frames.
(WebKit::WebFrameImpl::selectNearestFindMatch): new API selecting the find match closer to a point in find-in-page coordinates.
(WebKit::WebFrameImpl::nearestFindMatch): internal utility method to find the nearest find match to a point in a frame.
(WebKit::WebFrameImpl::selectFindMatch): internal utility method to select a match in the cache.
(WebKit::WebFrameImpl::WebFrameImpl): initialization of new variables.
(WebKit::WebFrameImpl::didChangeContentsSize): invalidate the cached match rect coordinates on frame content size changes.

  • src/WebFrameImpl.h:

(WebCore):
(WebFrameImpl):
(WebKit::WebFrameImpl::activeMatchFrame): remove unrequired const.
(WebKit::WebFrameImpl::activeMatch): expose the range of the active match to allow testing.
(FindMatch): cache structure for find matches.

  • tests/WebFrameTest.cpp: new test case for find-in-page match rects.
  • tests/data/find_in_page.html: Added. Test case layout.
  • tests/data/find_in_page_frame.html: Added. Test case layout.
10:40 AM Changeset in webkit [125378] by fischman@chromium.org
  • 2 edits in trunk/Source/WebCore

Stop Y-flipping CROS/ARM video textures
https://bugs.webkit.org/show_bug.cgi?id=93769

Reviewed by Eric Seidel.

No new tests; there's no cros/arm bot yet, sadly.

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

(WebCore::CCVideoLayerImpl::appendQuads): drop the single-platform Y-flipping in prep for the platform doing the flip natively.

9:52 AM Changeset in webkit [125377] by commit-queue@webkit.org
  • 16 edits in trunk

[Qt] Make it possible to build without QtTest/QtPrintSupport
https://bugs.webkit.org/show_bug.cgi?id=93492

Patch by Loïc Yhuel <loic.yhuel@softathome.com> on 2012-08-12
Reviewed by Tor Arne Vestbø.

.:

  • Source/QtWebKit.pro: Disable tests if no testlib

Source/WebKit:

  • WebKit1.pri: Optional printsupport

Source/WebKit/qt:

  • Api/qwebframe.cpp:

(QWebFrame::print): Does nothing if no printsupport

  • Api/qwebview.cpp:

(QWebView::print): Does nothing if no printsupport

Tools:

  • DumpRenderTree/qt/DumpRenderTree.pro: Optional printsupport
  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore):
(WebCore::DumpRenderTree::dryRunPrint): Does nothing if no printsupport

  • QtTestBrowser/QtTestBrowser.pro: Optional printsupport
  • QtTestBrowser/launcherwindow.cpp:

(LauncherWindow::createChrome): No print menu if no printsupport
(LauncherWindow::print): Does nothing if no printsupport

  • QtTestBrowser/launcherwindow.h:
  • Tools.pro: Disable DRT/WTR if QtTest not present
  • qmake/mkspecs/features/default_pre.prf: printsupport no more mandatory
  • qmake/mkspecs/features/features.prf: Qt module availability tests
8:57 AM Changeset in webkit [125376] by mihnea@adobe.com
  • 6 edits
    2 adds in trunk

CSSRegions: Crash when using style in region for removed element.
https://bugs.webkit.org/show_bug.cgi?id=93276

Reviewed by Abhishek Arya.

Source/WebCore:

When a RenderInline object from within a render flow thread is split, the cloned
hierarchy built during the split process does not have the inRenderFlowThread bit
set properly. If the cloned hierarchy is flowed into a region with region style rules,
we compute the style in region also for objects that do not have inRenderFlowThread bit
set and we store the computed style in region for caching purposes. But we only remove
an object style in region information if that object has the inRenderFlowThread bit set.
Under these circumstances, it is possible to remove a object with cached style in region
and without inRenderFlowThread bit set from the render tree and leave the associated cached
information un-removed. Such information will be accesses during the next paint phase of
the region, thus resulting a crash.

The fix is to modify RenderBlock::clone() and RenderInline::clone() functions to also copy the inRenderFlowThread bit
from the source into the clone, therefore the cloned hierarchies will have the inRenderFlowThread
bit set properly.

Test: fast/regions/removed-element-style-in-region-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::clone):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::clone): Replace former static RenderInline::cloneInline with member RenderInline::clone.
(WebCore::RenderInline::splitInlines):

  • rendering/RenderInline.h:

(RenderInline):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::setObjectStyleInRegion):
Added an assert to make sure that when we are computing style in region, we are doing for objects
with inRenderFlowThread set. Also, bail out early in this case to prevent further crashes.

LayoutTests:

Added test reproducing the problem.

  • fast/regions/removed-element-style-in-region-crash-expected.txt: Added.
  • fast/regions/removed-element-style-in-region-crash.html: Added.
8:46 AM Changeset in webkit [125375] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK2] Skip webintents/web-intents-obj-constructor.html test
https://bugs.webkit.org/show_bug.cgi?id=93778

Unreviewed EFL gardening.

Skip webintents/web-intents-obj-constructor.html for
WebKit2 EFL until WTR can print information about the
MessagePorts in a Web Intent (Bug 89072).

Patch by Christophe Dumez <Christophe Dumez> on 2012-08-12

  • platform/efl-wk2/Skipped:
5:12 AM Changeset in webkit [125374] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Set the access qualifier of two methods to query frame specific info of BitmapImage to protected.
https://bugs.webkit.org/show_bug.cgi?id=90505

Patch by Huang Dongsung <luxtella@company100.net> on 2012-08-12
Reviewed by Eric Seidel.

Following 4 methods are protected.

size_t frameCount();
NativeImagePtr frameAtIndex(size_t);
bool frameIsCompleteAtIndex(size_t);
float frameDurationAtIndex(size_t);

So, 2 methds also should be protected because the frame info is only specific of
BitmapImage.

bool frameHasAlphaAtIndex(size_t);
ImageOrientation frameOrientationAtIndex(size_t);

On the other hand, this patch amended GraphicsContext3DCG.

  • static_cast<BitmapImage*>(image)->frameHasAlphaAtIndex(0)

+ image->currentFrameHasAlpha()

This patch does not affect PNG, JPEG, BMP, and WEBP because those images
have only 0 indexed frame.
Thus, GIF, and ICO are affected. However, an above query to get Alpha
is for the image that is created by image->nativeImageForCurrentFrame(), so it
is proper to use image->currentFrameHasAlpha() instead of
image->frameHasAlphaAtIndex(0).

No new tests, because it is hard to test. We need an animated GIF that
one frame has alpha and another frame does not have alpha. However, I
cannot find the animated GIF file that suffices the requirement.

  • platform/graphics/BitmapImage.h:

(BitmapImage):

  • platform/graphics/cg/GraphicsContext3DCG.cpp:

(WebCore::GraphicsContext3D::getImageData):

4:47 AM Changeset in webkit [125373] by allan.jensen@nokia.com
  • 3 edits in trunk/Source/JavaScriptCore

Doesn't build with ENABLE_JIT=0
https://bugs.webkit.org/show_bug.cgi?id=85042

Reviewed by Eric Seidel.

Include headers without which CallFrame.h does not build, and
fix gcc warning about comparing unsigned int with 0.

  • dfg/DFGDriver.cpp:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::isOpcode):

4:38 AM Changeset in webkit [125372] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

master.cfg unittest cleanup: Show DeprecationWarnings with python >= 2.7 too
https://bugs.webkit.org/show_bug.cgi?id=90161

Reviewed by Eric Seidel.

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
4:38 AM Changeset in webkit [125371] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk

webkit fails IETC namespaces/prefix-007.xml
https://bugs.webkit.org/show_bug.cgi?id=86137

Patch by Takashi Sakamoto <tasak@google.com> on 2012-08-12
Reviewed by Eric Seidel.

Source/WebCore:

If a namespace prefix or default namespace is declared more than once
only the last declaration shall be used.

parseAddNamespace doesn't check return value of WTF::HashMap<>::add.
If the return value's isNewEntry is true, the new entry is added with
the specified value. However, if isNewEntry is false, it is required
to update the store value.

No new tests. ietestcenter/css3/namespaces/prefix-007.xml and
ietestcenter/css3/namespaces/prefix-010.xml covers this change.

  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::parserAddNamespace):
Modified to check m_namespaces.add's return value.
If the result says not a new entry, updated the value stored in
m_namespaces by using iterator in the result.

LayoutTests:

  • platform/chromium/TestExpectations:

Enabled the layout tests, ietestcenter/css3/namespaces/prefix-007.xml
and ietestcenter/css3/namespaces/prefix-010.xml.

  • platform/win/ietestcenter/css3/namespaces/prefix-007-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/prefix-010-expected.txt: Removed.

Removed old expectations.

4:29 AM Changeset in webkit [125370] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Fix build with recent clang.
https://bugs.webkit.org/show_bug.cgi?id=90701

Patch by Nuno Lopes <nlopes@apple.com> on 2012-08-12
Reviewed by Eric Seidel.

  • Shared/CommandLine.h:

(CommandLine):

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager):

  • WebProcess/Notifications/NotificationPermissionRequestManager.h:

(NotificationPermissionRequestManager):

4:26 AM Changeset in webkit [125369] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/efl

[EFL][UT] Delete shutdown method.
https://bugs.webkit.org/show_bug.cgi?id=90785

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-08-12
Reviewed by Eric Seidel.

EWKTestBase class already has a shutdownAll method that can be used instead of shutdown.

  • tests/UnitTestUtils/EWKTestBase.cpp:
  • tests/UnitTestUtils/EWKTestBase.h:

(EWKTestBase):

3:39 AM Changeset in webkit [125368] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Move CSS's propertyNameStrings[] to from the header to the cpp file
https://bugs.webkit.org/show_bug.cgi?id=93771

Reviewed by Eric Seidel.

The names of propertyNameStrings[] should never be accessed directly. The function getPropertyName()
return the correct string of propertyNameStrings.

To ensure the values are not accessed by mistake, move them from the header to the implementation.

  • css/makeprop.pl:
3:37 AM Changeset in webkit [125367] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

CSSComputedStyleDeclaration::cssText() should use StringBuilder
https://bugs.webkit.org/show_bug.cgi?id=93776

Reviewed by Eric Seidel.

String::append() is fairly inefficient when used to create a long string by appending a lot of small
pieces. StringBuilder is more approriate for the kind of operations done by CSSComputedStyleDeclaration::cssText().

This changes makes CSSComputedStyleDeclaration::cssText() about 6 times faster.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::cssText):

12:32 AM Changeset in webkit [125366] by Lucas Forschler
  • 4 edits in branches/safari-536.26-branch/Source

Versioning.

12:18 AM Changeset in webkit [125365] by Simon Hausmann
  • 4 edits in trunk/Tools

[Qt] Unreviewed trivial build fix: Newer Qt versions don't implicitly include qwindowsysteminterface.h
through the QTestLib headers anymore.

  • DumpRenderTree/qt/EventSenderQt.cpp:
  • WebKitTestRunner/Target.pri:
  • WebKitTestRunner/qt/EventSenderProxyQt.cpp:

Aug 11, 2012:

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

Fix the build.

  • Platform/CoreIPC/Connection.h:

Add missing include.

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

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

Reviewed by Dan Bernstein.

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

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

Remove WKContextGetSharedThreadContext().

  • UIProcess/ProcessModel.h:

Remove ProcessModelSharedSecondaryThread from the ProcessModel enum.

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

Remove WebContext::sharedThreadContext().

  • UIProcess/WebProcessProxy.cpp:

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

  • UIProcess/WebProcessProxy.h:

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

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

Remove ThreadLauncher files.

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

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

Reviewed by Dan Bernstein.

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

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

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

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

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

(BrowserView::create):

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

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

Reviewed by Dan Bernstein.

Source/WebKit2:

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

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

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

  • UIProcess/WebProcessProxy.cpp:

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

Source/WTF:

  • wtf/Platform.h:

Define HAVE_XPC on 10.7 and later.

Tools:

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

  • Scripts/webkitdirs.pm:

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

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

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

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

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

New Tag.

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

Versioning.

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

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

Reviewed by Anders Carlsson.

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

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

There are a few additional caveats of this initial implementation:

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

Add new configuration file for the service.

  • Platform/CoreIPC/Connection.h:

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

  • Platform/CoreIPC/mac/ConnectionMac.cpp:

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

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::createWebProcessConnection):

  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain):

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

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

  • UIProcess/Launcher/ProcessLauncher.h:

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

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

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

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

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

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

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

  • UIProcess/Launcher/mac/ThreadLauncherMac.mm:

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

  • UIProcess/Plugins/PluginProcessProxy.cpp:

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

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

  • UIProcess/WebProcessProxy.cpp:

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

  • WebKit2.xcodeproj/project.pbxproj:

Add the new files and targets.

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

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

  • WebKit2Service/MainMacService.mm: Added.

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

  • WebProcess/mac/WebProcessMainMac.mm:

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

(WebKit::WebProcessMain):

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

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

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

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

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

Source/WebCore:

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

  • css/CSSPrimitiveValue.cpp:

(WebCore::formatNumber):

  • inspector/InspectorValues.cpp:

(WebCore::InspectorBasicValue::writeJSON):

  • platform/graphics/Color.cpp:

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

Source/WTF:

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

  • wtf/DecimalNumber.cpp:

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

  • wtf/DecimalNumber.h:

(DecimalNumber):

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

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

  • wtf/text/WTFString.h:

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

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

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

Reviewed by Geoffrey Garen.

Source/WebCore:

  • bindings/js/JSDOMBinding.cpp:

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

Source/WTF:

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

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

  • wtf/text/AtomicString.cpp:

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

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

  • wtf/text/AtomicString.h:

(AtomicString):

  • wtf/text/StringImpl.h:

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

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

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

Reviewed by Kenneth Rohde Christiansen.

Dead code after patch of bug 93649.

  • bridge/qt/qt_instance.h:

(QtInstance):

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

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

Reviewed by Eric Seidel.

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

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

Unreviewed.

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

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removeFromTrackedRendererMaps):

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

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

Reviewed by Kenneth Rohde Christiansen.

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

  • WebCoreSupport/FrameLoaderClientQt.cpp:

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

  • WebCoreSupport/FrameLoaderClientQt.h:

(FrameLoaderClientQt):

  • tests/qwebframe/tst_qwebframe.cpp:

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

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

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

Reviewed by Abhishek Arya.

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

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

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

  • rendering/RenderBlock.cpp:

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

  • rendering/RenderBlock.h:

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

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):

  • rendering/RenderBoxModelObject.cpp:

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

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layoutRows):

  • rendering/RenderView.cpp:

(WebCore::RenderView::setFixedPositionedObjectsNeedLayout):

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

Reviewed by Abhishek Arya.

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

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

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

Reviewed by Eric Seidel.

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

  • efl/jhbuild.modules:

Aug 10, 2012:

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

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

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

Source/WebCore:

Take advantage of EXT robustness in WebKit.

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

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

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

RIM PR# 147510
Internally reviewed by Arvid Nilsson.

  • html/canvas/WebGLRenderingContext.cpp:

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

  • html/canvas/WebGLRenderingContext.h:

(WebGLRenderingContext):

  • platform/chromium/support/Extensions3DChromium.cpp:

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

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

(WebCore::GraphicsContext3D::setContextLostCallback):

  • platform/graphics/blackberry/LayerRenderer.cpp:

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

  • platform/graphics/blackberry/LayerRenderer.h:

(LayerRenderer):

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

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

  • platform/graphics/opengl/Extensions3DOpenGLCommon.h:

(Extensions3DOpenGLCommon):

  • platform/graphics/opengl/Extensions3DOpenGLES.cpp:

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

  • platform/graphics/opengl/Extensions3DOpenGLES.h:

(Extensions3DOpenGLES):

Source/WebKit:

RIM PR# 147510
Internally reviewed by Arvid Nilsson.

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

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

Reviewed by Ryosuke Niwa.

Source/WebCore:

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

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

  • dom/PropertyNodeList.cpp:

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

  • html/HTMLPropertiesCollection.cpp:

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

LayoutTests:

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

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

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

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

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

  • platform/win/Skipped:

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

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

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

Reviewed by Rob Buis.

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

No behavior change. Just a refactoring.

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

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

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

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

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

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

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

Rebaselining.

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

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

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

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

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

Source/WebCore:

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

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

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::attachQuote):

LayoutTests:

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

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

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

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

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

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

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

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

Unreviewed test expectation update for Mac.

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

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

Reviewed by Adam Barth.

Source/Platform:

Removes a no-longer-necessary transitional define.

  • chromium/public/WebCompositor.h:

Source/WebCore:

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

  • platform/chromium/support/WebCompositorImpl.h:

Source/WebKit/chromium:

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

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

Unreviewed build fix.

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

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

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

Reviewed by Eric Carlson.

Source/WebCore:

Generate timeupdate events while the current position is changing.

Test: media/media-controller-timeupdate.html

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

  • html/MediaController.cpp:

(MediaController::scheduleTimeupdateEvent):

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

  • html/MediaController.cpp:

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

  • html/MediaController.cpp:

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

  • html/MediaController.h:

LayoutTests:

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

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

Unreviewed. Rolled DEPS.

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

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

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

Reviewed by Adam Barth.

Source/WebCore:

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

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

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

  • dom/Document.cpp:

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

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

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

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

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

  • page/SecurityOrigin.h:

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

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

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

  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:

LayoutTests:

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

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

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

Reviewed by Ryosuke Niwa.

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

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

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

  • dom/DynamicNodeList.h:

(WebCore::DynamicNodeListCacheBase::isRootedAtDocument):

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

Reviewed by Ryosuke Niwa.

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

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

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

Reviewed by Andreas Kling.

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

  • css/StyleResolver.cpp:

(RuleData):
(SameSizeAsRuleData):

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

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

Reviewed by Dirk Pranke.

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

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

  • Scripts/webkitpy/performance_tests/perftest.py:

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

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

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

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

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

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

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

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

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

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

  • platform/graphics/filters/CustomFilterProgram.cpp:

(WebCore::CustomFilterProgram::programInfo):

  • platform/graphics/filters/CustomFilterProgram.h:

(WebCore):

  • platform/graphics/filters/CustomFilterProgramInfo.cpp:

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

  • platform/graphics/filters/CustomFilterProgramInfo.h:

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

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

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

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

Source/WebCore:

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

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

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): Add new value all

  • css/CSSPrimitiveValueMappings.h:

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

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

(StyleRareInheritedData):

Source/WebKit/gtk:

Modify the enum to resolve ambiguous reference

  • webkit/webkitwebview.cpp:

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

LayoutTests:

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

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

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

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

Source/WebCore:

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

  • page/EventHandler.h:

(EventHandler):

Source/WebKit/chromium:

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

  • src/WebFrameImpl.cpp:

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

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

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

Unreviewed gardening.

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

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

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

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

Rubber-stamped by Ryosuke Niwa.

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

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::passwordFieldValue):

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

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

Reviewed by Adrienne Walker.

Source/WebCore:

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

No new tests; no intended change in behaviour.

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

(WebCore::CCLayerTreeHostImpl::drawLayers):

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

(WebCore::CCRenderPass::CCRenderPass):

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

(CCRenderPass):

Source/WebKit/chromium:

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

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

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

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

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

PR 14929

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

Source/WebKit:

  • PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

  • Api/JavaScriptVariant.cpp: Added.

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

  • Api/JavaScriptVariant.h: Added.

(WebKit):

  • Api/JavaScriptVariant_p.h: Added.

(WebKit):

  • Api/WebPage.cpp:

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

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

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

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

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

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

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

Reviewed by Yong Li.

Enable relro link option for JSC executable.

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

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

Reviewed by Chris Fleizach.

Source/WebCore:

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

  • accessibility/AccessibilityRenderObject.cpp:

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

  • accessibility/AccessibilityRenderObject.h:

(AccessibilityRenderObject):

  • accessibility/AccessibilityObject.h:

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

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

  • accessibility/gtk/AXObjectCacheAtk.cpp:

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

Source/WebKit/gtk:

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

  • tests/testatk.c:

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

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

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

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

Source/WTF:

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

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

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

string.

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

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

In addition, no memory is allocated for the characters.

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

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

  • wtf/text/WTFString.cpp:

(WTF::String::String):

  • wtf/text/WTFString.h:

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

Tools:

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

(TestWebKitAPI::TEST):

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

(TestWebKitAPI):
(TestWebKitAPI::TEST):

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

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

Reviewed by Eric Carlson.

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

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController cancelOperation:]):

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

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

Reviewed by Eric Carlson.

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

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

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

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

a bitfield.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

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

Pull out existing the AVAssetImageGenerator into its own functions:

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

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

Add new AVPlayerItemVideoOutput equivalent functions:

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

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

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

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

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

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

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

AVAssetImageGenerator creation function directly.

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

Unreviewed; fix an insanely silly typo.

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

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

Reviewed by Dirk Pranke.

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

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

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

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

Reviewed by Levi Weintraub.

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

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

  • rendering/RenderBlock.cpp:

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

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

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

Reviewed by Simon Fraser.

  • page/Page.cpp:

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

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

Unreviewed GTK gardening.

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

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

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

Reviewed by Rob Buis.

No new tests. No change in behavior.

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

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

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

Unreviewed. Rolled DEPS.

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

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

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

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

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

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

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

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

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

Reviewed by Simon Fraser.

Source/WebCore:

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

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

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

  • rendering/HitTestResult.cpp:

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

LayoutTests:

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

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

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

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

  • css/StyleResolver.cpp:

(RuleData):

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

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

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

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

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

  • platform/graphics/RoundedRect.cpp:

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

  • platform/graphics/RoundedRect.h:

(RoundedRect):

  • rendering/RenderBoxModelObject.cpp:

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

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

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

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

Unreviewed GTK gardening.

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

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

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

Test uses layoutTestController instead of testRunner.

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

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

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

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

Reviewed by Rob Buis.

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

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

Reviewed by Dirk Pranke.

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

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

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

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

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

Rubber-stamped by Simon Fraser.

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

Unreviewed GTK gardening.

Adding failure expectations for failures introduced in r125133 and r125262.

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

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

Reviewed by Adam Barth.

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

Source/WebCore:

Updated test expectations.

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initContextIfNeeded):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initIsolate):

LayoutTests:

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

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

Reviewed by Adam Barth.

Per the discussion in bug 93239,

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

No tests. No change in behavior.

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

(GenerateImplementation):

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

(WebCore):
(WebCore::ConfigureV8Float64ArrayTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestCustomNamedGetterTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestEventConstructorTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestEventTargetTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestExceptionTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestInterfaceTemplate):

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

(WebCore):
(WebCore::ConfigureV8TestMediaQueryListListenerTemplate):

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

(WebCore::ConfigureV8TestNamedConstructorTemplate):

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

(WebCore::ConfigureV8TestNodeTemplate):

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

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

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

(WebCore):
(WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):

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

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

  • bindings/v8/V8DOMConfiguration.h: Added.

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

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

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

Reviewed by Antti Koivisto.

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

  • css/CSSSelectorList.h:

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

Add helpers to CSSSelectorList to iterate by index.

  • css/StyleResolver.cpp:

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

  • css/StyleResolver.h:

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

Store selector indices instead of CSSSelector* pointers.

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

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

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

We should remove custom bindings as CodeGenerator uses UNUSED_PARAM macro.

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

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

(SkipAttribute): Skip TypedArray attribute.

  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipAttribute): Skip TypedArray attribute.

  • bindings/scripts/CodeGeneratorObjC.pm:

(SkipAttribute): Skip TypedArray attribute.

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

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

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

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

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

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

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

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

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

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

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

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::didAddClient):

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

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

Reviewed by Simon Hausmann.

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

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

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

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

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

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

  • runtime/GCActivityCallbackBlackBerry.cpp:

(JSC::DefaultGCActivityCallback::didAllocate):

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

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

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

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

  • Resources/calendarPicker.css:

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

  • Resources/calendarPicker.js:

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

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

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

Reviewed by Kenneth Rohde Christiansen.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):

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

Web Inspector: Unreviewed, fix frontend compilability after r125268.

  • inspector/front-end/CSSStyleModel.js:

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

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

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


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

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

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

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

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

Source/WebCore:

  • platform/graphics/qt/GraphicsContextQt.cpp:

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

LayoutTests:

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

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

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Dumping potentially outdated arrays using the "dir" representation.

  • inspector/front-end/ConsoleMessage.js:

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

  • inspector/front-end/ConsoleModel.js:

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

  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleMessage.create):

LayoutTests:

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

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

Reviewed by Adrienne Walker.

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

Chromium bug: crbug.com/139908

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

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

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

(CCFontAtlas):

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

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

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

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

Reviewed by Adrienne Walker.

Source/WebCore:

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

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

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

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

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

Source/WebKit/chromium:

  • tests/CCOcclusionTrackerTest.cpp:

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

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

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

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

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

Reviewed by Kentaro Hara.

Source/WebCore:

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

Test: fast/notifications/notifications-permission.html

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

(WebCore::Notification::permission):

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

(Notification):

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

LayoutTests:

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

attributes. This is tracked in bug 93488.

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

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

Reviewed by Adam Barth.

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

No tests. No change in behavior.

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::collectIsolatedContexts):

  • bindings/v8/V8Proxy.cpp:

(WebCore::V8Proxy::collectIsolatedContexts):

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

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

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

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

Reviewed by Pavel Feldman.

Source/WebCore:

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

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

  • inspector/InspectorInstrumentation.cpp:

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

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):

  • inspector/InspectorTimelineAgent.cpp:

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

  • inspector/InspectorTimelineAgent.h:

(InspectorTimelineAgent):

  • page/Console.cpp:

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

LayoutTests:

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

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

Reviewed by Kenneth Rohde Christiansen.

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

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

  • bridge/qt/qt_runtime.cpp:

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

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

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

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

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

  • bridge/qt/qt_runtime.cpp:

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

Source/WebKit/qt:

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

  • tests/qobjectbridge/tst_qobjectbridge.cpp:

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

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

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

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

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

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

Unreviewed gardening.

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

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

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

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

Reviewed by Pavel Feldman.

Source/WebCore:

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

(WebInspector.TimelinePresentationModel.isEventDivider):

LayoutTests:

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

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

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

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

Reviewed by Julien Chaffraix.

Source/WebCore:

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

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

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::regionOversetRect):

LayoutTests:

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

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

Windows build fix after merging radar 12050720.

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

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

Unreviewed EFL gardening.

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

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

the http directory in r125222.

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

Expectations and unskip passing test.

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

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

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

Source/WebCore:

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

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

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

  • dom/WebKitNamedFlowCollection.cpp:

(WebCore::WebKitNamedFlowCollection::namedFlows):

  • dom/WebKitNamedFlowCollection.h:

(WebKitNamedFlowCollection):

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

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

  • inspector/InspectorCSSAgent.h:

(InspectorCSSAgent):

  • inspector/InspectorDOMAgent.cpp:

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

  • inspector/InspectorDOMAgent.h:

(InspectorDOMAgent):

  • inspector/front-end/CSSStyleModel.js:

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

LayoutTests:

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

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

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

Reviewed by Carlos Garcia Campos.

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

  • UIProcess/API/gtk/WebKitWebView.cpp:

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

  • UIProcess/API/gtk/WebKitWebView.h:

Added new unit test.

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

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

Updated documentation files with new symbols.

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

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

Reviewed by Kent Tamura.

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

No new tests. Not user facing.

  • Resources/calendarPicker.js:

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

  • Resources/colorSuggestionPicker.js:

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

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

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

Reviewed by Vsevolod Vlasov.

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

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

(WebCore::StyleSheetContents::reportMemoryUsage):

  • dom/Document.cpp:

(WebCore::Document::reportMemoryUsage):

  • dom/MemoryInstrumentation.cpp:

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

  • dom/MemoryInstrumentation.h:

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

  • loader/MainResourceLoader.cpp:

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

  • loader/MainResourceLoader.h:

(MainResourceLoader):

  • loader/SubresourceLoader.cpp:

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

  • loader/SubresourceLoader.h:

(SubresourceLoader):

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

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

  • loader/SubstituteData.h:

(WebCore):
(SubstituteData):

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

Unreviewed gardening, rebaselining marked tests from r125167.

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

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

Reviewed by Kent Tamura.

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

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

inside of ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS build flag.

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

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

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

  • html/shadow/DateTimeEditElement.cpp: Added.

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

  • html/shadow/DateTimeEditElement.h: Added.

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

  • html/shadow/DateTimeFieldElement.cpp: Added.

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

  • html/shadow/DateTimeFieldElement.h: Added.

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

  • html/shadow/DateTimeFieldElements.cpp: Added.

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

  • html/shadow/DateTimeFieldElements.h: Added.

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

  • html/shadow/DateTimeNumericFieldElement.cpp: Added.

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

  • html/shadow/DateTimeNumericFieldElement.h: Added.

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

  • html/shadow/DateTimeSymbolicFieldElement.cpp: Added.

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

  • html/shadow/DateTimeSymbolicFieldElement.h: Added.

(DateTimeSymbolicFieldElement):

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

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

Reviewed by Ojan Vafai.

Source/WebCore:

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

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

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

  • rendering/RenderFlexibleBox.cpp:

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

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

LayoutTests:

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

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

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

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

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

No new tests. There should be no behavioural changes.

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

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

  • bindings/scripts/CodeGeneratorJS.pm:

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

  • bindings/scripts/CodeGeneratorV8.pm:

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

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

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

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

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

Source/WebCore:

  • platform/graphics/chromium/TiledLayerChromium.cpp:

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

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

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

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

Source/WebKit/chromium:

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

Unreviewed GTK gardening, rebaselining after r125167.

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

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

Reviewed by Martin Robinson.

Source/WebCore:

No new tests, this is covered by existing tests.

  • platform/LocalizedStrings.h:

(WebCore): Add unacceptableTLSCertificate() for SOUP.

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::unacceptableTLSCertificate):

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::unacceptableTLSCertificate):

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

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

  • platform/network/soup/ResourceHandleSoup.cpp:

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

Source/WebKit/efl:

Ignore SSL errors by default for compatibility.

  • ewk/ewk_main.cpp:

(_ewk_init_body):

Source/WebKit/gtk:

Ignore SSL errors by default for compatibility.

  • webkit/webkitglobals.cpp:

(webkitInit):

Source/WebKit2:

Ignore SSL errors by default for compatibility.

  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl):

  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMainGtk):

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

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

Reviewed by Ryosuke Niwa.

Source/WebCore:

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

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

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

  • html/DOMTokenList.cpp:

(WebCore::DOMTokenList::addToken):

LayoutTests:

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

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

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

Reviewed by Ojan Vafai.

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

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

No new tests, this is just a refactoring.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

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

  • rendering/RenderDeprecatedFlexibleBox.h:

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

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

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

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

Modified css properties for aligning search panel.

No new tests.UI change.

  • inspector/front-end/inspector.css:

(.search-results-matches):

Aug 9, 2012:

11:34 PM Changeset in webkit [125254] by commit-queue@webkit.org
  • 1 edit
    30 moves in trunk/LayoutTests

Move some CSS -webkit-locale tests out of fast/text/
https://bugs.webkit.org/show_bug.cgi?id=93571

Patch by Matt Falkenhagen <falken@chromium.org> on 2012-08-09
Reviewed by Alexey Proskuryakov.

Move the tests from fast/text/ to fast/css/, as they are not text-related.

  • fast/css/content-language-case-insensitivity-expected.txt: Renamed from LayoutTests/fast/text/content-language-case-insensitivity-expected.txt.
  • fast/css/content-language-case-insensitivity.html: Renamed from LayoutTests/fast/text/content-language-case-insensitivity.html.
  • fast/css/content-language-comma-separated-list-expected.txt: Renamed from LayoutTests/fast/text/content-language-comma-separated-list-expected.txt.
  • fast/css/content-language-comma-separated-list.html: Renamed from LayoutTests/fast/text/content-language-comma-separated-list.html.
  • fast/css/content-language-dynamically-added-expected.txt: Renamed from LayoutTests/fast/text/content-language-dynamically-added-expected.txt.
  • fast/css/content-language-dynamically-added.html: Renamed from LayoutTests/fast/text/content-language-dynamically-added.html.
  • fast/css/content-language-dynamically-changed-expected.txt: Renamed from LayoutTests/fast/text/content-language-dynamically-changed-expected.txt.
  • fast/css/content-language-dynamically-changed.html: Renamed from LayoutTests/fast/text/content-language-dynamically-changed.html.
  • fast/css/content-language-dynamically-removed-expected.txt: Renamed from LayoutTests/fast/text/content-language-dynamically-removed-expected.txt.
  • fast/css/content-language-dynamically-removed.html: Renamed from LayoutTests/fast/text/content-language-dynamically-removed.html.
  • fast/css/content-language-empty-expected.txt: Renamed from LayoutTests/fast/text/content-language-empty-expected.txt.
  • fast/css/content-language-empty.html: Renamed from LayoutTests/fast/text/content-language-empty.html.
  • fast/css/content-language-late-expected.txt: Renamed from LayoutTests/fast/text/content-language-late-expected.txt.
  • fast/css/content-language-late.html: Renamed from LayoutTests/fast/text/content-language-late.html.
  • fast/css/content-language-mapped-to-webkit-locale-expected.txt: Renamed from LayoutTests/fast/text/content-language-mapped-to-webkit-locale-expected.txt.
  • fast/css/content-language-mapped-to-webkit-locale.html: Renamed from LayoutTests/fast/text/content-language-mapped-to-webkit-locale.html.
  • fast/css/content-language-multiple-expected.txt: Renamed from LayoutTests/fast/text/content-language-multiple-expected.txt.
  • fast/css/content-language-multiple.html: Renamed from LayoutTests/fast/text/content-language-multiple.html.
  • fast/css/content-language-no-content-expected.txt: Renamed from LayoutTests/fast/text/content-language-no-content-expected.txt.
  • fast/css/content-language-no-content.html: Renamed from LayoutTests/fast/text/content-language-no-content.html.
  • fast/css/content-language-only-whitespace-expected.txt: Renamed from LayoutTests/fast/text/content-language-only-whitespace-expected.txt.
  • fast/css/content-language-only-whitespace.html: Renamed from LayoutTests/fast/text/content-language-only-whitespace.html.
  • fast/css/content-language-with-whitespace-expected.txt: Renamed from LayoutTests/fast/text/content-language-with-whitespace-expected.txt.
  • fast/css/content-language-with-whitespace.html: Renamed from LayoutTests/fast/text/content-language-with-whitespace.html.
  • fast/css/lang-mapped-to-webkit-locale-dynamic-expected.txt: Renamed from LayoutTests/fast/text/lang-mapped-to-webkit-locale-dynamic-expected.txt.
  • fast/css/lang-mapped-to-webkit-locale-dynamic.xhtml: Renamed from LayoutTests/fast/text/lang-mapped-to-webkit-locale-dynamic.xhtml.
  • fast/css/lang-mapped-to-webkit-locale-expected.txt: Renamed from LayoutTests/fast/text/lang-mapped-to-webkit-locale-expected.txt.
  • fast/css/lang-mapped-to-webkit-locale.xhtml: Renamed from LayoutTests/fast/text/lang-mapped-to-webkit-locale.xhtml.
  • fast/css/xml-lang-ignored-in-html-expected.txt: Renamed from LayoutTests/fast/text/xml-lang-ignored-in-html-expected.txt.
  • fast/css/xml-lang-ignored-in-html.html: Renamed from LayoutTests/fast/text/xml-lang-ignored-in-html.html.
10:45 PM Changeset in webkit [125253] by commit-queue@webkit.org
  • 8 edits in trunk/Source

[Qt] Remove support for qt_sender in QObject bridge
https://bugs.webkit.org/show_bug.cgi?id=93649

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-08-09
Reviewed by Kenneth Rohde Christiansen.

Support for qt_sender has also been removed from QtScript/QJSEngine. The right
JavaScript solution to the problem is Function.prototype.bind.

Source/WebCore:

  • bridge/qt/qt_instance.cpp:

(Bindings):

  • bridge/qt/qt_instance.h:
  • bridge/qt/qt_runtime.cpp:

(Bindings):
(JSC::Bindings::QtConnectionObject::execute):

Source/WebKit/qt:

  • Api/qwebframe.cpp:

(QWebFramePrivate::didClearWindowObject):

  • Api/qwebframe_p.h:

(QWebFramePrivate):

  • tests/qobjectbridge/tst_qobjectbridge.cpp:

(tst_QObjectBridge::connectAndDisconnect):

10:21 PM BuildingGtk edited by yanhkim@outlook.com
(diff)
10:14 PM Changeset in webkit [125252] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Convert CSSParser's m_reusableSelectorVector to OwnPtr and rename to m_selectorVector.
https://bugs.webkit.org/show_bug.cgi?id=93574

Patch by Shane Stephens <shanestephens@google.com> on 2012-08-09
Reviewed by Ojan Vafai.

This is preparatory work for CSS Hierarchies (see wkb.ug/79939).
CSS Hierarchies works by pushing selectorVectors onto a stack while nested selectorVectors are parsed.
For this reason, the selectorVector in CSSParser can't be re-used between selector parses within a set of
nested selectors. This patch wraps the selectorVector in an OwnPtr but does not otherwise modify its use.

Similarly, CSSParser::m_parsedProperties is converted from a direct ParsedPropertyVector included
as a member of CSSParser to an OwnPtr.

Once Hierarchies are introduced, when a selectorVector is stacked a new one will be created
and stored in m_selectorVector (see wkb.ug/79939 for context). However, an accompanying unstacking
mechanism ensures that selectorVectors will be reused in all circumstances where they currently are.

This patch also introduces a CSSSelectorVector typedef to simplify and improve readability of
type signatures in and around CSSParser.

No new tests as this patch doesn't introduce new functionality.

  • css/CSSGrammar.y:
  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::parseDeclaration):
(WebCore):
(WebCore::filterProperties):
(WebCore::CSSParser::createStylePropertySet):
(WebCore::CSSParser::addProperty):
(WebCore::CSSParser::rollbackLastProperties):
(WebCore::CSSParser::clearProperties):
(WebCore::CSSParser::parse4Values):
(WebCore::CSSParser::parseFlowThread):
(WebCore::CSSParser::createFloatingSelectorVector):
(WebCore::CSSParser::sinkFloatingSelectorVector):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::setReusableRegionSelectorVector):
(WebCore::CSSParser::startDeclarationsForMarginBox):
(WebCore::CSSParser::endDeclarationsForMarginBox):
(WebCore::CSSParser::deleteFontFaceOnlyValues):

m_reusableSelectorVector renamed to m_selectorVector and wrapped in OwnPtr.
m_parsedProperties wrapped in OwnPtr.

  • css/CSSParser.h:

(WebCore::CSSParser::hasProperties):
(WebCore::CSSParser::selectorVector): function renamed from reusableSelectorVector
(CSSParser):
(WebCore::CSSParser::reusableRegionSelectorVector):

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::adoptSelectorVector):

  • css/CSSParserValues.h: CSSSelectorVector typedef added

(WebCore):
(CSSParserSelector):

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::adoptSelectorVector):

  • css/CSSSelectorList.h:

(CSSSelectorList):

  • css/SVGCSSParser.cpp:

(WebCore::CSSParser::parseSVGValue):

  • css/StyleRule.cpp:

(WebCore::StyleRuleRegion::StyleRuleRegion):

  • css/StyleRule.h:

(WebCore::StyleRule::parserAdoptSelectorVector):
(WebCore::StyleRulePage::parserAdoptSelectorVector):
(WebCore::StyleRuleRegion::create):
(StyleRuleRegion):

10:12 PM Changeset in webkit [125251] by dominicc@chromium.org
  • 14 edits in trunk/Source/WebCore

SVGElementInstance should have EventTarget on the prototype chain
https://bugs.webkit.org/show_bug.cgi?id=88232

Reviewed by Adam Barth.

SVG 1.1 specifies that SVGElementInstance has EventTarget as its
parent interface:
<http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance>
Match the spec by putting EventTarget on the prototype chain of
SVGElementInstance instead of redundantly declaring
addEventListener, removeEventListener and dispatchEvent on the
SVGElementInstance interface. This is an incremental step to make
all EventTargets do it this way, being tracked in bug 67312.

Covered by existing tests, eg
svg/custom/use-instanceRoot-as-event-target.xhtml

  • CMakeLists.txt: Finding base interface types requires

searching directories with the IDLs of base interfaces.

  • DerivedSources.cpp: Add generated JSEventTarget.cpp.
  • DerivedSources.make: (Search paths again -- see CMakeLists.txt)
  • DerivedSources.pri: "
  • bindings/js/JSEventTargetCustom.cpp:

(WebCore::toEventTarget): Try to unwrap EventTargets simply as
EventTargets. When all EventTargets do this consistently this
function will be simplified.

  • bindings/js/JSSVGElementInstanceCustom.cpp:

(WebCore::JSSVGElementInstance::visitChildren): SVGElementInstance
skips walking its event listener list because it forwards
listeners to its corresponding element.

  • bindings/scripts/CodeGenerator.pm:

(IsStrictSubtype): For finding what is an EventTarget based on
parent interface.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Extend the heuristic for what is an
EventTarget. When all EventTargets are handled consistently this
will be simplified.
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm: Extend the heuristic for

what is an EventTarget, and remove some of the special-casing for
EventTarget.
(GenerateHeader):
(GetInternalFields):
(GenerateImplementation):
(BaseInterfaceName):
(GenerateToV8Converters):
(GetNativeType):
(JSValueToNative):
(GetV8HeaderName):

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

(WebCore::V8Float64Array::wrapSlow): Add assertions.

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

(WebCore::V8TestNode::wrapSlow):

  • svg/SVGElementInstance.h: Must extend EventTarget first so that

static_cast<EventTarget*>(elementInstance) is the same pointer as
elementInstance, similar to how static_cast<Node*>(element) is the
same pointer as element.

  • svg/SVGElementInstance.idl: Extend EventTarget; no longer need

to declare add/removeEventListener and dispatchEvent.

10:00 PM Changeset in webkit [125250] by tkent@chromium.org
  • 1 edit
    1 move
    1 add
    3 deletes in trunk/LayoutTests

Add DOMString reflection test
https://bugs.webkit.org/show_bug.cgi?id=93681

Reviewed by Hajime Morita.

Introduce fast/dom/domstring-atribute-reflection.html, which
should have tess for all of reflected DOMString IDL attribute,
like fast/dom/boolean-attribute-reflection.html and
URL-attribute-reflectin.html.

As the first step, integrate fast/forms/input-step.html and
fast/form/name-attribute.html into
domstring-attribute-reflection.html.

  • fast/dom/domstring-attribute-reflection-expected.txt: Renamed from LayoutTests/fast/forms/name-attribute-expected.txt.
  • fast/dom/domstring-attribute-reflection.html: Added.
  • fast/forms/input-step-expected.txt: Removed.
  • fast/forms/input-step.html: Removed.
  • fast/forms/name-attribute.html: Removed.
9:53 PM Changeset in webkit [125249] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Remove unused method InspectorResourceAgent::clearCache from Resource Agent.
https://bugs.webkit.org/show_bug.cgi?id=93675

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-08-09
Reviewed by Pavel Feldman.

Removing unused method declaration for clearCache in InspectorResourceAgent. It's marked as FIXME.
Hence cleaning up.

No new tests as cleanup.

  • inspector/InspectorResourceAgent.h:

(InspectorResourceAgent):

9:51 PM Changeset in webkit [125248] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: CodeGeneratorInspector.py: add complete support for TypeBuilder::Array
https://bugs.webkit.org/show_bug.cgi?id=93559

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-08-09
Reviewed by Pavel Feldman.

Missing binding methods are added to templates. Core assert methods are declared in a helper class now.

  • inspector/CodeGeneratorInspector.py:

(RawTypes.BaseType.generate_validate_method):
(RawTypes.BaseType.get_raw_validator_call_text):
(RawTypes.generate_validate_methods):
(RawTypes.Int.generate_validate_method):
(RawTypes.Int.get_raw_validator_call_text):
(RawTypes.Number.get_validate_method_params.ValidateMethodParams):
(RawTypes.Any.generate_validate_method):
(RawTypes.Any.get_raw_validator_call_text):
(RawTypes.Array.get_validate_method_params.ValidateMethodParams):
(RawTypes.Array.get_validate_method_params):
(PlainObjectBinding.get_validator_call_text):
(RuntimeCastHelper):
(Generator):
(Generator.go):

9:45 PM Changeset in webkit [125247] by commit-queue@webkit.org
  • 18 edits
    2 adds in trunk

Mouse-select then Cut, results in preceding character being lost
https://bugs.webkit.org/show_bug.cgi?id=60830

Patch by Sukolsak Sakshuwong <sukolsak@google.com> on 2012-08-09
Reviewed by Ryosuke Niwa.

Source/WebCore:

This bug happened only in text fields and text areas, not in other
content-editable elements. That's because when we cut or copied text
in a text control, we called Pasteboard::writePlainText instead of
Pasteboard::writeSelection. writePlainText did not record the smart replace
information. Make writePlainText record the smart replace information.

Test: editing/pasteboard/smart-paste-in-text-control.html

  • editing/Editor.cpp:

(WebCore::Editor::cut):
(WebCore::Editor::copy):

  • inspector/InjectedScriptHost.cpp:

(WebCore::InjectedScriptHost::copyText):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::copyText):

  • platform/Pasteboard.h:
  • platform/blackberry/PasteboardBlackBerry.cpp:

(WebCore::Pasteboard::writePlainText):

  • platform/chromium/PasteboardChromium.cpp:

(WebCore::Pasteboard::writePlainText):

  • platform/efl/PasteboardEfl.cpp:

(WebCore::Pasteboard::writePlainText):

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::writePlainText):

  • platform/mac/ClipboardMac.mm:

(WebCore::ClipboardMac::writePlainText):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::writePlainText):

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::writePlainText):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::writePlainText):

  • platform/wince/PasteboardWinCE.cpp:

(WebCore::Pasteboard::writePlainText):

  • platform/wx/ClipboardWx.cpp:

(WebCore::ClipboardWx::writePlainText):

  • platform/wx/PasteboardWx.cpp:

(WebCore::Pasteboard::writePlainText):

LayoutTests:

  • editing/pasteboard/smart-paste-in-text-control-expected.txt: Added.
  • editing/pasteboard/smart-paste-in-text-control.html: Added.
  • platform/chromium/TestExpectations:
9:42 PM Changeset in webkit [125246] by Joone Hur
  • 1 edit
    3 adds in trunk/LayoutTests

[EFL] Unreviewed gardening

Rebaseline compositing/repaint/newly-composited-on-scroll.html on EFL after r125086.
Rebaseline fast/forms/datalist/range-snap-to-datalist.html on EFL after r125048.

  • platform/efl/compositing/repaint/newly-composited-on-scroll-expected.png: Added.
  • platform/efl/compositing/repaint/newly-composited-on-scroll-expected.txt: Added.
  • platform/efl/fast/forms/datalist/range-snap-to-datalist-expected.txt: Added.
9:35 PM Changeset in webkit [125245] by mikelawther@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed gardening.

Unskip tests that are now non-flaky (see fix in http://trac.webkit.org/changeset/121506)

  • platform/chromium/TestExpectations:
  • platform/mac/TestExpectations:
8:50 PM Changeset in webkit [125244] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Updated run-binding-tests results.

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

(WebCore::TestActiveDOMObjectV8Internal::TestActiveDOMObjectDomainSafeFunctionSetter):

8:37 PM Changeset in webkit [125243] by macpherson@chromium.org
  • 3 edits
    2 adds in trunk

Fix null pointer deref in RenderFileUploadControl::computePreferredLogicalWidth().
https://bugs.webkit.org/show_bug.cgi?id=93579

Reviewed by Kent Tamura.

Source/WebCore:

Checks the upload control has a non-null button renderer before dereferencing.

Test: fast/forms/file/file-crash-by-display-none-button.html

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::computePreferredLogicalWidths):

LayoutTests:

Exercise code path that causes an upload button to exist without a renderer.

  • fast/forms/file/file-crash-by-display-none-button.html: Added.
  • fast/forms/file/file-crash-by-display-none-button-expected.txt: Added.
8:05 PM Changeset in webkit [125242] by haraken@chromium.org
  • 13 edits
    2 moves in trunk/Source/WebCore

[V8] Rename V8BindingPerContextData to V8PerContextData
https://bugs.webkit.org/show_bug.cgi?id=93595

Reviewed by Adam Barth.

For a better name. See discussion in bug 93333.

No tests. No change in behavior.

  • UseV8.cmake: Added V8PerContextData.cpp. The fact that missing V8BindingPerContextData.cpp

has not caused any problem indicates that UseV8.cmake is not used at all?

  • WebCore.gypi:
  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initContextIfNeeded):

  • bindings/v8/V8DOMWindowShell.h:

(WebCore::V8DOMWindowShell::perContextData):
(V8DOMWindowShell):

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::constructorForType):
(WebCore::V8DOMWrapper::perContextData):
(WebCore::V8DOMWrapper::instantiateV8Object):

  • bindings/v8/V8DOMWrapper.h:

(WebCore):
(V8DOMWrapper):

  • bindings/v8/V8IsolatedContext.cpp:

(WebCore::V8IsolatedContext::V8IsolatedContext):

  • bindings/v8/V8IsolatedContext.h:

(WebCore):
(WebCore::V8IsolatedContext::perContextData):
(V8IsolatedContext):

  • bindings/v8/V8PerContextData.cpp: Renamed from Source/WebCore/bindings/v8/V8BindingPerContextData.cpp.

(WebCore):
(WebCore::V8PerContextData::dispose):
(WebCore::V8PerContextData::init):
(WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
(WebCore::V8PerContextData::constructorForTypeSlowCase):

  • bindings/v8/V8PerContextData.h: Renamed from Source/WebCore/bindings/v8/V8BindingPerContextData.h.

(WebCore):
(V8PerContextData):
(WebCore::V8PerContextData::create):
(WebCore::V8PerContextData::~V8PerContextData):
(WebCore::V8PerContextData::createWrapperFromCache):
(WebCore::V8PerContextData::constructorForType):
(WebCore::V8PerContextData::V8PerContextData):

  • bindings/v8/V8Proxy.cpp:

(WebCore::V8Proxy::retrievePerContextData):

  • bindings/v8/V8Proxy.h:

(WebCore):
(V8Proxy):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initContextIfNeeded):

  • bindings/v8/WorkerContextExecutionProxy.h:

(WebCore):
(WebCore::WorkerContextExecutionProxy::perContextData):
(WorkerContextExecutionProxy):

7:47 PM Changeset in webkit [125241] by yutak@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Remove duplicate test expectation entry causing a lint error.

  • platform/chromium/TestExpectations:
7:28 PM Changeset in webkit [125240] by wangxianzhu@chromium.org
  • 4 edits in trunk

[Chromium-Android] Skip layout tests directories that are not applicable
https://bugs.webkit.org/show_bug.cgi?id=93670

Reviewed by Dirk Pranke.

Tools:

Added back ChromiumAndroidPort.skipped_layout_tests to skip some whole directories.
The method is more convenient to skip whole directories than SKIP in TestExpectations
because its higher priority. Will still use TestExpectations to skip individual tests.

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

(ChromiumAndroidPort.skipped_layout_tests):

LayoutTests:

Removed 'WONTFIX ANDROID SKIP' lines for whole directories added in r125094.
Use ChromiumAndroidPort.skipped_layout_tests() instead.

  • platform/chromium/TestExpectations:
7:26 PM Changeset in webkit [125239] by arv@chromium.org
  • 7 edits in trunk

HTMLElement.classList cannot remove classnames with uppercase characters
https://bugs.webkit.org/show_bug.cgi?id=93628

Reviewed by Alexey Proskuryakov.

Before this patch we were trying to be smart and determine whether we needed the update m_classNamesForQuirksMode
based on whether m_classNamesForQuirksMode.isNull(), however, m_classNamesForQuirksMode.isNull() is true when the
class name is the empty string.

We also did not update m_classNamesForQuirksMode when the class attribute was cleared.

Source/WebCore:

Updated tests.

  • dom/StyledElement.cpp:

(WebCore::StyledElement::classAttributeChanged):

  • html/ClassList.cpp:

(WebCore::ClassList::reset):
(WebCore::ClassList::classNames):

LayoutTests:

  • fast/dom/HTMLElement/class-list-expected.txt:
  • fast/dom/HTMLElement/class-list-quirks-expected.txt:
  • fast/dom/HTMLElement/script-tests/class-list.js:
7:19 PM Changeset in webkit [125238] by yutak@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, Chromium-mac (clang) build fix for r125230.

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore):

7:15 PM Changeset in webkit [125237] by morrita@google.com
  • 3 edits
    2 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=93587
Node::replaceChild() can create bad DOM topology with MutationEvent, Part 2

Reviewed by Kent Tamura.

Source/WebCore:

This is a followup of r124156. replaceChild() has yet another hidden
MutationEvent trigger. This change added a guard for it.

Test: fast/events/mutation-during-replace-child-2.html

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::replaceChild):

LayoutTests:

  • fast/events/mutation-during-replace-child-2-expected.txt: Added.
  • fast/events/mutation-during-replace-child-2.html: Added.
7:13 PM Changeset in webkit [125236] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

[V8] V8Utilities::throwTypeMismatchException() should use setDOMException()
https://bugs.webkit.org/show_bug.cgi?id=93610

Reviewed by Adam Barth.

Given that V8Utilities::throwTypeMismatchException() throws a DOM exception,
we should use setDOMException() instead of throwError().

This patch also renames throwTypeMismatchException() to setTypeMismatchException().

No tests. I couldn't figure out how to trigger the call path.
Either way this is just a minor change of error message.

  • bindings/v8/V8Utilities.cpp:

(WebCore::setTypeMismatchException):

  • bindings/v8/V8Utilities.h:

(WebCore::createFunctionOnlyCallback):

7:11 PM Changeset in webkit [125235] by kinuko@chromium.org
  • 4 edits in trunk

http/tests/security/mixedContent/blob-url-in-iframe.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=88736

Reviewed by Alexey Proskuryakov.

Source/WebKit/mac:

WebView::_canHandleRequest should return true for "blob:" URL so that it can be shown in iframe.

  • WebView/WebView.mm:

(+[WebView _canHandleRequest:forMainFrame:]):

LayoutTests:

Remove security/mixedContent/blob-url-in-iframe.html as it should pass with this patch.

  • platform/mac/Skipped:
7:04 PM Changeset in webkit [125234] by jchaffraix@webkit.org
  • 3 edits
    2 adds in trunk

Crash in WebCore::RenderTable::cellBefore
https://bugs.webkit.org/show_bug.cgi?id=91160

Reviewed by Abhishek Arya.

Source/WebCore:

The issue was that we wouldn't properly set the row index on row in a newly split table. When inserting
the cell into the new row, we would try to repaint the cell which would access the row index and crash.
This came from splitAnonymousBoxesAroundChild calling RenderObjectChildList::insertChildNode directly
which doesn't invoke the row setting logic (RenderTableSection::addChild for example but we cannot call
addChild due to concern over splitting flows in the general case).

Test: fast/table/split-anonymous-boxes-around-table-repaint-crash.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::splitAnonymousBoxesAroundChild):
Dirty our parent box, which forces a cell recomputation which will set the row index. This needs to
be done *before* we insert the child to avoid crashing when repainting the new child.

LayoutTests:

  • fast/table/split-anonymous-boxes-around-table-repaint-crash-expected.txt: Added.
  • fast/table/split-anonymous-boxes-around-table-repaint-crash.html: Added.
6:54 PM Changeset in webkit [125233] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

LayoutTest: fast/forms/select/menulist-popup-crash.html timeout on Windows.
https://bugs.webkit.org/show_bug.cgi?id=93667

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

Test times out and was added to Mac skiplist: http://trac.webkit.org/changeset/102884.
Adding to Windows skip list as well.

  • platform/win/Skipped:

Add test to skip list.

6:52 PM Changeset in webkit [125232] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

[V8] Fix issues with [DoNotCheckSecurity] which depended on non ES5 compliant behavior
https://bugs.webkit.org/show_bug.cgi?id=93555

Reviewed by Kentaro Hara.

Before this change we were relying on a V8 bug where instance properties could be shadow
read only properties on the prototype. With this change we no longer depend on this incorrect
V8 behavior and instead use a hidden v8 property that is only returned if the code can access
the frame.

No new tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateDomainSafeFunctionGetter):
(GenerateDomainSafeFunctionSetter):
(GenerateNonStandardFunction):
(GenerateImplementation):

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

(WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
(WebCore::TestActiveDOMObjectV8Internal::TestActiveDOMObjectDomainSafeFunctionSetter):
(TestActiveDOMObjectV8Internal):
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):

6:32 PM Changeset in webkit [125231] by dgrogan@chromium.org
  • 6 edits in trunk

IndexedDB: intversion-long-queue.html fails an assert
https://bugs.webkit.org/show_bug.cgi?id=92783

Reviewed by Tony Chang.

Source/WebCore:

onBlocked needs the same shouldEnqueueEvent check that the other
event generators have.

Tests: intversion-long-queue is no longer skipped.

  • Modules/indexeddb/IDBRequest.h:

(IDBRequest):

  • Modules/indexeddb/IDBVersionChangeRequest.cpp:

(WebCore::IDBVersionChangeRequest::onBlocked):

LayoutTests:

  • platform/chromium/TestExpectations:
  • storage/indexeddb/intversion-long-queue-expected.txt:

Add some FAIL lines that will be fixed when patch from 92897 lands.
This patch doesn't actually change any behavior,
intversion-long-queue-expected.txt was generated with 92897 patched in
and the test was skipped so it didn't matter.

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

[chromium] Paint animated layers immediately to avoid animation hiccups.
https://bugs.webkit.org/show_bug.cgi?id=93028

Patch by Eric Penner <epenner@google.com> on 2012-08-09
Reviewed by Adrienne Walker.

Source/WebCore:

This is a technique used on Android, which is very prone
to hiccups in animations. Paint the entire layer if it is
of reasonable size such that there is no hiccups when the
animation reaches unpainted content. The reasonable size
is choosen for page-transitions specifically, as this was
the problem case (animations would just jump to the end).

Since we already have a special case this just modifies it
and replaces the unit test with a new one. This can be
improved/simplified further when distances/directions are
available for the animated layers.

Replaced one test.

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(UpdatableTile):
(WebCore::UpdatableTile::resetUpdateState):
(WebCore::UpdatableTile::markForUpdate):
(WebCore::UpdatableTile::UpdatableTile):
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore):
(WebCore::TiledLayerChromium::updateTiles):
(WebCore::TiledLayerChromium::markOcclusionsAndRequestTextures):
(WebCore::TiledLayerChromium::haveTexturesForTiles):
(WebCore::TiledLayerChromium::markTilesForUpdate):
(WebCore::TiledLayerChromium::updateTileTextures):
(WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
(WebCore::TiledLayerChromium::resetUpdateState):
(WebCore::TiledLayerChromium::updateContentRect):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):

  • platform/graphics/chromium/TiledLayerChromium.h:

(TiledLayerChromium):

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

(WebCore::CCLayerTilingData::contentRectToTileIndices):

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

(WebCore::CCPriorityCalculator::maxPriority):

Source/WebKit/chromium:

Replaced one test. Test painting full animated layer.

  • tests/TiledLayerChromiumTest.cpp:
6:05 PM Changeset in webkit [125229] by jchaffraix@webkit.org
  • 4 edits
    4 adds in trunk

REGRESSION(r117339): cell in block-level table in inline-block are aligned with their last line box
https://bugs.webkit.org/show_bug.cgi?id=91137

Reviewed by Tony Chang.

Source/WebCore:

Fixed the code to properly ignore any inline-table's baseline for the purpose of 'inline-block' baseline computation.
See http://lists.w3.org/Archives/Public/www-style/2012Jul/0721.html about the discussion.

While touching the code, properly fixed the table baseline logic that was wrong because it wrongly piggy-backed
on the inline-block baseline logic.

Tests: fast/table/anonymous-table-no-baseline-align.html

fast/table/inline-table-in-inline-block-last-baseline-align.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::baselinePosition):
Overrode this function: this is needed as RenderBlock assumes that isReplaced() == true
means it is handling an inline-block, not a table.

(WebCore::RenderTable::lastLineBoxBaseline):
Table are ignored for the purpose of inline-block baseline determination.

(WebCore::RenderTable::firstLineBoxBaseline):
Inlined the code from getLineBoxBaseline. Added some comments to explain
why this code works as expected in the 'table' case.

  • rendering/RenderTable.h:

Added baselinePosition.

LayoutTests:

  • fast/table/anonymous-table-no-baseline-align-expected.html: Added.
  • fast/table/anonymous-table-no-baseline-align.html: Added.
  • fast/table/inline-table-in-inline-block-last-baseline-align-expected.html: Added.
  • fast/table/inline-table-in-inline-block-last-baseline-align.html: Added.
5:58 PM Changeset in webkit [125228] by rakuco@webkit.org
  • 2 edits in trunk

[CMake] Bump minimum required version to 2.8.3.
https://bugs.webkit.org/show_bug.cgi?id=93450

Reviewed by Daniel Bates.

Following the discussion in bug 93189, it was decided that bumping
the minimum required version from 2.8.0 to 2.8.3 was a good thing
due to additional features, such as improved
FIND_PACKAGE_HANDLE_STANDARD_ARGS() support and better argument
handling in the PKG_CHECK_MODULES() call.

CMake 2.8.3 was released almost two years ago, so people are
expected to have it or a later version installed.

  • CMakeLists.txt:
5:52 PM Changeset in webkit [125227] by nduca@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Remove missing files from WebKit.gyp introduced by r125219
https://bugs.webkit.org/show_bug.cgi?id=93671

Unreviewed. Fixing windows build.

  • WebKit.gyp:
5:52 PM Changeset in webkit [125226] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add myself to the Contributor list.
https://bugs.webkit.org/show_bug.cgi?id=93653

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-08-09
Reviewed by Dirk Pranke.

Add my email to the contributor list.

  • Scripts/webkitpy/common/config/committers.py:
5:44 PM Changeset in webkit [125225] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

IndexedDB: add AssertMatchingEnums for Direction and TaskType
https://bugs.webkit.org/show_bug.cgi?id=93618

Patch by Alec Flett <alecflett@chromium.org> on 2012-08-09
Reviewed by Tony Chang.

These chromium enums were introduced in a separate patch.

  • src/AssertMatchingEnums.cpp:
5:14 PM WikiStart edited by haraken@chromium.org
(diff)
5:13 PM Changeset in webkit [125224] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

5:08 PM Changeset in webkit [125223] by Lucas Forschler
  • 1 copy in tags/Safari-537.5

New Tag.

4:59 PM Changeset in webkit [125222] by abarth@webkit.org
  • 2 edits
    2 moves in trunk

Sandboxing view source documents is ineffective
https://bugs.webkit.org/show_bug.cgi?id=93660

Reviewed by Eric Seidel.

Prior to this patch, Document::setIsViewSource changed the
SecurityOrigin object on Document but didn't update the copy on
DOMWindow. As a consequence, the security checks that use the copy on
DOMWindow didn't notice the change and acted as if the document wasn't
sandboxed.

This bug wasn't present for most view source documents because
HTMLViewSourceDocument sets the flag in its constructor. However, for
view source documents created by the XMLTreeViewer, the bit was set at
the end of parsing rather than during construction.

This mechansim is really more of a mitigation than an important
security check, and I was tempted to remove the sandboxing entirely
given that sandboxing a document at the end of parsing isn't overly
effective anyway. However, we can worry about that issue in a future
patch.

For the time being, this patch just synchronizes DOMWindow and
Document's copy of the SecurityOrigin. The long-term solution here, of
course, is to keep working on fixing
https://bugs.webkit.org/show_bug.cgi?id=75793, which this patch gets us
one (small) step closer to fixing.

  • dom/Document.cpp:

(WebCore::Document::setIsViewSource):

4:49 PM Changeset in webkit [125221] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Append the unit in place when generating the text value of a CSSPrimitiveValue
https://bugs.webkit.org/show_bug.cgi?id=93572

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

Previously, the units were added to the formatted number by the operator+. This would create
a new WTF::String for the unit, then use String::append() to add it to the number.

This was ineffective because it required one malloc for the unit, followed by a realloc + copying
the bytes.

This patch adds handling for the unit directly in formatNumber() so that we only do one malloc
and append the units in place.

Avoiding the intermediate string is both more efficient (9% faster as seen from JavaScript)
and generate more compact code (~8kb less code on x86_64).

  • css/CSSPrimitiveValue.cpp:

(WebCore::formatNumber):
(WebCore::CSSPrimitiveValue::customCssText):

4:34 PM Changeset in webkit [125220] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Reimplement RenderQuote placement algorithm
https://bugs.webkit.org/show_bug.cgi?id=93056

Patch by Elliott Sprehn <Elliott Sprehn> on 2012-08-09
Reviewed by Eric Seidel.

Greatly simplify the code that maintains the linked list of RenderQuotes. Now RenderQuote
is placed into the linked list in computePreferredLogicalWidths on first access and is
detached when destroyed (or explicitly removed).

The new algorithm doesn't require walking up the tree of renderers when there are no
RenderQuotes in the tree yet, and also removes the need to walk over every subtree
when inserting in rendererSubtreeAttached.

No new tests because this patch doesn't change any behavior.

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::removeChildNode): Call detachQuote when removing from a child list.
(WebCore::RenderObjectChildList::appendChildNode):
(WebCore::RenderObjectChildList::insertChildNode):

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::RenderQuote):
(WebCore::RenderQuote::~RenderQuote):
(WebCore::RenderQuote::willBeDestroyed): Call detachQuote to ensure all destroyed quotes are detached.
(WebCore::RenderQuote::originalText):
(WebCore::RenderQuote::computePreferredLogicalWidths): Attach quote before computing the width.
(WebCore):
(WebCore::RenderQuote::attachQuote): Puts the RenderQuote in the linked list of quotes and computes the depth.
(WebCore::RenderQuote::detachQuote): Removes the quote from the linked list.
(WebCore::RenderQuote::updateDepth):

  • rendering/RenderQuote.h:

(RenderQuote):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff): Return StyleDifferenceLayout if quotes change and remove check in styleDidChange in RenderQuote.

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):

  • rendering/RenderView.h:

(WebCore):
(WebCore::RenderView::setRenderQuoteHead):
(WebCore::RenderView::renderQuoteHead): Stores the first quote in the document.
(RenderView):

4:30 PM Changeset in webkit [125219] by nduca@chromium.org
  • 40 edits
    2 copies
    1 add in trunk/Source

[chromium] Expose CCGraphicsContext as WebCompositorOutputSurface
https://bugs.webkit.org/show_bug.cgi?id=92890

Reviewed by James Robinson.

Source/Platform:

The CCGraphicsContext was introduced as a wrapper around the 2D
and 3D output for the compositor. However, it is a CC only
concept. We want to be able to make 2D and ubercomp-mode IPCs on
behalf of the compositor. This patch allows this by pushing this
abstraction out to the Chrome-visible layer of the compositor,
changing the name to OutputSurface based on discussions on
wkb.ug/90736. A future patch will rename the CCGraphicsContext to
CCOutputSurface.

  • Platform.gypi:
  • chromium/public/WebCompositorOutputSurface.h: Added.

(WebKit):
(WebCompositorOutputSurface):
(WebKit::WebCompositorOutputSurface::~WebCompositorOutputSurface):
(WebKit::WebCompositorOutputSurface::Capabilities::Capabilities):
(Capabilities):

  • chromium/public/WebCompositorOutputSurfaceClient.h: Added.

(WebKit):
(WebCompositorOutputSurfaceClient):
(WebKit::WebCompositorOutputSurfaceClient::~WebCompositorOutputSurfaceClient):

  • chromium/public/WebLayerTreeView.h:

(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):

  • chromium/public/WebLayerTreeViewClient.h:

(WebKit):
(WebLayerTreeViewClient):
(WebKit::WebLayerTreeViewClient::createContext3D):
(WebKit::WebLayerTreeViewClient::createOutputSurface):

Source/WebCore:

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

(WebCore):

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

(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::recreateContext):
(WebCore::CCLayerTreeHost::createContext):

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

(WebCore):
(CCLayerTreeHostClient):
(WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
(CCLayerTreeSettings):

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

(WebCore::CCLayerTreeHostImpl::onVSyncParametersChanged):
(WebCore):
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

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

(CCLayerTreeHostImplClient):

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

(WebKit):
(WebCore):

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

(CCRendererClient):
(WebCore::CCRendererClient::~CCRendererClient):

  • platform/graphics/chromium/cc/CCResourceProvider.cpp:
  • platform/graphics/chromium/cc/CCResourceProvider.h:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::recreateContext):
(WebCore::CCThreadProxy::onVSyncParametersChanged):
(WebCore):
(WebCore::CCThreadProxy::beginFrame):

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

Source/WebKit/chromium:

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebSettings.h:
  • public/WebViewClient.h:

(WebKit):
(WebViewClient):
(WebKit::WebViewClient::createOutputSurface):

  • src/WebLayerTreeView.cpp:

(WebKit::WebLayerTreeView::Settings::operator CCLayerTreeSettings):

  • src/WebLayerTreeViewImpl.cpp:

(WebKit):
(WebGraphicsContextToOutputSurfaceAdapter):
(WebKit::WebGraphicsContextToOutputSurfaceAdapter::WebGraphicsContextToOutputSurfaceAdapter):
(WebKit::WebLayerTreeViewClientAdapter::WebLayerTreeViewClientAdapter):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::WebSettingsImpl):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit::WebViewImpl::createOutputSurface):
(WebKit):
(WebKit::WebViewImpl::didRebindGraphicsContext):
(WebKit::WebViewImpl::didRecreateOutputSurface):

  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:

(WTF):
(WTF::CCLayerTreeHostTestSetSingleLostContext::didRecreateOutputSurface):
(WTF::CCLayerTreeHostTestSetRepeatedLostContext::didRecreateOutputSurface):

  • tests/CCResourceProviderTest.cpp:

(WebKit::CCResourceProviderTest::CCResourceProviderTest):

  • tests/CCTextureUpdateControllerTest.cpp:
  • tests/CCThreadedTest.cpp:

(WebKitTests::TestHooks::createOutputSurface):

  • tests/CCThreadedTest.h:

(WebKitTests::TestHooks::didRecreateOutputSurface):

  • tests/Canvas2DLayerBridgeTest.cpp:

(Canvas2DLayerBridgeTest::fullLifecycleTest):

  • tests/FakeCCGraphicsContext.h:

(WebKit::createFakeCCGraphicsContext):

  • tests/FakeCCLayerTreeHostClient.h:
  • tests/FakeWebCompositorOutputSurface.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCGraphicsContext.h.

(WebKit):
(FakeWebCompositorOutputSurface):
(WebKit::FakeWebCompositorOutputSurface::create):
(WebKit::FakeWebCompositorOutputSurface::FakeWebCompositorOutputSurface):

  • tests/LayerRendererChromiumTest.cpp:

(LayerRendererChromiumTest::LayerRendererChromiumTest):
(TEST):

  • tests/WebLayerTest.cpp:
  • tests/WebLayerTreeViewTest.cpp:
4:03 PM Changeset in webkit [125218] by nduca@chromium.org
  • 40 edits
    3 deletes in trunk/Source

Unreviewed, rolling out r125212.
http://trac.webkit.org/changeset/125212
https://bugs.webkit.org/show_bug.cgi?id=92890

Compile failure on mac dbg builder

Source/Platform:

  • Platform.gypi:
  • chromium/public/WebCompositorOutputSurface.h: Removed.
  • chromium/public/WebCompositorOutputSurfaceClient.h: Removed.
  • chromium/public/WebLayerTreeView.h:

(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):

  • chromium/public/WebLayerTreeViewClient.h:

(WebKit):
(WebLayerTreeViewClient):

Source/WebCore:

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

(WebCore):
(CCGraphicsContext):
(WebCore::CCGraphicsContext::create2D):
(WebCore::CCGraphicsContext::create3D):
(WebCore::CCGraphicsContext::context3D):
(WebCore::CCGraphicsContext::CCGraphicsContext):

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

(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::recreateContext):
(WebCore::CCLayerTreeHost::createContext):

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

(WebCore):
(CCLayerTreeHostClient):
(WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
(CCLayerTreeSettings):

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

(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

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

(CCLayerTreeHostImplClient):

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

(WebCore):

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

(CCRendererClient):

  • platform/graphics/chromium/cc/CCResourceProvider.cpp:
  • platform/graphics/chromium/cc/CCResourceProvider.h:

(WebCore):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::recreateContext):
(WebCore::CCThreadProxy::beginFrame):

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

Source/WebKit/chromium:

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebSettings.h:
  • public/WebViewClient.h:

(WebKit):
(WebViewClient):

  • src/WebLayerTreeView.cpp:

(WebKit::WebLayerTreeView::Settings::operator CCLayerTreeSettings):

  • src/WebLayerTreeViewImpl.cpp:

(WebKit::WebLayerTreeViewClientAdapter::WebLayerTreeViewClientAdapter):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::WebSettingsImpl):
(WebKit::WebSettingsImpl::setForceSoftwareCompositing):
(WebKit):

  • src/WebSettingsImpl.h:

(WebKit::WebSettingsImpl::forceSoftwareCompositing):
(WebSettingsImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit::WebViewImpl::createCompositorGraphicsContext3D):
(WebKit::WebViewImpl::createContext3D):
(WebKit::WebViewImpl::didRebindGraphicsContext):

  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:

(WTF):
(WTF::CCLayerTreeHostTestSetSingleLostContext::didRecreateContext):
(WTF::CCLayerTreeHostTestSetRepeatedLostContext::didRecreateContext):

  • tests/CCResourceProviderTest.cpp:

(WebKit::CCResourceProviderTest::CCResourceProviderTest):

  • tests/CCTextureUpdateControllerTest.cpp:
  • tests/CCThreadedTest.cpp:

(WebKitTests::TestHooks::createContext):

  • tests/CCThreadedTest.h:

(WebKitTests::TestHooks::didRecreateContext):

  • tests/Canvas2DLayerBridgeTest.cpp:

(Canvas2DLayerBridgeTest::fullLifecycleTest):

  • tests/FakeCCGraphicsContext.h:

(WebKit::createFakeCCGraphicsContext):

  • tests/FakeCCLayerTreeHostClient.h:
  • tests/FakeWebCompositorOutputSurface.h: Removed.
  • tests/LayerRendererChromiumTest.cpp:

(LayerRendererChromiumTest::LayerRendererChromiumTest):
(TEST):

  • tests/WebLayerTest.cpp:
  • tests/WebLayerTreeViewTest.cpp:
4:02 PM Changeset in webkit [125217] by haraken@chromium.org
  • 13 edits in trunk/Source/WebCore

[V8] Remove V8Proxy::throwError(ExceptionCode&)
https://bugs.webkit.org/show_bug.cgi?id=93605

Reviewed by Adam Barth.

(1) Pass Isolate around to V8Utilities::extractTransferables().
(2) Replace throwError(ExceptionCode&) in V8Utilities::extractTransferables()
with setDOMException(ExceptionCode&, Isolate*), which completely removes
V8Proxy::throwError(ExceptionCode&) from the code base.
(3) Remove V8Proxy::throwError(ExceptionCode&).

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateParametersCheck):

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

(WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

  • bindings/v8/Dictionary.cpp:

(WebCore::Dictionary::get):

  • bindings/v8/V8Proxy.h:

(WebCore):

  • bindings/v8/V8Utilities.cpp:

(WebCore::extractTransferables):
(WebCore::getMessagePortArray):

  • bindings/v8/V8Utilities.h:

(WebCore):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::handlePostMessageCallback):

  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:

(WebCore::handlePostMessageCallback):

  • bindings/v8/custom/V8IntentConstructor.cpp:

(WebCore::V8Intent::constructorCallback):

  • bindings/v8/custom/V8MessageEventCustom.cpp:

(WebCore::V8MessageEvent::initMessageEventCallback):

  • bindings/v8/custom/V8MessagePortCustom.cpp:

(WebCore::handlePostMessageCallback):

  • bindings/v8/custom/V8WorkerCustom.cpp:

(WebCore::handlePostMessageCallback):

3:52 PM Changeset in webkit [125216] by haraken@chromium.org
  • 37 edits
    2 moves in trunk/Source

[V8] Rename V8BindingPerIsolateData to V8PerIsolateData
https://bugs.webkit.org/show_bug.cgi?id=93592

Reviewed by Adam Barth.

For a better name. See discussion in bug 93333.

No tests. No change in behavior.

Source/WebCore:

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

(GenerateImplementation):

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

(WebCore::V8Float64Array::GetRawTemplate):
(WebCore::V8Float64Array::GetTemplate):

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

(WebCore::V8TestActiveDOMObject::GetRawTemplate):
(WebCore::V8TestActiveDOMObject::GetTemplate):

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

(WebCore::V8TestCustomNamedGetter::GetRawTemplate):
(WebCore::V8TestCustomNamedGetter::GetTemplate):

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

(WebCore::V8TestEventConstructor::GetRawTemplate):
(WebCore::V8TestEventConstructor::GetTemplate):

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

(WebCore::V8TestEventTarget::GetRawTemplate):
(WebCore::V8TestEventTarget::GetTemplate):

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

(WebCore::V8TestException::GetRawTemplate):
(WebCore::V8TestException::GetTemplate):

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

(WebCore::V8TestInterface::GetRawTemplate):
(WebCore::V8TestInterface::GetTemplate):

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

(WebCore::V8TestMediaQueryListListener::GetRawTemplate):
(WebCore::V8TestMediaQueryListListener::GetTemplate):

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

(WebCore::V8TestNamedConstructor::GetRawTemplate):
(WebCore::V8TestNamedConstructor::GetTemplate):

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

(WebCore::V8TestNode::GetRawTemplate):
(WebCore::V8TestNode::GetTemplate):

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

(WebCore::V8TestObj::GetRawTemplate):
(WebCore::V8TestObj::GetTemplate):

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

(WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
(WebCore::V8TestSerializedScriptValueInterface::GetTemplate):

  • bindings/v8/DOMData.cpp:

(WebCore::DOMData::getCurrentStore):

  • bindings/v8/DOMDataStore.cpp:

(WebCore::DOMDataStore::allStores):

  • bindings/v8/ScriptGCEvent.cpp:

(WebCore::isolateGCEventData):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::visitExternalStrings):
(WebCore::ScriptProfiler::collectBindingMemoryInfo):

  • bindings/v8/StaticDOMDataStore.cpp:

(WebCore::StaticDOMDataStore::StaticDOMDataStore):
(WebCore::StaticDOMDataStore::~StaticDOMDataStore):

  • bindings/v8/V8Binding.cpp:

(WebCore::V8PerIsolateData::visitExternalStrings):
(WebCore::getToStringName):
(WebCore::getToStringTemplate):

  • bindings/v8/V8Binding.h:

(WebCore::ConstructorMode::ConstructorMode):
(WebCore::ConstructorMode::~ConstructorMode):
(WebCore::ConstructorMode::current):
(WebCore::v8ExternalString):
(WebCore::v8Integer):
(WebCore::v8UnsignedInteger):

  • bindings/v8/V8DOMMap.cpp:

(WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
(WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initContextIfNeeded):

  • bindings/v8/V8GCController.cpp:

(WebCore::currentGlobalHandleMap):
(WebCore::V8GCController::gcPrologue):

  • bindings/v8/V8HiddenPropertyName.cpp:

(WebCore):

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::V8LazyEventListener::prepareListenerObject):

  • bindings/v8/V8PerIsolateData.cpp: Renamed from Source/WebCore/bindings/v8/V8BindingPerIsolateData.cpp.

(WebCore):
(WebCore::V8PerIsolateData::V8PerIsolateData):
(WebCore::V8PerIsolateData::~V8PerIsolateData):
(WebCore::V8PerIsolateData::create):
(WebCore::V8PerIsolateData::ensureInitialized):
(WebCore::V8PerIsolateData::dispose):
(WebCore::V8PerIsolateData::reportMemoryUsage):

  • bindings/v8/V8PerIsolateData.h: Renamed from Source/WebCore/bindings/v8/V8BindingPerIsolateData.h.

(WebCore):
(V8PerIsolateData):
(WebCore::V8PerIsolateData::current):
(WebCore::V8PerIsolateData::rawTemplateMap):
(WebCore::V8PerIsolateData::templateMap):
(WebCore::V8PerIsolateData::toStringName):
(WebCore::V8PerIsolateData::toStringTemplate):
(WebCore::V8PerIsolateData::lazyEventListenerToStringTemplate):
(WebCore::V8PerIsolateData::stringCache):
(WebCore::V8PerIsolateData::integerCache):
(WebCore::V8PerIsolateData::allStores):
(WebCore::V8PerIsolateData::hiddenPropertyName):
(WebCore::V8PerIsolateData::auxiliaryContext):
(WebCore::V8PerIsolateData::registerDOMDataStore):
(WebCore::V8PerIsolateData::unregisterDOMDataStore):
(WebCore::V8PerIsolateData::domDataStore):
(WebCore::V8PerIsolateData::setDOMDataStore):
(WebCore::V8PerIsolateData::recursionLevel):
(WebCore::V8PerIsolateData::incrementRecursionLevel):
(WebCore::V8PerIsolateData::decrementRecursionLevel):
(WebCore::V8PerIsolateData::globalHandleMap):
(WebCore::V8PerIsolateData::internalScriptRecursionLevel):
(WebCore::V8PerIsolateData::incrementInternalScriptRecursionLevel):
(WebCore::V8PerIsolateData::decrementInternalScriptRecursionLevel):
(WebCore::V8PerIsolateData::gcEventData):
(WebCore::V8PerIsolateData::setShouldCollectGarbageSoon):
(WebCore::V8PerIsolateData::clearShouldCollectGarbageSoon):
(WebCore::V8PerIsolateData::shouldCollectGarbageSoon):

  • bindings/v8/V8Proxy.cpp:

(WebCore::V8Proxy::hintForGCIfNecessary):

  • bindings/v8/V8RecursionScope.h:

(WebCore::V8RecursionScope::V8RecursionScope):
(WebCore::V8RecursionScope::~V8RecursionScope):
(WebCore::V8RecursionScope::recursionLevel):
(WebCore::V8RecursionScope::properlyUsed):
(WebCore::V8RecursionScope::MicrotaskSuppression::MicrotaskSuppression):
(WebCore::V8RecursionScope::MicrotaskSuppression::~MicrotaskSuppression):

  • bindings/v8/V8Utilities.cpp:

(WebCore::V8AuxiliaryContext::auxiliaryContext):

  • bindings/v8/V8ValueCache.cpp:

(WebCore::cachedStringCallback):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initIsolate):

  • bindings/v8/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::WorkerScriptController):
(WebCore::WorkerScriptController::~WorkerScriptController):

  • bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:

(WebCore::V8HTMLCanvasElement::getContextCallback):

Source/WebKit/chromium:

  • src/WebKit.cpp:

(WebKit::initialize):

3:51 PM Changeset in webkit [125215] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[WK2] Unskip tests requiring layoutTestController.dumpResourceResponseMIMETypes
https://bugs.webkit.org/show_bug.cgi?id=93638

Unreviewed. Unskip tests requiring layoutTestController.dumpResourceResponseMIMETypes.

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

  • platform/wk2/Skipped:
3:39 PM Changeset in webkit [125214] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, typo fix.

  • platform/qt-5.0-wk2/Skipped:
3:36 PM Changeset in webkit [125213] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Invalid Content Security Policy sources should generate console warnings.
https://bugs.webkit.org/show_bug.cgi?id=93599

Patch by Mike West <mkwst@chromium.org> on 2012-08-09
Reviewed by Adam Barth.

Source/WebCore:

Given a Content Security Policy directive, we're currently correctly
ignoring sources that we can't parse: "'slef'", "http:///", etc. have
no effect on the protected resource's active policy. We're not, however
telling the developer what we're doing, which can lead to confusion.
This patch adds a console warning whenever an invalid source expression
is encountered while parsing a directive in order to make WebKit's
behavior more transparent to the developer.

There should be no functional change as a result of this patch: the
policy should be parsed exactly as before, it should simply be more
verbose.

Test: http/tests/security/contentSecurityPolicy/source-list-parsing-07.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPSourceList::parse):

Two changes: First, if 'parseSource' returns false, then log a
warning to the developer's console. Second, if both the source and
host are empty, but parsing succeeded, then we know we're dealing
with either a wildcard- or keyword-source that was properly handled
inside 'parseSource', so jump to the next source.

(WebCore::CSPSourceList::parseSource):

Wildcard- and keyword-sources now return 'true'. They parsed
correctly, after all.

(WebCore::ContentSecurityPolicy::reportInvalidSourceExpression):

Log a console warning if an invalid source expression is present in
a CSP directive's value.

(WebCore):

  • page/ContentSecurityPolicy.h:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/source-list-parsing-02-expected.txt:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-02.html:

Move two invalid source tests out into 07.

  • http/tests/security/contentSecurityPolicy/source-list-parsing-07-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/source-list-parsing-07.html: Added.

Many invalid source tests, all of which should generate warnings.

3:28 PM QtWebKitBuildBots edited by Csaba Osztrogonác
more udate (diff)
3:24 PM Changeset in webkit [125212] by nduca@chromium.org
  • 40 edits
    2 copies
    1 add in trunk/Source

[chromium] Expose CCGraphicsContext as WebCompositorOutputSurface
https://bugs.webkit.org/show_bug.cgi?id=92890

Reviewed by James Robinson.

Source/Platform:

The CCGraphicsContext was introduced as a wrapper around the 2D
and 3D output for the compositor. However, it is a CC only
concept. We want to be able to make 2D and ubercomp-mode IPCs on
behalf of the compositor. This patch allows this by pushing this
abstraction out to the Chrome-visible layer of the compositor,
changing the name to OutputSurface based on discussions on
wkb.ug/90736. A future patch will rename the CCGraphicsContext to
CCOutputSurface.

  • Platform.gypi:
  • chromium/public/WebCompositorOutputSurface.h: Added.

(WebKit):
(WebCompositorOutputSurface):
(WebKit::WebCompositorOutputSurface::~WebCompositorOutputSurface):
(WebKit::WebCompositorOutputSurface::Capabilities::Capabilities):
(Capabilities):

  • chromium/public/WebCompositorOutputSurfaceClient.h: Added.

(WebKit):
(WebCompositorOutputSurfaceClient):
(WebKit::WebCompositorOutputSurfaceClient::~WebCompositorOutputSurfaceClient):

  • chromium/public/WebLayerTreeView.h:

(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):

  • chromium/public/WebLayerTreeViewClient.h:

(WebKit):
(WebLayerTreeViewClient):
(WebKit::WebLayerTreeViewClient::createContext3D):
(WebKit::WebLayerTreeViewClient::createOutputSurface):

Source/WebCore:

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

(WebCore):

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

(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::recreateContext):
(WebCore::CCLayerTreeHost::createContext):

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

(WebCore):
(CCLayerTreeHostClient):
(WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
(CCLayerTreeSettings):

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

(WebCore::CCLayerTreeHostImpl::onVSyncParametersChanged):
(WebCore):
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

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

(CCLayerTreeHostImplClient):

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

(WebKit):
(WebCore):

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

(CCRendererClient):
(WebCore::CCRendererClient::~CCRendererClient):

  • platform/graphics/chromium/cc/CCResourceProvider.cpp:
  • platform/graphics/chromium/cc/CCResourceProvider.h:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::recreateContext):
(WebCore::CCThreadProxy::onVSyncParametersChanged):
(WebCore):
(WebCore::CCThreadProxy::beginFrame):

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

Source/WebKit/chromium:

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebSettings.h:
  • public/WebViewClient.h:

(WebKit):
(WebViewClient):
(WebKit::WebViewClient::createOutputSurface):

  • src/WebLayerTreeView.cpp:

(WebKit::WebLayerTreeView::Settings::operator CCLayerTreeSettings):

  • src/WebLayerTreeViewImpl.cpp:

(WebKit):
(WebGraphicsContextToOutputSurfaceAdapter):
(WebKit::WebGraphicsContextToOutputSurfaceAdapter::WebGraphicsContextToOutputSurfaceAdapter):
(WebKit::WebLayerTreeViewClientAdapter::WebLayerTreeViewClientAdapter):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::WebSettingsImpl):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit::WebViewImpl::createOutputSurface):
(WebKit):
(WebKit::WebViewImpl::didRebindGraphicsContext):
(WebKit::WebViewImpl::didRebindOutputSurface):

  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:

(WTF):
(WTF::CCLayerTreeHostTestSetSingleLostContext::didRecreateOutputSurface):
(WTF::CCLayerTreeHostTestSetRepeatedLostContext::didRecreateOutputSurface):

  • tests/CCResourceProviderTest.cpp:

(WebKit::CCResourceProviderTest::CCResourceProviderTest):

  • tests/CCTextureUpdateControllerTest.cpp:
  • tests/CCThreadedTest.cpp:

(WebKitTests::TestHooks::createOutputSurface):

  • tests/CCThreadedTest.h:

(WebKitTests::TestHooks::didRecreateOutputSurface):

  • tests/Canvas2DLayerBridgeTest.cpp:

(Canvas2DLayerBridgeTest::fullLifecycleTest):

  • tests/FakeCCGraphicsContext.h:

(WebKit::createFakeCCGraphicsContext):

  • tests/FakeCCLayerTreeHostClient.h:
  • tests/FakeWebCompositorOutputSurface.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCGraphicsContext.h.

(WebKit):
(FakeWebCompositorOutputSurface):
(WebKit::FakeWebCompositorOutputSurface::create):
(WebKit::FakeWebCompositorOutputSurface::FakeWebCompositorOutputSurface):

  • tests/LayerRendererChromiumTest.cpp:

(LayerRendererChromiumTest::LayerRendererChromiumTest):
(TEST):

  • tests/WebLayerTest.cpp:
  • tests/WebLayerTreeViewTest.cpp:
3:20 PM QtWebKitBuildBots edited by Csaba Osztrogonác
Update Qt versions on the bots, remove obsolete bots (diff)
3:10 PM Changeset in webkit [125211] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

IndexedDB: additional chromium signature for openCursor
https://bugs.webkit.org/show_bug.cgi?id=93637

Patch by Alec Flett <alecflett@chromium.org> on 2012-08-09
Reviewed by Adam Barth.

Stub out the TaskType-based openCursor in the chromium API.

  • src/WebIDBObjectStoreImpl.cpp:

(WebKit::WebIDBObjectStoreImpl::openCursor):

  • src/WebIDBObjectStoreImpl.h:

(WebKit::WebIDBObjectStoreImpl::openCursor):
(WebIDBObjectStoreImpl):

2:59 PM Changeset in webkit [125210] by rniwa@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Address one more review comment.

  • building/checkout.html:
2:57 PM Changeset in webkit [125209] by jchaffraix@webkit.org
  • 18 edits
    5 deletes in branches/chromium/1229

Revert 117339 - CSS 2.1 failure: inline-table-001 fails
https://bugs.webkit.org/show_bug.cgi?id=84167

Reviewed by Julien Chaffraix.

Source/WebCore:

Override lastLineBoxBaseline() in RenderTable so that it picks up the baseline
of the text in the first row of the table. This allows inline tables to find the
correct baseline to align to.

Tests:

css2.1/20110323/inline-table-001.htm
css2.1/20110323/inline-table-002a.htm
css2.1/20110323/inline-table-003.htm
fast/css/empty-cell-baseline.html

  • rendering/RenderTable.cpp:

(WebCore::getLineBoxBaseline):
(WebCore):
(WebCore::RenderTable::lastLineBoxBaseline):
(WebCore::RenderTable::firstLineBoxBaseline):

  • rendering/RenderTable.h:

(RenderTable):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::firstLineBoxBaseline): if a cell is empty it cannot provide a

baseline. Tested by fast/css/empty-cell-baseline.html

LayoutTests:

  • css2.1/20110323/inline-table-001.htm: Added.
  • css2.1/20110323/inline-table-002a.htm: Added.
  • css2.1/20110323/inline-table-003.htm: Added. From the CSS 2.1 test suite.
  • fast/css/empty-cell-baseline-expected.html: Added.
  • fast/css/empty-cell-baseline.html: Added. This ensures we don't take a baseline from an empty cell.
  • fast/inline-block/001.html: Modified to make expected results clearer.
  • platform/chromium-linux-x86/css2.1/20110323/inline-table-001-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/inline-table-001-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/inline-table-002a-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/inline-table-002a-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/inline-table-003-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/inline-table-003-expected.txt: Added.
  • platform/chromium-linux/editing/pasteboard/innerText-inline-table-expected.png:

Progression, the baseline of the text in each cell has moved up to where it should be.

  • platform/chromium-linux/editing/selection/iframe-expected.png:

Progression, 'Inline Table' and 'The End' line up with the first row of the inline table.

  • platform/chromium-linux/editing/selection/inline-table-expected.png:

Progression, 'Inline Table' and 'The End' line up with the first row of the inline table.

  • platform/chromium-linux/editing/selection/table-caret-3-expected.png:

Progression, 'foo' and 'baz' line up with the first row of the inline table.

  • platform/chromium-linux/fast/css-generated-content/inline-display-types-expected.png:

Progression, 'Test' and 'content' now line up.

  • platform/chromium-linux/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.png:

Progression, the two boxes now line up.

  • platform/chromium-linux/fast/inline-block/001-expected.png:

Progression, the boxes now line up in the same way as FF and Opera.

  • platform/chromium-linux/tables/mozilla/bugs/bug2479-2-expected.png:
  • platform/chromium-linux/tables/mozilla/bugs/bug2479-2-expected.txt:

Progression, the baseline of the text in each cell has moved up to where it should be.

  • platform/chromium-win/editing/pasteboard/innerText-inline-table-expected.txt:
  • platform/chromium-win/editing/selection/iframe-expected.txt:
  • platform/chromium-win/editing/selection/inline-table-expected.txt:
  • platform/chromium-win/editing/selection/table-caret-3-expected.txt:
  • platform/chromium-win/fast/css-generated-content/inline-display-types-expected.txt:
  • platform/chromium-win/fast/inline-block/001-expected.txt:
  • platform/chromium-win/fast/repaint/float-overflow-expected.txt:
  • platform/chromium-win/fast/repaint/float-overflow-right-expected.txt:
  • platform/chromium/test_expectations.txt:
  • platform/efl/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
  • platform/mac/test_expectations.txt:
  • platform/qt/test_expectations.txt:
  • platform/win/Skipped:

Text rebaselines.

TBR=robert@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10855085

2:57 PM Changeset in webkit [125208] by rniwa@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Recommend the use of https and mention git on building/checkout.html
https://bugs.webkit.org/show_bug.cgi?id=93657

Reviewed by Mark Rowe.

This page was quite out-dated. Stop mentioning about how to install subversion on OS X 10.4
because the paragraph right above it refers to buliding/tools.html for that.

Recommend the use of HTTPS connection for the Subversion checkout and also mention how to
checkout using a Git client.

  • building/checkout.html:
2:56 PM Changeset in webkit [125207] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Export InRegionScroller to fix build
https://bugs.webkit.org/show_bug.cgi?id=93635

Patch by Leo Yang <leoyang@rim.com> on 2012-08-09
Reviewed by Antonio Gomes.

Build fix.

  • Api/InRegionScroller.h:
2:51 PM Changeset in webkit [125206] by Csaba Osztrogonác
  • 3 edits
    3 adds in trunk/LayoutTests

[Qt] Unreviewed gardening, paint the bots green.

  • platform/qt-5.0-wk2/Skipped: Skip failing tests.
  • platform/qt-5.0-wk2/fast/forms/mailto/advanced-get-expected.txt: Added because of whitespace differenced.
  • platform/qt-5.0-wk2/fast/forms/mailto/advanced-put-expected.txt: Added because of whitespace differenced.
  • platform/qt/TestExpectations: Mark an asserting test as crash.
2:49 PM Changeset in webkit [125205] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

[css3-text] Add suport for -webkit-text-decoration-line
https://bugs.webkit.org/show_bug.cgi?id=90959

Patch by Bruno de Oliveira Abinader <Bruno de Oliveira Abinader> on 2012-08-09
Reviewed by Kenneth Rohde Christiansen.

This patch implements the "text-decoration-line" property specified in CSS3
working draft, with "-webkit-" prefix. The specification can be found below:
http://dev.w3.org/csswg/css3-text/#text-decoration-line

Additionally, Mozilla implementation details can be found here:
https://developer-dev.allizom.org/en-US/docs/CSS/text-decoration-line

It is important to notice that "-webkit-text-decoration-line" and
"text-decoration" properties shares the same property handlers, however, the
former resets the latter if value from latter doesn't have "important" value
set (same behavior as Firefox). In a rare case where both properties have
"important" value set, the text decoration gets value from the last parsed
property.

Source/WebCore:

Test: fast/css/text-decoration-line.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::renderTextDecorationFlagsToCSSValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::addTextDecorationProperty):
(WebCore::CSSParser::parseTextDecoration):

  • css/CSSParser.h:
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:
  • fast/css/text-decoration-line-expected.html: Added.
  • fast/css/text-decoration-line.html: Added.
  • svg/css/getComputedStyle-basic-expected.txt:
2:35 PM Changeset in webkit [125204] by dpranke@chromium.org
  • 5 edits in trunk/Tools

nrwt: should log progress like ninja does
https://bugs.webkit.org/show_bug.cgi?id=93563

Reviewed by Ojan Vafai.

This change modifies the output of nrwt in the
non--debug-rwt-logging modes.

In non-verbose mode, the output changes from:

"Testing (50%): 96 ran as expected, 4 didn't, 100 left"

to:

"[100/200] foo.html (+4)"

or:

"[100/200] foo.html failed unexpectedly (text diff)"

which indicates the earliest test currently running (optionally plus the
count of other currently-executing tests if we're running tests in parallel)
or the result of said test.

If the test produces unexpected results, that line is flushed
rather than erased (so we no longer need the %d didn't running
tally).

In --verbose mode, the output is similar, but every test gets a
line (and tests are logged in order of them being started, not
order of them being completed) (and in --details mode, the
first line of each test matches --verbose but the other lines
are unchanged).

The overall result should be easier to read and is simpler to
implement as well (apart from managing the number of tests that
have started but not completed, which is slightly annoying).

This also matches the output style for test-webkitpy, more-or-less.

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

(LayoutTestRunner.run_tests):
(LayoutTestRunner._update_summary_with_result):
(LayoutTestRunner._handle_started_test):

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

(FakePrinter):
(FakePrinter.print_started_test):
(FakePrinter.print_finished_test):

  • Scripts/webkitpy/layout_tests/views/printing.py:

(Printer.init):
(Printer.print_started_test):
(Printer.print_finished_test):
(Printer._print_test_trace):
(Printer._print_progress):

  • Scripts/webkitpy/layout_tests/views/printing_unittest.py:

(test_details):

2:25 PM Changeset in webkit [125203] by commit-queue@webkit.org
  • 10 edits
    1 add in trunk/Source/WebCore

Extract the definition of NativeImagePtr from ImageSource.h into NativeImagePtr.h.
https://bugs.webkit.org/show_bug.cgi?id=93466

Patch by Huang Dongsung <luxtella@company100.net> on 2012-08-09
Reviewed by Adam Barth.

Image.h includes ImageSource.h in order to know the definition of NativeImagePtr.
But Image does not need to know the definition of ImageSource. So, this patch
extracts the definition of NativeImagePtr from ImageSource.h into NativeImagePtr.h.

This is a preparation for asynchronous image decoding. Async decoding
will need a callback function, which sends a NativeImagePtr to clients, and the
callback must know the definition of NativeImagePtr, not ImageSource.

No new tests, behavior is unchanged.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:
  • platform/graphics/ImageSource.h:

(WebCore):

  • platform/graphics/NativeImagePtr.h: Added.

(WebCore):

2:12 PM Changeset in webkit [125202] by robert@webkit.org
  • 3 edits
    14 adds in trunk

CSS 2.1 failure: 'Text-indent' only affects a line if it is the first formatted line of an element
https://bugs.webkit.org/show_bug.cgi?id=63185

Reviewed by Eric Seidel.

Source/WebCore:

Per CSS 2.1 (http://www.w3.org/TR/CSS21/text.html) : "'Text-indent' only affects a line if it is the
first formatted line of an element. For example, the first line of an anonymous block box is only
affected if it is the first child of its parent element."

Tests: fast/css/text-indent-first-line-001.html

fast/css/text-indent-first-line-002.html
fast/css/text-indent-first-line-003.html
fast/css/text-indent-first-line-004.html
fast/css/text-indent-first-line-005.html
fast/css/text-indent-first-line-006.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::computeInlineDirectionPositionsForLine): As well as being the first line under a parent block,

check that this is also the first *formatted* line of an element by ensuring that we are at the start of a
formatting context and not just a continuation of a previous anonymous block in an existing formatting context.

LayoutTests:

  • css2.1/20110323/text-indent-014-expected.html: Added.
  • css2.1/20110323/text-indent-014.htm: Added.
  • fast/css/text-indent-first-line-001-expected.html: Added.
  • fast/css/text-indent-first-line-001.html: Added.
  • fast/css/text-indent-first-line-002-expected.html: Added.
  • fast/css/text-indent-first-line-002.html: Added.
  • fast/css/text-indent-first-line-003-expected.html: Added.
  • fast/css/text-indent-first-line-003.html: Added.
  • fast/css/text-indent-first-line-004-expected.html: Added.
  • fast/css/text-indent-first-line-004.html: Added.
  • fast/css/text-indent-first-line-005-expected.html: Added.
  • fast/css/text-indent-first-line-005.html: Added. Text-indent in the span here is inherited from the div. CSS 2.1: "Since the 'text-indent' property inherits, when specified on a block element, it will affect descendant inline-block elements."
  • fast/css/text-indent-first-line-006-expected.html: Added.
  • fast/css/text-indent-first-line-006.html: Added.
2:00 PM Changeset in webkit [125201] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk/Source/WebCore

Web Inspector: replace the Web Inspector editor with CodeMirror
https://bugs.webkit.org/show_bug.cgi?id=92769

Patch by Jan Keromnes <janx@linux.com> on 2012-08-09
Reviewed by Pavel Feldman.

Integrating CodeMirror as a devtools experiment. Currently supporting
basic editing, search/replacing, and saving. Missing proper breakpoints
wiring, debugging, message bubbles, popovers and context menus. WIP.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/CodeMirrorTextEditor.js: Added.

(WebInspector.CodeMirrorTextEditor.this._codeMirror.CodeMirror):
(WebInspector.CodeMirrorTextEditor):
(WebInspector.CodeMirrorTextEditor.prototype.set mimeType):
(WebInspector.CodeMirrorTextEditor.prototype.setReadOnly):
(WebInspector.CodeMirrorTextEditor.prototype.readOnly):
(WebInspector.CodeMirrorTextEditor.prototype.defaultFocusedElement):
(WebInspector.CodeMirrorTextEditor.prototype.focus):
(WebInspector.CodeMirrorTextEditor.prototype.revealLine):
(WebInspector.CodeMirrorTextEditor.prototype.addDecoration):
(WebInspector.CodeMirrorTextEditor.prototype.removeDecoration):
(WebInspector.CodeMirrorTextEditor.prototype.markAndRevealRange):
(WebInspector.CodeMirrorTextEditor.prototype.highlightLine):
(WebInspector.CodeMirrorTextEditor.prototype.clearLineHighlight):
(WebInspector.CodeMirrorTextEditor.prototype.freeCachedElements):
(WebInspector.CodeMirrorTextEditor.prototype.elementsToRestoreScrollPositionsFor):
(WebInspector.CodeMirrorTextEditor.prototype.inheritScrollPositions):
(WebInspector.CodeMirrorTextEditor.prototype.beginUpdates):
(WebInspector.CodeMirrorTextEditor.prototype.endUpdates):
(WebInspector.CodeMirrorTextEditor.prototype.onResize):
(WebInspector.CodeMirrorTextEditor.prototype.editRange):
(WebInspector.CodeMirrorTextEditor.prototype._onChange):
(WebInspector.CodeMirrorTextEditor.prototype._commitEditing):
(WebInspector.CodeMirrorTextEditor.prototype.scrollToLine):
(WebInspector.CodeMirrorTextEditor.prototype.selection):
(WebInspector.CodeMirrorTextEditor.prototype.lastSelection):
(WebInspector.CodeMirrorTextEditor.prototype.setSelection):
(WebInspector.CodeMirrorTextEditor.prototype.setText):
(WebInspector.CodeMirrorTextEditor.prototype.text):
(WebInspector.CodeMirrorTextEditor.prototype.range):
(WebInspector.CodeMirrorTextEditor.prototype.line):
(WebInspector.CodeMirrorTextEditor.prototype.get linesCount):
(WebInspector.CodeMirrorTextEditor.prototype.setAttribute):
(WebInspector.CodeMirrorTextEditor.prototype.getAttribute):
(WebInspector.CodeMirrorTextEditor.prototype.removeAttribute):
(WebInspector.CodeMirrorTextEditor.prototype.wasShown):
(WebInspector.CodeMirrorTextEditor.prototype.willHide):
(WebInspector.CodeMirrorTextEditor.prototype._textChanged):
(WebInspector.CodeMirrorTextEditor.prototype._toPos):
(WebInspector.CodeMirrorTextEditor.prototype._toRange):

  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings):

  • inspector/front-end/SourceFrame.js:

(WebInspector.SourceFrame):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/cmdevtools.css: Added.
  • inspector/front-end/inspector.html:
1:58 PM Changeset in webkit [125200] by commit-queue@webkit.org
  • 2 edits
    4 deletes in trunk/LayoutTests

Gardening LayoutTests/platform/win/fast/canvas tests folder.
https://bugs.webkit.org/show_bug.cgi?id=93633

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

These tests pass now.
Adjusting expected results.
Removing other failing results.

  • platform/win/fast/canvas/canvas-draw-canvas-on-canvas-shadow-expected.txt:

This test is now passing. Modifying to passing results since Mac fallback results are failing.

  • platform/win/fast/canvas/canvas-scale-drawImage-shadow-expected.txt: Removed.
  • platform/win/fast/canvas/canvas-scale-fillPath-shadow-expected.txt: Removed.
  • platform/win/fast/canvas/canvas-scale-fillRect-shadow-expected.txt: Removed.
  • platform/win/fast/canvas/canvas-transforms-fillRect-shadow-expected.txt: Removed.
1:38 PM Changeset in webkit [125199] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[QNX] Implement getCPUTime() for OS(QNX)
https://bugs.webkit.org/show_bug.cgi?id=93516

Patch by Yong Li <yoli@rim.com> on 2012-08-09
Reviewed by George Staikos.

Implement getCPUTime() with CLOCK_THREAD_CPUTIME_ID so it will tell
exactly how long the current thread has spent without being impacted
by other things.

  • runtime/TimeoutChecker.cpp:

(JSC::getCPUTime):

1:35 PM Changeset in webkit [125198] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

1:31 PM Changeset in webkit [125197] by ap@apple.com
  • 6 edits in trunk

[WK2] Add a process model constant for multiple processes
https://bugs.webkit.org/show_bug.cgi?id=93642

Reviewed by Anders Carlsson.

  • UIProcess/ProcessModel.h: Added ProcessModelMultipleSecondaryProcesses. Deleted ProcessModelSecondaryProcess in favor of more descriptive ProcessModelSharedSecondaryProcess - these used to behave the same.
  • UIProcess/WebContext.cpp: (WebKit::WebContext::create): Changed to use ProcessModelSharedSecondaryProcess.
  • UIProcess/WebProcessProxy.h: Removed an unncessary include of ProcessModel.h.
1:15 PM Changeset in webkit [125196] by danakj@chromium.org
  • 35 edits in trunk/Source

[chromium] Do partial-swap scissoring on quads during draw instead of on layers
https://bugs.webkit.org/show_bug.cgi?id=91800

Reviewed by Adrienne Walker.

Source/WebCore:

Computing the scissor rect for each render pass is now done in
LayerRendererChromium::drawRenderPass() instead of being done for each
layer and then copied into the quads. This allows us to always push a
full frame of quads (and include damage rects) from a child compositor,
and do partial-swap scissoring in the host compositor.

This also make partial-swap functionality completely contained within
LayerRendererChromium!

The scissorRect is removed from all layers, and the concept of
scissorRect is now misplaced in CCOcclusionTracker, so the variables
and methods in the tracker should be renamed to more appropriate
things.

Covered by existing tests, as well as: CCLayerTreeHostImplTest.textureCachingWithScissor

  • platform/graphics/chromium/LayerChromium.h:

(LayerChromium):

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::clearFramebuffer):
(WebCore::LayerRendererChromium::renderPassTextureSize):
(WebCore::LayerRendererChromium::drawFrame):
(WebCore::LayerRendererChromium::drawRenderPass):
(WebCore::LayerRendererChromium::drawQuad):
(WebCore::LayerRendererChromium::drawDebugBorderQuad):
(WebCore::LayerRendererChromium::drawBackgroundFilters):
(WebCore::LayerRendererChromium::drawTileQuad):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::useRenderPass):
(WebCore::LayerRendererChromium::setScissorToRect):

  • platform/graphics/chromium/LayerRendererChromium.h:

(LayerRendererChromium):
(DrawingFrame):

  • platform/graphics/chromium/RenderSurfaceChromium.cpp:
  • platform/graphics/chromium/RenderSurfaceChromium.h:

(RenderSurfaceChromium):

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

(WebCore::CCDrawQuad::clippedRectInTarget):

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

(WebCore::CCLayerImpl::createSharedQuadState):

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

(CCLayerImpl):

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

(WebCore::CCLayerTreeHost::updateLayers):
(WebCore::CCLayerTreeHost::paintLayerContents):

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

(WebCore::calculateVisibleRectsInternal):
(WebCore::CCLayerTreeHostCommon::calculateVisibleRects):

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

(CCLayerTreeHostCommon):

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

(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::drawLayers):
(WebCore::CCLayerTreeHostImpl::swapBuffers):

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

(CCLayerTreeHostImpl):

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

(WebCore::::layerScissorRectInTargetSurface):

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

(WebCore::CCRenderPass::CCRenderPass):
(WebCore::CCRenderPass::appendQuadsToFillScreen):

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

(CCRenderPass):
(WebCore::CCRenderPass::transformToRootTarget):
(WebCore::CCRenderPass::outputRect):
(WebCore::CCRenderPass::damageRect):
(WebCore::CCRenderPass::setDamageRect):

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

(WebCore::computeClippedRectInTarget):
(WebCore):
(WebCore::CCRenderSurface::createSharedQuadState):
(WebCore::CCRenderSurface::createReplicaSharedQuadState):

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

(CCRenderSurface):

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

(CCRenderer):

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

(WebCore::CCSharedQuadState::create):
(WebCore::CCSharedQuadState::CCSharedQuadState):

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

(CCSharedQuadState):

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

(WebCore::CCTiledLayerImpl::appendQuads):

Source/WebKit/chromium:

  • tests/CCDamageTrackerTest.cpp:

(WebKitTests::executeCalculateDrawTransformsAndVisibility):

  • tests/CCLayerIteratorTest.cpp:
  • tests/CCLayerTreeHostCommonTest.cpp:

Removed tests of the scissor rect here, as they are no longer
computed within CCLayerTreeHostCommon. Verify that the scissor
does not affect texture caching in CCLayerTreeHostImplTest now.
Previous scissor would affect the texture cache decisions, but
this was incorrect, as damaged areas are always inside the
scissor rect, and anything outside the scissor rect should
be considered as valid and complete (assuming no external
occlusion, which is computed outside the scissor rect now also).

  • tests/CCLayerTreeHostImplTest.cpp:

Removed didDrawNotCalledOnScissoredLayer test, as this no longer
applies. didDraw will be called on layers that are outside the
partial swap rect, regardless.

Removed partialSwapNoUpdate test, and merged its functionality into
the partialSwap test while updating its expectations.

Added textureCachingWithScissor, which is loosely based on the
CCLayerTreeHostCommonTest.scissorRectWithClip test.

  • tests/CCOcclusionTrackerTest.cpp:

(WebKitTests::CCOcclusionTrackerTest::calcDrawEtc):
(WebKitTests::CCOcclusionTrackerTestChildInRotatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestVisitTargetTwoTimes::runMyTest):

  • tests/CCQuadCullerTest.cpp:
  • tests/CCRenderSurfaceTest.cpp:
  • tests/CCSolidColorLayerImplTest.cpp:

(CCLayerTestCommon::TEST):

  • tests/CCTiledLayerImplTest.cpp:

(CCLayerTestCommon::createLayer):

  • tests/LayerRendererChromiumTest.cpp:

(LayerRendererChromiumTest::swapBuffers):
(TEST_F):
(TEST):

  • tests/TiledLayerChromiumTest.cpp:
1:08 PM Changeset in webkit [125195] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Source/WebCore: Content Security Policy directives that begin with an invalid character should log a console warning.
https://bugs.webkit.org/show_bug.cgi?id=93622

Patch by Mike West <mkwst@chromium.org> on 2012-08-09
Reviewed by Adam Barth.

CSP directives containing unrecognized characters somewhere in the
middle were caught and logged by the current algorithm. We additionally
caught the case in which the directive begins with an invalid character,
but we silently ignored it. Now we're slightly more vocal.

This change also exits 'parseDirective' early in the case where the
directive text is empty, or filled only with whitespace. There doesn't
seem to be any value in flagging that case, as it has no impact on the
way the policy would have been interpreted (that is, 'img-src *;;...'
doesn't change in meaning by ignoring the empty directive between the
semicolons).

Test: http/tests/security/contentSecurityPolicy/directive-parsing-05.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::parseDirective):

Two changes: first, we now exit early if the entire directive text
is empty (e.g. ';;;' or '; ;'); second, if the directive begins
with a character that doesn't match 'isDirectiveNameCharacter', then
we advance either to the next space, or the end of the value, and
report an unrecognized directive to the policy.

LayoutTests: Content Security Policy directives with an invalid character should log a console warning.
https://bugs.webkit.org/show_bug.cgi?id=93622

Patch by Mike West <mkwst@chromium.org> on 2012-08-09
Reviewed by Adam Barth.

  • http/tests/security/contentSecurityPolicy/directive-parsing-05-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/directive-parsing-05.html: Added.
1:01 PM Changeset in webkit [125194] by rniwa@webkit.org
  • 5 edits in trunk

PerformanceTests: Another build fix after r125178.

  • resources/runner.js:

LayoutTests: Fix a test after r125178.

  • fast/harness/perftests/runs-per-second-log-expected.txt:
  • fast/harness/perftests/runs-per-second-log.html:
12:39 PM Changeset in webkit [125193] by shawnsingh@chromium.org
  • 11 edits
    4 adds in trunk

[chromium] Pass mask scale and offset to shaders for correct masking
https://bugs.webkit.org/show_bug.cgi?id=93558

Reviewed by Adrienne Walker.

Source/WebCore:

In chromium compositor code, the mask was accidentally mapped 1:1
to the layer's renderSurface, rather than the layer itself. This
patch adds a layout test that reproduces the error and fixes the
problem. The solution we opted for in this patch is to pass a
scale and offset to the fragment shader, so that the correct
texture coordinate lookup is computed by the fragment shader.

Test: compositing/masks/mask-of-clipped-layer.html

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::drawRenderPassQuad):

  • platform/graphics/chromium/ShaderChromium.cpp:

(WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask):
(WebCore::FragmentShaderRGBATexAlphaMask::init):
(WebCore::FragmentShaderRGBATexAlphaMask::getShaderString):
(WebCore::FragmentShaderRGBATexAlphaMaskAA::FragmentShaderRGBATexAlphaMaskAA):
(WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
(WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):

  • platform/graphics/chromium/ShaderChromium.h:

(WebCore::FragmentShaderRGBATexAlphaMask::maskTexCoordScaleLocation):
(WebCore::FragmentShaderRGBATexAlphaMask::maskTexCoordOffsetLocation):
(FragmentShaderRGBATexAlphaMask):
(WebCore::FragmentShaderRGBATexAlphaMaskAA::maskTexCoordScaleLocation):
(WebCore::FragmentShaderRGBATexAlphaMaskAA::maskTexCoordOffsetLocation):
(FragmentShaderRGBATexAlphaMaskAA):

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

(WebCore::CCRenderPassDrawQuad::create):
(WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):

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

(CCRenderPassDrawQuad):
(WebCore::CCRenderPassDrawQuad::maskTexCoordScaleX):
(WebCore::CCRenderPassDrawQuad::maskTexCoordScaleY):
(WebCore::CCRenderPassDrawQuad::maskTexCoordOffsetX):
(WebCore::CCRenderPassDrawQuad::maskTexCoordOffsetY):

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

(WebCore::CCRenderSurface::appendQuads):

Source/WebKit/chromium:

Updated one unit test that needed additional args in a
constructor, but no change in behavior of the test.

  • tests/CCLayerTreeHostImplTest.cpp:

LayoutTests:

Added a layout test that checks the mask does not accidentally get
resized when it is inside of an overflow div.

  • compositing/masks/mask-of-clipped-layer-expected.png: Added.
  • compositing/masks/mask-of-clipped-layer-expected.txt: Added.
  • compositing/masks/mask-of-clipped-layer.html: Added.
  • compositing/resources/alpha-blocks.png: Added.
12:13 PM Changeset in webkit [125192] by mihnea@adobe.com
  • 5 edits
    2 adds in trunk

CSSRegions: Crash when attaching a region to the removed named flow
https://bugs.webkit.org/show_bug.cgi?id=93204

Reviewed by Abhishek Arya.

Source/WebCore:

The crash happens because the flow thread reference is passed to the RenderRegion object
when the RenderRegion object is created. However, it is only in RenderRegion::attachRegion method
when the region is taken into account and stored in flow thread regions list. Under these circumstances,
it is possible that the flow thread passed to the region at the moment of region creation be destroyed
before the region gets the chance to be attached to the flow thread and a crash will occur.

This patch moves the moment when the RenderRegion object stores its 'weak' reference to the flow thread
from RenderRegion constructor to attachRegion method, preventing the situation in which the region is attached
to a wrong flow thread object.

Test: fast/regions/region-attached-wrong-flow-crash.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::createObject): Pass 0 instead of a reference to the flow thread.

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::checkRegionStyle): Added this function to check whether the region has region style rules attached.
(WebCore):
(WebCore::RenderRegion::styleDidChange): Use checkRegionStyle.
(WebCore::RenderRegion::attachRegion): Store the reference to the flow thread. If the flow thread does not exist, it will be created.
Also, check whether the region has region style rules attached, since at this moment the region has a flow thread. Checking whether
the region has region style rules is not enough in styleDidChange, because styleDidChange is sometimes triggered before attachRegion.

  • rendering/RenderRegion.h:

(RenderRegion):

LayoutTests:

Add test reproducing the crash.

  • fast/regions/region-attached-wrong-flow-crash-expected.txt: Added.
  • fast/regions/region-attached-wrong-flow-crash.html: Added.
11:53 AM Changeset in webkit [125191] by dino@apple.com
  • 2 edits in trunk/LayoutTests

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

Unreviewed test expectations update.

  • platform/mac/TestExpectations:
11:46 AM Changeset in webkit [125190] by fmalita@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Updated expectations for script-change-externalResourcesRequired-while-loading.svg

Unreviewed gardening.

Patch by Florin Malita <fmalita@chromium.org> on 2012-08-09

  • platform/chromium/TestExpectations:
11:41 AM Changeset in webkit [125189] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[chromium] Enable kerning on Android
https://bugs.webkit.org/show_bug.cgi?id=92737

Patch by Iain Merrick <husky@chromium.org> on 2012-08-09
Reviewed by Adam Barth.

This #ifdef was incorrectly copied from our forked WebKit repository
while unforking our Android-specific changes. Kerning works without
any known problems.

Covered by existing tests (layout and instrumentation tests).

  • platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:

(WebCore::ComplexTextController::ComplexTextController):

11:27 AM Changeset in webkit [125188] by rniwa@webkit.org
  • 4 edits in trunk/Tools

Build fix after r125178.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.parse_output): Don't include non-time results in the JSON output.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py: Updated the test outputs so to match

actual test outputs.
(MainTest.test_parse_output):
(MainTest.test_parse_output_with_failing_line):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Ditto.
11:07 AM Changeset in webkit [125187] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening after r125102
https://bugs.webkit.org/show_bug.cgi?id=93593

Unreviewed gardening.

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

  • platform/efl/TestExpectations: Included newly added compositing/plugins/no-backing-store.html test.
10:56 AM Changeset in webkit [125186] by pfeldman@chromium.org
  • 4 edits in trunk

Web Inspector: follow up to r125174 - fix subtype use.

Source/WebCore:

Not reviewed, trivial fix.

  • inspector/InjectedScriptSource.js:

(.):

LayoutTests:

Not reviewed.

  • inspector/console/console-format-expected.txt:
10:37 AM Changeset in webkit [125185] by yurys@chromium.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: DocumentEventQueue memory instrumentation
https://bugs.webkit.org/show_bug.cgi?id=93604

Reviewed by Pavel Feldman.

Provided DocumentEventQueue:: reportMemoryUsage implementation.

  • dom/Document.cpp:

(WebCore::Document::reportMemoryUsage):

  • dom/DocumentEventQueue.cpp:

(WebCore::DocumentEventQueue::reportMemoryUsage):
(WebCore):

  • dom/DocumentEventQueue.h:

(WebCore):

  • dom/Event.cpp:

(WebCore::Event::reportMemoryUsage):
(WebCore):

  • dom/Event.h:

(WebCore):
(Event):

10:26 AM Changeset in webkit [125184] by pfeldman@chromium.org
  • 6 edits
    8 adds in trunk/Source

Web Inspector: add codemirror library as an experiment
https://bugs.webkit.org/show_bug.cgi?id=93620

Reviewed by Vsevolod Vlasov.

Source/WebCore:

This change adds codemirror, deploys it, but does not include it into the inspector.html. Clients need to fetch it
using XHR and eval into the inspector's context to use as a part of their experiments.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/cm/LICENSE: Added.
  • inspector/front-end/cm/codemirror.css: Added.

(.CodeMirror):

  • inspector/front-end/cm/xml.js: Added.

(CodeMirror.defineMode.):
(CodeMirror.defineMode):

Source/WebKit/chromium:

  • WebKit.gyp:
10:19 AM Changeset in webkit [125183] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

1.9.6 drops symbols, breaking compatibility
https://bugs.webkit.org/show_bug.cgi?id=93477

Patch by Xan Lopez <xlopez@igalia.com> on 2012-08-09
Reviewed by Carlos Garcia Campos.

Expose documentURI as writable again for the GObject DOM
bindings. DOM4 makes it read-only, but we need to revert to the
old state for compatibility reasons, just like Objective C.

  • dom/Document.idl: ditto.
10:15 AM Changeset in webkit [125182] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test fast/forms/autocomplete-off-with-default-value-does-not-clear.html is failing (on Chromium)
https://bugs.webkit.org/show_bug.cgi?id=93586

Not reviewed (fixing a test failure).

This test is only valid for platforms with the page cache enabled.

  • platform/chromium/TestExpectations: Skip fast/forms/autocomplete-off-with-default-value-does-not-clear.html
10:11 AM Changeset in webkit [125181] by mario@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION (r124997): Flaky crashes in two tests
https://bugs.webkit.org/show_bug.cgi?id=93501

Reviewed by Martin Robinson.

Add missing null check to make sure we early return if the
accessibility object does not have a valid parent exposed in the
accessibility hierarchy.

  • accessibility/gtk/AXObjectCacheAtk.cpp:

(WebCore::emitTextChanged): Add missing null check.

10:10 AM Changeset in webkit [125180] by fmalita@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening: updated expectations for console-format-collections.html.

Patch by Florin Malita <fmalita@chromium.org> on 2012-08-09

  • platform/chromium/TestExpectations:
9:22 AM Changeset in webkit [125179] by zoltan@webkit.org
  • 3 edits in trunk/PerformanceTests

Add memory measurement to balls.html and dromaeorunner.js
https://bugs.webkit.org/show_bug.cgi?id=93617

Reviewed by Adam Barth.

Since we added memory measurement support to performance tests we need to modify these tests.

  • Animation/balls.html:
  • Dromaeo/resources/dromaeorunner.js:
9:21 AM Changeset in webkit [125178] by zoltan@webkit.org
  • 4 edits in trunk

JSHeap and FastMallocStatistics based memory measurement for performance-tests
https://bugs.webkit.org/show_bug.cgi?id=90858

PerformanceTests:

Reviewed Ryosuke Niwa.

Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize
object and the window.internals.fastMallocStatistics() function call.

  • resources/runner.js:

(PerfTestRunner.logStatistics):
(PerfTestRunner.printStatistics):
(PerfTestRunner.storeHeapResults):
(PerfTestRunner.getUsedFastMallocHeap):
(PerfTestRunner.getUsedJSHeap):
(PerfTestRunner.getAndPrintMemoryStatistics):
(PerfTestRunner.ignoreWarmUpAndLog):
(PerfTestRunner.initAndStartLoop):

Tools:

Reviewed by Ryosuke Niwa.

Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize
object and the window.internals.fastMallocStatistics() function call.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest):
(PerfTest.parse_output):
(PerfTest.output_statistics):

9:11 AM Changeset in webkit [125177] by fmalita@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening: updated Win results for 125160.

Patch by Florin Malita <fmalita@chromium.org> on 2012-08-09

  • platform/chromium-win/svg/custom/use-detach-expected.png:
9:10 AM Changeset in webkit [125176] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/12035637> 32-bit PluginProcess launches without appropriate DYLD environment variables if UI process is 64-bit only
https://bugs.webkit.org/show_bug.cgi?id=93596

Reviewed by Mark Rowe.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::launchProcess): Changed to pass the current architecture, rather than
the intended child process architecture, to the DynamicLinkerEnvironmentExtractor constructor.

8:49 AM Changeset in webkit [125175] by fmalita@chromium.org
  • 5 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening: updated results for 125167.

Patch by Florin Malita <fmalita@chromium.org> on 2012-08-09

  • platform/chromium-linux/svg/custom/pattern-userSpaceOnUse-userToBaseTransform-expected.txt:
  • platform/chromium-mac/svg/custom/pattern-userSpaceOnUse-userToBaseTransform-expected.txt:
  • platform/chromium-win/svg/custom/pattern-userSpaceOnUse-userToBaseTransform-expected.txt:
  • platform/chromium/TestExpectations:
8:13 AM Changeset in webkit [125174] by pfeldman@chromium.org
  • 34 edits
    3 deletes in trunk

2012-08-09 Pavel Feldman <pfeldman@chromium.org>

Web Inspector: generate preview for the objects dumped into the console upon logging.
https://bugs.webkit.org/show_bug.cgi?id=35801

Reviewed by Vsevolod Vlasov.

As of today, dumping an object (array) into console will result in objects' properties being
read upon console object expansion (i.e. lazily). This means that dumping the same object while
mutating it will be hard to debug using the console.

This change starts generating abbreviated previews for objects / arrays at the moment of their
logging and passes this information along into the front-end. This only happens when the front-end
is already opened, it only works for console.log(), not live console interaction.

Covered by the existing console tests + collections test has been expanded to capture both: pre and post-

  • inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::addToFrontend):
  • inspector/ConsoleMessage.h: (ConsoleMessage):
  • inspector/InjectedScript.cpp: (WebCore::InjectedScript::wrapObject):
  • inspector/InjectedScript.h: (InjectedScript):
  • inspector/InjectedScriptSource.js: (.):
  • inspector/Inspector.json:
  • inspector/InspectorConsoleAgent.cpp: (WebCore::InspectorConsoleAgent::enable): (WebCore::InspectorConsoleAgent::addConsoleMessage):
  • inspector/front-end/ConsoleMessage.js: (WebInspector.ConsoleMessageImpl.prototype._format): (WebInspector.ConsoleMessageImpl.prototype._formatParameter): (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject): (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArrayOrObject): (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview): (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode): (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray): (WebInspector.ConsoleMessageImpl.prototype._printArray): (WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry): (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
  • inspector/front-end/DOMExtension.js: (Element.prototype.createTextChild):
  • inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectPropertiesSection):
  • inspector/front-end/PropertiesSection.js:
  • inspector/front-end/RemoteObject.js: (WebInspector.RemoteObject): (WebInspector.RemoteObject.fromPayload): (WebInspector.RemoteObject.prototype.get preview):
  • inspector/front-end/Section.js:
  • inspector/front-end/inspector.css: (.console-group-messages .section .header .title): (.section .console-formatted-node): (.console-object-preview): (.section .properties .name, .event-properties .name, .console-formatted-object .name):

2012-08-09 Pavel Feldman <pfeldman@chromium.org>

Web Inspector: generate preview for the objects dumped into the console upon logging.
https://bugs.webkit.org/show_bug.cgi?id=35801

Reviewed by Vsevolod Vlasov.

  • inspector/console/command-line-api-inspect-expected.txt:
  • inspector/console/console-dir-expected.txt:
  • inspector/console/console-eval-global-expected.txt:
  • inspector/console/console-eval-global.html:
  • inspector/console/console-format-collections-expected.txt:
  • inspector/console/console-format-collections.html:
  • inspector/console/console-format-expected.txt:
  • inspector/console/console-format.html:
  • inspector/console/console-log-document-proto-expected.txt:
  • inspector/console/console-log-document-proto.html:
  • inspector/console/console-log-toString-object-expected.txt:
  • inspector/debugger/watch-expressions-panel-switch-expected.txt:
  • inspector/elements/event-listener-sidebar-expected.txt:
  • inspector/elements/event-listeners-about-blank-expected.txt:
  • platform/chromium/inspector/console/console-dir-expected.txt:
  • platform/chromium/inspector/console/console-eval-global-expected.txt: Removed.
  • platform/chromium/inspector/console/console-format-collections-expected.txt:
  • platform/chromium/inspector/console/console-format-expected.txt: Removed.
  • platform/chromium/inspector/console/console-log-document-proto-expected.txt:
  • platform/chromium/inspector/debugger/watch-expressions-panel-switch-expected.txt:
  • platform/chromium/inspector/elements/event-listener-sidebar-expected.txt: Removed.
8:05 AM Changeset in webkit [125173] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r125171.
http://trac.webkit.org/changeset/125171

Broke the Chromium Android build.

  • DEPS:
7:17 AM Changeset in webkit [125172] by kkristof@inf.u-szeged.hu
  • 4 edits
    1 add in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt-5.0/fast/js/global-constructors-expected.txt:
  • platform/qt/Skipped:
  • platform/qt/fast/dom/constructed-objects-prototypes-expected.txt:
  • platform/qt/fast/events/keyevent-iframe-removed-crash-expected.txt: Added.
7:05 AM Changeset in webkit [125171] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
7:03 AM Changeset in webkit [125170] by allan.jensen@nokia.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update TestExpectations with one more test to rebase after r125167

  • platform/chromium/TestExpectations:
5:49 AM WebKitGTK/1.8.x edited by Martin Robinson
(diff)
5:48 AM WebKitGTK/1.8.x edited by Martin Robinson
(diff)
5:43 AM WebKitGTK/1.8.x edited by Martin Robinson
(diff)
5:43 AM Changeset in webkit [125169] by keishi@webkit.org
  • 6 edits in trunk/Source

Page popups can show up at wrong locations
https://bugs.webkit.org/show_bug.cgi?id=93556

Reviewed by Kent Tamura.

Source/WebCore:

No new tests. Cannot test popup position.

  • html/shadow/CalendarPickerElement.cpp:

(WebCore::CalendarPickerElement::contentSize):

Source/WebKit/chromium:

We were showing the popup at wrong positions. When there isn't enough
room below and above the element it adjusts the position but we weren't
resetting the adjustment when we resize the popup. This patch will make
the popup adjust the popup position each time we resize.

  • src/ColorChooserUIController.cpp:

(WebKit::ColorChooserUIController::contentSize):

  • src/WebPagePopupImpl.cpp:

(WevKit::PagePopupChromeClient::setWindowRect):
(WebKit::WebPagePopupImpl::init): Use reposition().
(WebKit::WebPagePopupImpl::reposition): Repositions the page popup based on the popup size.
(WebKit):
(WebKit::WebPagePopupImpl::resize): Use reposition().

  • src/WebPagePopupImpl.h:

(WebPagePopupImpl):

5:24 AM Changeset in webkit [125168] by caseq@chromium.org
  • 7 edits in trunk

Web Inspector: display progress bar while loading timeline data
https://bugs.webkit.org/show_bug.cgi?id=92762

Reviewed by Pavel Feldman.

Source/WebCore:

  • display progress while loading timeline data;
  • disable status bar buttons while operation is in progress;
  • ignore save/load/record while operation is in progress;
  • disable context menu items while operation is in progress;
  • misc. compilation warning fixes;
  • inspector/front-end/ProgressBar.js:

(WebInspector.CompositeProgress.prototype.createSubProgress):

  • inspector/front-end/TimelineModel.js:

(WebInspector.TimelineModel.prototype._loadNextChunk):
(WebInspector.TimelineModel.prototype.loadFromFile.parseAndImportData):
(WebInspector.TimelineModel.prototype.loadFromFile.onLoad):
(WebInspector.TimelineModel.prototype.loadFromFile.onError):
(WebInspector.TimelineModel.prototype.loadFromFile.onProgress):
(WebInspector.TimelineModel.prototype.loadFromFile):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._createStatusBarItems):
(WebInspector.TimelinePanel.prototype._setOperationInProgress):
(WebInspector.TimelinePanel.prototype._contextMenu):
(WebInspector.TimelinePanel.prototype._saveToFile):
(WebInspector.TimelinePanel.prototype._loadFromFile):
(WebInspector.TimelinePanel.prototype.get _toggleTimelineButtonClicked):
(WebInspector.TimelinePanel.prototype.sidebarResized):

  • inspector/front-end/utilities.js: added Array.prototype.select(field) to map array of objects to array containing particular field of each object.

LayoutTests:

  • fix loading tests to pass mock progress indicator;
  • inspector/timeline/timeline-load-incompatible.html:
  • inspector/timeline/timeline-load.html:
5:20 AM Changeset in webkit [125167] by allan.jensen@nokia.com
  • 15 edits in trunk

Floored and truncated rounded confused.
https://bugs.webkit.org/show_bug.cgi?id=93475

Reviewed by Levi Weintraub.

Source/WebCore:

Fix the common mistake of confusing truncating (round towards zero) and
flooring (round down). They are only identical for positive numbers,
not for negative numbers.

This patch fixes instances of misimplemented or misused floor in the
layout and geometric code. And also uses the new correct implementations
to clean up the code for enclosingRect.

  • platform/FractionalLayoutUnit.h:

(WebCore::FractionalLayoutUnit::fromFloatFloor):
(FractionalLayoutUnit):
(WebCore::FractionalLayoutUnit::ceil):
(WebCore::FractionalLayoutUnit::floor):

  • platform/graphics/FloatPoint.h:

(WebCore::FloatPoint::FloatPoint):
(WebCore::roundedIntPoint):
(WebCore::flooredIntPoint):
(WebCore::ceiledIntPoint):
(WebCore::flooredIntSize):

  • platform/graphics/FloatRect.cpp:

(WebCore::enclosingIntRect):
(WebCore::enclosedIntRect):

  • platform/graphics/FloatSize.h:

(WebCore::roundedIntSize):
(WebCore::flooredIntSize):
(WebCore::flooredIntPoint):

  • platform/graphics/FractionalLayoutPoint.h:

(WebCore::flooredIntPoint):
(WebCore::flooredFractionalLayoutPoint):
(WebCore::ceiledFractionalLayoutPoint):

  • platform/graphics/FractionalLayoutRect.cpp:

(WebCore::enclosingIntRect):
(WebCore::enclosingFractionalLayoutRect):

  • platform/graphics/FractionalLayoutSize.h:

(WebCore::flooredIntSize):

  • platform/graphics/IntRect.cpp:

(WebCore::IntRect::IntRect):

  • rendering/LayoutTypes.h:

(WebCore::flooredLayoutPoint):
(WebCore::floorToInt):
(WebCore::isIntegerValue):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::convertToLayerCoords):

LayoutTests:

  • platform/chromium/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
5:18 AM Changeset in webkit [125166] by caseq@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: use WebInspector.ProgressIndicator in AdvancedSearchController
https://bugs.webkit.org/show_bug.cgi?id=93362

Reviewed by Vsevolod Vlasov.

  • drop custom status bar used in AdvancedSearchController, use WebInspector.ProgressIndicator;
  • perform additional cancelation check after invoking searchResultCallback to account for stopSearch called from within callback;
  • fix compilation warnings in ProgressBar;
  • inspector/front-end/AdvancedSearchController.js:

(WebInspector.SearchView):
(WebInspector.SearchView.prototype.searchStarted):
(WebInspector.SearchView.prototype.addSearchResult):
(WebInspector.SearchView.prototype.searchFinished):
(WebInspector.SearchView.prototype._onCancel):

  • inspector/front-end/ProgressBar.js:

(WebInspector.CompositeProgress.prototype.createSubProgress):

  • inspector/front-end/ScriptsSearchScope.js:

(WebInspector.ScriptsSearchScope.prototype.performSearch.searchCallbackWrapper):

  • inspector/front-end/inspector.css:

(.progress-bar-container progress):
(body.platform-mac .progress-bar-container progress):

5:08 AM Changeset in webkit [125165] by pfeldman@chromium.org
  • 5 edits in trunk

Web Inspector: improve large array logging experience
https://bugs.webkit.org/show_bug.cgi?id=93499

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Group elements in chunks of 100, not smaller.

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.FunctionScopeMainTreeElement):
(WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):
(WebInspector.ArrayGroupingTreeElement._populateRanges):

LayoutTests:

  • inspector/console/console-big-array-expected.txt:
  • inspector/console/console-big-array.html:
4:34 AM Changeset in webkit [125164] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Pull in the android_tools directory for Android
https://bugs.webkit.org/show_bug.cgi?id=84843

Reviewed by Jochen Eisinger.

Pull in the android_tools directory for Chromium Android checkouts. This
repository, living in Chromium's, contains checked in versions of the
Android NDK and SDK meant to make builds and updates easier.

  • DEPS:
4:00 AM Changeset in webkit [125163] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Qt][Win] Build system bug revealed by r124835
https://bugs.webkit.org/show_bug.cgi?id=93339

Reviewed by Tor Arne Vestbø.

Don't add "LC_ALL=c" on Windows in svnRevisionForDirectory() and in pathRelativeToSVNRepositoryRootForPath().

  • Scripts/VCSUtils.pm:

(isWindows): Copied from webkitdirs.pm.
(svnRevisionForDirectory):
(pathRelativeToSVNRepositoryRootForPath):

1:16 AM Changeset in webkit [125162] by morrita@google.com
  • 5 edits
    4 adds in trunk

DOMCharacterDataModified should not be fired inside shadows
https://bugs.webkit.org/show_bug.cgi?id=93427

Reviewed by Ryosuke Niwa.

Source/WebCore:

CharacterData::dispatchModifiedEvent() fires DOMCharacterDataModified event even if
the node is in shadow. But it shouldn't. Check dispatchChildInsertionEvents() and
dispatchChildRemovalEvents() to see how other MutationEvents are suppressed behind shadows.
This change follows the same path to suppress DOMCharacterDataModified.

Tests: fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata.html

fast/forms/textarea-and-mutation-events-appending-text.html

  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent):

LayoutTests:

Added two tests. This also fixes existing test, which cover the wrong behavior.

  • fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata-expected.txt: Added.
  • fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata.html: Added.
  • fast/events/dom-character-data-modified-textarea-crash.html:
  • DOMCharacterDataModified shouldn't be fired in this case. Fixed to allow test to terminate without the event. Note that The event was fired by <textarea>, which is fixed by this change.
  • fast/forms/textarea-and-mutation-events-appending-text-expected.txt: Added.
  • fast/forms/textarea-and-mutation-events-appending-text.html: Added.
  • svg/custom/tref-nested-events-crash.svg:
  • DOMCharacterDataModified shouldn't be fired in this case. Fixed to allow test to terminate without the event. Note that The event was fired by SVGShadowText, which is just an implentation detail and should not be exposed.
1:09 AM Changeset in webkit [125161] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update TestExpectations for chromium gardening.
https://bugs.webkit.org/show_bug.cgi?id=93589

Mark svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg as slow for Mac10.6 (dbg).

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2012-08-09

  • platform/chromium/TestExpectations:
12:58 AM Changeset in webkit [125160] by eric@webkit.org
  • 8 edits in trunk

Use m_everHadLayout in RenderObject::checkForRepaintDuringLayout()
https://bugs.webkit.org/show_bug.cgi?id=20885

Reviewed by Dan Bernstein.

Source/WebCore:

Fix FIXME in checkForRepaintDuringLayout, making RenderObjects
no longer paint on first layout, but instead require their
parent containers to paint them.
This appears to have fixed one minor SVG overpainting issue
in svg/use-detach-expected.png.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlock):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::checkForRepaintDuringLayout):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::layoutChildren):

LayoutTests:

Updated result. Appears to be a progression. I suspect
we were over-drawing the <g> container before and now we're
just drawing the two objects which change.

  • platform/chromium-mac/svg/custom/use-detach-expected.png:
  • platform/chromium-linux/svg/custom/use-detach-expected.png:
  • platform/mac/svg/custom/use-detach-expected.png:
12:47 AM Changeset in webkit [125159] by arko@motorola.com
  • 4 edits
    2 adds in trunk

Microdata: PropertyNodeList cache should be invalidated on id attribute change.
https://bugs.webkit.org/show_bug.cgi?id=93485

Reviewed by Ryosuke Niwa.

Source/WebCore:

Invalidate PropertyNodeList cache when id attribute of an element changed/modified.

Test: fast/dom/MicroData/propertiescollection-on-changing-id-attr.html

  • dom/DynamicNodeList.cpp: Moved ownerNodeHasItemRefAttribute() method to DynamicNodeList.h

(WebCore):

  • dom/DynamicNodeList.h:

(WebCore):
(WebCore::DynamicNodeListCacheBase::isRootedAtDocument): Return true if owner has itemref
attribute specified with root type NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr.
(WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange): Return true if
attrName is id attribute in case of InvalidateOnItemAttrChange.
(WebCore::DynamicNodeListCacheBase::ownerNodeHasItemRefAttribute):

LayoutTests:

Added test to verify HTMLPropertiesCollection and PropertyNodeList interfaces
behavior on changing id attribute.

  • fast/dom/MicroData/propertiescollection-on-changing-id-attr-expected.txt: Added.
  • fast/dom/MicroData/propertiescollection-on-changing-id-attr.html: Added.
12:45 AM Changeset in webkit [125158] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, TestExpectations update for a newly added test
https://bugs.webkit.org/show_bug.cgi?id=93586

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2012-08-09

  • platform/chromium/TestExpectations:
12:28 AM Changeset in webkit [125157] by arko@motorola.com
  • 4 edits
    6 adds in trunk

Microdata: HTMLPropertiesCollection does not contain all properties when item is not attached to the DOM tree.
https://bugs.webkit.org/show_bug.cgi?id=93456

Reviewed by Ryosuke Niwa.

Source/WebCore:

HTMLPropertiesCollection does not contain the item properties added through
itemref attribute when item is not attached to the DOM tree. We need to
find the root node of the item if its not attached in the document.

It is also possible that itemref attribute of item refers to the root node.
Made changes in getItemRefElements() method so that the traversal should
start from the root node.

Tests: fast/dom/MicroData/add-remove-property-to-item-which-is-not-attached-to-domtree.html

fast/dom/MicroData/item-not-attached-to-domtree.html
fast/dom/MicroData/itemref-pointing-to-root-node.html

  • dom/DynamicNodeList.cpp:

(WebCore::DynamicNodeListCacheBase::rootNode):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::getItemRefElements):

LayoutTests:

Added tests to ensure that HTMLPropertiesCollection contains all item properties
when item is not attached to the DOM tree.

  • fast/dom/MicroData/add-remove-property-to-item-which-is-not-attached-to-domtree-expected.txt: Added.
  • fast/dom/MicroData/add-remove-property-to-item-which-is-not-attached-to-domtree.html: Added.
  • fast/dom/MicroData/item-not-attached-to-domtree-expected.txt: Added.
  • fast/dom/MicroData/item-not-attached-to-domtree.html: Added.
  • fast/dom/MicroData/itemref-pointing-to-root-node-expected.txt: Added.
  • fast/dom/MicroData/itemref-pointing-to-root-node.html: Added.
12:26 AM Changeset in webkit [125156] by timothy_horton@apple.com
  • 23 edits in trunk/Source

Add optional debug logging for tiled scrolling
https://bugs.webkit.org/show_bug.cgi?id=93305

Reviewed by Simon Fraser.

Add scrolling performance logging to ScrollingTreeNodeMac and WebTileLayer, which will log
the amount of unpainted area exposed during scrolling and painting, respectively.

The logging output looks like this:

SCROLLING: Exposed tileless area. Time: 1344464850.154839 Unfilled Pixels: 1122008
SCROLLING: Filled visible fresh tile. Time: 1344464850.575303 Unfilled Pixels: 1078272
SCROLLING: Filled visible fresh tile. Time: 1344464850.676569 Unfilled Pixels: 823808
SCROLLING: Filled visible fresh tile. Time: 1344464850.795877 Unfilled Pixels: 569344
SCROLLING: Filled visible fresh tile. Time: 1344464850.846940 Unfilled Pixels: 524288
SCROLLING: Filled visible fresh tile. Time: 1344464850.984113 Unfilled Pixels: 262144
SCROLLING: Filled visible fresh tile. Time: 1344464851.027985 Unfilled Pixels: 0

No new tests, as this is just debugging logging.

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

(WebCore::FrameView::setScrollingPerformanceLoggingEnabled):
Added setScrollingPerformanceLoggingEnabled, passes flag into TiledBacking.

  • page/FrameView.h:
  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setScrollingPerformanceLoggingEnabled):
Added setScrollingPerformanceLoggingEnabled, passes flag into FrameView.

  • page/Settings.h:

(WebCore::Settings::scrollingPerformanceLoggingEnabled):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::ScrollingTree):
(WebCore::ScrollingTree::setScrollingPerformanceLoggingEnabled):
(WebCore::ScrollingTree::scrollingPeformanceLoggingEnabled):
Added ScrollingPerformanceLoggingEnabled setter/getter; this is where it's accessed from ScrollingTreeNodeMac.

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/mac/ScrollingTreeNodeMac.h:

(ScrollingTreeNodeMac):

  • page/scrolling/mac/ScrollingTreeNodeMac.mm:

(WebCore::ScrollingTreeNodeMac::setScrollPosition):
When updating scroll position, conditionally log the amount of unpainted area that was just exposed.

(WebCore::ScrollingTreeNodeMac::logExposedTilelessArea):

  • platform/graphics/TiledBacking.h:

(WebCore::TiledBacking::TiledBacking):
(WebCore::TiledBacking::setScrollingPerformanceLoggingEnabled):
(WebCore::TiledBacking::scrollingPerformanceLoggingEnabled):
Added ScrollingPerformanceLoggingEnabled setter/getter; this is where it's accessed from WebTileLayer.

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

(WebCore::TileCache::visibleRect):

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

(WebCore::TileCache::blankPixelCount):
(WebCore::TileCache::blankPixelCountForTiles):
Compute the exposed, unpainted area of the tile cache by iterating over the layers,
checking if they've been painted, and subtracting painted layers from the total visible area.

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

(-[WebTileLayer drawInContext:]):
(-[WebTileLayer repaintCount]):
(-[WebTileLayer logFilledFreshTile]):
When painting a WebTileLayer, conditionally log the amount of unpainted area remaining after painting said tile.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
Plumb ScrollingPerformanceLoggingEnabled through to TiledBacking.

Add a new boolean preference, ScrollingPerformanceLoggingEnabled, which will be used to toggle
the WebCore parts of this change.

  • Shared/WebPreferencesStore.h: Add ScrollingPerformanceLoggingEnabled.
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetScrollingPerformanceLoggingEnabled): Added.
(WKPreferencesGetScrollingPerformanceLoggingEnabled): Added.

  • UIProcess/API/C/WKPreferencesPrivate.h: Add getters and setters for ScrollingPerformanceLoggingEnabled.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Add ScrollingPerformanceLoggingEnabled.
(WebKit::WebPage::updatePreferences): Add ScrollingPerformanceLoggingEnabled.
(WebKit::WebPage::setScrollingPerformanceLoggingEnabled): Propagate settings changes through to FrameView.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::scrollingPerformanceLoggingEnabled): Add a getter for the setting so that TiledCoreAnimationDrawingArea can access it.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Pass ScrollingPerformanceLoggingEnabled down into the scrolling thread.

Aug 8, 2012:

11:39 PM Changeset in webkit [125155] by inferno@chromium.org
  • 1 edit in branches/chromium/1229/Source/WebKit/chromium/features.gypi

Revert 116356 - Disable Iframe seamless for m22.
BUG=138422
Review URL: https://chromiumcodereview.appspot.com/10826222

11:23 PM Changeset in webkit [125154] by hclam@chromium.org
  • 6 edits
    6 adds in trunk

Source/WebCore: Remove image decoding in some BitmapImage metadata functions
https://bugs.webkit.org/show_bug.cgi?id=93171

Reviewed by Simon Fraser.

These two metadata functions were decoding an entire frame:

  • frameOrientationAtIndex
  • frameHasAlphaAtIndex

This change removes image decoding from these two methods. This is for
preparation of having asynchronous image decoding, intending to reduce
code location that trigger image decoding.

frameOrientationAtIndex() doesn't require decoding a frame. This method
is only implemented in CG port in ImageSourceCG.cpp which doesn't do
image decoding.

frameHasAlphaAtIndex() is used to optimize certain drawing operations
and accelerated compositing. This change uses a heuristic for non-CG
port to determine if an image has alpha. If an image is not yet
decoded the function answers having alpha. Only if a frame is decoded
and cached that the alpha state of the frame is returned. This is an
admissible heuristic that postpone answering the question until a frame
is decoded.

Tested this change with a fully loaded image and partially loaded image
with background color.

Test: http/tests/images/jpg-img-partial-load.html

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::frameHasAlphaAtIndex):
(WebCore::BitmapImage::frameOrientationAtIndex):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::frameHasAlphaAtIndex):

  • platform/image-decoders/ImageDecoder.cpp:

(WebCore::ImageDecoder::frameHasAlphaAtIndex):
(WebCore):

  • platform/image-decoders/ImageDecoder.h:

(ImageDecoder):

LayoutTests: Test rendering JPEG <img> with CSS background
https://bugs.webkit.org/show_bug.cgi?id=93171

Reviewed by Simon Fraser.

Tests defer answering the alpha state for BitmapImage not yet
decoded doesn't affect rendering results.

Test: http/tests/images/jpg-img-partial-load.html

Tests the rendering results of a partially loaded JPEG image.
The image should be green in the top region and blue in the
lower region. The blue is the background color revealed by
full alpha of the undecoded region.

  • fast/images/resources/green-256x256.jpg: Added.
  • http/tests/images/jpg-img-partial-load-expected.png: Added.
  • http/tests/images/jpg-img-partial-load-expected.txt: Added.
  • http/tests/images/jpg-img-partial-load.html: Added.
  • http/tests/resources/load-and-stall.php: Added.
10:50 PM Changeset in webkit [125153] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

update bot parsing of new-run-webkit-tests' output
https://bugs.webkit.org/show_bug.cgi?id=93537

Patch by Dirk Pranke <dpranke@chromium.org> on 2012-08-08
Reviewed by Ryosuke Niwa.

This change updates the way we parse the output from
new-run-webkit-tests on the bots so that we can show a summary
of the results properly after I re-land the changes that were
reverted in r124994 and r124870.

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

(RunWebKitTests._parseNewRunWebKitTestsOutput):

10:29 PM Changeset in webkit [125152] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

Unreviewed, rolling out r125146.
http://trac.webkit.org/changeset/125146
https://bugs.webkit.org/show_bug.cgi?id=93578

Would like to study fast/dom/Window/timer-null-script-
execution-context.html behavior change (Requested by abarth on
#webkit).

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

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore):
(WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
(WebCore::JSDOMWindowBase::allowsAccessFrom):

  • bindings/js/JSDOMWindowBase.h:

(JSDOMWindowBase):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::deleteProperty):
(WebCore::JSDOMWindow::getPropertyNames):
(WebCore::JSDOMWindow::getOwnPropertyNames):
(WebCore::JSDOMWindow::defineOwnProperty):
(WebCore::JSDOMWindow::setLocation):

  • bindings/js/JSDOMWindowCustom.h:

(WebCore::JSDOMWindowBase::allowsAccessFrom):
(WebCore):
(WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
(WebCore::JSDOMWindowBase::allowsAccessFromPrivate):

  • bindings/js/JSInjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::canAccessInspectedWindow):

  • bindings/objc/WebScriptObject.mm:

(-[WebScriptObject _isSafeScript]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertyDescriptorBody):
(GenerateImplementation):

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

(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectConstructor):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):

10:27 PM Changeset in webkit [125151] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Skip CoreAnimation plugin model tests on android
https://bugs.webkit.org/show_bug.cgi?id=90586

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-08-08
Reviewed by Adam Barth.

  • platform/chromium/TestExpectations:
10:21 PM Changeset in webkit [125150] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Skip platform/mac/editing/deleting/backward-delete.html on android
https://bugs.webkit.org/show_bug.cgi?id=90585

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-08-08
Reviewed by Adam Barth.

  • platform/chromium/TestExpectations:
9:49 PM Changeset in webkit [125149] by kinuko@chromium.org
  • 41 edits
    1 delete in trunk

Unprefix window.webkitURL
https://bugs.webkit.org/show_bug.cgi?id=93034

Reviewed by Jian Li.

Adding unprefixed window.URL as other browsers like FireFox and Opera 12 seem to have the API unprefixed.
(This patch doesn't remove webkitURL yet as Safari and Chrome has exposed the URL for a while now.)

Source/WebCore:

Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html

  • page/DOMWindow.cpp:
  • page/DOMWindow.h:

(DOMWindow):

  • page/DOMWindow.idl:
  • workers/WorkerContext.idl:

LayoutTests:

Changed most of the window.URL test code to use unprefixed version.
To verify webkitURL is still available left webkitURL related tests in
fast/dom/DOMURL/check-instanceof-domurl-functions.html.

  • editing/pasteboard/data-transfer-items-image-png.html:
  • fast/dom/DOMURL/check-instanceof-domurl-functions-expected.txt:
  • fast/dom/DOMURL/check-instanceof-domurl-functions.html:
  • fast/dom/HTMLAnchorElement/anchor-download-unset.html:
  • fast/dom/HTMLAnchorElement/anchor-download.html:
  • fast/dom/HTMLAnchorElement/anchor-nodownload-set.html:
  • fast/dom/HTMLAnchorElement/anchor-nodownload.html:
  • fast/dom/constructed-objects-prototypes-expected.txt:
  • fast/dom/window-domurl-crash.html:
  • fast/files/apply-blob-url-to-img.html:
  • fast/files/apply-blob-url-to-xhr.html:
  • fast/files/create-blob-url-crash.html:
  • fast/files/domurl-script-execution-context-crash.html:
  • fast/files/revoke-blob-url.html:
  • fast/files/url-null-expected.txt:
  • fast/files/url-null.html:
  • fast/files/url-required-arguments-expected.txt:
  • fast/files/url-required-arguments.html:
  • fast/files/workers/inline-worker-via-blob-url.html:
  • fast/files/workers/resources/worker-apply-blob-url-to-xhr.js:
  • fast/js/constructor-length.html:
  • http/tests/fileapi/create-blob-url-from-data-url.html:
  • http/tests/security/mixedContent/blob-url-in-iframe.html:
  • platform/chromium-win/compositing/geometry/object-clip-rects-assertion-expected.txt:
  • platform/chromium/fast/files/url-required-arguments-expected.txt:
  • platform/chromium/media/video-capture-preview.html:
  • platform/gtk/fast/dom/constructed-objects-prototypes-expected.txt:
  • platform/gtk/fast/files/url-required-arguments-expected.txt:
  • platform/gtk/fast/js/constructor-length-expected.txt:
  • platform/gtk/fast/js/global-constructors-expected.txt:
  • platform/mac/fast/js/constructor-length-expected.txt:
  • platform/mac/fast/js/global-constructors-expected.txt:
  • platform/qt-5.0/fast/js/global-constructors-expected.txt:
  • platform/qt/fast/dom/constructed-objects-prototypes-expected.txt:
  • platform/qt/fast/js/constructor-length-expected.txt:
  • platform/qt/fast/js/global-constructors-expected.txt:
9:31 PM FeatureFlags edited by shanestephens@google.com
(diff)
9:26 PM Changeset in webkit [125148] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

nested fragment parser test slow on Android
https://bugs.webkit.org/show_bug.cgi?id=90438

Patch by Wei James <james.wei@intel.com> on 2012-08-08
Reviewed by Ryosuke Niwa.

  • platform/chromium/TestExpectations:
9:16 PM Changeset in webkit [125147] by morrita@google.com
  • 11 edits
    2 adds in trunk

[SVG] load events shouldn't be fired during Node::insrtedInto()
https://bugs.webkit.org/show_bug.cgi?id=92969

Reviewed by Ryosuke Niwa.

Source/WebCore:

Event dispatches during insertedInto() allow event handlers to
break DOM tree cosistency. This chagne makes them async for load
events which are dispatched during insertedInto() call. This
prevents event handlers from breaking tree consistency while the
notification traversal.

Test: svg/custom/loadevents-async.html

  • svg/SVGElement.cpp:

(WebCore::SVGElement::sendSVGLoadEventIfPossibleAsynchronously): Added.
(WebCore):
(WebCore::SVGElement::svgLoadEventTimerFired): Added.
(WebCore::SVGElement::svgLoadEventTimer):

  • Added a stub. Implemented in SVGScriptElement, SVGStopElement, SVGUseElement where the load event happens.
  • svg/SVGElement.h:

(SVGElement):

  • svg/SVGExternalResourcesRequired.cpp:

(WebCore::SVGExternalResourcesRequired::insertedIntoDocument):

  • Replaces event dispatch call with async version.
  • svg/SVGScriptElement.h:
  • svg/SVGStyleElement.h:
  • svg/SVGUseElement.h:

LayoutTests:

  • svg/custom/loadevents-async-expected.txt: Added.
  • svg/custom/loadevents-async.html: Added.
8:52 PM Changeset in webkit [125146] by abarth@webkit.org
  • 9 edits in trunk/Source/WebCore

Implement JSDOMWindow*::allowsAccessFrom* in terms of BindingSecurity
https://bugs.webkit.org/show_bug.cgi?id=93407

Reviewed by Eric Seidel.

This patch removes allowsAccessFrom and implements the security checks
in terms of shouldAllowAccessToFrame directly. There shouldn't be any
change in behavior.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore):
(WebCore::shouldAllowAccessFrom):

  • bindings/js/JSDOMWindowBase.h:

(JSDOMWindowBase):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::deleteProperty):
(WebCore::JSDOMWindow::getPropertyNames):
(WebCore::JSDOMWindow::getOwnPropertyNames):
(WebCore::JSDOMWindow::defineOwnProperty):
(WebCore::JSDOMWindow::setLocation):

  • bindings/js/JSDOMWindowCustom.h:
  • bindings/js/JSInjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::canAccessInspectedWindow):

  • bindings/objc/WebScriptObject.mm:

(-[WebScriptObject _isSafeScript]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertyDescriptorBody):
(GenerateImplementation):

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

(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectConstructor):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):

8:51 PM Changeset in webkit [125145] by tony@chromium.org
  • 10 edits
    1 delete in trunk/Source/WebCore

Unreviewed, rolling out r125143.
http://trac.webkit.org/changeset/125143
https://bugs.webkit.org/show_bug.cgi?id=93573

Doesn't compile on Mac (Requested by tonywork on #webkit).

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

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:
  • platform/graphics/ImageSource.h:

(WebCore):

  • platform/graphics/NativeImagePtr.h: Removed.
  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:
7:53 PM Changeset in webkit [125144] by Lucas Forschler
  • 110 edits in branches/safari-536.26-branch/Source

Merged <rdar://problem/12050720>

7:35 PM Changeset in webkit [125143] by kseo@webkit.org
  • 10 edits
    1 add in trunk/Source/WebCore

Extract the definition of NativeImagePtr from ImageSource.h into NativeImagePtr.h.
https://bugs.webkit.org/show_bug.cgi?id=93466

Patch by Huang Dongsung <luxtella@company100.net> on 2012-08-08
Reviewed by Adam Barth.

Image.h includes ImageSource.h in order to know the definition of NativeImagePtr.
But Image does not need to know the definition of ImageSource. So, this patch
extracts the definition of NativeImagePtr from ImageSource.h into NativeImagePtr.h.

This is a preparation for asynchronous image decoding. Async decoding
will need a callback function, which sends a NativeImagePtr to clients, and the
callback must know the definition of NativeImagePtr, not ImageSource.

No new tests, behavior is unchanged.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:
  • platform/graphics/ImageSource.h:

(WebCore):

  • platform/graphics/NativeImagePtr.h: Added.

(WebCore):

7:29 PM Changeset in webkit [125142] by commit-queue@webkit.org
  • 15 edits in trunk

Compile flag for CSS Hierarchies
https://bugs.webkit.org/show_bug.cgi?id=92433

Patch by Shane Stephens <shanestephens@google.com> on 2012-08-08
Reviewed by Tony Chang.

.:

  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Note that this flag is disabled on all platforms for now.

No new tests since there's no functional change.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • qmake/mkspecs/features/features.pri:
7:26 PM Changeset in webkit [125141] by tkent@chromium.org
  • 4 edits in trunk/Source

[Chromium-mac] Switch to LocalizedNumberMac from LocalizedNumberICU
https://bugs.webkit.org/show_bug.cgi?id=93432

Reviewed by Hajime Morita.

Source/WebCore:

No new tests. Covered by fast/forms/number/number-lossless-localization.html,
and WebKit/chromium/tests/LocaleMacTest.cpp.

  • WebCore.gyp/WebCore.gyp:

Exclude locale-relatef files for ICU, and include files for Mac.

Source/WebKit/chromium:

  • tests/LocaleMacTest.cpp:

Add some tests for number localization. They are similar to tests in
LocaleWinTest and LocalizedNumberICUTest.cpp
(LocaleMacTest):
(LocaleMacTest::decimalSeparator):
(TEST_F):
(testNumberIsReversible):
(testNumbers):

7:22 PM Changeset in webkit [125140] by tony@chromium.org
  • 6 edits in trunk/LayoutTests

css3/flexbox/content-height-with-scrollbars.html failing on non-fractional pixel layout machines
https://bugs.webkit.org/show_bug.cgi?id=93530

Unreviewed, fixing the test to not depend on rounding behavior.

  • css3/flexbox/content-height-with-scrollbars-expected.html: Use a fixed width.
  • css3/flexbox/content-height-with-scrollbars.html: Use a fixed width.
  • platform/efl/TestExpectations: Remove failing expectation.
  • platform/gtk/TestExpectations: Remove failing expectation.
  • platform/mac/TestExpectations: Remove failing expectation.
7:09 PM Changeset in webkit [125139] by dpranke@chromium.org
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed TestExpectations cleanup and a new baseline.

  • platform/chromium/TestExpectations:
  • platform/chromium/http/tests/security/sandboxed-iframe-modify-self-expected.txt: Added.
7:05 PM Changeset in webkit [125138] by arv@chromium.org
  • 3 edits in trunk/LayoutTests

Fix invalid test
https://bugs.webkit.org/show_bug.cgi?id=93543

Reviewed by Kentaro Hara.

The HTMLMediaElement.prototype.NETWORK_NO_SOURCE is non writable so assigning to the element instance should
be ignored.

  • media/network-no-source-const-shadow-expected.txt:
  • media/network-no-source-const-shadow.html:
6:53 PM FeatureFlags edited by tkent@chromium.org
Add a comment to FILTERS (diff)
6:46 PM Changeset in webkit [125137] by kerz@chromium.org
  • 2 edits
    1 copy in branches/chromium/1229/Source

Merge 125077 - Crash when reloading a Chromium "platform" app
https://bugs.webkit.org/show_bug.cgi?id=93497

Reviewed by Eric Seidel.

Source/WebCore:

The framework for Chromium "platform" apps executes a big blob of
script during the didCreateScriptContext callback. This blob of scripts
interacts with a bunch of JavaScript objects and triggers a number of
security checks.

When reloading a frame, the didCreateScriptContext is called during
Frame::setDocument (as a consequence of calling
ScriptController::updateDocument). At that time, the SecurityOrigin
object hasn't yet been copied over to the DOMWindow, and we crash
trying to grab it.

The long-term fix for this bug is to fix
https://bugs.webkit.org/show_bug.cgi?id=75793, at which point there
will no longer be a SecurityOrigin object on DOMWindow. In the
meantime, however, we can fix this crash by null checking the
DOMWindow's SecurityOrigin object.

  • bindings/generic/BindingSecurity.cpp:

(WebCore::canAccessDocument):

Source/WebKit/chromium:

Test that we don't crash when executing script during the
didCreateScriptContext callback.

  • tests/WebFrameTest.cpp:
  • tests/data/hello_world.html: Added.

TBR=abarth@webkit.org

6:45 PM Changeset in webkit [125136] by kerz@chromium.org
  • 1 add in branches/chromium/1229/codereview.settings

add codereview settings

6:29 PM Changeset in webkit [125135] by benjamin@webkit.org
  • 9 edits in trunk

Use char* instead of LChar* for the public interface of String construction from literals
https://bugs.webkit.org/show_bug.cgi?id=93402

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-08
Reviewed by Michael Saboff.

Source/JavaScriptCore:

Update JSC' Identifier to use StringImpl::createFromLiteral with a char*.

  • runtime/Identifier.cpp:

(JSC::IdentifierASCIIStringTranslator::translate):

Source/WTF:

When the initialization from literal was added, some constructor/initialization function were
using LChar for convenience.

Since those function should only take ASCII characters, using LChar* could cause confusion. This
patch intents to clarify this by using char* for all those APIs.

  • wtf/text/AtomicString.cpp:

(WTF::CharBufferFromLiteralDataTranslator::hash):
(WTF::CharBufferFromLiteralDataTranslator::equal):
(WTF::CharBufferFromLiteralDataTranslator::translate):
(WTF::AtomicString::addFromLiteralData):

  • wtf/text/AtomicString.h:

(WTF::AtomicString::AtomicString):
(AtomicString):

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::createFromLiteral):

  • wtf/text/StringImpl.h:

(StringImpl):
(WTF::StringImpl::StringImpl):
(WTF::StringImpl::createFromLiteral):

Tools:

  • TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

6:14 PM Changeset in webkit [125134] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-536.26-branch

Merged r123121. <rdar://problem/11942016>

6:11 PM Changeset in webkit [125133] by hayato@chromium.org
  • 3 edits in trunk/Source/WebCore

EventDispatcher::dispatchSimulatedClick should not reuse the same EventDispatcher instance.
https://bugs.webkit.org/show_bug.cgi?id=93452

Reviewed by Dimitri Glazkov.

This is a follow up patch after r124975. There is yet another
place where the same EventDispatcher instance is reused across
event dispatching.

In addition to that, in order to simulate a real click, we must
different dispatchers because we must recalculate event ancestors
each time. Current implementation wrongly freezes event ancestors
at the first event dispatching.

No new tests, no change in functionality.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchSimulatedClick):
(WebCore::EventDispatcher::EventDispatcher):
(WebCore::EventDispatcher::dispatchEvent):

  • dom/EventDispatcher.h:

(EventDispatcher):

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

writeHelperGetString in V8HTMLDocument uses += to concatenate strings
https://bugs.webkit.org/show_bug.cgi?id=93035

Patch by Jae Hyun Park <jae.park@company100.net> on 2012-08-08
Reviewed by Adam Barth.

Use a StringBuilder instead of String concatenation because StringBuilder is generally faster.

No new functionality, so no new tests.

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::writeHelperGetString):

6:07 PM Changeset in webkit [125131] by dpranke@chromium.org
  • 2 edits
    1 move in trunk/Tools

nrwt: rename finder.py to layout_test_finder.py
https://bugs.webkit.org/show_bug.cgi?id=93557

Reviewed by Ryosuke Niwa.

One last cleanup per old review feedback from rniwa.

  • Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py: Renamed from Tools/Scripts/webkitpy/layout_tests/controllers/finder.py.

(LayoutTestFinder):
(LayoutTestFinder.init):
(LayoutTestFinder.find_tests):
(LayoutTestFinder._strip_test_dir_prefixes):
(LayoutTestFinder._strip_test_dir_prefix):
(LayoutTestFinder._read_test_names_from_file):
(LayoutTestFinder._strip_comments):
(LayoutTestFinder.skip_tests):
(LayoutTestFinder.split_into_chunks):

  • Scripts/webkitpy/layout_tests/controllers/manager.py:
6:04 PM Changeset in webkit [125130] by enne@google.com
  • 8 edits in trunk/Source

[chromium] Move scrollbar pointer into WebScrollbarThemePainter
https://bugs.webkit.org/show_bug.cgi?id=93541

Reviewed by James Robinson.

Source/Platform:

Update WebScrollbarThemePainter to encapsulate a pointer to the
scrollbar as well. Lion scrollbars and RenderScrollbars are both
incompatible with wrapping a scrollbar in a WebScrollbar.

ScrollbarTheme(Chromium)Mac attaches extra data to a scrollbar based
on the pointer value (via a static map keyed on the pointer) so
passing an object that returns all the same values for the
ScrollbarThemeClient interface but has a different pointer will fail
to paint.

RenderScrollbar does static casts on the ScrollbarThemeClient pointer
that it is passed, assuming that it is the same. Therefore, it also
cannot use a WebScrollbar.

To fix this, push the real scrollbar pointer into the painter.

  • chromium/public/WebScrollbarThemePainter.h:

(WebCore):
(WebKit::WebScrollbarThemePainter::WebScrollbarThemePainter):
(WebScrollbarThemePainter):

Source/WebCore:

Update clients of WebScrollbarThemePainter.

  • page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:

(WebCore::createScrollbarLayer):

  • platform/graphics/chromium/ScrollbarLayerChromium.cpp:

Source/WebKit/chromium:

Fix WebScrollbarThemePainter implementation to make direct calls on
the scrollbar rather than through the WebScrollbarThemeClientImpl
adapter.

  • src/WebScrollbarThemePainter.cpp:

(WebKit::WebScrollbarThemePainter::assign):
(WebKit::WebScrollbarThemePainter::paintScrollbarBackground):
(WebKit::WebScrollbarThemePainter::paintTrackBackground):
(WebKit::WebScrollbarThemePainter::paintBackTrackPart):
(WebKit::WebScrollbarThemePainter::paintForwardTrackPart):
(WebKit::WebScrollbarThemePainter::paintBackButtonStart):
(WebKit::WebScrollbarThemePainter::paintBackButtonEnd):
(WebKit::WebScrollbarThemePainter::paintForwardButtonStart):
(WebKit::WebScrollbarThemePainter::paintForwardButtonEnd):
(WebKit::WebScrollbarThemePainter::paintTickmarks):
(WebKit::WebScrollbarThemePainter::paintThumb):
(WebKit::WebScrollbarThemePainter::WebScrollbarThemePainter):

  • tests/ScrollbarLayerChromiumTest.cpp:

(WebCore::TEST):

6:02 PM Changeset in webkit [125129] by Lucas Forschler
  • 4 edits
    13 copies in branches/safari-536.26-branch

Merged r120096.

5:56 PM Changeset in webkit [125128] by Alexandru Chiculita
  • 5 edits
    3 adds in trunk

[CSS Shaders] Invalid shaders should act as pass-through filters
https://bugs.webkit.org/show_bug.cgi?id=93405

Reviewed by Dean Jackson.

Source/WebCore:

If the shader fails to apply then clearShaderResult will just copy the result of the previous filter
to the output of the current filter.

Test: css3/filters/custom/invalid-custom-filter-shader.html

  • platform/graphics/filters/FECustomFilter.cpp:

(WebCore::FECustomFilter::platformApplySoftware):
(WebCore):
(WebCore::FECustomFilter::clearShaderResult):
(WebCore::FECustomFilter::applyShader):

  • platform/graphics/filters/FECustomFilter.h:

(FECustomFilter):

  • rendering/style/StyleCustomFilterProgram.h: The test was exposing the fact that if the shaders were referencing the same

file then StyleCustomFilterProgram will never complete the load. Having the same file for both the vertex and the fragment shader
cannot really work, because the shaders would not compile anyway, thus triggering an invalid shader.
I'm fixing it part of this change because the current test actually exposes that on Safari Mac builds. See the note in the LayoutTest/ChangeLog.
(WebCore::StyleCustomFilterProgram::notifyFinished):

LayoutTests:

Note that invalid-custom-filter-shader-expected.html is actually using another builtin filter,
just to make sure we trigger the whole FilterEffectRenderer on the images, otherwise the result will be
slightly different because of the conversion errors. Having another filter like grayscale(0) will trigger
the same precission errors on the result of the expected html.

  • css3/filters/custom/invalid-custom-filter-shader-expected.html: Added.
  • css3/filters/custom/invalid-custom-filter-shader.html: Added.
  • css3/filters/resources/invalid-shader.vs: Added.
5:52 PM Changeset in webkit [125127] by Lucas Forschler
  • 13 edits
    3 copies in branches/safari-536.26-branch

Merged r123936. <rdar://problem/11979239>

5:41 PM Changeset in webkit [125126] by abarth@webkit.org
  • 5 edits in trunk/Source/WebCore

Rewire the same-origin checks for the JavaScriptCore bindings through BindingSecurity
https://bugs.webkit.org/show_bug.cgi?id=93382

Reviewed by Eric Seidel.

This patch rewires the same-origin policy checks in the JavaScriptCore
bindings to use the implementation in BindingSecurity.cpp, which is now
shared by JavaScriptCore and V8. There are still a few places were we
use the JSDOMWindowCustom-based code path, but I plan to change those
in a follow up patch in the interest of keeping this patch as small as
possible.

This patch as two main benefits:

1) We no longer need to maintain duplicate code in the JSC and the V8

bindings for as delicate an area as the same-origin check.
Previously, the two implementations accomplished the same task using
a slightly different mechansim. After this patch, they use the same
mechanism, which means we only need to convince ourselves that one
implementation is correct.

2) This patch will make it easier to remove DOMWindow::m_securityOrigin

because there will be only one piece of code that needs to change.
Prior to this patch, we would have had to change both
implementations of the same-origin policy not to rely upon
DOMWindow::m_securityOrigin.

  • bindings/js/BindingState.cpp:

(WebCore::immediatelyReportUnsafeAccessTo):
(WebCore):

  • bindings/js/BindingState.h:

(WebCore):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::shouldAllowAccessToNode):
(WebCore::shouldAllowAccessToFrame):

5:40 PM Changeset in webkit [125125] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium/mac] Map NSEventPhaseMayBegin appropriately on 10.8
https://bugs.webkit.org/show_bug.cgi?id=93535

Patch by Alexei Svitkine <asvitkine@chromium.org> on 2012-08-08
Reviewed by Dimitri Glazkov.

This enables putting two fingers on the track pad to show overlay scroll bars on 10.8+.

  • src/mac/WebInputEventFactory.mm:

(WebKit::phaseForNSEventPhase):

5:34 PM Changeset in webkit [125124] by beidson@apple.com
  • 3 edits
    3 adds in trunk

Google search query text reverts to original search query after multiple searches
<rdar://problem/10800686> and https://bugs.webkit.org/show_bug.cgi?id=93544

Reviewed by Darin Adler.

Source/WebCore:

For security sensitive fields we normally clear "autocomplete=off" form elements when
restoring a page from the page cache.

If the element is textual and has a defaultValue then "clearing" it actually restores
the default value.

There's no scenario we can imagine where that makes sense so we should not reset the
value in such fields.

Test: fast/forms/autocomplete-off-with-default-value-does-not-clear.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute): Update suspension callback registration as needed.
(WebCore::HTMLInputElement::needsSuspensionCallback): Don't reset text fields with a non-empty default value.

LayoutTests:

  • fast/forms/autocomplete-off-with-default-value-does-not-clear-expected.txt: Added.
  • fast/forms/autocomplete-off-with-default-value-does-not-clear.html: Added.
  • fast/forms/resources/go-back.html: Added.
5:19 PM Changeset in webkit [125123] by rniwa@webkit.org
  • 11 edits
    2 adds in trunk/Tools

Add Perf EWS IRC bot
https://bugs.webkit.org/show_bug.cgi?id=92913

Reviewed by Dirk Pranke.

Adds the preliminary implementation of perfalizer, a IRC bot that runs performance tests
based on IRC requests.

  • Scripts/webkitpy/common/checkout/scm/scm_mock.py:

(MockSCM.head_svn_revision): The actual implementation returns string, so match that.
(MockSCM.svn_revision): Ditto.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla.add_attachment_to_bug): Added mimetype.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

(MockBugzilla.add_attachment_to_bug): Ditto.

  • Scripts/webkitpy/common/system/filesystem.py:

(FileSystem.copytree): Added.

  • Scripts/webkitpy/common/system/filesystem_mock.py:

(MockFileSystem.copytree): Added.

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Rebaselined tests

that had assumed revision numbers were integers.
(test_run_with_json_output):
(test_run_with_description):
(test_run_generates_json_by_default):
(test_run_generates_and_show_results_page):
(test_run_with_json_source):
(test_run_with_multiple_repositories):

  • Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
  • Scripts/webkitpy/tool/commands/init.py:
  • Scripts/webkitpy/tool/commands/perfalizer.py: Added.

(PerfalizerTask):
(PerfalizerTask.init):
(PerfalizerTask._copy_build_product_without_patch):
(PerfalizerTask.run):
(PerfalizerTask.parent_command):
(PerfalizerTask.run_webkit_patch):
(PerfalizerTask._json_path):
(PerfalizerTask._results_page_path):
(PerfalizerTask._run_perf_test):
(PerfalizerTask.run_command):
(PerfalizerTask.command_passed):
(PerfalizerTask.command_failed):
(PerfalizerTask.refetch_patch):
(PerfalizerTask.expected_failures):
(PerfalizerTask.build_style):
(PerfTest): IRC command.
(PerfTest.execute):
(Perfalizer): IRC bot.
(Perfalizer.begin_work_queue):
(Perfalizer.work_item_log_path):
(Perfalizer._is_old_failure):
(Perfalizer.next_work_item):
(Perfalizer.process_work_item):
(Perfalizer.handle_unexpected_error):
(Perfalizer.handle_script_error):

  • Scripts/webkitpy/tool/commands/perfalizer_unittest.py: Added.

(PerfalizerTaskTest):
(PerfalizerTaskTest._create_and_run_perfalizer):
(PerfalizerTaskTest._create_and_run_perfalizer.logger):
(PerfalizerTaskTest._create_and_run_perfalizer.run_webkit_patch):
(PerfalizerTaskTest._create_and_run_perfalizer.run_perf_test):
(PerfalizerTaskTest.test_run):
(PerfalizerTaskTest.test_run_with_clean_fails):
(PerfalizerTaskTest.test_run_with_update_fails):
(PerfalizerTaskTest.test_run_with_build_fails):
(PerfalizerTaskTest.test_run_with_perf_test_fails):
(PerfalizerTaskTest.test_run_without_results_page):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

(AbstractPatchQueueTest.test_upload_results_archive_for_patch): Rebaselined.

  • Scripts/webkitpy/tool/commands/upload_unittest.py:

(test_attach_to_bug): Ditto.
(test_attach_to_bug_no_description_or_comment): Ditto.

5:18 PM Changeset in webkit [125122] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Creating "basic waveform" Oscillator nodes is not efficient
https://bugs.webkit.org/show_bug.cgi?id=93194

Patch by Raymond Toy <Raymond Toy> on 2012-08-08
Reviewed by Chris Rogers.

Source/WebCore:

Cache the wavetables for the basic types so they don't have to be
recomputed every time.

Also fix a bug where oscillator type was always set to CUSTOM
instead of the specified oscillator type. Test added for this.

Test: webaudio/oscillator-basic.html

  • Modules/webaudio/Oscillator.cpp:

(WebCore):
(WebCore::Oscillator::setType): Use cached wavetables; fix bug in
setting the oscillator type.

  • Modules/webaudio/Oscillator.h:

(Oscillator): Define static variables to hold cached wavetables.

LayoutTests:

Add test to verify that the returned oscillator type is the same
as what was set.

  • webaudio/oscillator-basic-expected.txt: Added.
  • webaudio/oscillator-basic.html: Added.
5:18 PM Changeset in webkit [125121] by commit-queue@webkit.org
  • 2 edits in trunk

[BlackBerry] Fix "-fPIC" define in the BlackBerry build
https://bugs.webkit.org/show_bug.cgi?id=93548

Patch by Ming Xie <mxie@rim.com> on 2012-08-08
Reviewed by Rob Buis.

In the current CMake release (version 2.8.5), ${CMAKE_SHARED
_LIBRARY_C_FLAGS} and ${CMAKE_SHARED_LIBRARY_CXX_FLAGS} is
set to empty (See cmake/Modules/Platform/QNX.cmake)

This breaks the assumption which WebKit CMake build system
makes in Source/cmake/WebKitHelper.cmake

  • Source/cmake/OptionsBlackBerry.cmake:
5:16 PM Changeset in webkit [125120] by tsepez@chromium.org
  • 8 edits
    3 adds in trunk

Avoid ASSERT(m_workerContext->isSharedWorkerContext()) in WorkerScriptController::initScript()
https://bugs.webkit.org/show_bug.cgi?id=93521

Reviewed by Adam Barth.

Source/WebCore:

Changes WorkerContext and its subclasses so that we do not call functions that rely upon subclass
virtual methods from the superclass constructor.

Test: http/tests/security/contentSecurityPolicy/worker-set-timeout-blocked.html

  • workers/DedicatedWorkerContext.cpp:

(WebCore):
(WebCore::DedicatedWorkerContext::create):
(WebCore::DedicatedWorkerContext::DedicatedWorkerContext):

  • workers/DedicatedWorkerContext.h:

(DedicatedWorkerContext):

  • workers/SharedWorkerContext.cpp:

(WebCore):
(WebCore::SharedWorkerContext::create):
(WebCore::SharedWorkerContext::SharedWorkerContext):

  • workers/SharedWorkerContext.h:

(SharedWorkerContext):

  • workers/WorkerContext.cpp:

(WebCore::WorkerContext::WorkerContext):
(WebCore::WorkerContext::applyContentSecurityPolicyFromString):
(WebCore):

  • workers/WorkerContext.h:

(WorkerContext):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/resources/worker-set-timeout.js: Added.
  • http/tests/security/contentSecurityPolicy/worker-set-timeout-blocked-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/worker-set-timeout-blocked.html: Added.
5:01 PM Changeset in webkit [125119] by dino@apple.com
  • 2 edits in trunk/LayoutTests

(r124484) inspector/device-orientation-success.html failing on Mac ports
https://bugs.webkit.org/show_bug.cgi?id=93552

Unreviewed test expectations update. inspector/device-orientation-success.html missing console output.

  • platform/mac/TestExpectations:
4:59 PM Changeset in webkit [125118] by commit-queue@webkit.org
  • 8 edits
    2 deletes in trunk

CanvasRenderContext2D::setFont() should ignore inherited properties and default keyword value
https://bugs.webkit.org/show_bug.cgi?id=93491

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-08
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Treat "inherit" as an invalid value. Also ignore the "default"
keyword that was previously treated as a font family. This second
change was done in the property validation and will also affect the
CSS font parsing, but it is probably harmless since font doesn't
recognize the default keyword anyway.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFontFamily):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont):

LayoutTests:

Unskipped tests that are now passing after this fix and removed wrong
expectations.

  • platform/chromium/TestExpectations:
  • platform/chromium/canvas/philip/tests/2d.text.font.parse.invalid-expected.txt: Removed.
  • platform/efl/Skipped:
  • platform/gtk/TestExpectations:
  • platform/mac/canvas/philip/tests/2d.text.font.parse.invalid-expected.txt: Removed.
  • platform/qt/Skipped:
4:59 PM Changeset in webkit [125117] by jamesr@google.com
  • 8 edits in trunk/Source/WebKit/chromium

[chromium] Fix up includes and types in chromium compositor unit tests
https://bugs.webkit.org/show_bug.cgi?id=93553

Reviewed by Adrienne Walker.

This removes some unused GraphicsContext3DPrivate.h includes and adds some includes that were being implicitely
depending upon - mostly for wtf/PassOwnPtr.h.

  • tests/CCLayerTreeHostTest.cpp:

(::CCLayerTreeHostTestCommit::beginTest):
(::CCLayerTreeHostTestCommit::commitCompleteOnCCThread):

  • tests/CCRenderSurfaceFiltersTest.cpp:
  • tests/CompositorFakeWebGraphicsContext3D.h:
  • tests/FakeGraphicsContext3DTest.cpp:
  • tests/FakeWebScrollbarThemeGeometry.h:
  • tests/TextureCopierTest.cpp:
  • tests/ThrottledTextureUploaderTest.cpp:
4:56 PM Changeset in webkit [125116] by jamesr@google.com
  • 7 edits in trunk/Source/WebCore

[chromium] Add missing OVERRIDE and virtual annotations in compositor
https://bugs.webkit.org/show_bug.cgi?id=93438

Reviewed by Adrienne Walker.

As the title suggests.

  • platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:

(BitmapCanvasLayerTextureUpdater):

  • platform/graphics/chromium/ScrollbarLayerChromium.h:

(ScrollbarLayerChromium):

  • platform/graphics/chromium/SolidColorLayerChromium.h:

(SolidColorLayerChromium):

  • platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
  • platform/graphics/chromium/cc/CCFrameRateController.h:

(CCFrameRateController):

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

(CCScrollbarLayerImpl):

4:55 PM Changeset in webkit [125115] by dpranke@chromium.org
  • 5 edits in trunk/Tools

webkit-patch rebaseline-expectations needs to support multiple expectations files
https://bugs.webkit.org/show_bug.cgi?id=89051

Reviewed by Adam Barth.

fixed the bug described above, added unit test in
test_expectations_unittest, and updated the tool tests
to not contain all of the "missing skia expectations" warnings.

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

(TestExpectations.remove_rebaselined_tests):
(TestExpectations.remove_rebaselined_tests.without_rebaseline_modifier):

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

(RebaseliningTest.assertRemove):
(RebaseliningTest.test_remove):

  • Scripts/webkitpy/tool/commands/rebaseline.py:

(RebaselineExpectations._update_expectations_files):
(RebaselineExpectations.execute):

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaseline.test_rebaseline_updates_expectations_file_noop):
(test_rebaseline_expectations):

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

[chromium] Refactor tile flags.
https://bugs.webkit.org/show_bug.cgi?id=93059

Patch by Eric Penner <epenner@google.com> on 2012-08-08
Reviewed by Adrienne Walker.

Source/WebCore:

This has become a general refactoring patch to make updateTiles easier
to work with. The 'updated' flag had become convoluted and incorrect
and the function had lots of special cases piled into it which
makes for tangled depedancies that are hard to reason with.

This refactors the updated flag into two flags ('validForFrame',
and 'occluded') for the two purposes it is actually used for,
simplifies the use of those flags.

'validForFrame' is improved to work for all tiles that are not dirty
before painting begins, rather than just the tiles that get touched via
updateTiles().

This refactors updateTiles() into several functions that more clearly
illustrate all the depedancies that have accumulated in there. After
doing that I managed to separate the occlusion pass from the painting
passes, ecapsulating the difficult dependancies in one documented
function 'markOcclusionsAndRequestTextures'.

Now update tiles doesn't need the 'idle' flag, and returns didPaint
as an out-param. The last remaining wierd output is m_failedPaint
which is needed in place of m_skipsIdlePaint to prevent infinite
paints from being requested.

As a last step I was going to merge LayerChromium::update() and
LayerChromium::needsMoreUpdates() by having update() just return
a boolean, but this proved to be a big change so I'm holding off
on that. That would let us remove the m_failedPaint and get rid
of needsIdlePaint() altogether.

Tested by many existing tests.

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(UpdatableTile):
(WebCore::UpdatableTile::resetUpdateState):
(WebCore::UpdatableTile::markForUpdate):
(WebCore::UpdatableTile::UpdatableTile):
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore):
(WebCore::TiledLayerChromium::updateTiles):
(WebCore::TiledLayerChromium::markOcclusionsAndRequestTextures):
(WebCore::TiledLayerChromium::haveTexturesForTiles):
(WebCore::TiledLayerChromium::markTilesForUpdate):
(WebCore::TiledLayerChromium::updateTileTextures):
(WebCore::TiledLayerChromium::resetUpdateState):
(WebCore::TiledLayerChromium::updateContentRect):
(WebCore::TiledLayerChromium::needsIdlePaint):

  • platform/graphics/chromium/TiledLayerChromium.h:

(TiledLayerChromium):

Source/WebKit/chromium:

Minor fixes to existing tests.

  • tests/TiledLayerChromiumTest.cpp:
4:47 PM Changeset in webkit [125113] by ap@apple.com
  • 4 edits in trunk/Tools

[WK2] MiniBrowser crashes on quit if any windows were previously closed
https://bugs.webkit.org/show_bug.cgi?id=93529

Reviewed by John Sullivan.

  • MiniBrowser/mac/AppDelegate.h:
  • MiniBrowser/mac/AppDelegate.m: (-[BrowserAppDelegate init]): (-[BrowserAppDelegate newWindow:]): (-[BrowserAppDelegate browserWindowWillClose:]): (-[BrowserAppDelegate applicationWillTerminate:]): (-[BrowserAppDelegate frontmostBrowserWindowController]): Track browser windows explicitly, not relying on [NSApp windows]. Closed windows are not automatically removed from the list until deallocated, so a refcounting error can result in working on a closed window.
  • MiniBrowser/mac/BrowserWindowController.m: (-[BrowserWindowController dealloc]): Moved code from -windowWillClose: here. Releasing data members is -dealloc's job. (-[BrowserWindowController windowWillClose:]): Notify BrowserAppDelegate that the window is no longer open. Autorelease self, making sure that WKView and then WebPageProxy get released. (-[BrowserWindowController applicationTerminating]): Don't release _webView.pageRef. WKView is responsible for its lifetime. (closePage): Ditto.
4:42 PM Changeset in webkit [125112] by Lucas Forschler
  • 3 edits in branches/safari-536.26-branch/Source/WebCore

Merged r120328. <rdar://problem/12050720>

4:39 PM Changeset in webkit [125111] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

css3/calc/transitions-dependent.html was causing css3/calc/transitions.html to fail
https://bugs.webkit.org/show_bug.cgi?id=93515

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

The transitions-dependent.html test was causing the transitions.html test to fail.
This was a result of a timeout callback set in the first test that was only being fired
in the second test because the first test did not use waitUntilDone/notifyDone.
The second test printed out an extra TypeError: 'undefined' error message because the callback
was defined in the first test and was thus 'undefined' by the time it was called while the second test
was running.

In addition, the test contained the following line:
window.addEventListener("load", function() { waitForAnimationStart(runTest(expectedValues)); }, false);
which does not work as intended because the parameter to waitForAnimationStart should have been a function
that calls runTest, not the call to the runTest function itself, which calls the method immediately.

  • css3/calc/transitions-dependent.html:

Added waitUntilDone/notifyDone.
Fixed function parameter.

4:37 PM Changeset in webkit [125110] by Lucas Forschler
  • 2 edits in branches/safari-536.26-branch/Source/WebCore

Merged r119740. <rdar://problem/12050720>

4:36 PM Changeset in webkit [125109] by fmalita@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

[Chromium] Unreviewed gardening: Chromium results for compositing/repaint/newly-composited-on-scroll.html.

  • platform/chromium-mac/compositing/repaint/newly-composited-on-scroll-expected.png: Added.
  • platform/chromium-win/compositing/repaint/newly-composited-on-scroll-expected.png: Added.
4:27 PM Changeset in webkit [125108] by jamesr@google.com
  • 20 edits in trunk/Source/WebKit/chromium

[chromium] Clean up WebKit.h and WebKitPlatformSupport.h includes in chromium/src
https://bugs.webkit.org/show_bug.cgi?id=93539

Reviewed by Adam Barth.

Most of these files don't need either WebKit.h or WebKitPlatformSupport.h. Some need <public/Platform.h>, and
some are relying on the forwarding headers. This updates includes to what is actually needed and points platform
includes at <public/Foo.h> instead of "platform/Foo.h" where possible.

  • src/ApplicationCacheHostInternal.h:
  • src/AssociatedURLLoader.cpp:
  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystemChromium::AsyncFileSystemChromium):

  • src/BlobRegistryProxy.cpp:
  • src/ChromiumCurrentTime.cpp:
  • src/ChromiumOSRandomSource.cpp:
  • src/ChromiumThreading.cpp:
  • src/EditorClientImpl.cpp:
  • src/FrameLoaderClientImpl.cpp:
  • src/IDBFactoryBackendProxy.cpp:
  • src/LocalizedStrings.cpp:
  • src/PlatformMessagePortChannel.cpp:
  • src/WebCompositorInputHandlerImpl.cpp:
  • src/WebMediaPlayerClientImpl.cpp:
  • src/WebPluginContainerImpl.cpp:
  • src/WebViewImpl.cpp:
  • src/WebWorkerClientImpl.cpp:
  • src/WorkerAsyncFileSystemChromium.cpp:
  • src/WorkerFileWriterCallbacksBridge.cpp:
4:23 PM Changeset in webkit [125107] by Lucas Forschler
  • 3 edits in branches/safari-536.26-branch/Source/WebCore

Merged r124811. <rdar://problem/12049461>

4:19 PM Changeset in webkit [125106] by fmalita@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening: compositing/plugins/no-backing-store.html yields incorrect results.

  • platform/chromium/TestExpectations:
4:14 PM Changeset in webkit [125105] by Lucas Forschler
  • 2 edits in branches/safari-536.26-branch/Source/WebCore

Merged r124102. <rdar://problem/11992689>

4:09 PM Changeset in webkit [125104] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=93393
Overflow regions sometimes repaint incorrectly after going into or
coming out of compositing mode
-and corresponding-
<rdar://problem/12006463>

Reviewed by Simon Fraser.

My first patch to fix this bug removed an if (parent()) check that is
needed to prevent a table crash seen in
fast/table/table-row-compositing-repaint-crash.html
The parent() check was actually added originally to prevent this same
crash. See http://trac.webkit.org/changeset/110456
This patch adds that check back, but really we should delay the
computation of repaint rects if layout has not happened yet.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):

3:40 PM Changeset in webkit [125103] by dino@apple.com
  • 2 edits in trunk/LayoutTests

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

Unreviewed test expectations update after regression from r124416 on Mac ports.

  • platform/mac/TestExpectations:
3:28 PM Changeset in webkit [125102] by scherkus@chromium.org
  • 3 edits in trunk/LayoutTests

Avoid backing store on layers created for CoreAnimation plugins
https://bugs.webkit.org/show_bug.cgi?id=93526
<rdar://problem/12052828>

Patch by Simon Fraser <Simon Fraser> on 2012-08-08
Reviewed by Dean Jackson.

Test for backing store on CoreAnimation-based plugins in various
configurations.

  • compositing/plugins/no-backing-store-expected.txt: Added.
  • compositing/plugins/no-backing-store.html: Added.
3:17 PM Changeset in webkit [125101] by Simon Fraser
  • 3 edits
    2 adds in trunk

Avoid backing store on layers created for CoreAnimation plugins
https://bugs.webkit.org/show_bug.cgi?id=93526
<rdar://problem/12052828>

Reviewed by Dean Jackson.

Source/WebCore:

We create a compositing layer for <embed> objects whose plug-in supports
the CoreAnimation rendering model. When the embed's renderer is not styled,
we can avoid allocating backing store for it.

Test: compositing/plugins/no-backing-store.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::isCompositedPlugin):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):

LayoutTests:

Test for backing store on CoreAnimation-based plugins in various
configurations.

  • compositing/plugins/no-backing-store-expected.txt: Added.
  • compositing/plugins/no-backing-store.html: Added.
3:16 PM Changeset in webkit [125100] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION: Crash when plug-in initialization fails
https://bugs.webkit.org/show_bug.cgi?id=93534
<rdar://problem/12059786>

Reviewed by Simon Fraser.

Protect the PluginProxy while calling out to functions that could cause it to be destroyed.

  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::didFailToCreatePluginInternal):

3:13 PM Changeset in webkit [125099] by commit-queue@webkit.org
  • 6 edits in trunk/LayoutTests

[Chromium] Updating fast/canvas/webgl/gl-teximage.html to prevent valid variations in results from causing test failures.
https://bugs.webkit.org/show_bug.cgi?id=89494

Patch by Jeff Timanus <twiz@chromium.org> on 2012-08-08
Reviewed by Adrienne Walker.

  • fast/canvas/webgl/gl-teximage-expected.txt:
  • fast/canvas/webgl/gl-teximage.html: Only display the actual percentage of passing pixels when outside of DRT.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
3:12 PM Changeset in webkit [125098] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Make isTransparentSilverlightBackgroundValue handle all the possible transparent colors
https://bugs.webkit.org/show_bug.cgi?id=93532

Reviewed by Simon Fraser.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::isTransparentSilverlightBackgroundValue):
Check for all the possible transparent colors and assume that the color is opaque otherwise.

(WebKit::NetscapePlugin::initialize):
Pass the lowercase string to isTransparentSilverlightBackgroundValue.

3:10 PM Changeset in webkit [125097] by dino@apple.com
  • 2 edits in trunk/LayoutTests

Rebaseline fast/box-sizing/box-sizing.html and compositing/overflow/clip-descendents.html
https://bugs.webkit.org/show_bug.cgi?id=92904

Unreviewed test expectations update. The IMAGE test was passing on Lion and Mountain Lion.

  • platform/mac/TestExpectations:
3:05 PM CoordinatedGraphicsSystem edited by noam.rosenthal@nokia.com
(diff)
3:05 PM Changeset in webkit [125096] by Lucas Forschler
  • 5 edits in branches/safari-536.26-branch/Source/WebKit2

Merged r125081. <rdar://problem/12059544>

2:57 PM Changeset in webkit [125095] by jamesr@google.com
  • 16 edits in trunk/Source/WebKit/chromium

[chromium] Clean up includes in compositor unit tests
https://bugs.webkit.org/show_bug.cgi?id=93531

Reviewed by Adrienne Walker.

This removes unused includes and updates Platform API headers to use the <public/Web...> style paths.

  • tests/CCAnimationTestCommon.cpp:
  • tests/CCKeyframedAnimationCurveTest.cpp:
  • tests/CCLayerAnimationControllerTest.cpp:
  • tests/CCLayerTreeHostCommonTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestLayerAddedWithAnimation::beginTest):

  • tests/CCOcclusionTrackerTest.cpp:
  • tests/CCTextureUpdateControllerTest.cpp:
  • tests/CCThreadedTest.cpp:
  • tests/FakeWebGraphicsContext3D.h:
  • tests/LayerChromiumTest.cpp:
  • tests/LayerRendererChromiumTest.cpp:
  • tests/TiledLayerChromiumTest.cpp:
  • tests/WebCompositorInputHandlerImplTest.cpp:
  • tests/WebLayerTest.cpp:
  • tests/WebLayerTreeViewTest.cpp:
2:56 PM Changeset in webkit [125094] by wangxianzhu@chromium.org
  • 4 edits in trunk

[Chromium-Android] Apply all Linux layout test expectations
https://bugs.webkit.org/show_bug.cgi?id=92653

Reviewed by Adam Barth.

Tools:

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

(ChromiumAndroidPort.skipped_layout_tests): Removed. Skip these tests in TestExpectations instead.

LayoutTests:

We used to let chromium_android.py replace all 'LINUX' to 'LINUX ANDROID' in test expectations on Android to automatically inherit all test expectations of chromium-linux.
As a step of upstreaming chromium-android, now we actually update TestExpectations.

In this change, 'LINUX's are replaced to 'LINUX ANDROID', *except* those:
1) already have 'ANDROID',
2) not applicable or not to be tested on Android, e.g. plugins, inspector, non-virtual gpu tests, etc. Instead we add SKIP rules for them.

  • platform/chromium/TestExpectations:
2:54 PM Changeset in webkit [125093] by dino@apple.com
  • 2 edits in trunk/LayoutTests

css3/flexbox/content-height-with-scrollbars.html failing image test on Lion and MountainLion
https://bugs.webkit.org/show_bug.cgi?id=93530

Unreviewed test expectations update.

  • platform/mac/TestExpectations:
2:52 PM Changeset in webkit [125092] by arv@chromium.org
  • 5 edits
    2 adds in trunk

DOM4: classList should be defined on Element and not on HTMLElement
https://bugs.webkit.org/show_bug.cgi?id=93015

Reviewed by Adam Barth.

DOM4 specs that Element should have the classList WebIDL attribute. This moves the
attribute to the correct IDL file.

Source/WebCore:

Test: fast/dom/Element/class-list.html

  • dom/Element.idl:
  • html/HTMLElement.idl:

LayoutTests:

  • fast/dom/Element/class-list-expected.txt: Added.
  • fast/dom/Element/class-list.html: Added.
2:49 PM Changeset in webkit [125091] by Beth Dakin
  • 12 edits in trunk/Source

https://bugs.webkit.org/show_bug.cgi?id=92275
Need a way to get a snapshot image that does not show the selection
-and corresponding-
<rdar://problem/11956802>

Reviewed by Anders Carlsson.

../WebCore:

New function FrameView::paintContentsForSnapshot() has the option to
exclude selection from the snapshot.

Export new function

  • WebCore.exp.in:

Clear the selection from the RenderView when selection is to be excluded. Restore
all of this information via FrameSelection::updateAppearance() after calling
paintContents().

  • page/FrameView.cpp:

(WebCore::FrameView::paintContentsForSnapshot):
(WebCore):

  • page/FrameView.h:

../WebKit2:

Added new API WKBundlePageCreateSnapshotWithOptions()

New enum SnapshotOptions tracks whether snapshots should exclude
selection highlighting in addition to tracking whether the image is
sharable like the original ImageOptions.

  • Shared/API/c/WKImage.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::snapshotOptionsFromImageOptions):
(WebKit):
(WebKit::toSnapshotOptions):

  • Shared/ImageOptions.h:

New API.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageCreateSnapshotWithOptions):

These existing APIs all now call
WebPage::scaledSnapshotWithOptions().
(WKBundlePageCreateSnapshotInViewCoordinates):
(WKBundlePageCreateSnapshotInDocumentCoordinates):
(WKBundlePageCreateScaledSnapshotInDocumentCoordinates):

This patch removes WebPage::snapshotInViewCoordinates(),
WebPage::snapshotInDocumentCoordinates(), and
WebPage::scaledSnapshotInDocumentCoordinates(). All of the logic is
now consolidated into WebPage::scaledSnapshotWithOptions(). It turns
out that we never did anything different for document coordinates
versus view coordinates, so that complexity could just be eliminated
outright.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::snapshotOptionsToImageOptions):
(WebKit::WebPage::scaledSnapshotWithOptions):
(WebKit):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

2:48 PM Changeset in webkit [125090] by benjamin@webkit.org
  • 2 edits in trunk/PerformanceTests

Calling internals from the performance test runner prevents manual running
https://bugs.webkit.org/show_bug.cgi?id=93527

Reviewed by Ryosuke Niwa.

Since r125065, it is impossible to run the Performance tests manually. The problem is
"internals" is not defined when running outside the test runner, so the whole script
evaluation fails.

  • resources/runner.js: Verify is window.internals is available before invoking something on it.
2:19 PM Changeset in webkit [125089] by Lucas Forschler
  • 4 edits in branches/safari-536.25-branch/Source

Versioning.

2:17 PM Changeset in webkit [125088] by jamesr@google.com
  • 16 edits in trunk/Source

[chromium] Only use public Platform API in NonCompositedContentHost
https://bugs.webkit.org/show_bug.cgi?id=93423

Reviewed by Adrienne Walker.

Source/Platform:

Adds setters to control text antialiasing and checkerboarding behavior for content layers.

  • chromium/public/WebContentLayer.h:

(WebContentLayer):

Source/WebCore:

This renames the "NonCompositedContentHost" flag to "useLCDText", which is the primary purpose of the flag. We
also use this flag to control whether we have border texels or not on the "root" layer, but I can't think of a
clean name that encapsulates both behaviors.

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setUseLCDText):
(WebCore::LayerChromium::pushPropertiesTo):

  • platform/graphics/chromium/LayerChromium.h:

(LayerChromium):
(WebCore::LayerChromium::useLCDText):

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::setUseLCDText):

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

(WebCore::CCLayerImpl::CCLayerImpl):

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

(WebCore::CCLayerImpl::setUseLCDText):
(WebCore::CCLayerImpl::useLCDText):
(CCLayerImpl):

Source/WebKit/chromium:

Switches to using Web*Layer APIs in NonCompositedContentHost instead of reaching in to the LayerChromium and
updates unit tests for the nonCompositedContent->useLCDText flag rename.

  • src/NonCompositedContentHost.cpp:

(WebKit::NonCompositedContentHost::NonCompositedContentHost):

  • src/WebContentLayer.cpp:

(WebKit::WebContentLayer::setUseLCDText):
(WebKit):
(WebKit::WebContentLayer::setDrawCheckerboardForMissingTiles):

  • src/WebViewImpl.cpp:
  • tests/CCLayerImplTest.cpp:

(WebCore::TEST):

  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/LayerChromiumTest.cpp:
2:15 PM Changeset in webkit [125087] by Lucas Forschler
  • 5 edits in branches/safari-536.25-branch/Source/WebKit2

Merged r125081 -> <rdar://problem/12056765>

2:09 PM Changeset in webkit [125086] by Beth Dakin
  • 5 edits
    3 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=93393
Overflow regions sometimes repaint incorrectly after going into or
coming out of compositing mode
-and corresponding-
<rdar://problem/12006463>

Reviewed by Simon Fraser.

Source/WebCore:

New RenderLayer function computeRepaintRectsIncludingDescendants()

  • rendering/RenderLayer.cpp:

(WebCore):
(WebCore::RenderLayer::computeRepaintRectsIncludingDescendants):

  • rendering/RenderLayer.h:

(RenderLayer):

It is not sufficient to compute repaint rects just for the current
layer when compositing changes. They must be recomputed for all
descendant layers as well.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):

LayoutTests:

  • compositing/repaint/newly-composited-on-scroll.html: Added.
  • platform/mac/compositing/repaint/newly-composited-on-scroll-expected.png: Added.
  • platform/mac/compositing/repaint/newly-composited-on-scroll-expected.txt: Added.
2:08 PM Changeset in webkit [125085] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r124710-r124713): media/video-seek-past-end-paused.html failing on Apple Lion Debug WK1 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=93394

Unreviewed. Adding the correct results for failing tests on Mac.

  • platform/mac/media/video-seek-past-end-paused-expected.txt:
2:04 PM Changeset in webkit [125084] by commit-queue@webkit.org
  • 6 edits in trunk/Source

IndexedDB: new enums and openCursor stub
https://bugs.webkit.org/show_bug.cgi?id=93410

Patch by Alec Flett <alecflett@chromium.org> on 2012-08-08
Reviewed by Adam Barth.

Source/WebCore:

Introduce a new TaskType enum that will be used to prioritize
internal tasks. This is preliminary staging for
https://bugs.webkit.org/show_bug.cgi?id=91125.

No new tests, coming in bug 91125.

  • Modules/indexeddb/IDBTransactionBackendInterface.h:

Source/WebKit/chromium:

This stubs out the TaskType and Direction enums that will be
required to land the chromium side of
https://bugs.webkit.org/show_bug.cgi?id=91125.

  • public/WebIDBCursor.h:
  • public/WebIDBObjectStore.h:

(WebKit::WebIDBObjectStore::setIndexKeys):
(WebKit::WebIDBObjectStore::setIndexesReady):
(WebIDBObjectStore):
(WebKit::WebIDBObjectStore::openCursor):

  • public/WebIDBTransaction.h:
2:02 PM Changeset in webkit [125083] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Implement about:memory-live
https://bugs.webkit.org/show_bug.cgi?id=93153

Reviewed by Yong Li.
Patch by Jacky Jiang <zhajiang@rim.com>

Implementing about:memory-live to track memory peaks:

  • about:memory-live/start: start tracking memory peaks.
  • about:memory-live: show memory peaks every 30ms.
  • about:memory-live/stop: stop tracking and show memory peaks.

Mainly track the following memory peaks:

  • Total used memory (malloc + JSC).
  • Total committed memory.
  • Total mapped memory.

Add total committed memory for about:memory

  • WebKitSupport/AboutData.cpp:

(BlackBerry::WebKit::memoryPage):
(WebKit):
(MemoryTracker):
(BlackBerry::WebKit::MemoryTracker::isActive):
(BlackBerry::WebKit::MemoryTracker::clear):
(BlackBerry::WebKit::MemoryTracker::peakTotalUsedMemory):
(BlackBerry::WebKit::MemoryTracker::peakTotalCommittedMemory):
(BlackBerry::WebKit::MemoryTracker::peakTotalMappedMemory):
(BlackBerry::WebKit::MemoryTracker::MemoryTracker):
(BlackBerry::WebKit::MemoryTracker::instance):
(BlackBerry::WebKit::MemoryTracker::start):
(BlackBerry::WebKit::MemoryTracker::stop):
(BlackBerry::WebKit::MemoryTracker::updateMemoryPeaks):
(BlackBerry::WebKit::memoryPeaksToHtmlTable):
(BlackBerry::WebKit::memoryLivePage):
(BlackBerry::WebKit::aboutData):

1:49 PM Changeset in webkit [125082] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add MountainLion WebKit Bots.
https://bugs.webkit.org/show_bug.cgi?id=93417

Patch by Josh Hawn <jhawn@apple.com> on 2012-08-08
Reviewed by Stephanie Lewis.

Mountain Lion is now available, so we've added the appropriate Apple bots,
mirroring the configuration of the Lion bots.

  • BuildSlaveSupport/build.webkit.org-config/config.json:

Added 10 "apple-mini-###" slaves.
Added MountainLion Builders and Schedulers.

1:33 PM Changeset in webkit [125081] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Make the Silverlight CAOpenGLLayer opaque if we know the plug-in contents is opaque to reduce blending
https://bugs.webkit.org/show_bug.cgi?id=93508
<rdar://problem/12056765>

Reviewed by Simon Fraser.

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::NetscapePluginModule::determineQuirks):

  • Shared/Plugins/PluginQuirks.h:

Rename the MakeTransparentIfBackgroundAttributeExists quirk to MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists
since we'll explicitly check for opaque background colors (at least one opaque background color for now), instead of just making the
plug-in transparent whenever there's a background specified.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::isTransparentSilverlightBackgroundValue):
Helper function for determining if a background value is transparent. Just check for opaque black now and treat everything else as transparent.

(WebKit::NetscapePlugin::initialize):
Call isTransparentSilverlightBackgroundValue.

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

(WebKit::makeCGLPresentLayerOpaque):
Helper function for grabbing the CGLPresentLayer from the layer hierarchy and setting it to be opaque.

(WebKit::NetscapePlugin::updatePluginLayer):
Call makeCGLPresentLayerOpaque if the plug-in has the MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists quirk and
the plug-in is not transparent.

1:32 PM Changeset in webkit [125080] by Lucas Forschler
  • 1 copy in branches/safari-536.25-branch

New branch.

1:14 PM Changeset in webkit [125079] by pfeldman@chromium.org
  • 33 edits
    3 copies in trunk

REGRESSION(r125046): Breaks debug build (assertion in protocol type checks) (Requested by pfeldman on #webkit).
https://bugs.webkit.org/show_bug.cgi?id=93505

Not reviewed: roll out.

Source/WebCore:

  • inspector/ConsoleMessage.cpp:

(WebCore::ConsoleMessage::addToFrontend):

  • inspector/ConsoleMessage.h:

(ConsoleMessage):

  • inspector/InjectedScript.cpp:

(WebCore::InjectedScript::wrapObject):

  • inspector/InjectedScript.h:

(InjectedScript):

  • inspector/InjectedScriptSource.js:

(.):

  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::addConsoleMessage):

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
(WebInspector.ConsoleMessageImpl.prototype._printArray):
(WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
(WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):

  • inspector/front-end/DOMExtension.js:
  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection):

  • inspector/front-end/PropertiesSection.js:
  • inspector/front-end/RemoteObject.js:

(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPayload):

  • inspector/front-end/Section.js:
  • inspector/front-end/inspector.css:

(.console-group-messages .section .header .title):
(.section .properties .name, .event-properties .name):

LayoutTests:

  • inspector/console/command-line-api-inspect-expected.txt:
  • inspector/console/console-dir-expected.txt:
  • inspector/console/console-eval-global-expected.txt:
  • inspector/console/console-eval-global.html:
  • inspector/console/console-format-collections-expected.txt:
  • inspector/console/console-format-collections.html:
  • inspector/console/console-format-expected.txt:
  • inspector/console/console-format.html:
  • inspector/console/console-log-document-proto-expected.txt:
  • inspector/console/console-log-document-proto.html:
  • inspector/console/console-log-toString-object-expected.txt:
  • inspector/debugger/watch-expressions-panel-switch-expected.txt:
  • inspector/elements/event-listener-sidebar-expected.txt:
  • inspector/elements/event-listeners-about-blank-expected.txt:
  • platform/chromium/inspector/console/console-dir-expected.txt:
  • platform/chromium/inspector/console/console-eval-global-expected.txt: Copied from LayoutTests/inspector/console/console-eval-global-expected.txt.
  • platform/chromium/inspector/console/console-format-collections-expected.txt:
  • platform/chromium/inspector/console/console-format-expected.txt: Copied from LayoutTests/inspector/console/console-format-expected.txt.
  • platform/chromium/inspector/console/console-log-document-proto-expected.txt:
  • platform/chromium/inspector/debugger/watch-expressions-panel-switch-expected.txt:
  • platform/chromium/inspector/elements/event-listener-sidebar-expected.txt: Copied from LayoutTests/inspector/elements/event-listener-sidebar-expected.txt.
1:13 PM Changeset in webkit [125078] by danakj@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Enable occlusion tracker in the occlusion tests for surface cacheing
https://bugs.webkit.org/show_bug.cgi?id=93500

Reviewed by Adrienne Walker.

The occlusion tracker is not being used in these tests except to do
scissoring. We want to test occlusion with these occlusion tests,
and when scissoring is not part of occlusion tracker, these
tests would become useless otherwise.

  • tests/CCLayerTreeHostImplTest.cpp:
1:03 PM Changeset in webkit [125077] by abarth@webkit.org
  • 4 edits
    1 add in trunk/Source

Crash when reloading a Chromium "platform" app
https://bugs.webkit.org/show_bug.cgi?id=93497

Reviewed by Eric Seidel.

Source/WebCore:

The framework for Chromium "platform" apps executes a big blob of
script during the didCreateScriptContext callback. This blob of scripts
interacts with a bunch of JavaScript objects and triggers a number of
security checks.

When reloading a frame, the didCreateScriptContext is called during
Frame::setDocument (as a consequence of calling
ScriptController::updateDocument). At that time, the SecurityOrigin
object hasn't yet been copied over to the DOMWindow, and we crash
trying to grab it.

The long-term fix for this bug is to fix
https://bugs.webkit.org/show_bug.cgi?id=75793, at which point there
will no longer be a SecurityOrigin object on DOMWindow. In the
meantime, however, we can fix this crash by null checking the
DOMWindow's SecurityOrigin object.

  • bindings/generic/BindingSecurity.cpp:

(WebCore::canAccessDocument):

Source/WebKit/chromium:

Test that we don't crash when executing script during the
didCreateScriptContext callback.

  • tests/WebFrameTest.cpp:
  • tests/data/hello_world.html: Added.
12:59 PM WebInspector edited by dietass80@hotmail.com
(diff)
12:55 PM Changeset in webkit [125076] by commit-queue@webkit.org
  • 6 edits in trunk

[WK2] Coding style violation was brought with r125031
https://bugs.webkit.org/show_bug.cgi?id=93503

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

WKURLResponseCopyMimeType is corrected to WKURLResponseCopyMIMEType.

Source/WebKit2:

  • Shared/API/c/WKURLResponse.cpp:

(WKURLResponseCopyMIMEType):

  • Shared/API/c/WKURLResponse.h:

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::didReceiveResponseForResource):

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

(WTR::LayoutTestController::dumpProgressFinishedCallback): Removed trailing whitespace that was brought with the same revision.

12:39 PM Changeset in webkit [125075] by peter@chromium.org
  • 2 edits in trunk/Websites/planet.webkit.org

Remove several non-updated blogs from Planet WebKit
https://bugs.webkit.org/show_bug.cgi?id=92973

Reviewed by Eric Seidel.

Adam Treat's blog was last updated in 2009.
Justin Haygood's blog was last updated in 2008.
Mike Smith seems to have moved to Google+ entirely.
Pierre-Luc Beaudoin's blog is unavailable, cached copy says the last (non-WebKit specific update) was in 2010.
Cameron Zwarich' summer of JSC no longer exists.
Anthony Ricaud's blog was last updated in 2009.

  • config.ini:
12:33 PM Changeset in webkit [125074] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for Mac port after http://trac.webkit.org/changeset/125051

Add CachedImageClient.h to project.

  • WebCore.xcodeproj/project.pbxproj:
12:27 PM Changeset in webkit [125073] by Lucas Forschler
  • 4 edits in tags/Safari-536.26.4/Source

Versioning.

12:22 PM Changeset in webkit [125072] by Lucas Forschler
  • 1 copy in tags/Safari-536.26.4

New Tag.

12:21 PM Changeset in webkit [125071] by tonikitoo@webkit.org
  • 7 edits
    1 copy
    2 moves in trunk/Source/WebKit

[BlackBerry] Tie up the scrolling machinery to the graphics tree when applicable for in-region scroll
https://bugs.webkit.org/show_bug.cgi?id=93482
PR #187672
Make InRegionScroller a simple public webkit/ API
PR #188677

Reviewed by Rob Buis.
Patch by Antonio Gomes <agomes@rim.com>

In order to prepare InRegionScroller to be a public API
in webkit/, the patch:

1) Renamed the current InRegionScroller class to InRegionScrollerPrivate;
2) Moved InRegionScroller.cpp|h from WebKitSupport/ to Api/;
3) Renamed InRegionScroller.h to InRegionScroller_p.h;
4) Added a new public class implementation to InRegionScroller.h;
5) Adapted WebPage and TouchEventHandler classes to use InRegionScroller::d directly.

The most important API here is '::compositedSetScrollPosition'

It is a UI/Compositing thread method only and sets the associated LayerCompositingThread
(camouflaged as a unsigned) for each created InRegionScrollableArea that supports
composited scrolling.

The way ::compositedSetScrollPosition "scrolls" a layer is by setting the boundsOrigin
property to the LayerCompositingThread's 'override' property in the UI/Compositing thread.

  • PlatformBlackBerry.cmake: Build system adaptation.
  • Api/InRegionScroller.cpp: Renamed from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.cpp.

(WebKit):
(BlackBerry::WebKit::InRegionScroller::InRegionScroller):
(BlackBerry::WebKit::InRegionScroller::~InRegionScroller):
(BlackBerry::WebKit::InRegionScroller::compositedSetScrollPosition):
(BlackBerry::WebKit::InRegionScrollerPrivate::InRegionScrollerPrivate):
(BlackBerry::WebKit::InRegionScrollerPrivate::setNode):
(BlackBerry::WebKit::InRegionScrollerPrivate::node):
(BlackBerry::WebKit::InRegionScrollerPrivate::reset):
(BlackBerry::WebKit::InRegionScrollerPrivate::hasNode):
(BlackBerry::WebKit::InRegionScrollerPrivate::canScroll):
(BlackBerry::WebKit::InRegionScrollerPrivate::compositedSetScrollPosition):
(BlackBerry::WebKit::InRegionScrollerPrivate::scrollBy):
(BlackBerry::WebKit::InRegionScrollerPrivate::inRegionScrollableAreasForPoint):
(BlackBerry::WebKit::InRegionScrollerPrivate::scrollNodeRecursively):
(BlackBerry::WebKit::InRegionScrollerPrivate::scrollRenderer):
(BlackBerry::WebKit::InRegionScrollerPrivate::adjustScrollDelta):
(BlackBerry::WebKit::canScrollInnerFrame):
(BlackBerry::WebKit::canScrollRenderBox):
(BlackBerry::WebKit::parentLayer):
(BlackBerry::WebKit::enclosingLayerNode):
(BlackBerry::WebKit::isNonRenderViewFixedPositionedContainer):
(BlackBerry::WebKit::pushBackInRegionScrollable):

  • Api/InRegionScroller.h: Copied from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.h.

(WebKit):
(InRegionScroller):

  • Api/InRegionScroller_p.h: Renamed from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.h.

(WebCore):
(WebKit):
(InRegionScrollerPrivate):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::scrollBy):
(BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStatusChanged):
(BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
(BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
(BlackBerry::WebKit::WebPage::inRegionScroller):
(WebKit):

  • Api/WebPage.h:

(WebKit):

  • WebKitSupport/InRegionScrollableArea.cpp:

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

  • WebKitSupport/TouchEventHandler.cpp:

(BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):

12:20 PM Changeset in webkit [125070] by tonikitoo@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Make WebOverlayPrivate::scheduleCompositingRun a WebPagePrivate method.
https://bugs.webkit.org/show_bug.cgi?id=93480
PR #188682

Reviewed by Rob Buis.
Patch by Antonio Gomes <agomes@rim.com>

... this way it can be used by others.

No behavioural change. Another preparation patch.

  • Api/WebOverlay.cpp:

(BlackBerry::WebKit::WebOverlayPrivate::scheduleCompositingRun):

  • Api/WebPage.cpp:

(WebKit):
(BlackBerry::WebKit::WebPagePrivate::scheduleCompositingRun):

  • Api/WebPage_p.h:

(WebPagePrivate):

12:20 PM Changeset in webkit [125069] by tonikitoo@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Add boundsOrigin accessors to LayerOverride
https://bugs.webkit.org/show_bug.cgi?id=93479
PR #188677

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>

This is needed in order to allow us to directly set the boundsOrigin value
to the LayerCompositingThread and avoid it to get overridden by the respective
LayerWebKitThread's boundsOrigin value in the next commit.

No new tests, since this is another preparation PR.

  • platform/graphics/blackberry/LayerCompositingThread.cpp:

(WebCore::LayerCompositingThread::updateAnimations):

  • platform/graphics/blackberry/LayerCompositingThread.h:

(WebCore::LayerOverride::isBoundsOriginSet):
(WebCore::LayerOverride::boundsOrigin):
(WebCore::LayerOverride::setBoundsOrigin):
(LayerOverride):
(WebCore::LayerOverride::LayerOverride):

12:19 PM Changeset in webkit [125068] by tonikitoo@webkit.org
  • 7 edits in trunk/Source/WebCore

[BlackBerry] Propagate GraphicsLayer::boundsOrigin down to the platform layers
https://bugs.webkit.org/show_bug.cgi?id=93478
PR #188657

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>

This property will be set from both WebKit and Compositing/UI
threads in order to fast scroll block elements.

No new tests, as it is a mid-step patch.

  • platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:

(WebCore::GraphicsLayerBlackBerry::setBoundsOrigin):
(WebCore):
(WebCore::GraphicsLayerBlackBerry::updateBoundsOrigin):

  • platform/graphics/blackberry/GraphicsLayerBlackBerry.h:

(GraphicsLayerBlackBerry):

  • platform/graphics/blackberry/LayerCompositingThread.h:

(WebCore::LayerCompositingThread::setBoundsOrigin):

  • platform/graphics/blackberry/LayerData.h:

(WebCore::LayerData::boundsOrigin):
(LayerData):

  • platform/graphics/blackberry/LayerRenderer.cpp:

(WebCore::LayerRenderer::updateLayersRecursive):

  • platform/graphics/blackberry/LayerWebKitThread.h:

(WebCore::LayerWebKitThread::setBoundsOrigin):
(LayerWebKitThread):

12:14 PM Changeset in webkit [125067] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit/blackberry

Unreviewed, rolling out r124887.
http://trac.webkit.org/changeset/124887
https://bugs.webkit.org/show_bug.cgi?id=93504

Dependent API being removed. (Requested by mfenton on
#webkit).

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

  • Api/WebPageClient.h:
  • WebKitSupport/InputHandler.cpp:
  • WebKitSupport/InputHandler.h:

(InputHandler):

  • WebKitSupport/TouchEventHandler.cpp:

(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
(BlackBerry::WebKit::TouchEventHandler::spellCheck):
(WebKit):

  • WebKitSupport/TouchEventHandler.h:

(TouchEventHandler):

12:11 PM Changeset in webkit [125066] by peter@chromium.org
  • 3 edits in trunk/Tools

Buildmaster changes in preparation of a Chromium Android tester
https://bugs.webkit.org/show_bug.cgi?id=92251

Reviewed by Adam Barth.

Slightly update the build master's configuration in preparation of adding
a Chromium Android tester.

The change in built-product-archive is required as the out/ directory
for Android has a number of unstripped .so binaries and unaligned APKs,
causing the default release.zip file to be 2.7 gigabytes. By excluding
these file types, the file is only 59.7 megabytes. We can't disable
them for all of Chromium, as Mac and Linux do use their .so files.

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

(ArchiveBuiltProduct): Pass the full platform name instead of just the

generic type, i.e. chromium-android instead of chromium.

(ExtractBuiltProduct): Dito, stay consistent for this script.
(RunUnitTests): Pass --chromium-android as well as --chromium. Since we

now read the full platform name, stay on the safe side with 'win'
even though there (as far as I know) is no win-* platform.

(RunChromiumWebKitUnitTests): Dito. The platform wasn't being passed

at all, but we'll be needing different handling here.

(unitTestsSupported): Next to refactoring work required, as we'll be

running this test on a device, there is no reason to disable this
in the master's configuration.

  • BuildSlaveSupport/built-product-archive:

(main): Determine the generic platform.
(archiveBuiltProduct): Use an identical set of ignorePatterns, but

extend the list with .so, .pak and -unaligned.apk for Android.

12:09 PM Changeset in webkit [125065] by zoltan@webkit.org
  • 2 edits in trunk/PerformanceTests

Set access to MemoryInfo enabled for the performance tests
https://bugs.webkit.org/show_bug.cgi?id=92498

Reviewed by Ryosuke Niwa.

We need access to console.memory for the memory measurements.

  • resources/runner.js:
12:07 PM Changeset in webkit [125064] by fmalita@chromium.org
  • 5 edits
    3 deletes in trunk/LayoutTests

[chromium][win] Rebaseline css3/filters/custom tests
https://bugs.webkit.org/show_bug.cgi?id=93404

Unreviewed gardening: updating Chromium results after 125044.

  • platform/chromium-linux-x86/css3/filters/custom/effect-color-check-expected.png: Removed.
  • platform/chromium-linux/css3/filters/custom/effect-color-check-expected.png: Removed.
  • platform/chromium-win-xp/css3/filters/custom/effect-color-check-expected.png: Removed.
  • platform/chromium-win/css3/filters/custom/effect-color-check-expected.png:
  • platform/chromium-win/css3/filters/custom/effect-custom-combined-missing-expected.png:
  • platform/chromium-win/css3/filters/custom/effect-custom-parameters-expected.png:
  • platform/chromium/TestExpectations:
11:55 AM Changeset in webkit [125063] by dino@apple.com
  • 1 edit in trunk/Source/WebCore/platform/mac/ClipboardMac.h

Another unreviewed build fix after http://trac.webkit.org/changeset/125051

11:54 AM Changeset in webkit [125062] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding expectations for three tests that are flaky crashers:

  • editing/inserting/insert-character-in-first-letter-crash.html
  • fast/history/nested-visited-test.html
  • fast/css/first-letter-text-fragment-crash.html
  • platform/gtk/TestExpectations:
11:52 AM Changeset in webkit [125061] by Nate Chapin
  • 5 edits
    4 adds in trunk/Source

[chromium] Upstream android's FlingAnimator
https://bugs.webkit.org/show_bug.cgi?id=92900

Reviewed by James Robinson.

No new tests yet, will be added once this code is called.

Source/Platform:

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(WebKit::Platform::createFlingAnimator):

  • chromium/public/WebFlingAnimator.h: Added.

(WebKit):
(WebFlingAnimator):
(WebKit::WebFlingAnimator::~WebFlingAnimator):

Source/WebCore:

  • WebCore.gypi:
  • platform/chromium/support/PlatformGestureCurveFactory.cpp: Added.

(WebKit):
(WebKit::PlatformGestureCurveFactory::get):
(WebKit::PlatformGestureCurveFactory::createCurve):
(WebKit::PlatformGestureCurveFactory::setWebFlingAnimatorForTest):

  • platform/chromium/support/PlatformGestureCurveFactory.h: Added.

(WebKit):
(PlatformGestureCurveFactory):

  • platform/chromium/support/WebFlingAnimatorToGestureCurveAdapter.h: Added.

(WebKit):
(WebFlingAnimatorToGestureCurveAdapter):
(WebKit::WebFlingAnimatorToGestureCurveAdapter::create):
(WebKit::WebFlingAnimatorToGestureCurveAdapter::WebFlingAnimatorToGestureCurveAdapter):

11:50 AM Changeset in webkit [125060] by Lucas Forschler
  • 19 edits in branches/safari-536.26-branch/Source/WebCore

Merged r124720. <rdar://problem/12035601>

11:38 AM Changeset in webkit [125059] by annacc@chromium.org
  • 18 edits
    1 move
    3 adds
    1 delete in trunk

Update HTMLMediaElement to the new OO MediaSource API.
https://bugs.webkit.org/show_bug.cgi?id=91775

Reviewed by Eric Carlson.

This patch rips out the old-style MediaSource API and allows a
MediaSource object to be attached to HTMLMediaElement.
http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html

Source/WebCore:

Tests: updates to http/tests/media/media-source/*

http/tests/media/media-source/video-media-source-add-and-remove-buffers.html
http/tests/media/media-source/video-media-source-objects.html

  • html/HTMLMediaElement.cpp:

(WebCore):
(WebCore::HTMLMediaElement::HTMLMediaElement): Remove old style API resources.
(WebCore::HTMLMediaElement::parseAttribute): Remove old style event attribute.
(WebCore::HTMLMediaElement::prepareForLoad): Set source state to "closed".
(WebCore::HTMLMediaElement::loadResource): Get MediaSource object from blob registry

look up and, if found, set it's MediaPlayer pointer to the current MediaPlayer.

(WebCore::HTMLMediaElement::noneSupported): Set source state to "closed".
(WebCore::HTMLMediaElement::mediaEngineError): Set source state to "closed".
(WebCore::HTMLMediaElement::mediaPlayerSourceOpened): Set source state to "open".
(WebCore::HTMLMediaElement::mediaPlayerSourceURL): Change to new blob URL.
(WebCore::HTMLMediaElement::seek): Check if source state is "closed".
(WebCore::HTMLMediaElement::setSourceState): Helper function so that we don't have to

keep checking for m_mediaSource.

(WebCore::HTMLMediaElement::userCancelledLoad): Set source state to "closed".
(WebCore::HTMLMediaElement::createMediaPlayer): If the current MediaPlayer is re-

created, notify the MediaSource and reset its MediaPlayer.

  • html/HTMLMediaElement.h: Remove old style API code and add a MediaSource object.

(HTMLMediaElement):

  • html/HTMLMediaElement.idl: Remove old style API.

LayoutTests:

  • http/tests/media/media-source/media-source.js:

(MediaSourceTest.SegmentHelper):
(MediaSourceTest.SegmentHelper.prototype.addSourceBuffer):
(MediaSourceTest.SegmentHelper.prototype.appendInitSegment):
(MediaSourceTest.SegmentHelper.prototype.appendMediaSegment):
(MediaSourceTest.SegmentHelper.prototype.appendUntilEndOfStream):
(MediaSourceTest.setSrcToMediaSourceTestURL):
(MediaSourceTest.defaultOnErrorChecks):
(MediaSourceTest.runOnSourceOpen.eventHandlerFunction):
(MediaSourceTest.runOnSourceOpen):
(MediaSourceTest.logSourceState):
(MediaSourceTest.expectSourceState):

  • http/tests/media/media-source/video-media-source-abort-expected.txt:
  • http/tests/media/media-source/video-media-source-abort.html:
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/video-media-source-add-and-remove-ids-expected.txt.
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers.html: Added.
  • http/tests/media/media-source/video-media-source-add-and-remove-ids.html: Removed.
  • http/tests/media/media-source/video-media-source-errors-expected.txt:
  • http/tests/media/media-source/video-media-source-errors.html:
  • http/tests/media/media-source/video-media-source-event-attributes-expected.txt:
  • http/tests/media/media-source/video-media-source-event-attributes.html:
  • http/tests/media/media-source/video-media-source-objects-expected.txt: Added.
  • http/tests/media/media-source/video-media-source-objects.html: Added.
  • http/tests/media/media-source/video-media-source-play-expected.txt:
  • http/tests/media/media-source/video-media-source-play.html:
  • http/tests/media/media-source/video-media-source-seek-expected.txt:
  • http/tests/media/media-source/video-media-source-seek.html:
  • http/tests/media/media-source/video-media-source-state-changes-expected.txt:
  • http/tests/media/media-source/video-media-source-state-changes.html:
11:38 AM Changeset in webkit [125058] by abarth@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Stop running tests on the mac-ews while we wait for more
hardware. As requested by lforschler.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:
11:36 AM Changeset in webkit [125057] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for Mac port after http://trac.webkit.org/changeset/125051

  • platform/mac/ClipboardMac.mm:
11:34 AM Changeset in webkit [125056] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Evolution, empathy no longer build with webkint 1.9.6: webkit_dom_html_element_set_class_name is gone
https://bugs.webkit.org/show_bug.cgi?id=93384

Patch by Xan Lopez <xlopez@igalia.com> on 2012-08-08
Reviewed by Adam Barth.

Provide custom backwards compatibility wrappers for HTMLElement
className accessors, since the attribute was moved to Element. The
previous fix attempted to define the attribute twice (once in each
class), but this is wrong, just provide again the old accessors
making them forward to the new methods.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_html_element_get_class_name): provide again
get_class_name for backwards compatibility.
(webkit_dom_html_element_set_class_name): provide again
set_class_name for backwards compatibility.

  • bindings/gobject/WebKitDOMCustom.h: ditto.
  • html/HTMLElement.idl: remove the className attribute

definition. Since it's already present in Element this will break
our bindings.

11:29 AM Changeset in webkit [125055] by ojan@chromium.org
  • 6 edits
    6 adds in trunk

percentage height/width values in quirks mode are incorrectly resolved in flexbox children
https://bugs.webkit.org/show_bug.cgi?id=81809

Reviewed by Tony Chang.

Source/WebCore:

When computing percentage logical heights we need to use the RenderBox helper methods
to make sure we handle all the edge cases correctly (e.g. walk up the containing block
ancestor chain in quirks mode until we find a definite size).

For widths, the containing block always has a definite size, so all we need to do
is call computeContentBoxLogicalWidth(valueForLength(...)), although I'm not sure
this does the right thing for the intrinsic sizing keywords.

Tests: css3/flexbox/box-sizing-min-max-sizes.html

css3/flexbox/percentage-sizes-quirks.html
css3/flexbox/percentage-sizes.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalClientHeight):
(WebCore):

  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeMainAxisSizeForChild):
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):

  • rendering/RenderFlexibleBox.h:

LayoutTests:

  • css3/flexbox/box-sizing-min-max-sizes-expected.txt: Added.
  • css3/flexbox/box-sizing-min-max-sizes.html: Added.
  • css3/flexbox/percentage-sizes-expected.txt: Added.
  • css3/flexbox/percentage-sizes-quirks-expected.txt: Added.
  • css3/flexbox/percentage-sizes-quirks.html: Added.
  • css3/flexbox/percentage-sizes.html: Added.
11:18 AM Changeset in webkit [125054] by scherkus@chromium.org
  • 4 edits
    2 adds in trunk

Fire suspend event whenever network state is set to NETWORK_IDLE.
https://bugs.webkit.org/show_bug.cgi?id=93052

Reviewed by Eric Carlson.

There was a regression in the Chromium port (http://crbug.com/139511) that revealed we didn't
have a layout test for suspend events. Upon further investigation it appeared we also had a bug
where we didn't fire the suspend event when a media engine reported they had completely loaded
the media.

Covered by new test http/tests/media/video-load-suspend.html.

Source/WebCore:

  • html/HTMLMediaElement.cpp: Move firing of suspend event to changeNetworkStateFromLoadingToIdle

(WebCore::HTMLMediaElement::setNetworkState):
(WebCore::HTMLMediaElement::changeNetworkStateFromLoadingToIdle):

LayoutTests:

  • http/tests/media/video-load-suspend-expected.txt: Added.
  • http/tests/media/video-load-suspend.html: Added.
  • media/event-attributes-expected.txt: Updated to include suspend event.
11:12 AM Changeset in webkit [125053] by Lucas Forschler
  • 29 edits
    6 copies in branches/safari-536.26-branch

Merged r116291. <rdar://problem/12035601>

10:57 AM Changeset in webkit [125052] by tsepez@chromium.org
  • 4 edits
    2 adds in trunk

Video element image loader must persist after element detach.
https://bugs.webkit.org/show_bug.cgi?id=90801

Reviewed by Eric Carlson.

We rely on the OwnPtr in the element to cleanup the loader.

Source/WebCore:

Test: fast/dom/beforeload/remove-video-poster-in-beforeload-listener.html

  • html/HTMLVideoElement.cpp:

(WebCore):

  • html/HTMLVideoElement.h:

(HTMLVideoElement):

LayoutTests:

  • fast/dom/beforeload/remove-video-poster-in-beforeload-listener-expected.txt: Added.
  • fast/dom/beforeload/remove-video-poster-in-beforeload-listener.html: Added.
10:54 AM Changeset in webkit [125051] by commit-queue@webkit.org
  • 16 edits
    1 add in trunk/Source/WebCore

Improve RenderObject.h compile time - split CachedImage and CachedImageClient
https://bugs.webkit.org/show_bug.cgi?id=93400

Patch by Nikhil Bhargava <nbhargava@google.com> on 2012-08-08
Reviewed by Eric Seidel.

Splits loader/cache/CachedImage.h into two files. The remaining changes are to repair existing #includes

No new tests. No changes to existing functions/functionality.

  • css/CSSCrossfadeValue.h:
  • loader/ImageLoader.h:
  • loader/cache/CachedImage.cpp:
  • loader/cache/CachedImage.h:

(WebCore):

  • loader/cache/CachedImageClient.h: Added.

(WebCore):
(CachedImageClient):
(WebCore::CachedImageClient::~CachedImageClient):
(WebCore::CachedImageClient::expectedType):
(WebCore::CachedImageClient::resourceClientType):
(WebCore::CachedImageClient::imageChanged):
(WebCore::CachedImageClient::willRenderImage):

  • platform/chromium/ClipboardChromium.h:
  • rendering/RenderObject.h:

(WebCore):

  • rendering/style/StyleCachedImage.cpp:
  • rendering/style/StyleCachedImage.h:

(WebCore):

  • rendering/style/StyleCachedImageSet.h:
  • svg/graphics/SVGImage.cpp:
10:46 AM Changeset in webkit [125050] by mitz@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r123171): <svg> element with intrinsic size and max-width gets sized incorrectly
https://bugs.webkit.org/show_bug.cgi?id=93388

Reviewed by Beth Dakin.

Source/WebCore:

Test: svg/css/max-width-3.html

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox): Added code to set
m_intrinsicSize in the no-contentRenderer branch of this function so that the calls to
RenderBox::computeReplacedLogical{Height,Width} in the end use the right intrinsic size.
This is similar to what the contentRenderer branch of this function already does.

LayoutTests:

  • svg/css/max-width-3-expected.html: Added.
  • svg/css/max-width-3.html: Added.
10:38 AM Changeset in webkit [125049] by peter@chromium.org
  • 6 edits in trunk/Tools

The cr-android EWS should actually be building Chromium for Android
https://bugs.webkit.org/show_bug.cgi?id=93489

Reviewed by Adam Barth.

The cr-android EWS bots should be building Chromium for Android, which
requires some additional flags to Chromium's default configuration.

  • Scripts/webkitdirs.pm:

(buildChromium):

  • Scripts/webkitpy/common/config/ports.py:

(DeprecatedPort.port):
(ChromiumAndroidPort):
(ChromiumAndroidPort.update_webkit_command):
(ChromiumAndroidPort.build_webkit_command):

  • Scripts/webkitpy/common/config/ports_unittest.py:

(DeprecatedPortTest.test_chromium_android_port):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(ChromiumAndroidEWS):

  • Scripts/webkitpy/tool/steps/update_unittest.py:

(UpdateTest.test_update_command_non_interactive):
(UpdateTest.test_update_command_interactive):

10:31 AM Changeset in webkit [125048] by keishi@webkit.org
  • 12 edits
    1 add
    1 delete in trunk

Make slider tick mark snapping threshold configurable for each platform
https://bugs.webkit.org/show_bug.cgi?id=93429

Reviewed by Kent Tamura.

Source/WebCore:

This makes the slider tick mark snapping threshold configurable for each platform.
And we increase the threshold for the Chromium port.

No new tests. Covered by range-snap-to-datalist.html.

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::sliderTickSnappingThreshold):
(WebCore):

  • rendering/RenderTheme.h:

(RenderTheme):
(WebCore::RenderTheme::sliderTickSnappingThreshold): Returns the threshold distance to the tick mark for snapping to occur.

  • rendering/RenderThemeChromiumCommon.cpp:

(WebCore::RenderThemeChromiumCommon::sliderTickSnappingThreshold):
(WebCore):

  • rendering/RenderThemeChromiumCommon.h:

(RenderThemeChromiumCommon):

  • rendering/RenderThemeChromiumMac.h:
  • rendering/RenderThemeChromiumMac.mm:

(WebCore):
(WebCore::RenderThemeChromiumMac::sliderTickSnappingThreshold):

  • rendering/RenderThemeChromiumSkia.cpp:

(WebCore):
(WebCore::RenderThemeChromiumSkia::sliderTickSnappingThreshold):

  • rendering/RenderThemeChromiumSkia.h:

LayoutTests:

  • fast/forms/datalist/range-snap-to-datalist-expected.txt: Removed.
  • fast/forms/datalist/range-snap-to-datalist.html: Changed so we can use this test for different snapping thresholds.
  • platform/chromium/fast/forms/datalist/range-snap-to-datalist-expected.txt: Added.
10:24 AM Changeset in webkit [125047] by commit-queue@webkit.org
  • 17 edits in trunk

Until CSP fully supports paths, we should log a warning if we encounter a source with a path.
https://bugs.webkit.org/show_bug.cgi?id=93468

Patch by Mike West <mkwst@chromium.org> on 2012-08-08
Reviewed by Adam Barth.

Source/WebCore:

CSP 1.0 ignores path components of sources in directives' source lists.
'script-src http://example.com/path/to/directory' is treated exactly the
same as 'script-src http://example.com'. It's likely that this behavior
will change in CSP 1.1, which could break with developers' expectations.
This patch adds a warning when a path is encountered, alerting
developers to the fact that their current source is interpreted
differently than they might expect.

See http://crbug.com/128493 for additional context and discussion.

Tests for this change are covered by updating the existing Content
Security Policy tests to include the new console warnings.

  • page/ContentSecurityPolicy.cpp:

(CSPSourceList):
(WebCore::CSPSourceList::CSPSourceList):

Passing the directive name down into CSPSourceList so that we can
generate informative error messages.

(WebCore::CSPSourceList::parse):

Create a 'path' string, pass it into 'parseSource', and use it after
parsing each source to determine whether a warning should be sent.

(WebCore::CSPSourceList::parseSource):

Adding a 'path' argument so that we can see whether or not a
specific source should generate a warning.

(WebCore::CSPDirective::CSPDirective):

Passing the directive name down into CSPSourceList so that we can
generate informative error messages.

(WebCore::ContentSecurityPolicy::reportIgnoredPathComponent):

Generate the new warning message.

(WebCore):

  • page/ContentSecurityPolicy.h:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowconnectionto.html:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowfontfrom.html:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowframefrom.html:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowimagefrom.html:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowmediafrom.html:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowobjectfrom.html:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowscriptfrom.html:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowstylefrom.html:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicy-reporturi.html:

All of the SecurityPolicy API tests with source lists contained
sources with a trailing /. I've fixed that oversight.

  • http/tests/security/contentSecurityPolicy/source-list-parsing-05-expected.txt:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-05.html:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-06-expected.txt:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-06.html:

Updating the text of the test, and updating them to include the new
console warnings.

10:22 AM Changeset in webkit [125046] by pfeldman@chromium.org
  • 33 edits
    3 deletes in trunk

Web Inspector: generate preview for the objects dumped into the console upon logging.
https://bugs.webkit.org/show_bug.cgi?id=35801

Reviewed by Vsevolod Vlasov.

Source/WebCore:

As of today, dumping an object (array) into console will result in objects' properties being
read upon console object expansion (i.e. lazily). This means that dumping the same object while
mutating it will be hard to debug using the console.

This change starts generating abbreviated previews for objects / arrays at the moment of their
logging and passes this information along into the front-end. This only happens when the front-end
is already opened, it only works for console.log(), not live console interaction.

Covered by the existing console tests + collections test has been expanded to capture both: pre and post-
front-end opening scenarios.

  • inspector/ConsoleMessage.cpp:

(WebCore::ConsoleMessage::addToFrontend):

  • inspector/ConsoleMessage.h:

(ConsoleMessage):

  • inspector/InjectedScript.cpp:

(WebCore::InjectedScript::wrapObject):

  • inspector/InjectedScript.h:

(InjectedScript):

  • inspector/InjectedScriptSource.js:

(.):

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

(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::addConsoleMessage):

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArrayOrObject):
(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
(WebInspector.ConsoleMessageImpl.prototype._printArray):
(WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
(WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):

  • inspector/front-end/DOMExtension.js:

(Element.prototype.createTextChild):

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection):

  • inspector/front-end/PropertiesSection.js:
  • inspector/front-end/RemoteObject.js:

(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.prototype.get previewProperties):

  • inspector/front-end/Section.js:
  • inspector/front-end/inspector.css:

(.console-group-messages .section .header .title):
(.section .console-formatted-node):
(.console-object-preview):
(.section .properties .name, .event-properties .name, .console-formatted-object .name):

LayoutTests:

  • inspector/console/command-line-api-inspect-expected.txt:
  • inspector/console/console-dir-expected.txt:
  • inspector/console/console-eval-global-expected.txt:
  • inspector/console/console-eval-global.html:
  • inspector/console/console-format-collections-expected.txt:
  • inspector/console/console-format-collections.html:
  • inspector/console/console-format-expected.txt:
  • inspector/console/console-format.html:
  • inspector/console/console-log-document-proto-expected.txt:
  • inspector/console/console-log-document-proto.html:
  • inspector/console/console-log-toString-object-expected.txt:
  • inspector/debugger/watch-expressions-panel-switch-expected.txt:
  • inspector/elements/event-listener-sidebar-expected.txt:
  • inspector/elements/event-listeners-about-blank-expected.txt:
  • platform/chromium/inspector/console/console-dir-expected.txt:
  • platform/chromium/inspector/console/console-eval-global-expected.txt: Removed.
  • platform/chromium/inspector/console/console-format-collections-expected.txt:
  • platform/chromium/inspector/console/console-format-expected.txt: Removed.
  • platform/chromium/inspector/console/console-log-document-proto-expected.txt:
  • platform/chromium/inspector/debugger/watch-expressions-panel-switch-expected.txt:
  • platform/chromium/inspector/elements/event-listener-sidebar-expected.txt: Removed.
10:18 AM Changeset in webkit [125045] by Philippe Normand
  • 5 edits in trunk

[GStreamer] media/media-continues-playing-after-replace-source.html fails
https://bugs.webkit.org/show_bug.cgi?id=86310

Reviewed by Eric Carlson.

Source/WebCore:

Reset the player's network and ready states, this allows the media
player client to potentially emit a timeupdate event while the new
location is being loaded. States are synchronized again after the
pipeline pre-rolled.

No new tests but fixes
media/media-continues-playing-after-replace-source.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::load):

LayoutTests:

Unflag now passing media test on GTK and EFL.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
10:13 AM Changeset in webkit [125044] by Alexandru Chiculita
  • 19 edits in trunk

[Chromium] Skia assert triggered by custom filter unmultiplied results
https://bugs.webkit.org/show_bug.cgi?id=92758

Reviewed by Dean Jackson.

Source/WebCore:

The FECustomFilter (which renders the CSS Shaders) used premultiplied colors for both input and ouput.
The problem with that is that some shaders do not pre-multiply the values and the reality is that
we cannot trust the shader to do that. The easy way would be to use only unpremultiplied colors and do the
computation in C++ code. This will be changed when the mix blending is implemented to do that in the shader itself.

No new tests, just updated existing tests to take unpremultiplied colors instead.

  • platform/graphics/filters/FECustomFilter.cpp:

(WebCore::FECustomFilter::platformApplySoftware):

LayoutTests:

Updated the shaders to output un-premultiplied colors. Also, updated the output results where needed.

  • css3/filters/custom/custom-filter-shader-cache-expected.png:
  • css3/filters/custom/effect-color-check-expected.png:
  • css3/filters/custom/effect-custom-combined-missing-expected.png:
  • css3/filters/custom/effect-custom-expected.png:
  • css3/filters/custom/effect-custom-parameters-expected.png:
  • css3/filters/custom/filter-repaint-custom-expected.png:
  • css3/filters/custom/missing-custom-filter-shader-expected.png:
  • css3/filters/resources/color-add.fs:
  • css3/filters/resources/color-fill.fs:
  • platform/chromium/TestExpectations: Disabled the following tests on Windows. They need a rebaseline.
  • platform/chromium-linux/css3/filters/custom/effect-color-check-expected.png:
  • platform/chromium-linux/css3/filters/custom/effect-custom-combined-missing-expected.png:
  • platform/chromium-linux/css3/filters/custom/effect-custom-parameters-expected.png:
  • platform/chromium-mac/css3/filters/custom/effect-color-check-expected.png:
  • platform/chromium-mac/css3/filters/custom/effect-custom-combined-missing-expected.png:
  • platform/chromium-mac/css3/filters/custom/effect-custom-parameters-expected.png:
10:07 AM Changeset in webkit [125043] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Unreviewed, build fix after r125041.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(StreamingClient::didReceiveResponse): Fix arguments order of the
notifyGstTagsOnPad() call.

10:00 AM Changeset in webkit [125042] by commit-queue@webkit.org
  • 27 edits
    18 deletes in trunk/Source/WebCore

Remove All Custom binding code for TypedArray.
https://bugs.webkit.org/show_bug.cgi?id=93371

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

Removing Custom bindings completely with help of [TypedArray] attribute.

Tests: TestTypedArray.idl
There should not be any behavioral change and all tests should pass.

  • GNUmakefile.list.am: Removed Custom files.
  • Target.pri: Ditto.
  • UseJSC.cmake: Ditto.
  • UseV8.cmake: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSBindingsAllInOne.cpp: Ditto.
  • bindings/js/JSFloat32ArrayCustom.cpp: Removed.
  • bindings/js/JSFloat64ArrayCustom.cpp: Removed.
  • bindings/js/JSInt16ArrayCustom.cpp: Removed.
  • bindings/js/JSInt32ArrayCustom.cpp: Removed.
  • bindings/js/JSInt8ArrayCustom.cpp: Removed.
  • bindings/js/JSUint16ArrayCustom.cpp: Removed.
  • bindings/js/JSUint32ArrayCustom.cpp: Removed.
  • bindings/js/JSUint8ArrayCustom.cpp: Removed.
  • bindings/js/JSUint8ClampedArrayCustom.cpp: Removed.
  • bindings/scripts/CodeGeneratorCPP.pm:

(GenerateHeader): Skip implementaion for TypedArray.
(GenerateImplementation): Skip implementaion for TypedArray.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunction): Skip implementaion for TypedArray.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation): Generates binding for set() call.
(GenerateConstructorDefinition): ConstructorTemplate implementation for TypedArray.

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader): Skip implementaion for TypedArray.
(GenerateImplementation): Skip implementaion for TypedArray.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateFunctionCallback): Generates binding for setCallback().
(GenerateTypedArrayConstructorCallback): Generates binding for constructorCallback().
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt: Support ConstructorTemplate for TypedArray as well.
  • bindings/scripts/test/JS/JSFloat64Array.cpp: Binding tests results.

(WebCore::toJS):
(WebCore::JSFloat64Array::indexSetter):
(WebCore::JSFloat64ArrayConstructor::getConstructData):
(WebCore::jsFloat64ArrayPrototypeFunctionFoo):
(WebCore::jsFloat64ArrayPrototypeFunctionSet):

  • bindings/scripts/test/JS/JSFloat64Array.h: Binding tests results.
  • bindings/scripts/test/TestTypedArray.idl: Binding tests.
  • bindings/scripts/test/V8/V8Float64Array.cpp: Binding tests results.

(WebCore::Float64ArrayV8Internal::setCallback):
(Float64ArrayV8Internal):
(WebCore):
(WebCore::V8Float64Array::constructorCallback):
(WebCore::ConfigureV8Float64ArrayTemplate):

  • bindings/v8/custom/V8Float32ArrayCustom.cpp: Removed.
  • bindings/v8/custom/V8Float64ArrayCustom.cpp: Removed.
  • bindings/v8/custom/V8Int16ArrayCustom.cpp: Removed.
  • bindings/v8/custom/V8Int32ArrayCustom.cpp: Removed.
  • bindings/v8/custom/V8Int8ArrayCustom.cpp: Removed.
  • bindings/v8/custom/V8Uint16ArrayCustom.cpp: Removed.
  • bindings/v8/custom/V8Uint32ArrayCustom.cpp: Removed.
  • bindings/v8/custom/V8Uint8ArrayCustom.cpp: Removed.
  • bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: Removed.
  • html/canvas/Float32Array.idl: Using [ConstructorTemplate = TypedArray] instead of custom implementaion.
  • html/canvas/Float64Array.idl: Ditto.
  • html/canvas/Int16Array.idl: Ditto.
  • html/canvas/Int32Array.idl: Ditto.
  • html/canvas/Int8Array.idl: Ditto.
  • html/canvas/Uint16Array.idl: Ditto.
  • html/canvas/Uint32Array.idl: Ditto.
  • html/canvas/Uint8Array.idl: Ditto.
  • html/canvas/Uint8ClampedArray.idl: Ditto.
9:52 AM Changeset in webkit [125041] by Philippe Normand
  • 7 edits in trunk

[GStreamer] 0.11 build broken (again)
https://bugs.webkit.org/show_bug.cgi?id=93474

Reviewed by Martin Robinson.

.:

  • configure.ac: Disable media-stream build if GStreamer 0.11

support is enabled, due to farstream-0.1 still messing up with
gstreamer-0.10 include path.

Source/WebCore:

Adapt the GStreamer media player backend to the latest GStreamer
0.11 API changes.

  • platform/graphics/gstreamer/GRefPtrGStreamer.cpp:

(WTF::adoptGRef):

  • platform/graphics/gstreamer/GStreamerVersioning.cpp:

(gstObjectIsFloating):

  • platform/graphics/gstreamer/GStreamerVersioning.h:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(StreamingClient::didReceiveResponse):

9:32 AM Changeset in webkit [125040] by ap@apple.com
  • 3 edits in trunk/Tools

[WK2] MiniBrowser crashes on window.open()
https://bugs.webkit.org/show_bug.cgi?id=93413

Reviewed by Dan Bernstein.

  • MiniBrowser/mac/BrowserWindowController.m: (createNewPage): This is a "create" API, so it needs to return a retained result.
  • MiniBrowser/mac/WebBundle/WebBundleMain.m: (didClearWindowObjectForFrame): When this function is called, URL appears to be poorly defined. Sometimes, it's the new URL, other times it's the old one. An "old" URL is null in a new page.
8:42 AM Changeset in webkit [125039] by commit-queue@webkit.org
  • 4 edits in trunk

[Qt] Compile errors with OpenGLES2
https://bugs.webkit.org/show_bug.cgi?id=93206

Patch by Loïc Yhuel <loic.yhuel@softathome.com> on 2012-08-08
Reviewed by Noam Rosenthal.

Fix build with OpenGLES2 on Linux desktop

Source/WebCore:

  • platform/graphics/OpenGLESShims.h: removed unused define conflicting with gl2ext.h from ANGLE

Tools:

  • qmake/mkspecs/features/features.prf: Don't use GLX with OpenGLES2
8:18 AM Changeset in webkit [125038] by peter@chromium.org
  • 4 edits in trunk/Tools

Introduce cr-android bots in the EWS system
https://bugs.webkit.org/show_bug.cgi?id=93472

Reviewed by Adam Barth.

This adds the queue to the EWS scripts. Two builders are ready to be
attached to the queue. All webkitpy tests pass with this change applied.

  • QueueStatusServer/model/queues.py:

(Queue):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(ChromiumAndroidEWS):

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

(EarlyWarningSytemTest.test_builder_ewses):

8:10 AM Changeset in webkit [125037] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK+ build with GTK2 after r121475.

  • TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp: Add missing

include required when building with GTK2.

7:42 AM BuildBot edited by jocelyn.turcotte@nokia.com
Remove spam (diff)
7:41 AM Changeset in webkit [125036] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Add relayout after updating fixed reported size
https://bugs.webkit.org/show_bug.cgi?id=93116
PR #160059

Patch by Ed Baker <edbaker@rim.com> on 2012-08-08
Reviewed by Antonio Gomes.

Reviewed internally by Antonio Gomes.

On an orientation change and after fixed reported size is
updated perform a layout and update the fixed elements after
scrolling. This will recalculate the height and width of
fixed position elements using percentage values with the
new fixed reported size. Otherwise using the old fixed reported
size in the new orientation overflowing or clipping could occur.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

7:40 AM Changeset in webkit [125035] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk/Source/WebKit2

[EFL] EFL Webkit needs a class wrapping eina stringshare
https://bugs.webkit.org/show_bug.cgi?id=93229

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-08
Reviewed by Kenneth Rohde Christiansen.

Added a new auxiliary class wrapping Eina Stringshare and providing
more convenient C++ interface for using it.

  • PlatformEfl.cmake:
  • UIProcess/API/cpp/efl/WKEinaSharedString.cpp: Added.

(:m_string):
(WKEinaSharedString::~WKEinaSharedString):
(WKEinaSharedString::operator=):

  • UIProcess/API/cpp/efl/WKEinaSharedString.h: Added.

(WebKit):

7:09 AM Changeset in webkit [125034] by kbalazs@webkit.org
  • 6 edits in trunk/Source/WebKit2

[Qt] Snowshoe desktop crashes when opening a new tab
https://bugs.webkit.org/show_bug.cgi?id=92753

Reviewed by Jocelyn Turcotte.

Change back forceRepaint to consider the UI process state.
It has been tweaked to satisfy the needs of WKPageForceRepaint but
it has other callers so this new behavior was not safe. This patch
implements WebPage::forceRepaintAsync for testing purposes. It is
done by LayerTreeCoordinator that holds the callback and sends the
reply message in the next flushPendingLayerChanges. In theory it
could be implemented for the non conposited path in DrawingAreaImpl
as well but neither it is needed nor can I test it.

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::forceRepaintAsync):
(WebKit):
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::forceRepaintAsync):
(WebKit):

  • WebProcess/WebPage/DrawingAreaImpl.h:

(DrawingAreaImpl):

  • WebProcess/WebPage/LayerTreeHost.h:

(WebKit::LayerTreeHost::forceRepaintAsync):

6:21 AM Changeset in webkit [125033] by pfeldman@chromium.org
  • 3 edits
    2 adds in trunk

Web Inspector: store last evaluation result in $_
https://bugs.webkit.org/show_bug.cgi?id=93377

Reviewed by Vsevolod Vlasov.

Source/WebCore:

All "console" evaluations end up in that variable on command line API.

Test: inspector/console/console-last-result.html

  • inspector/InjectedScriptSource.js:

(.):

LayoutTests:

  • inspector/console/console-last-result-expected.txt: Added.
  • inspector/console/console-last-result.html: Added.
6:19 AM Changeset in webkit [125032] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[Qt] Port internal findMethodIndex method matcher to use JSC C API
https://bugs.webkit.org/show_bug.cgi?id=93463

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-08-08
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Based on patch by No'am Rosenthal.

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::setException):
(Bindings):
(JSC::Bindings::findMethodIndex): Fixed also coding style while at it.
(JSC::Bindings::QtRuntimeMetaMethod::call): Use new findMethodIndex. The
created JSValueRefs should not need GC protection because we only support
up to 10 method arguments and thus they will live on the stack storage
of the vector.

  • bridge/qt/qt_runtime.h:

(Bindings):

Source/WebKit/qt:

Adjust the expectations of the unit test for some of the exceptions the
method throws when signals/slots cannot be found/matched. The C API doesn't allow
us to create syntax (type) errors, only generic error exceptions.

  • tests/qobjectbridge/tst_qobjectbridge.cpp:

(tst_QObjectBridge::callQtInvokable):

6:18 AM Changeset in webkit [125031] by commit-queue@webkit.org
  • 11 edits in trunk

[WK2] [WTR] Provide Resource Response dumping.
https://bugs.webkit.org/show_bug.cgi?id=93454

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-08
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Several new getter functions were added to WKURLResponse and WKURL, so that WTR has
necessary data for dumping.

  • Shared/API/c/WKURL.cpp:

(WKURLCopyLastPathComponent):

  • Shared/API/c/WKURL.h:
  • Shared/API/c/WKURLResponse.cpp:

(WKURLResponseCopyURL): Returns URL of the response.
(WKURLResponseCopyMimeType): Returns MIME type of the response.

  • Shared/API/c/WKURLResponse.h:
  • Shared/WebURL.h:

(WebKit::WebURL::lastPathComponent): Returns last path component of the URL.
(WebURL):

Tools:

Added missing dumpResourceResponseMIMETypes() method to testRunner. Provided resource response dumping.

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::didReceiveResponseForResource):

  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

(WTR::LayoutTestController::LayoutTestController):

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

(WTR::LayoutTestController::dumpProgressFinishedCallback):
(WTR::LayoutTestController::dumpResourceResponseMIMETypes):
(WTR::LayoutTestController::shouldDumpResourceResponseMIMETypes):
(LayoutTestController):

6:15 AM Changeset in webkit [125030] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Make ewk_view inheritable in the WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=90054

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2012-08-08
Reviewed by Kenneth Rohde Christiansen.

Make the ewk_view inheritable by exposing ewk_view_smart_class_set()
API. Additionally, the ewk_view_smart_add() API is added to create
Evas_Object for WebKit2 EFL. The default initialization is done in the
ewk_view_smart_add(), so the object which inherits the ewk_view should
use ewk_view_smart_add() instead of evas_object_smart_add() to create
Evas_Object.

  • UIProcess/API/efl/ewk_context.cpp:

(ewk_context_new_from_WKContext):

  • UIProcess/API/efl/ewk_context_private.h:
  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_smart_class_set):
(_ewk_view_smart_class_new):
(_ewk_view_initialize):
(_ewk_view_add_with_smart):
(ewk_view_base_add):
(ewk_view_smart_add):
(ewk_view_add_with_context):

  • UIProcess/API/efl/ewk_view.h:
6:13 AM Changeset in webkit [125029] by Simon Hausmann
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Add unit test for QObject bindings for scriptable plugins
https://bugs.webkit.org/show_bug.cgi?id=93462

Reviewed by Kenneth Rohde Christiansen.

The bindings code is subject to refactoring in the future, so added a unit test to verify that
accessing an embedded QWidget from JavaScript goes through the QObject bindings.

  • tests/qobjectbridge/tst_qobjectbridge.cpp:

(tst_QObjectBridge):
(TestPluginWidget):
(TestPluginWidget::TestPluginWidget):
(TestPluginWidget::slotWithReturnValue):
(TestWebPage):
(TestWebPage::TestWebPage):
(TestWebPage::createPlugin):
(tst_QObjectBridge::scriptablePlugin):

6:11 AM Changeset in webkit [125028] by apavlov@chromium.org
  • 7 edits in trunk/Source/WebCore

Web Inspector: move setTouchEventEmulationEnabled from DOMAgent to PageAgent
https://bugs.webkit.org/show_bug.cgi?id=93437

Reviewed by Pavel Feldman.

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

(WebCore::InspectorDOMAgent::clearFrontend):
(WebCore::InspectorDOMAgent::restore):

  • inspector/InspectorDOMAgent.h:

(InspectorDOMAgent):

  • inspector/InspectorPageAgent.cpp:

(PageAgentState):
(WebCore::InspectorPageAgent::clearFrontend):
(WebCore::InspectorPageAgent::restore):
(WebCore):
(WebCore::InspectorPageAgent::updateTouchEventEmulationInPage):
(WebCore::InspectorPageAgent::setTouchEmulationEnabled):

  • inspector/InspectorPageAgent.h:
  • inspector/front-end/DOMAgent.js:

(WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):

6:04 AM Changeset in webkit [125027] by alexis.menard@openbossa.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for Qt on Linux.

  • platform/qt/GamepadsQt.cpp:
5:53 AM Changeset in webkit [125026] by commit-queue@webkit.org
  • 5 edits in trunk

[EFL] Support DataList for <input type="range">
https://bugs.webkit.org/show_bug.cgi?id=92634

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-08
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

DataList theme for EFL is implemented. DataList feature of
<input type="range"> is supported.

Test: fast/forms/datalist/input-list.html

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::paintSliderTrack):
(WebCore::RenderThemeEfl::sliderTickSize):
(WebCore::RenderThemeEfl::sliderTickOffsetFromTrackCenter):
(WebCore::RenderThemeEfl::supportsDataListUI):
(WebCore):

  • platform/efl/RenderThemeEfl.h:

(RenderThemeEfl):

LayoutTests:

Update platform/efl/fast/forms/datalist/input-list-expected.txt because
range type of data list feature is passed.

  • platform/efl/fast/forms/datalist/input-list-expected.txt:
5:51 AM Changeset in webkit [125025] by commit-queue@webkit.org
  • 15 edits
    2 moves in trunk/Source/WebCore

Web Inspector: renaming DOMNodeHighlighter to InspectorOverlay
https://bugs.webkit.org/show_bug.cgi?id=93253

Patch by Sergey Rogulenko <rogulenko@google.com> on 2012-08-08
Reviewed by Pavel Feldman.

Renaming DOMNodeHighlighter to InspectorOverlay where necessary.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorController.cpp:
  • inspector/InspectorDOMAgent.cpp:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorOverlay.cpp: Renamed from Source/WebCore/inspector/DOMNodeHighlighter.cpp.

(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore):
(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::drawOutline):
(WebCore::InspectorOverlay::getHighlight):
(WebCore::InspectorOverlay::setPausedInDebuggerMessage):
(WebCore::InspectorOverlay::hideHighlight):
(WebCore::InspectorOverlay::highlightNode):
(WebCore::InspectorOverlay::highlightRect):
(WebCore::InspectorOverlay::highlightedNode):
(WebCore::InspectorOverlay::update):
(WebCore::InspectorOverlay::drawNodeHighlight):
(WebCore::InspectorOverlay::drawRectHighlight):
(WebCore::InspectorOverlay::drawPausedInDebugger):

  • inspector/InspectorOverlay.h: Renamed from Source/WebCore/inspector/DOMNodeHighlighter.h.

(WebCore):
(HighlightConfig):
(WebCore::Highlight::setColors):
(Highlight):
(InspectorOverlay):
(WebCore::InspectorOverlay::create):

  • inspector/InspectorPageAgent.cpp:
  • inspector/PageDebuggerAgent.cpp:
  • page/GestureTapHighlighter.h:
  • testing/Internals.cpp:
5:42 AM Changeset in webkit [125024] by allan.jensen@nokia.com
  • 3 edits in trunk/Source/WebKit2

[Qt] WebProcess hangs on plugin initialization.
https://bugs.webkit.org/show_bug.cgi?id=93272

Reviewed by Kenneth Rohde Christiansen.

  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didFinishLaunching): Ensure PluginProcessConnectionManager is informed of plugin crashes.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Let setIsInWindow set canStartMedia asynchronously.

5:33 AM Changeset in webkit [125023] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Qt][Win] Fix compilation of DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=93461

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-08-08
Reviewed by Tor Arne Vestbø.

DRT includes stdint.h, for which we have wrappers in Source/JavaScriptCore/os-win32. Use these not only
for libraries but any building template.

  • qmake/mkspecs/features/default_post.prf:
5:11 AM Changeset in webkit [125022] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Blackberry] missing a Multipart header when m_multipartResponse is null
https://bugs.webkit.org/show_bug.cgi?id=93440

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-08-08
Reviewed by George Staikos.

when m_multipartResponse is null, we just created new one but not called
setHTTPHeaderField. So we missed this received multipart Header. We should
call setHTTPHeaderField for each reveived header.

No new tests, because those current multipart test cases (http/tests/multipart/*)
are enough.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::handleNotifyMultipartHeaderReceived):

4:56 AM Changeset in webkit [125021] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Refactor console logging out of CSPDirectiveList into ContentSecurityPolicy
https://bugs.webkit.org/show_bug.cgi?id=93205

Patch by Mike West <mkwst@chromium.org> on 2012-08-08
Reviewed by Adam Barth.

We currently pass a protected resource's ScriptExecutionContext down
into CSPDirectiveList in order to log errors, grab the SecurityOrigin,
resolve relative URLs, and one or two other bits. This implementation
requires us to maintain state inside of low-level objects that shouldn't
really know about the ScriptExecutionContext, and makes logging errors
difficult, as CSPDirectiveList is the only piece of the puzzle that can
interact with the console.

This patch removes the dependence on ScriptExecutionContext, replacing
it with a pointer to the ContentSecurityPolicy object itself. The low-
level objects like CSPDirectiveList now make requests to the policy
object, which understands how to resolve them. This gives a cleaner
separation between the CSP implementation and the rest of WebCore, and
opens the door for future patches that teach the remaining low-level
objects about the policy in which they're contained in order to improve
error logging.

This should be a purely internal refactoring of the location from which
warnings are logged to the console. No new tests have been added; the
behavior should be covered by the existing CSP tests.

  • page/ContentSecurityPolicy.cpp:

(CSPSourceList):
(WebCore::CSPSourceList::CSPSourceList):

Pass the policy object into CSPSourceList, rather than a pointer to
ScriptExecutionContext.

(WebCore::CSPSourceList::parse):
(WebCore::CSPSourceList::addSourceSelf):

Read the SecurityOrigin from the policy object, rather than from the
ScriptExecutionContext.

(WebCore::CSPDirective::CSPDirective):

Pass the policy object into CSPDirective, rather than a pointer to
ScriptExecutionContext. Use it to read the protected resource's
URL.

(CSPDirectiveList):
(WebCore::CSPDirectiveList::CSPDirectiveList):

Pass the policy object into CSPSourceList, rather than a pointer to
ScriptExecutionContext.

(WebCore::CSPDirectiveList::create):

Move the enforcement of eval restrictions out of CSPDirectiveList,
and into ContentSecurityPolicy::ContentSecurityPolicy.

(WebCore::CSPDirectiveList::reportViolation):

Move most of the logic out of this method, and into
ContentSecurityPolicy::reportViolation.

(WebCore::CSPDirectiveList::parseDirective):

Use the policy object for logging.

(WebCore::CSPDirectiveList::parseReportURI):

Use the policy object for logging, and URL completion.

(WebCore::CSPDirectiveList::parseScriptNonce):

Use the policy object for logging.

(WebCore::CSPDirectiveList::setCSPDirective):

Use the policy object for logging.

(WebCore::CSPDirectiveList::applySandboxPolicy):

Use the policy object for logging, and move enforcement to
ContentSecurityPolicy::enforceSandboxFlags.

(WebCore::CSPDirectiveList::addDirective):

Use the policy object for logging.

(WebCore::ContentSecurityPolicy::didReceiveHeader):

Pass the policy object to CSPDirectiveList, and disable eval if
necessary after parsing the policy.

(WebCore::ContentSecurityPolicy::securityOrigin):
(WebCore):
(WebCore::ContentSecurityPolicy::url):
(WebCore::ContentSecurityPolicy::completeURL):
(WebCore::ContentSecurityPolicy::enforceSandboxFlags):

Move the enforcement of the sandbox directive out of
CSPDirectiveList and into the policy object.

(WebCore::ContentSecurityPolicy::reportViolation):
(WebCore::ContentSecurityPolicy::reportUnrecognizedDirective):
(WebCore::ContentSecurityPolicy::reportDuplicateDirective):
(WebCore::ContentSecurityPolicy::reportInvalidNonce):

Move CSPDirectiveList::logXXX out to the policy object. The
directive list is now responsible for reporting errors and
violations; the policy decides what to do with them.

(WebCore::ContentSecurityPolicy::logToConsole):

Wrap the call to addConsoleMessage to make it simpler for the
various ContentSecurityPolicy::reportXXX methods.

  • page/ContentSecurityPolicy.h:

(WebCore):

4:44 AM Changeset in webkit [125020] by haraken@chromium.org
  • 6 edits
    2 moves in trunk/Source/WebCore

[V8] Rename V8Helpers to V8BindingHelpers
https://bugs.webkit.org/show_bug.cgi?id=93318

Reviewed by Eric Seidel.

For naming consistency, a file including binding utility methods
should be prefixed by "V8Binding". In a follow-up patch, I'll move
methods from V8Binding to V8BindingHelpers.

In addition this patch makes V8Binding.h include V8BindingHelpers.h,
and removes #include V8BindingHelpers.h from binding files.

No tests. No change in behavior.

  • UseV8.cmake:
  • WebCore.gypi:
  • bindings/v8/NPV8Object.cpp:
  • bindings/v8/V8BindingHelpers.cpp: Renamed from Source/WebCore/bindings/v8/V8Helpers.cpp.

(WebCore):
(WebCore::toV8Context):
(WebCore::toV8Proxy):

  • bindings/v8/V8BindingHelpers.h: Renamed from Source/WebCore/bindings/v8/V8Helpers.h.

(WebCore):

  • bindings/v8/V8NPObject.cpp:
4:20 AM Changeset in webkit [125019] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WK2] [WTR] Refactoring: LayoutTestController::shouldDumpProgressFinishedCallback() should be const
https://bugs.webkit.org/show_bug.cgi?id=93457

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-08
Reviewed by Csaba Osztrogonác.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

(WTR::LayoutTestController::shouldDumpProgressFinishedCallback): Added constness.

3:49 AM QtWebKit edited by jocelyn.turcotte@nokia.com
Remove spam (diff)
3:46 AM QtWebKit edited by jocelyn.turcotte@nokia.com
Update the mailing list link (diff)
3:43 AM Changeset in webkit [125018] by Patrick Gansterer
  • 4 edits in trunk/Source

Remove ce_time.(cpp|h) from list of source files
https://bugs.webkit.org/show_bug.cgi?id=93446

Reviewed by Simon Hausmann.

r125004 removed the last dependency on functions defined in ce_time.cpp.

Source/JavaScriptCore:

  • Target.pri:

Source/WTF:

  • wtf/PlatformWinCE.cmake:
3:38 AM Changeset in webkit [125017] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

'class WrapperTypeInfo' should be 'struct WrapperTypeInfo'

Unreviewed. Build fix for r125015.

  • bindings/v8/V8BindingPerIsolateData.h:

(WebCore):

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

Crash when inspecting an element with border-image
https://bugs.webkit.org/show_bug.cgi?id=93380

Patch by Matt Arsenault <arsenm2@gmail.com> on 2012-08-08
Reviewed by Tim Horton.

Source/WebCore:

The second value in the CSSPair should be the same as the first if
we are in a shorthand and the next value is not a
border-image-repeat keyword.

Test: fast/css/parse-border-image-repeat-null-crash.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBorderImageRepeat):

LayoutTests:

Add a test that ensures css Text on a border image shorthand with
border-image-repeat does not crash.

  • fast/css/parse-border-image-repeat-null-crash-expected.txt: Added.
  • fast/css/parse-border-image-repeat-null-crash.html: Added.
3:20 AM Changeset in webkit [125015] by haraken@chromium.org
  • 6 edits
    2 adds in trunk/Source/WebCore

[V8] Factor out V8BindingPerIsolateData from V8Binding to a separate file
https://bugs.webkit.org/show_bug.cgi?id=93333

Reviewed by Adam Barth.

This patch moves V8BindingPerIsolateData to V8BindingPerIsolateData.{h,cpp}.

To avoid circular #include dependency, I used OwnPtrs for m_stringCache,
m_integerCache, m_hiddenPropertyName and m_gcEventData.

No tests. No change in behavior.

  • UseV8.cmake:
  • WebCore.gypi:
  • bindings/v8/ScriptGCEvent.cpp:

(WebCore::isolateGCEventData):
(WebCore::ScriptGCEvent::addEventListener):
(WebCore::ScriptGCEvent::removeEventListener):
(WebCore::ScriptGCEvent::gcPrologueCallback):
(WebCore::ScriptGCEvent::gcEpilogueCallback):

  • bindings/v8/V8Binding.cpp:
  • bindings/v8/V8Binding.h:

(GCEventData):
(WebCore):

  • bindings/v8/V8BindingPerIsolateData.cpp: Added.

(WebCore):
(WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
(WebCore::V8BindingPerIsolateData::~V8BindingPerIsolateData):
(WebCore::V8BindingPerIsolateData::create):
(WebCore::V8BindingPerIsolateData::ensureInitialized):
(WebCore::V8BindingPerIsolateData::dispose):
(WebCore::V8BindingPerIsolateData::reportMemoryUsage):

  • bindings/v8/V8BindingPerIsolateData.h: Added.

(WebCore):
(V8BindingPerIsolateData):
(WebCore::V8BindingPerIsolateData::current):
(WebCore::V8BindingPerIsolateData::rawTemplateMap):
(WebCore::V8BindingPerIsolateData::templateMap):
(WebCore::V8BindingPerIsolateData::toStringName):
(WebCore::V8BindingPerIsolateData::toStringTemplate):
(WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
(WebCore::V8BindingPerIsolateData::stringCache):
(WebCore::V8BindingPerIsolateData::integerCache):
(WebCore::V8BindingPerIsolateData::allStores):
(WebCore::V8BindingPerIsolateData::hiddenPropertyName):
(WebCore::V8BindingPerIsolateData::auxiliaryContext):
(WebCore::V8BindingPerIsolateData::registerDOMDataStore):
(WebCore::V8BindingPerIsolateData::unregisterDOMDataStore):
(WebCore::V8BindingPerIsolateData::domDataStore):
(WebCore::V8BindingPerIsolateData::setDOMDataStore):
(WebCore::V8BindingPerIsolateData::recursionLevel):
(WebCore::V8BindingPerIsolateData::incrementRecursionLevel):
(WebCore::V8BindingPerIsolateData::decrementRecursionLevel):
(WebCore::V8BindingPerIsolateData::globalHandleMap):
(WebCore::V8BindingPerIsolateData::internalScriptRecursionLevel):
(WebCore::V8BindingPerIsolateData::incrementInternalScriptRecursionLevel):
(WebCore::V8BindingPerIsolateData::decrementInternalScriptRecursionLevel):
(WebCore::V8BindingPerIsolateData::gcEventData):
(WebCore::V8BindingPerIsolateData::setShouldCollectGarbageSoon):
(WebCore::V8BindingPerIsolateData::clearShouldCollectGarbageSoon):
(WebCore::V8BindingPerIsolateData::shouldCollectGarbageSoon):

3:16 AM Changeset in webkit [125014] by pfeldman@chromium.org
  • 5 edits in trunk

Source/WebCore: Web Inspector: show whitespace nodes if they are the only tag's children.
https://bugs.webkit.org/show_bug.cgi?id=93441

Reviewed by Vsevolod Vlasov.

Pass whitespace node info into the front-end when it is the only element's child.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):

LayoutTests: Web Inspector: show white space nodes if they are the only tag's children.
https://bugs.webkit.org/show_bug.cgi?id=93441

Reviewed by Vsevolod Vlasov.

  • inspector/elements/set-outer-html-2-expected.txt:
  • inspector/styles/styles-update-from-js.html:
2:50 AM Changeset in webkit [125013] by abecsi@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Set the fixed layout setting before creating the page
https://bugs.webkit.org/show_bug.cgi?id=93374

Reviewed by Noam Rosenthal.

Any page setting should preferrable be set before creating the page
but fixed layout was set after the initialization of the web page.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::initialize):
(QQuickWebViewFlickablePrivate::initialize):

2:45 AM Changeset in webkit [125012] by haraken@chromium.org
  • 10 edits in trunk/Source/WebCore

[V8] Pass Isolate to ArrayValue and Dictionary
https://bugs.webkit.org/show_bug.cgi?id=93315

Reviewed by Adam Barth.

This patch passes Isolate to ArrayValue and Dictionary.

Rationale 1: We want to replace V8Proxy::throwError(ExceptionCode)
with setDOMException(ExceptionCode, Isolate*). For the replacement,
we need to pass Isolate to V8Utilities::extractTransferables().
To pass Isolate to V8Utilities::extractTransferables(), ( ...omitted... ),
we need to pass Isolate to ArrayValue and Dictionary.

Rationale 2: JSC already passes ExecState to ArrayValue and Dictionary.

Tests: storage/indexeddb/*

fast/files/*

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateEventConstructorCallback):
(JSValueToNative):

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

(WebCore::V8TestEventConstructor::constructorCallback):

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

(WebCore::TestObjV8Internal::optionsObjectCallback):

  • bindings/v8/ArrayValue.cpp:

(WebCore::ArrayValue::operator=):
(WebCore::ArrayValue::get):

  • bindings/v8/ArrayValue.h:

(WebCore::ArrayValue::ArrayValue):
(ArrayValue):

  • bindings/v8/Dictionary.cpp:

(WebCore::Dictionary::Dictionary):
(WebCore::Dictionary::operator=):
(WebCore::Dictionary::get):

  • bindings/v8/Dictionary.h:

(Dictionary):

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallback):

  • bindings/v8/custom/V8IntentConstructor.cpp:

(WebCore::V8Intent::constructorCallback):

2:16 AM Changeset in webkit [125011] by yurys@chromium.org
  • 3 edits
    4 adds in trunk

Web Inspector: cached images memory instrumentation regression after r124744
https://bugs.webkit.org/show_bug.cgi?id=93366

Reviewed by Vsevolod Vlasov.

Source/WebCore:

CachedImage memory usage data no includes size of both encoded and
decoded data.

Test: inspector/profiler/memory-instrumentation-cached-images.html

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::reportMemoryUsage):

LayoutTests:

Added a sanity test checking that memory usage data includes decoded image size.

  • inspector/profiler/memory-instrumentation-cached-images-expected.txt: Added.
  • inspector/profiler/memory-instrumentation-cached-images.html: Added.
2:10 AM Changeset in webkit [125010] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Atomics.h has incorrect GCC test for ext/atomicity.h when using LSB compilers
https://bugs.webkit.org/show_bug.cgi?id=51974

Patch by Alvaro Lopez Ortega <alvaro@alobbs.com> on 2012-08-08
Reviewed by Simon Hausmann.

  • wtf/Atomics.h: Inhibits the inclusion of the atomicity.h GNU C++

extension when compiling with a LSB compliant compiler. Thanks to
Craig Scott for the new precompiler check code.

1:43 AM Changeset in webkit [125009] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

Optimize Element::hasAttribute() by replacing String with AtomicString
https://bugs.webkit.org/show_bug.cgi?id=90273

Reviewed by Adam Barth.

Based on the observation described in this ChangeLog
(http://trac.webkit.org/changeset/121439), this patch optimizes the
performance of Element::hasAttribute() by replacing String with AtomicString.

Performance test: https://bugs.webkit.org/attachment.cgi?id=150144

hasAttribute (Chromium/Linux):
329.60ms => 259.00ms

hasAttributeNS (Chromium/Linux):
549.60ms => 435.80ms

  • dom/Element.cpp:

(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):

  • dom/Element.h:

(Element):

1:24 AM Changeset in webkit [125008] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

Optimize Element::removeAttribute() by replacing String with AtomicString
https://bugs.webkit.org/show_bug.cgi?id=90265

Reviewed by Adam Barth.

Based on the observation described in this ChangeLog
(http://trac.webkit.org/changeset/121439), this patch optimizes
Element::removeAttribute() by replacing String with AtomicString.

Performance test: https://bugs.webkit.org/attachment.cgi?id=150140

removeAttribute (Chromium/Linux):
334.20ms => 240.60ms

removeAttributeNS (Chromium/Linux):
552.80ms => 421.60ms

  • dom/Element.cpp:

(WebCore::Element::removeAttribute):
(WebCore::Element::removeAttributeNS):

  • dom/Element.h:

(Element):

1:13 AM Changeset in webkit [125007] by shinyak@chromium.org
  • 4 edits in trunk/Source/WebCore

Remove Element::ensureShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=77608

Reviewed by Ryosuke Niwa.

Since Element::ensureShadowRoot is not used anymore, we can remove this safely.

No new tests, no change in behavior.

  • WebCore.order:
  • dom/Element.cpp:
  • dom/Element.h:

(Element):

12:51 AM Changeset in webkit [125006] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove an unused member variable.

Unreviewed, build fix for r124990.

  • dom/ContainerNode.h:

(WebCore::ChildNodesLazySnapshot::ChildNodesLazySnapshot):
(ChildNodesLazySnapshot):

12:39 AM Changeset in webkit [125005] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: TabbedPane should use floating point width values for measuring.
https://bugs.webkit.org/show_bug.cgi?id=93349

Reviewed by Pavel Feldman.

TabbedPane now uses getBoundingClientRect().width instead of offsetWidth for more precise calculation.

  • inspector/front-end/TabbedPane.js:

(WebInspector.TabbedPane.prototype._totalWidth):
(WebInspector.TabbedPane.prototype._updateTabsDropDown):
(WebInspector.TabbedPane.prototype._measureDropDownButton):
(WebInspector.TabbedPane.prototype._updateWidths):
(WebInspector.TabbedPaneTab.prototype._measure):

12:31 AM Changeset in webkit [125004] by Patrick Gansterer
  • 2 edits in trunk/Source/JavaScriptCore

[WIN] Use GetTimeZoneInformation() for getting the timezone name
https://bugs.webkit.org/show_bug.cgi?id=91936

Reviewed by Ryosuke Niwa.

The MS CRT implementation of strftime calls the same functions in the background.
Using them directly avoids the overhead of parsing the format string and removes
the dependency on strftime() for WinCE where this function does not exist.

  • runtime/DateConversion.cpp:

(JSC::formatTime):

12:13 AM Changeset in webkit [125003] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

'highlight' should not be parsed for a composite operation
https://bugs.webkit.org/show_bug.cgi?id=92615

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-08-08
Reviewed by Ryosuke Niwa.

Source/WebCore:

r88144 removed support for highlight as a composite operation but did
not update the parser.

Test: fast/backgrounds/composite-highlight-is-invalid.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFillProperty):

LayoutTests:

  • fast/backgrounds/composite-highlight-is-invalid-expected.txt: Added.
  • fast/backgrounds/composite-highlight-is-invalid.html: Added.
12:12 AM Changeset in webkit [125002] by mario@webkit.org
  • 8 edits in trunk/Source/WebKit2

[WK2] Add new C API to generate MHTML data from the UI process
https://bugs.webkit.org/show_bug.cgi?id=89872

Reviewed by Anders Carlsson.

Add new C API in the UI Process, using ENABLE(MHTML) guards as needed.

  • UIProcess/API/C/WKPage.cpp:

(WKPageGetContentsAsMHTMLData):

  • UIProcess/API/C/WKPage.h:

Implementation in the UI Process's WebPage proxy object.

  • UIProcess/WebPageProxy.cpp:

(WebKit):
(WebKit::WebPageProxy::getContentsAsMHTMLData):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

Implementation in the WebProcess, relying in WebCore::MHTMLArchive.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit):
(WebKit::WebPage::getContentsAsMHTMLData):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
12:06 AM Changeset in webkit [125001] by toyoshim@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed, adding new results for chromium.

http://trac.webkit.org/changeset/124986 this change added new results
for Mac and it has a high priority. Then, we need to add specific
results for chromium.

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2012-08-08

  • platform/chromium/media/video-seek-past-end-paused-expected.txt: Added.
12:02 AM Changeset in webkit [125000] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

showNodePath should show the age of ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=93347

Patch by Takashi Sakamoto <tasak@google.com> on 2012-08-08
Reviewed by Ryosuke Niwa.

No new tests, because this patch is for fixing a bug of a method for
debugging. If NDEBUG is defined, the method is not compiled.

  • dom/Node.cpp:

(WebCore::Node::showNodePathForThis):
Fixed the bug to obtain the oldest shadow root from a shadow root.
oldestShadowRootFor only works for an element node, not for a shadow root.

Note: See TracTimeline for information about the timeline view.