Timeline



Jul 30, 2013:

10:57 PM Changeset in webkit [153511] by timothy_horton@apple.com
  • 5 edits
    2 adds in trunk

DHTML drag can result in a null-deref under WebDragClient::startDrag
https://bugs.webkit.org/show_bug.cgi?id=119297
<rdar://problem/14213012>

Reviewed by Simon Fraser.

Test: fast/events/setDragImage-in-document-element-crash.html

  • page/mac/FrameSnapshottingMac.mm:

(WebCore::snapshotDragImage):
We shouldn't waste time painting an empty image, nor should we return
an image with no size.

Add a test that ensures that using a zero-size in-document non-<img>
element for setDragImage() doesn't crash.

  • fast/events/setDragImage-in-document-element-crash-expected.txt: Added.
  • fast/events/setDragImage-in-document-element-crash.html: Added.
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::convertImageToBitmap):
ShareableBitmap::createShareable can return null, but shouldn't dereference that.

9:59 PM Changeset in webkit [153510] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk

Dotted borders render w/ artifacts and sometimes as solid lines
https://bugs.webkit.org/show_bug.cgi?id=3964

Patch by Pravin D <pravind@samsung.com> on 2013-07-30
Reviewed by Elliott Sprehn.

Source/WebCore:

While drawing the dotted border, the common borders are drawn by the cells sharing them. The dotted borders
become(tend) solid when the starting and the end points of the border drawn by the two cells don't match. This
fixes the same.

Test: fast/table/border-collapsing/dotted-collapsed-border.html

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::alignLeftRightBorderPaintRect):
(WebCore::RenderTableCell::alignTopBottomBorderPaintRect):

Helper function to decide if border's start point requires any adjustment.

(WebCore::RenderTableCell::paintCollapsedBorders):
Added logic to handle dotted borders so that they do not become solid.

  • rendering/RenderTableCell.h: Helper function declarations.

LayoutTests:

  • fast/table/border-collapsing/dotted-collapsed-border-expected.txt: Added.
  • fast/table/border-collapsing/dotted-collapsed-border.html: Added.
  • platform/qt/fast/table/border-collapsing/dotted-collapsed-border-expected.png: Added.
9:55 PM Changeset in webkit [153509] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk

Gmail reply email - Bold and Italic style get stuck
https://bugs.webkit.org/show_bug.cgi?id=118185

Patch by Vani Hegde <vani.hegde@samsung.com> on 2013-07-30
Reviewed by Ryosuke Niwa.

Source/WebCore:

When bold/italic style is applied to a content with mixed editability,
style is applied appropriately for the first time.
But after this, style toggling does not work any more. Same behavior
can be observed when the content on which style is applied contains
text node without renderer (Ex: text node corresponding to tab/space etc)

When bold/italic style is applied on a selection, we actually apply the
style only for text nodes that have renderers and also are contenteditable.
Similarly during style toggling, to check whether a style has been already
applied on a selection

Tests: editing/style/toggle-style-bold-italic-mixed-editability.html

editing/style/toggle-style-bold-italic.html

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::triStateOfStyle):
A particular selection on which style is applied may contain text nodes
without renderers(text nodes corresponding to tab/space) or text nodes
that are not contenteditable. We do not apply style to such text nodes.
Hence, even during style toggling we should not consider the styles
present in such nodes.

LayoutTests:

Layout tests added to test bold/italic style toggling on a content
with mixed editability.

  • editing/editing.js:

(runDumpAsTextEditingTest): Replaced markupResultList with
elementsForDumpingMarkupList to store all markup data to be logged
at the end of test.
(debugForDumpAsText): Changed to use elementsForDumpingMarkupList.
(startNewMarkupGroup): Added utility function to hold intermediate
data by separating <ol>.

  • editing/style/toggle-style-bold-italic-expected.txt: Added.
  • editing/style/toggle-style-bold-italic-mixed-editability-expected.txt: Added.
  • editing/style/toggle-style-bold-italic-mixed-editability.html: Added.
  • editing/style/toggle-style-bold-italic.html: Added.
6:59 PM Changeset in webkit [153508] by rwlbuis@webkit.org
  • 4 edits
    4 adds in trunk

XMLSerializer should reset default namespace when necessary
https://bugs.webkit.org/show_bug.cgi?id=16739
XMLSerializer's handling of namespaces seems to be pretty broken
https://bugs.webkit.org/show_bug.cgi?id=106531

Reviewed by Ryosuke Niwa.

Source/WebCore:

Write out empty default namespace declaration if the element is not in any namespace, as
described in http://www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html#xml-fragment-serialization-algorithm.

Tests: fast/dom/XMLSerializer-element-empty-namespace.html

fast/dom/XMLSerializer-element-empty-namespace2.html

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendNamespace):
(WebCore::MarkupAccumulator::appendOpenTag):

  • editing/MarkupAccumulator.h:

LayoutTests:

Add tests based on the testcases of both bugs.

  • fast/dom/XMLSerializer-element-empty-namespace-expected.txt: Added.
  • fast/dom/XMLSerializer-element-empty-namespace.html: Added.
  • fast/dom/XMLSerializer-element-empty-namespace2-expected.txt: Added.
  • fast/dom/XMLSerializer-element-empty-namespace2.html: Added.
6:50 PM Changeset in webkit [153507] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

Don't post accessibility notification on object in detached document.
https://bugs.webkit.org/show_bug.cgi?id=119286

Reviewed by Ryosuke Niwa.

Merge https://chromium.googlesource.com/chromium/blink/+/ef9fc9e70202dcf33e5cf2f0f0a2135945ffe17e%5E%21/#F0

Don't post accessibility notification on object in detached document.

This can happen if an accessibility notification is queued on a node,
then that node is reparented to a different document that's not attached
anywhere before the accessibility notification is fired.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::notificationPostTimerFired):

6:18 PM Changeset in webkit [153506] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

6:13 PM Changeset in webkit [153505] by Lucas Forschler
  • 1 copy in tags/Safari-537.53

New Tag.

5:58 PM Changeset in webkit [153504] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebKit2

Rename <input type='color'> functions in WebPageProxy, WebColorPicker
<rdar://problem/14549771> and https://bugs.webkit.org/show_bug.cgi?id=119097

Patch by Ruth Fong <ruth_fong@apple.com> on 2013-07-30
Reviewed by Tim Horton.

In bug 119025, WebColorChooserProxy was renamed WebColorPicker. This patch makes the UIProcess consistent
by renaming UIProcess INPUT_TYPE_COLOR functions from ...colorChooser to ...colorPicker.

  • UIProcess/WebColorPicker.cpp:

(WebKit::WebColorPicker::endPicker):

  • UIProcess/WebColorPicker.h:
  • UIProcess/WebColorPickerResultListenerProxy.cpp:

(WebKit::WebColorPickerResultListenerProxy::setColor):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showColorPicker):
(WebKit::WebPageProxy::setColorPickerColor):
(WebKit::WebPageProxy::endColorPicker):
(WebKit::WebPageProxy::didEndColorPicker):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/qt/WebColorPickerQt.cpp:

(WebKit::WebColorPickerQt::createItem):
(WebKit::WebColorPickerQt::notifyColorSelected):
(WebKit::WebColorPickerQt::endPicker):

  • UIProcess/qt/WebColorPickerQt.h:
  • WebProcess/WebCoreSupport/WebColorChooser.cpp:

(WebKit::WebColorChooser::WebColorChooser):
(WebKit::WebColorChooser::setSelectedColor):
(WebKit::WebColorChooser::endChooser):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didEndColorPicker):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
5:19 PM Changeset in webkit [153503] by ruthiecftg@gmail.com
  • 2 edits in trunk/Tools

Unreviewed: Adding myself to the committers' list.

  • Scripts/webkitpy/common/config/contributors.json:
4:13 PM Changeset in webkit [153502] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Content filter replacement data uses the encoding from the blocked page's response headers
https://bugs.webkit.org/show_bug.cgi?id=119237

Reviewed by Darin Adler.

When a document specifies an encoding in an HTTP response header, or
when the embedder specifies an override encoding, and the content filter
blocks the document, we interpret the content filter's replacement data
using this encoding. This might be the wrong.

Forget about encodings determined from these sources. The replacement
data will specify an encoding in a <meta charset>, so let that be used
instead.

No new tests. We don't currently have a mechanism for testing the
content filter from WebKit.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::commitData): Pretend as if no encoding is
specified if the content filter blocked the load.
(WebCore::DocumentLoader::dataReceived): Stopped calling commitLoad()
before early-returning if the content filter needs more data. This isn't
necessary.

3:43 PM Changeset in webkit [153501] by ap@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

REGRESSION: Crash when opening a message on Gmail
https://bugs.webkit.org/show_bug.cgi?id=119105

Landing missing test results.

  • fast/js/dfg-get-by-id-unset-then-proto-expected.txt: Added.
  • fast/js/dfg-get-by-id-unset-then-proto-less-warmup-expected.txt: Added.
  • fast/js/dfg-get-by-id-unset-then-proto-more-warmup-expected.txt: Added.
3:41 PM Changeset in webkit [153500] by mhahnenberg@apple.com
  • 4 edits
    3 adds in trunk

GetByVal on Arguments does the wrong size load when checking the Arguments object length
https://bugs.webkit.org/show_bug.cgi?id=119281

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This leads to out of bounds accesses and subsequent crashes.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

  • fast/js/dfg-strict-mode-arguments-get-beyond-length-expected.txt: Added.
  • fast/js/dfg-strict-mode-arguments-get-beyond-length.html: Added.
  • fast/js/script-tests/dfg-strict-mode-arguments-get-beyond-length.js: Added.

(foo):
(bar):

3:20 PM Changeset in webkit [153499] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Speculative fix for crash due to string access on multiple threads
https://bugs.webkit.org/show_bug.cgi?id=119279
<rdar://problem/14267833>

Reviewed by Darin Adler.

We can't use String::isolatedCopy for passing the local storage directory to the storage thread since
that returns a String that's copied and then destroyed after the call to bind returns, leaving a small window
where the refcount can be accessed simultaneously from two threads.

Work around this by passing a PassRefPtr<StringImpl> to bind instead; the act of copying the PassRefPtr will
clear out the original and so when the original is destroyed the underlying StringImpl pointer will be null.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:
3:17 PM Changeset in webkit [153498] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION(r139282): Fix document leak when selection is created inside the document
https://bugs.webkit.org/show_bug.cgi?id=119122

OK'd by Ryosuke Niwa.

The added test was very flaky. Trying to make it better with a gc() call at the beginning.

  • editing/selection/leak-document-with-selection-inside.html:
3:12 PM Changeset in webkit [153497] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add an assertion to SpeculateCellOperand
https://bugs.webkit.org/show_bug.cgi?id=119276

Reviewed by Michael Saboff.

More assertions are better

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compile):

3:01 PM Changeset in webkit [153496] by ap@apple.com
  • 3 edits in trunk/LayoutTests

[Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
https://bugs.webkit.org/show_bug.cgi?id=113094

The test still fails on WK1, and needs to be marked accordingly.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
2:44 PM Changeset in webkit [153495] by Christophe Dumez
  • 12 edits in trunk

Add 'colno' attribute to ErrorEvent interface
https://bugs.webkit.org/show_bug.cgi?id=119257

Reviewed by Darin Adler.

Source/WebCore:

Add 'colno' attribute to ErrorEvent interface to match the latest specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#errorevent

The 'colno' attribute is already supported by IE10 and Blink.

No new tests, covered by existing tests.

  • dom/ErrorEvent.cpp:

(WebCore::ErrorEventInit::ErrorEventInit):
(WebCore::ErrorEvent::ErrorEvent):

  • dom/ErrorEvent.h:
  • dom/ErrorEvent.idl:

LayoutTests:

Update several test cases to check the new ErrorEvent.colno
attribute.

  • fast/events/constructors/error-event-constructor-expected.txt:
  • fast/events/constructors/error-event-constructor.html:
  • fast/events/window-onerror9-expected.txt:
  • fast/events/window-onerror9.html:
  • fast/workers/worker-script-error-expected.txt:
  • fast/workers/worker-script-error.html:
  • http/tests/workers/worker-importScriptsOnError-expected.txt:
2:32 PM Changeset in webkit [153494] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Inactive style sheets should not trigger style recalc when loaded.
<http://webkit.org/b/119236>
<rdar://problem/14588132>

Reviewed by Antti Koivisto.

Style sheets that are either alternate sheets or are excluded by their media query should not trigger
a full style recalc when they finish loading, since the end result will not be observably different.

The sheets are still inspectable through document.styleSheets.

Changed enums from Blocking/NonBlocking to ActiveSheet/InactiveSheet to clarify what's going on.

  • html/HTMLLinkElement.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::HTMLLinkElement):
(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::startLoadingDynamicSheet):
(WebCore::HTMLLinkElement::addPendingSheet):
(WebCore::HTMLLinkElement::removePendingSheet):

2:27 PM Changeset in webkit [153493] by timothy_horton@apple.com
  • 7 edits in trunk/Source

Fix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot")
https://bugs.webkit.org/show_bug.cgi?id=119275

Reviewed by Simon Fraser.

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::paintContentsForSnapshot):

  • page/FrameView.h:

Fix typo.

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::imageForRect):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scaledSnapshotWithOptions):
Fix typo.

2:19 PM Changeset in webkit [153492] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Compile fix for WebGL on 32-bit Windows.
https://bugs.webkit.org/show_bug.cgi?id=119235

Reviewed by Darin Adler.

  • platform/graphics/GLContext.cpp:

Created GLNativeWindowType typedef.
(WebCore::GLContext::createContextForWindow):

  • platform/graphics/GLContext.h:

Replaced uint64_t with GLNativeWindowType.

2:06 PM Changeset in webkit [153491] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebKit2

Merged r153486. <rdar://problem/14440207>

2:00 PM Changeset in webkit [153490] by Lucas Forschler
  • 1 edit in branches/safari-537-branch/Source/WebKit2/ChangeLog

Merged r153449. <rdar://problem/14440207>

1:33 PM Changeset in webkit [153489] by Christophe Dumez
  • 2 edits in trunk/Tools

Unreviewed, add my new email to contributors.json.

  • Scripts/webkitpy/common/config/contributors.json:
12:45 PM Changeset in webkit [153488] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Plug-in process crashes if plug-in is destroyed as a result of sending NPObjectMessageReceiver::Deallocate
https://bugs.webkit.org/show_bug.cgi?id=119270
<rdar://problem/13368226>

Reviewed by Darin Adler.

Normally we use the PluginDestructionProtector RAII object to prevent plug-ins from being destroyed while
they're executing code. However, in the case of the NPObjectMessageReceiver::Deallocate message, we can't do this
since we don't know the plug-in or connection.

Instead, add a counter to Connection that keeps track of whether sendSync is currently called and defer plug-in
destruction if it is. (This approach is actually more robust and we should investigate getting rid of the destruction protector).

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::Connection):
(CoreIPC::Connection::sendSyncMessage):

  • Platform/CoreIPC/Connection.h:

(CoreIPC::Connection::inSendSync):

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::destroy):

12:42 PM Changeset in webkit [153487] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Null deref under WebPage::scaledSnapshotWithOptions
https://bugs.webkit.org/show_bug.cgi?id=119243
<rdar://problem/14502050>

Reviewed by Darin Adler.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scaledSnapshotWithOptions):
WebFrame::coreFrame() can be null (if the Frame is already torn down),
so we should check it.

12:38 PM Changeset in webkit [153486] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Null deref under PluginView::handlesPageScaleFactor()
https://bugs.webkit.org/show_bug.cgi?id=119231
<rdar://problem/14440207>

Reviewed by Darin Adler.

Null-check the PluginView in the caller as well.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::handlesPageScaleGesture):

12:01 PM Changeset in webkit [153485] by Patrick Gansterer
  • 5 edits in trunk/Source

[WIN] Remove dependency on CoreFoundation from DownloadBundle
https://bugs.webkit.org/show_bug.cgi?id=119247

Reviewed by Anders Carlsson.

  • platform/network/cf/DownloadBundle.h:
  • platform/network/curl/DownloadBundle.h:
  • platform/network/win/DownloadBundleWin.cpp:

(WebCore::DownloadBundle::magicNumber):
(WebCore::DownloadBundle::appendResumeData):
(WebCore::DownloadBundle::extractResumeData):

11:54 AM Changeset in webkit [153484] by Patrick Gansterer
  • 1 edit
    2 deletes in trunk/Source/WebKit2

Remove unused Download*.cpp files
https://bugs.webkit.org/show_bug.cgi?id=119248

Reviewed by Anders Carlsson.

  • Shared/Downloads/cfnet/DownloadCFNet.cpp: Removed.
  • Shared/Downloads/curl/DownloadCurl.cpp: Removed.
11:54 AM Changeset in webkit [153483] by Patrick Gansterer
  • 14 edits
    1 move in trunk/Source

Move WindowsExtras.h from WebCore to WTF
https://bugs.webkit.org/show_bug.cgi?id=118125

Reviewed by Anders Carlsson.

Move it to WTF to be able to use the functions in WTF too.

Source/WebCore:

  • platform/PlatformKeyboardEvent.h:
  • platform/PlatformMouseEvent.h:
  • platform/PlatformWheelEvent.h:
  • platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
  • platform/win/MIMETypeRegistryWin.cpp:
  • platform/win/PasteboardWin.cpp:
  • platform/win/PopupMenuWin.cpp:
  • platform/win/RunLoopWin.cpp:
  • platform/win/SharedTimerWin.cpp:
  • platform/win/WindowMessageListener.h:
  • plugins/win/PluginDatabaseWin.cpp:

Source/WTF:

  • wtf/WindowsExtras.h: Renamed from Source/WebCore/platform/win/WindowsExtras.h.

(WTF::getRegistryValue):
(WTF::getWindowPointer):
(WTF::setWindowPointer):

  • wtf/win/MainThreadWin.cpp:

(WTF::initializeMainThreadPlatform):

11:28 AM Changeset in webkit [153482] by jeffm@apple.com
  • 2 edits in trunk/Source/WebKit2

Page for WKPageLoaderClient processDidCrash callback always reports a process identifier of 0
https://bugs.webkit.org/show_bug.cgi?id=119269
<rdar://problem/14582393>

Reviewed by Anders Carlsson.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processIdentifier):
Return 0 if the page is closed instead of requiring isValid().

10:40 AM Changeset in webkit [153481] by kseo@webkit.org
  • 4 edits in trunk/Source/WebKit2

[WK2] Move the implementation of WebEditorClient::checkTextOfParagraph to WebEditorClient.cpp
https://bugs.webkit.org/show_bug.cgi?id=119034

Reviewed by Anders Carlsson.

The Mac and EFL ports use the same implementation of
WebEditorClient::checkTextOfParagraph and GTK will use the same
implementation too. So rather than duplicating the same code in
platform specific files, move the implementation to platform agnostic
WebProcess/WebCoreSupport/WebEditorClient.cpp.

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::checkTextOfParagraph):

  • WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
10:38 AM Changeset in webkit [153480] by Christophe Dumez
  • 34 edits in trunk

Pass column as 4th argument to WorkerGlobalScope.onerror and Window.onerror handlers
https://bugs.webkit.org/show_bug.cgi?id=119251

Reviewed by Geoffrey Garen.

Source/WebCore:

As per the latest specification, the WorkerGlobalScope.onerror and Window.onerror event
handlers should be given the column as fourth argument:
http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerglobalscope
http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#onerroreventhandler

The column argument is already supported by IE10 and Blink.

No new tests, covered by existing tests.

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):

  • dom/ErrorEvent.cpp:

(WebCore::ErrorEvent::ErrorEvent):

  • dom/ErrorEvent.h:

(WebCore::ErrorEvent::create):
(WebCore::ErrorEvent::colno):

  • dom/ScriptExecutionContext.cpp:

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

  • dom/ScriptExecutionContext.h:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerExceptionTask::performTask):

LayoutTests:

Update several tests to make use of the new column argument passed to
WorkerGlobalScope.onerror and Window.onerror handlers.

  • fast/events/window-onerror1-expected.txt:
  • fast/events/window-onerror1.html:
  • fast/events/window-onerror11-expected.txt:
  • fast/events/window-onerror11.html:
  • fast/events/window-onerror12-expected.txt:
  • fast/events/window-onerror12.html:
  • fast/events/window-onerror13.html:
  • fast/events/window-onerror14.html:
  • fast/events/window-onerror16.html:
  • fast/events/window-onerror2-expected.txt:
  • fast/events/window-onerror2.html:
  • fast/events/window-onerror4-expected.txt:
  • fast/events/window-onerror4.html:
  • fast/events/window-onerror5-expected.txt:
  • fast/events/window-onerror5.html:
  • fast/events/window-onerror6-expected.txt:
  • fast/events/window-onerror6.html:
  • fast/events/window-onerror7-expected.txt:
  • fast/events/window-onerror7.html:
  • fast/events/window-onerror8-expected.txt:
  • fast/events/window-onerror8.html:
  • fast/events/window-onerror9-expected.txt:
  • fast/events/window-onerror9.html:
  • fast/workers/resources/worker-script-error-handled.js:

(onerror):

  • fast/workers/worker-script-error-expected.txt:
10:30 AM Changeset in webkit [153479] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WebKit2] [Gtk] WebKitResponsePolicyDecision URI response property incorrect
https://bugs.webkit.org/show_bug.cgi?id=119258

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-30
Reviewed by Martin Robinson.

Corrected the installed URI response property from PROP_REQUEST to
PROP_RESPONSE and type from WEBKIT_TYPE_URI_REQUEST to
WEBKIT_TYPE_URI_RESPONSE.

  • UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:

(webkit_response_policy_decision_class_init):

10:27 AM Changeset in webkit [153478] by Patrick Gansterer
  • 3 edits in trunk/Source/WebCore

Use OwnPtr in RenderThemeWin and ScrollbarThemeWin
https://bugs.webkit.org/show_bug.cgi?id=117978

Reviewed by Brent Fulgham.

Use OwnPtr to avoid manual deletion of objects.

  • platform/win/ScrollbarThemeWin.cpp:

(WebCore::ScrollbarThemeWin::paintTrackPiece):

  • rendering/RenderThemeWin.cpp:

(WebCore::drawControl):

10:01 AM Changeset in webkit [153477] by mark.lam@apple.com
  • 18 edits in trunk

Fix problems with divot and lineStart mismatches.
https://bugs.webkit.org/show_bug.cgi?id=118662.

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

r152494 added the recording of lineStart values for divot positions.
This is needed for the computation of column numbers. Similarly, it also
added the recording of line numbers for the divot positions. One problem
with the approach taken was that the line and lineStart values were
recorded independently, and hence were not always guaranteed to be
sampled at the same place that the divot position is recorded. This
resulted in potential mismatches that cause some assertions to fail.

The solution is to introduce a JSTextPosition abstraction that records
the divot position, line, and lineStart as a single quantity. Wherever
we record the divot position as an unsigned int previously, we now record
its JSTextPosition which captures all 3 values in one go. This ensures
that the captured line and lineStart will always match the captured divot
position.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallEval):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitDebugHook):

  • Use JSTextPosition instead of passing line and lineStart explicitly.
  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitExpressionInfo):

  • Use JSTextPosition instead of passing line and lineStart explicitly.
  • bytecompiler/NodesCodegen.cpp:

(JSC::ThrowableExpressionData::emitThrowReferenceError):
(JSC::ResolveNode::emitBytecode):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::NewExprNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::DeleteResolveNode::emitBytecode):
(JSC::DeleteBracketNode::emitBytecode):
(JSC::DeleteDotNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::UnaryOpNode::emitBytecode):
(JSC::BinaryOpNode::emitStrcat):
(JSC::BinaryOpNode::emitBytecode):
(JSC::ThrowableBinaryOpNode::emitBytecode):
(JSC::InstanceOfNode::emitBytecode):
(JSC::emitReadModifyAssignment):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
(JSC::ForInNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::ThrowNode::emitBytecode):

  • Use JSTextPosition instead of passing line and lineStart explicitly.
  • parser/ASTBuilder.h:
  • Replaced ASTBuilder::PositionInfo with JSTextPosition.

(JSC::ASTBuilder::BinaryOpInfo::BinaryOpInfo):
(JSC::ASTBuilder::AssignmentInfo::AssignmentInfo):
(JSC::ASTBuilder::createResolve):
(JSC::ASTBuilder::createBracketAccess):
(JSC::ASTBuilder::createDotAccess):
(JSC::ASTBuilder::createRegExp):
(JSC::ASTBuilder::createNewExpr):
(JSC::ASTBuilder::createAssignResolve):
(JSC::ASTBuilder::createExprStatement):
(JSC::ASTBuilder::createForInLoop):
(JSC::ASTBuilder::createReturnStatement):
(JSC::ASTBuilder::createBreakStatement):
(JSC::ASTBuilder::createContinueStatement):
(JSC::ASTBuilder::createLabelStatement):
(JSC::ASTBuilder::createWithStatement):
(JSC::ASTBuilder::createThrowStatement):
(JSC::ASTBuilder::appendBinaryExpressionInfo):
(JSC::ASTBuilder::appendUnaryToken):
(JSC::ASTBuilder::unaryTokenStackLastStart):
(JSC::ASTBuilder::assignmentStackAppend):
(JSC::ASTBuilder::createAssignment):
(JSC::ASTBuilder::setExceptionLocation):
(JSC::ASTBuilder::makeDeleteNode):
(JSC::ASTBuilder::makeFunctionCallNode):
(JSC::ASTBuilder::makeBinaryNode):
(JSC::ASTBuilder::makeAssignNode):
(JSC::ASTBuilder::makePrefixNode):
(JSC::ASTBuilder::makePostfixNode):

  • Use JSTextPosition instead of passing line and lineStart explicitly.
  • parser/Lexer.cpp:

(JSC::::lex):

  • Added support for capturing the appropriate JSTextPositions instead of just the character offset.
  • parser/Lexer.h:

(JSC::Lexer::currentPosition):
(JSC::::lexExpectIdentifier):

  • Added support for capturing the appropriate JSTextPositions instead of just the character offset.
  • parser/NodeConstructors.h:

(JSC::Node::Node):
(JSC::ResolveNode::ResolveNode):
(JSC::EvalFunctionCallNode::EvalFunctionCallNode):
(JSC::FunctionCallValueNode::FunctionCallValueNode):
(JSC::FunctionCallResolveNode::FunctionCallResolveNode):
(JSC::FunctionCallBracketNode::FunctionCallBracketNode):
(JSC::FunctionCallDotNode::FunctionCallDotNode):
(JSC::CallFunctionCallDotNode::CallFunctionCallDotNode):
(JSC::ApplyFunctionCallDotNode::ApplyFunctionCallDotNode):
(JSC::PostfixNode::PostfixNode):
(JSC::DeleteResolveNode::DeleteResolveNode):
(JSC::DeleteBracketNode::DeleteBracketNode):
(JSC::DeleteDotNode::DeleteDotNode):
(JSC::PrefixNode::PrefixNode):
(JSC::ReadModifyResolveNode::ReadModifyResolveNode):
(JSC::ReadModifyBracketNode::ReadModifyBracketNode):
(JSC::AssignBracketNode::AssignBracketNode):
(JSC::AssignDotNode::AssignDotNode):
(JSC::ReadModifyDotNode::ReadModifyDotNode):
(JSC::AssignErrorNode::AssignErrorNode):
(JSC::WithNode::WithNode):
(JSC::ForInNode::ForInNode):

  • Use JSTextPosition instead of passing line and lineStart explicitly.
  • parser/Nodes.cpp:

(JSC::StatementNode::setLoc):

  • Use JSTextPosition instead of passing line and lineStart explicitly.
  • parser/Nodes.h:

(JSC::Node::lineNo):
(JSC::Node::startOffset):
(JSC::Node::lineStartOffset):
(JSC::Node::position):
(JSC::ThrowableExpressionData::ThrowableExpressionData):
(JSC::ThrowableExpressionData::setExceptionSourceCode):
(JSC::ThrowableExpressionData::divot):
(JSC::ThrowableExpressionData::divotStart):
(JSC::ThrowableExpressionData::divotEnd):
(JSC::ThrowableSubExpressionData::ThrowableSubExpressionData):
(JSC::ThrowableSubExpressionData::setSubexpressionInfo):
(JSC::ThrowableSubExpressionData::subexpressionDivot):
(JSC::ThrowableSubExpressionData::subexpressionStart):
(JSC::ThrowableSubExpressionData::subexpressionEnd):
(JSC::ThrowablePrefixedSubExpressionData::ThrowablePrefixedSubExpressionData):
(JSC::ThrowablePrefixedSubExpressionData::setSubexpressionInfo):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionDivot):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionStart):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionEnd):

  • Use JSTextPosition instead of passing line and lineStart explicitly.
  • parser/Parser.cpp:

(JSC::::Parser):
(JSC::::parseInner):

  • Use JSTextPosition instead of passing line and lineStart explicitly.

(JSC::::didFinishParsing):

  • Remove setting of m_lastLine value. We always pass in the value from m_lastLine anyway. So, this assignment is effectively a nop.

(JSC::::parseVarDeclaration):
(JSC::::parseVarDeclarationList):
(JSC::::parseForStatement):
(JSC::::parseBreakStatement):
(JSC::::parseContinueStatement):
(JSC::::parseReturnStatement):
(JSC::::parseThrowStatement):
(JSC::::parseWithStatement):
(JSC::::parseTryStatement):
(JSC::::parseBlockStatement):
(JSC::::parseFunctionDeclaration):
(JSC::LabelInfo::LabelInfo):
(JSC::::parseExpressionOrLabelStatement):
(JSC::::parseExpressionStatement):
(JSC::::parseAssignmentExpression):
(JSC::::parseBinaryExpression):
(JSC::::parseProperty):
(JSC::::parsePrimaryExpression):
(JSC::::parseMemberExpression):
(JSC::::parseUnaryExpression):

  • Use JSTextPosition instead of passing line and lineStart explicitly.
  • parser/Parser.h:

(JSC::Parser::next):
(JSC::Parser::nextExpectIdentifier):
(JSC::Parser::getToken):
(JSC::Parser::tokenStartPosition):
(JSC::Parser::tokenEndPosition):
(JSC::Parser::lastTokenEndPosition):
(JSC::::parse):

  • Use JSTextPosition instead of passing line and lineStart explicitly.
  • parser/ParserTokens.h:

(JSC::JSTextPosition::JSTextPosition):
(JSC::JSTextPosition::operator+):
(JSC::JSTextPosition::operator-):
(JSC::JSTextPosition::operator int):

  • Added JSTextPosition.
  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::makeFunctionCallNode):
(JSC::SyntaxChecker::makeAssignNode):
(JSC::SyntaxChecker::makePrefixNode):
(JSC::SyntaxChecker::makePostfixNode):
(JSC::SyntaxChecker::makeDeleteNode):
(JSC::SyntaxChecker::createResolve):
(JSC::SyntaxChecker::createBracketAccess):
(JSC::SyntaxChecker::createDotAccess):
(JSC::SyntaxChecker::createRegExp):
(JSC::SyntaxChecker::createNewExpr):
(JSC::SyntaxChecker::createAssignResolve):
(JSC::SyntaxChecker::createForInLoop):
(JSC::SyntaxChecker::createReturnStatement):
(JSC::SyntaxChecker::createBreakStatement):
(JSC::SyntaxChecker::createContinueStatement):
(JSC::SyntaxChecker::createWithStatement):
(JSC::SyntaxChecker::createLabelStatement):
(JSC::SyntaxChecker::createThrowStatement):
(JSC::SyntaxChecker::appendBinaryExpressionInfo):
(JSC::SyntaxChecker::operatorStackPop):

  • Use JSTextPosition instead of passing line and lineStart explicitly.

LayoutTests:

Added regression test cases from https://bugs.webkit.org/show_bug.cgi?id=118662
and https://bugs.webkit.org/show_bug.cgi?id=118664.

  • fast/js/line-column-numbers-expected.txt:
  • fast/js/line-column-numbers.html:
  • fast/js/script-tests/line-column-numbers.js:

(try.toFuzz1):
(try.toFuzz2):

9:33 AM Changeset in webkit [153476] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Added include directories to Visual Studio for WebGL.
https://bugs.webkit.org/show_bug.cgi?id=119161

Reviewed by Brent Fulgham.

  • WebCore.vcxproj/WebCoreCommon.props: Added more include directories.
9:32 AM Changeset in webkit [153475] by Csaba Osztrogonác
  • 12 edits in trunk/Source/WebCore

Unreviewed, rolling out r151957 and r152531.
http://trac.webkit.org/changeset/151957
http://trac.webkit.org/changeset/152531
https://bugs.webkit.org/show_bug.cgi?id=119267

They revealed a bug on Mac I can't fix (Requested by Ossy on
#webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-07-30

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::frameIsCompleteAtIndex):
(WebCore::BitmapImage::frameDurationAtIndex):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::frameHasAlphaAtIndex):
(WebCore::ImageSource::frameIsCompleteAtIndex):

  • platform/graphics/ImageSource.h:
  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::frameIsCompleteAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::frameHasAlphaAtIndex):

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/image-decoders/ImageDecoder.cpp:

(WebCore::ImageDecoder::frameHasAlphaAtIndex):

  • platform/image-decoders/ImageDecoder.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::gifComplete):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::initFrameBuffer):

  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/gif/GIFImageReader.h:

(GIFImageReader::frameContext):

9:26 AM Changeset in webkit [153474] by simon.pena@samsung.com
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed gardening. Updated TestExpectations

  • platform/gtk/TestExpectations: Mark transitions/created-while-suspended.html

as slow after r153396.

9:18 AM Changeset in webkit [153473] by commit-queue@webkit.org
  • 3 edits in trunk/WebKitLibraries

Missing the rename REGISTER_PROCOTOL_HANDLER Macro to NAVIGATOR_CONTENT_UTILS in WebKitLibraries.
https://bugs.webkit.org/show_bug.cgi?id=119239

According to "https://bugs.webkit.org/show_bug.cgi?id=94920", REGISTER_PROCOTOL_HANDLER macro was changed to NAVIGATOR_CONTENT_UTILS.
But, FeatureDefines.props and FeatureDefinesCairo.props was not changed.

Patch by Sanghyun Park <sh919.park@samsung.com> on 2013-07-30
Reviewed by Brent Fulgham.

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
8:38 AM WebKitGTK/2.0.x edited by brian.holt@samsung.com
added ​https://bugs.webkit.org/show_bug.cgi?id=119258 to 2.0.5 (diff)
7:12 AM Changeset in webkit [153472] by simon.pena@samsung.com
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed gardening. Update TestExpectations

Some GTK tests are flaky or time out after the FTL merge.

  • platform/gtk/TestExpectations:
6:52 AM Changeset in webkit [153471] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: doesn't use localized user interface at remote inspector
https://bugs.webkit.org/show_bug.cgi?id=119252

Patch by Roland Takács <rtakacs@inf.u-szeged.hu> on 2013-07-30
Reviewed by Timothy Hatcher.

Added a flag in order to not use localizedStrings in remote inspector.

  • UserInterface/InspectorFrontendHostStub.js:
  • UserInterface/LoadLocalizedStrings.js:
  • UserInterface/Main.js:

(WebInspector.UIString):

6:51 AM Changeset in webkit [153470] by Christophe Dumez
  • 2 edits in trunk/Tools

[EFL] REGRESSION after r153439: layout tests do not run.
https://bugs.webkit.org/show_bug.cgi?id=119240

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-07-30
Reviewed by Christophe Dumez.

Changed attribute name from check_xvfb to check_driver.

  • Scripts/webkitpy/port/efl.py:

(EflPort.check_sys_deps):

6:49 AM Changeset in webkit [153469] by kseo@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove using namespace std from SpatialNavigation
https://bugs.webkit.org/show_bug.cgi?id=119242

Reviewed by Antonio Gomes.

"using namespace" statements in headers are dangerous and should be
avoided. check-webkit-style has been changed to flag them as an error
since r152719. Use explicit std:: qualifiers instead.

No behavior change, no new tests needed.

  • page/SpatialNavigation.cpp:

(WebCore::scrollInDirection):

  • page/SpatialNavigation.h:

(WebCore::maxDistance):

6:38 AM Changeset in webkit [153468] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] fast/regions/firstletter-inside-flowthread.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=106592

Unreviewed gardening.

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-07-30

  • platform/gtk/TestExpectations: Unflag test as it is passing without

problems now.

6:34 AM Changeset in webkit [153467] by kadam@inf.u-szeged.hu
  • 2 edits in trunk

[Qt] Workaround to make syncqt run and generate forwarding headers in SVN repositories too.
https://bugs.webkit.org/show_bug.cgi?id=118725.

Reviewed by Tor Arne Vestbø.

  • .qmake.conf:
6:14 AM Changeset in webkit [153466] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update NEWS and Versions.m4 for 2.1.4 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.1.4.
5:12 AM Changeset in webkit [153465] by Antoine Quint
  • 2 edits in trunk/LayoutTests

[Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
https://bugs.webkit.org/show_bug.cgi?id=113094

The test can-read-in-copy-and-cut-events.html now passes on mac-wk2.

  • platform/mac/TestExpectations:
5:01 AM Changeset in webkit [153464] by Simon Hausmann
  • 2 edits in trunk/Source/WebCore

[Qt][Win] Extend disabling of whole-program-optimizations to MSVC 2012
https://bugs.webkit.org/show_bug.cgi?id=119238

Reviewed by Jocelyn Turcotte.

As suggested in https://bugreports.qt-project.org/browse/QTBUG-20556,
the WebKit build with MSVC 2012 is affected by the same size
limitations.

  • WebCore.pri:
4:42 AM Changeset in webkit [153463] by Antoine Quint
  • 2 edits in trunk/LayoutTests

Mark compositing/patterns tests as passing for mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=119246

These tests run fine on WK2.

  • platform/mac-wk2/TestExpectations:
4:23 AM Changeset in webkit [153462] by Antoine Quint
  • 1 edit in trunk/LayoutTests/platform/mac/TestExpectations

REGRESSION: iframes with composited contents are not transparent in WK1
https://bugs.webkit.org/show_bug.cgi?id=76478

Unskip these tests since the root cause has been fixed long ago already.

4:14 AM Changeset in webkit [153461] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore
REGRESION(r151091) ASSERTION FAILED: m_readableData
m_writableData

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

Reviewed by Jocelyn Turcotte.

Remove invalid assert.

Covered by existing tests.

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::readData):

Jul 29, 2013:

11:42 PM Changeset in webkit [153460] by Carlos Garcia Campos
  • 13 edits in trunk/Source

Unreviewed. Fix make distcheck.

Source/JavaScriptCore:

  • GNUmakefile.list.am: Add missing files to compilation.
  • bytecode/CodeBlock.cpp: Add a ENABLE(FTL_JIT) #if block to

include FTL header files not included in the compilation.

  • dfg/DFGDriver.cpp: Ditto.
  • dfg/DFGPlan.cpp: Ditto.

Source/ThirdParty/ANGLE:

  • GNUmakefile.am: Add missing header files to compilation.

Source/WebCore:

  • GNUmakefile.list.am: Add missing header file to compilation.

Source/WebKit2:

  • GNUmakefile.list.am: Add missing header file to compilation.

Source/WTF:

  • GNUmakefile.list.am: Add missing files to compilation.
9:51 PM Changeset in webkit [153459] by Lucas Forschler
  • 8 edits in branches/safari-537-branch/Source/WebKit2

Merged r153458. <rdar://problem/14568841>

9:45 PM Changeset in webkit [153458] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit2

[wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowChangesSync
https://bugs.webkit.org/show_bug.cgi?id=119225
<rdar://problem/14568841>

Reviewed by Simon Fraser.

Tell CoreAnimation to flush the implicit transaction before replying
when using endDeferringViewInWindowChangesSync, as that method's contract
is that the WebProcess is totally ready to be in-window when it returns.

  • UIProcess/API/mac/WKView.mm:

(-[WKView endDeferringViewInWindowChanges]):
Adopt viewInWindowStateDidChange.

(-[WKView endDeferringViewInWindowChangesSync]):
Adopt viewInWindowStateDidChange, asking it to send a reply only if we're going to wait for one.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::viewInWindowStateDidChange):
(WebKit::WebPageProxy::viewStateDidChange):
Pull viewInWindowStateDidChange out of viewStateDidChange.
Request a reply from SetIsInWindow if we're told to.

  • UIProcess/WebPageProxy.h: Add WantsReplyOrNot and viewInWindowStateDidChange.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didUpdateInWindowStateTimerFired):
Don't build this version on Mac, we'll have a WebPageMac version.

(WebKit::WebPage::setIsInWindow):
Only start the timer to send the didUpdateInWindowState reply if we're asked to.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Add an argument to the SetIsInWindow message for whether the WebProcess
should inform the UIProcess when SetIsInWindow completes or not.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::didUpdateInWindowStateTimerFired):
Tell CA to flush the implicit transaction before telling the UIProcess that
we're finished moving in-window.

9:33 PM Changeset in webkit [153457] by commit-queue@webkit.org
  • 14 edits
    3 adds in trunk

Eager stack trace for error objects.
https://bugs.webkit.org/show_bug.cgi?id=118918

Source/JavaScriptCore:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-07-29
Reviewed by Geoffrey Garen.

Chrome and Firefox give error objects the stack property and we wanted to match
that functionality. This allows developers to see the stack without throwing an object.

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::finishCreation):

For error objects that are not thrown as an exception, we pass the stackTrace in
as a parameter. This allows the error object to have the stack property.

  • interpreter/Interpreter.cpp:

(JSC::stackTraceAsString):
Helper function used to eliminate duplicate code.

(JSC::Interpreter::addStackTraceIfNecessary):
When an error object is created by the user the vm->exceptionStack is not set.
If the user throws this error object later the stack that is in the error object
may not be the correct stack for the throw, so when we set the vm->exception stack,
the stack property on the error object is set as well.

  • runtime/ErrorConstructor.cpp:

(JSC::constructWithErrorConstructor):
(JSC::callErrorConstructor):

  • runtime/NativeErrorConstructor.cpp:

(JSC::constructWithNativeErrorConstructor):
(JSC::callNativeErrorConstructor):
These functions indicate that the user created an error object. For all error objects
that the user explicitly creates, the topCallFrame is at a new frame created to
handle the user's call. In this case though, the error object needs the caller's
frame to create the stack trace correctly.

  • interpreter/Interpreter.h:
  • runtime/ErrorInstance.h:

(JSC::ErrorInstance::create):

LayoutTests:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-07-29
Reviewed by Geoffrey Garen.

Added tests to ensure that the stack property was present at creation for all
error Objects. This test will fail without this patch.

  • fast/js/script-tests/stack-at-creation-for-error-objects.js: Added.

(checkStack):

  • fast/js/stack-at-creation-for-error-objects-expected.txt: Added.
  • fast/js/stack-at-creation-for-error-objects.html: Added.
  • inspector/console/console-format-expected.txt:
  • inspector/console/console-format.html:

This test was modified by removing the error object from being evaluated. Prior to this patch
error objects did not have the stack property, so the stack information was not being
displayed. The stack trace includes a file path specific to the machine that is running
the test. The results would have differed from one computer to the next. There
is not an easy way to capture the error object to treat it differently. By removing
the error object there is no need to add extra code to treat it differently.
Also there are other tests inside inspector/console that test the stack trace,
so the testing suite does not lose error testing by removing it.

The .stack property was added to the error objects at creation time.

  • fast/js/exception-properties-expected.txt:
  • fast/js/script-tests/exception-properties.js:

The column numbers are modified in the following test. When error objects are explicitly
invoked, the column number points to the beginning "(" instead of end ")".
Functionality between browsers do not match either. Firefox does not output column
numbers. Chrome points columns numbers to the beginning of the "new" call.

  • fast/js/line-column-numbers-expected.txt:
  • fast/js/stack-trace-expected.txt:
9:14 PM Changeset in webkit [153456] by kseo@webkit.org
  • 2 edits in trunk/Source/WebCore

[Gtk] Improve string use in PasteboardGtk
https://bugs.webkit.org/show_bug.cgi?id=119204

Reviewed by Martin Robinson.

Use emptyString() instead of "" and use ASCIILiteral where appropriate.

No behavior change, no new tests needed.

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::documentFragment):
Use emptyString() instead of "".
(WebCore::Pasteboard::types):
Use ASCIILiteral where appropriate.

8:33 PM Changeset in webkit [153455] by mrowe@apple.com
  • 2 edits in trunk/Source/WTF

<rdar://problem/14528244> Tons of FastMalloc leaks reported by leaks of objects that have already been deallocated

Reviewed by Sam Weinig.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Mark objects in the transfer cache as being free.

6:15 PM Changeset in webkit [153454] by barraclough@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Some cleanup in PropertySlot
https://bugs.webkit.org/show_bug.cgi?id=119189

Reviewed by Geoff Garen.

PropertySlot represents a property in one of four states - value, getter, custom, or custom-index.
The state is currently tracked redundantly by two mechanisms - the custom getter function (m_getValue)
is set to a special value to indicate the type (other than custom), and the type is also tracked by
an enum - but only if cacheable. Cacheability can typically be determined by the value of m_offset
(this is invalidOffset if not cacheable).

  • Internally, always track the type of the property using an enum value, PropertyType.
  • Use m_offset to indicate cacheable.
  • Keep the external interface (CachedPropertyType) unchanged.
  • Better pack data into the m_data union.

Performance neutral.

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):

  • cachedPropertyType() -> isCacheable*()
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):

  • cachedPropertyType() -> isCacheable*()
  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):

  • cachedPropertyType() -> isCacheable*()
  • jit/JITStubs.cpp:

(JSC::tryCacheGetByID):

  • cachedPropertyType() -> isCacheable*()
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • cachedPropertyType() -> isCacheable*()
  • runtime/PropertySlot.cpp:

(JSC::PropertySlot::functionGetter):

  • refactoring described above.
  • runtime/PropertySlot.h:

(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::getValue):
(JSC::PropertySlot::isCacheable):
(JSC::PropertySlot::isCacheableValue):
(JSC::PropertySlot::isCacheableGetter):
(JSC::PropertySlot::isCacheableCustom):
(JSC::PropertySlot::cachedOffset):
(JSC::PropertySlot::customGetter):
(JSC::PropertySlot::setValue):
(JSC::PropertySlot::setCustom):
(JSC::PropertySlot::setCacheableCustom):
(JSC::PropertySlot::setCustomIndex):
(JSC::PropertySlot::setGetterSlot):
(JSC::PropertySlot::setCacheableGetterSlot):
(JSC::PropertySlot::setUndefined):
(JSC::PropertySlot::slotBase):
(JSC::PropertySlot::setBase):

  • refactoring described above.
6:10 PM Changeset in webkit [153453] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source/WebKit2

Merged r153449. <rdar://problem/14440207>

6:07 PM Changeset in webkit [153452] by Lucas Forschler
  • 4 edits in branches/safari-537-branch/Source/WebCore

Merged r153447. <rdar://problem/14556632>

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

Page count can be incorrect if there is a pending style recalc
https://bugs.webkit.org/show_bug.cgi?id=119232

Reviewed by Beth Dakin.

If style is changed in a way that schedules a style recalc on the Document,
and then Page::pageCount() is called, we may give the wrong answer because
the existing code only checked FrameView::needsLayout(), not whether a style
recale was pending.

Fix by having Page::pageCount() call updateLayoutIgnorePendingStylesheets()
as we do for other properties that require layer, and are exposed to JS
or via API.

  • page/Page.cpp:

(WebCore::Page::pageCount):

5:25 PM Changeset in webkit [153450] by achristensen@apple.com
  • 5 edits
    2 moves in trunk/Source/WebCore

Moved GLContext.cpp and .h out of cairo directory to be used by non-cairo ports.
https://bugs.webkit.org/show_bug.cgi?id=119223

Reviewed by Kenneth Rohde Christiansen.

  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Changed location of GLContext.cpp and GLContext.h.

  • platform/graphics/GLContext.cpp: Copied from WebCore/platform/graphics/cairo/GLContext.cpp.
  • platform/graphics/GLContext.h: Copied from WebCore/platform/graphics/cairo/GLContext.h.
  • platform/graphics/cairo/GLContext.cpp: Removed.
  • platform/graphics/cairo/GLContext.h: Removed.
5:20 PM Changeset in webkit [153449] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Null deref under PluginView::handlesPageScaleFactor()
https://bugs.webkit.org/show_bug.cgi?id=119231
<rdar://problem/14440207>

Reviewed by Simon Fraser.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::handlesPageScaleFactor):

  • WebProcess/Plugins/PluginView.h:

Null-check m_plugin and check m_isInitialized.
Make pageScaleFactor() and handlesPageScaleFactor const.

5:15 PM Changeset in webkit [153448] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

TextTrackRepresentation captions often disappear then appear again.
https://bugs.webkit.org/show_bug.cgi?id=119228

Reviewed by Simon Fraser.

Calling updateTextTrackDisplay() will cause the entire DOM subtree containing the active cues
to be torn down and rebuilt. Only call into this method when text tracks have actually changed.

Add an enum parameter to configureTextTrackDisplay() which allows the caller to specify that
method should assume that the list of visible text tracks has changed, forcing a call to
updateTextTrackDisplay().

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Remove the unnecessary call to updateTextTrackDisplay().
(WebCore::HTMLMediaElement::textTrackModeChanged): Pass AssumeVisibleTextTracksChanged to configureTextTrackDisplay().
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Check the passed flags and exit early only if

AssumeVisibleTextTracksChanged is not set.

  • html/HTMLMediaElement.h:
5:12 PM Changeset in webkit [153447] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Fix crash due to unexpected Node deletion during MutationObserver registration book-keeping
https://bugs.webkit.org/show_bug.cgi?id=119124

Reviewed by Sam Weinig.

Merge https://chromium.googlesource.com/chromium/blink/+/b6afb927695b3acf2c75c25f05e99682660993e2

No new tests since I could not reproduce the crash with the test attached in the Blink change.

The bug was caused by Node::unregisterMutationObserver removing the MutationObserverRegistration
that holds the last ref to the node. Avoid that by explicitly allocating a local RefPtr to the node
in MutationObserverRegistration::unregister. Also rename it to unregisterAndDelete to clarify
the semantics and make it a static member function to be even safer.

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::disconnect):

  • dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::unregisterAndDelete):

  • dom/MutationObserverRegistration.h:
4:57 PM Changeset in webkit [153446] by Lucas Forschler
  • 8 edits in branches/safari-537-branch/Source/JavaScriptCore

Merged r153071. <rdar://problem/14583789>

4:31 PM Changeset in webkit [153445] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r153418. <rdar://problem/14572855>

4:00 PM Changeset in webkit [153444] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r152860.
http://trac.webkit.org/changeset/152860
https://bugs.webkit.org/show_bug.cgi?id=119227

Disable WinEWS tests until tests stop crashing (Requested by
rfong on #webkit).

  • Scripts/webkitpy/common/config/ews.json:
3:40 PM Changeset in webkit [153443] by achristensen@apple.com
  • 2 edits
    2 moves in trunk/Source/WebCore

Moved GLTransportSurface.h and .cpp out of efl-specific directory.
https://bugs.webkit.org/show_bug.cgi?id=119163

Reviewed by Alexis Menard.

  • PlatformEfl.cmake: Changed directory of GLTransportSurface.cpp.
  • platform/graphics/surfaces/GLTransportSurface.cpp: Copied from WebCore/platform/graphics/surfaces/efl/GLTransportSurface.cpp.
  • platform/graphics/surfaces/GLTransportSurface.h: Copied from WebCore/platform/graphics/surfaces/efl/GLTransportSurface.h.
  • platform/graphics/surfaces/efl/GLTransportSurface.cpp: Removed.
  • platform/graphics/surfaces/efl/GLTransportSurface.h: Removed.
2:55 PM Changeset in webkit [153442] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source/JavaScriptCore

Merge patch from <rdar://problem/14579343>

2:25 PM Changeset in webkit [153441] by achristensen@apple.com
  • 3 edits
    1 add in trunk/Source/WebCore

Speculative implementation of missing GraphicsContext3D methods on Windows.
https://bugs.webkit.org/show_bug.cgi?id=119167

Reviewed by Dean Jackson.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • platform/graphics/win/GraphicsContext3DWin.cpp: Added.

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::setContextLostCallback):
(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
(WebCore::GraphicsContext3D::platformTexture):
(WebCore::GraphicsContext3D::isGLES2Compliant):
(WebCore::GraphicsContext3D::platformLayer):

1:10 PM Changeset in webkit [153440] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

Reintroduce convenience CheckedInt*, CheckedUint* types
https://bugs.webkit.org/show_bug.cgi?id=119213

Reviewed by Oliver Hunt.

Reintroduce CheckedInt* and CheckedUint* types that were previously provided for convenience
through the CheckedInt header that was removed in r153095. The types are now based on the
Checked class, using the RecordOverflow class as the overflow handler.

  • wtf/CheckedArithmetic.h:
1:09 PM Changeset in webkit [153439] by zandobersek@gmail.com
  • 4 edits
    1 add in trunk/Tools

[GTK] Add WestonDriver, use it when appropriate
https://bugs.webkit.org/show_bug.cgi?id=119100

Reviewed by Dirk Pranke.

Introduce the WestonDriver, a Driver-implementing class that sets up an instance of Weston, the Wayland compositor,
and sets up an environment that enables the test runner to run inside it.

The design very much mimics the XvfbDriver class. It is currently used by the GTK port when the WAYLAND_DISPLAY
environment variable is set, that is when NRWT is being run under a Wayland display.

  • Scripts/webkitpy/port/base.py:

(Port.to.setup_environ_for_server): Also copy the XDG_RUNTIME_DIR env from the original environment for Linux-using ports.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort):
(GtkPort._driver_class): Make the method memoized - the display type is not going to change during the testing, so we
should only check once for the presence of the WAYLAND_DISPLAY env and determine the proper driver class to use based on that.
(GtkPort.check_sys_deps): Call the static check_driver method on the class as returned by the _driver_class method
instead of hard-coding the XvfbDriver class in the check.

  • Scripts/webkitpy/port/westondriver.py: Added.

(WestonDriver):
(WestonDriver.check_driver): Similarly to XvfbDriver, this checks for existance of the weston executable.
(WestonDriver.init): Again, like in XvfbDriver, we use a small delay between launching the Weston display and launching the driver.
(WestonDriver._start): Sets up the driver-specific temporary directory, launches the Weston display, sets up the environment for the
driver and then launches the driver in said environment, using the driver's Weston display.
(WestonDriver.stop): Cleans up the Weston instance and the temporary directory.
(WestonDriver._ensure_driver_tmpdir_subdirectory): A helper function that creates a subdirectory in the driver's temporary directory
and returns the absolute path to it.

  • Scripts/webkitpy/port/xvfbdriver.py:

(XvfbDriver.check_driver): Renamed from check_xvfb.
(XvfbDriver._start): Access the FileSystem object through the Port's Host object, instead of the Port's private member.

12:25 PM Changeset in webkit [153438] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Max IOSurfaceDimension should be an inclusive upper bound
https://bugs.webkit.org/show_bug.cgi?id=119206
<rdar://problem/14555311>

Reviewed by Simon Fraser.

The maxIOSurfaceDimension value should be an inclusive upper bound.
Change the greater than or equal to into a greater than. This will
allow canvas elements of this dimension to be accelerated.

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer): Change >= to >

12:20 PM Changeset in webkit [153437] by commit-queue@webkit.org
  • 4 edits
    6 adds
    4 deletes in trunk/LayoutTests

[CSS Shapes] New positioning model: update percentage rectangle and inset rectangle tests
https://bugs.webkit.org/show_bug.cgi?id=118086

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-07-29
Reviewed by Dirk Schulze.

Update percentage based tests to work with the new positioning model.
Also move the tests to be W3C spec tests, so they have been impored
back here from the CSSWG repo.

  • TestExpectations: Remove skipping for replaced tests.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html: Added.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html: Added.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html: Added.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html: Added.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html: Added.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html: Added.
  • csswg/submitted/shapes/shape-outside/w3c-import.log:
  • fast/shapes/shape-outside-floats/shape-outside-floats-simple-inset-rectangle-percentage-expected.html: Removed.
  • fast/shapes/shape-outside-floats/shape-outside-floats-simple-inset-rectangle-percentage.html: Removed.
  • fast/shapes/shape-outside-floats/shape-outside-floats-simple-rectangle-percentage-expected.html: Removed.
  • fast/shapes/shape-outside-floats/shape-outside-floats-simple-rectangle-percentage.html: Removed.
11:51 AM Changeset in webkit [153436] by achristensen@apple.com
  • 7 edits
    8 adds
    2 deletes in trunk/Source

Source/ThirdParty/ANGLE: Separated translator into preprocessor, translator_common,
translator_hlsl (for libGLESv2), and translator_glsl
(for ANGLEWebKitBridge).
https://bugs.webkit.org/show_bug.cgi?id=119221

Reviewed by Brent Fulgham.

  • ANGLE.vcxproj/ANGLEGenerated.vcxproj:

Removed unused preprocessor definitions.

  • ANGLE.vcxproj/libEGL.vcxproj:
  • ANGLE.vcxproj/libGLESv2.vcxproj:

Removed dependency on removed translator project.

  • ANGLE.vcxproj/libGLESv2Common.props:

Link to translator_hlsl libraries.

  • ANGLE.vcxproj/preprocessor.vcxproj: Added.
  • ANGLE.vcxproj/preprocessor.vcxproj.filters: Added.
  • ANGLE.vcxproj/translator.vcxproj: Removed.
  • ANGLE.vcxproj/translator.vcxproj.filters: Removed.
  • ANGLE.vcxproj/translator_common.vcxproj: Added.
  • ANGLE.vcxproj/translator_common.vcxproj.filters: Added.
  • ANGLE.vcxproj/translator_glsl.vcxproj: Added.
  • ANGLE.vcxproj/translator_glsl.vcxproj.filters: Added.
  • ANGLE.vcxproj/translator_hlsl.vcxproj: Added.
  • ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Added.

Source/WebKit: Separated translator into preprocessor, translator_common,
translator_hlsl (for libGLESv2), and translator_glsl (for ANGLEWebKitBridge).
These projects are still not built by default.
https://bugs.webkit.org/show_bug.cgi?id=119221

Reviewed by Brent Fulgham.

  • WebKit.vcxproj/WebKit.sln:

Added separate ANGLE translator projects.

11:26 AM Changeset in webkit [153435] by mario@webkit.org
  • 6 edits
    3 adds in trunk

[ATK] Implement attributesOfChildren() for AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=118967

Reviewed by Gustavo Noronha Silva.

Tools:

Implemented AccessibilityUIElement::attributesOfChildren() both
in DumpRenderTree and the WebKitTestRunner.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::attributesOfChildren): Implemented.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::attributesOfChildren): Implemented.

LayoutTests:

Removed fixed tests from TestExpectations and added/updated expected
results for tests that are now dumping more useful information.

  • platform/gtk/TestExpectations: Removed three fixed tests.
  • platform/gtk/accessibility/image-map2-expected.txt: Updated.
  • platform/gtk/accessibility/lists-expected.txt: Added.
  • platform/gtk/accessibility/plugin-expected.txt: Added.
  • platform/gtk/accessibility/table-with-aria-role-expected.txt: Added.
11:10 AM Changeset in webkit [153434] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Remove setUnderlayPage() and associated code
https://bugs.webkit.org/show_bug.cgi?id=119220
<rdar://problem/14392426>

Reviewed by Jessie Berlin.

This is dead code, get rid of it.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::close):
(WebKit::WebPage::layoutIfNeeded):
(WebKit::WebPage::drawRect):

  • WebProcess/WebPage/WebPage.h:
10:45 AM Changeset in webkit [153433] by reni@webkit.org
  • 3 edits
    2 adds in trunk

ASSERT_NOT_REACHED was touched in WebCore::SVGAnimatedType::valueAsString
https://bugs.webkit.org/show_bug.cgi?id=118744

Reviewed by Philip Rogers.

Source/WebCore:

If we have an <animateTransform> tag that sets the attributeName and attributeType
properties however they are not consistent and we shouldn't try to apply it.
It is already checked and catched in SVGAnimateElement::resetAnimatedType() but
DontApplyAnimation case isn't handled properly. The patch forces an early return
in this case.

Test: svg/animations/attributeNameAndAttributeTypeMissmatch.svg

  • svg/SVGAnimateElement.cpp:

(WebCore::SVGAnimateElement::resetAnimatedType):

LayoutTests:

Adding test to check whether attributeName and attributeType are consistent in <animateTransform>.

  • platform/qt/svg/animations/attributeNameAndAttributeTypeMissmatch-expected.txt: Added.
  • svg/animations/attributeNameAndAttributeTypeMissmatch.svg: Added.
10:16 AM Changeset in webkit [153432] by mario@webkit.org
  • 8 edits
    4 adds in trunk

[ATK] Implement allAttributes() for AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=118966

Reviewed by Gustavo Noronha Silva.

Tools:

Implemented AccessibilityUIElement::allAttributes() both in
DumpRenderTree and the WebKitTestRunner.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(getAtkAttributeSetAsString): Moved up in the file, and refactored
to use StringBuilder and return a String instead of a gchar*.
(roleToString): Changed not to return the "AXRole: " prefix, so
we can use it as well from attributesOfElement().
(attributesOfElement): New function to dump attributes for an object.
(AccessibilityUIElement::allAttributes): Call attributesOfElement().
(AccessibilityUIElement::role): Updated to prefix "AXRole: ".

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(getAtkAttributeSetAsString): Refactored to use StringBuilder and return
a String instead of a gchar*.

(WTF::roleToString): Changed not to return the "AXRole: " prefix,
so we can use it as well from attributesOfElement().
(WTF::attributesOfElement): New function to dump attributes for an object.
(WTR::AccessibilityUIElement::allAttributes): Call attributesOfElement().
(WTR::AccessibilityUIElement::role): Updated to prefix "AXRole: ".

LayoutTests:

Removed fixed tests from TestExpectations and added/updated expected
results for tests that are now dumping more useful information.

  • platform/gtk/TestExpectations: Removed four fixed tests.
  • platform/gtk/accessibility/image-link-expected.txt: Updated.
  • platform/gtk/accessibility/table-cell-spans-expected.txt: Updated
  • platform/gtk/accessibility/table-cells-expected.txt: Updated
  • platform/gtk/accessibility/table-detection-expected.txt: Added.
  • platform/gtk/accessibility/table-one-cell-expected.txt: Added.
  • platform/gtk/accessibility/table-with-rules-expected.txt: Added.
  • platform/gtk/accessibility/transformed-element-expected.txt: Added.
10:10 AM Changeset in webkit [153431] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(148300) GIFs not reanimated after resumeActiveDOMObjectAndAnimations
https://bugs.webkit.org/show_bug.cgi?id=119217

Reviewed by Tim Horton.

Commit 148300 introduced a new better was of restarting GIF animations after
they have been suspended. Unfortunately the method was not activated when a page
is resumed but only when it is returning from background.

This fixes GIF animations that are stopped during user interaction on Qt and other
platforms using suspendActiveDOMObjectAndAnimations.

  • page/Frame.cpp:

(WebCore::Frame::resumeActiveDOMObjectsAndAnimations):

9:35 AM Changeset in webkit [153430] by dbates@webkit.org
  • 2 edits in trunk/Tools

Add support infrastructure for iOS WebKit port
https://bugs.webkit.org/show_bug.cgi?id=119168

Reviewed by Ryosuke Niwa.

Implement support infrastructure towards building iOS WebKit.

  • Scripts/webkitdirs.pm:

(xcodeSDKPlatformName): Added.
(determineConfigurationProductDir):
(builtDylibPathForName):
(willUseIOSDeviceSDKWhenBuilding): Added.
(willUseIOSSimulatorSDKWhenBuilding): Added.
(isIOSWebKit): Added.
(copyInspectorFrontendFiles):

9:34 AM Changeset in webkit [153429] by achristensen@apple.com
  • 4 edits in trunk/Source/WebCore

Made EGL useable by non-cairo ports.
https://bugs.webkit.org/show_bug.cgi?id=119177

Reviewed by Brent Fulgham.

  • platform/graphics/cairo/GLContext.h:
  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::GLContextEGL):

  • platform/graphics/egl/GLContextEGL.h:

Protected Cairo-specific code with #if USE(CAIRO)

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

CoordinatedGraphics: Add API to get and set the active state of a WebView
https://bugs.webkit.org/show_bug.cgi?id=119067

Patch by Sergio Correia <Sergio Correia> on 2013-07-29
Reviewed by Noam Rosenthal.

Source/WebCore:

Added a method to return whether a scene is active or not.

No new tests, no behavior change.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

(WebCore::CoordinatedGraphicsScene::isActive): Added method to return the
active state of the scene.

Source/WebKit2:

A view being in the "active" state generally means that it is not in the
"background", although this definition can vary depending on the platform
under consideration.

This patch adds the following APIs to WKView:

  • bool WKViewIsActive(WKViewRef)

This API accepts a WKViewRef as parameter and returns a boolean indicating
whether the given view is active.

  • void WKViewSetIsActive(WKViewRef, bool)

This API accepts a WKViewRef and a boolean as parameteres, and it sets the
active state of the given view to the given boolean argument.

  • UIProcess/API/C/CoordinatedGraphics/WKView.cpp:

(WKViewIsActive): API added.
(WKViewSetIsActive): Ditto.

  • UIProcess/API/C/CoordinatedGraphics/WKView.h: Export aforementioned API.
  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::initialize): Use new setActive method.
(WebKit::WebView::setActive): Added method to set the active state of the
view.
(WebKit::WebView::isActive): Added method to return the active state of
view.
(WebKit::WebView::enterAcceleratedCompositingMode): Use new setActive
method.
(WebKit::WebView::exitAcceleratedCompositingMode): Ditto.

  • UIProcess/CoordinatedGraphics/WebView.h: Added declarations of isActive

and setActive.

Tools:

Added API tests for WKViewIsActive and WKViewSetIsActive.

  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp: Added.

(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::webProcessCrashed):
(TestWebKitAPI::webProcessRelaunched):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive_Bundle.cpp:

Bundle added to allow crashing the WebProcess and testing the active state of a view
under such condition.
(TestWebKitAPI::WKViewIsActiveSetIsActiveTest::WKViewIsActiveSetIsActiveTest):
(TestWebKitAPI::WKViewIsActiveSetIsActiveTest::didReceiveMessage):

8:46 AM Changeset in webkit [153427] by mario@webkit.org
  • 4 edits in trunk/Source

[ATK] Issues with edge cases when getting offsets for a text range in AtkText
https://bugs.webkit.org/show_bug.cgi?id=118908

Reviewed by Martin Robinson.

Source/WebCore:

Reimplement getSelectionOffsetsForObject() just in term of
Positions instead of using ranges, which makes it simpler and
works better. Also, make sure we use the right Node as reference
for the accessibility object by getting the proper one both for
text control objects (e.g. input, text area) and normal ones.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getNodeForAccessibilityObject): New helper function to ensure we
always get the relevant object from the DOM tree for a given
accessibility object, in the context of the implementation of
AtkText, so it works both with Text Controls and other elements.
(getSelectionOffsetsForObject): Rewritten this function in terms
of VisiblePositions and avoiding weird operations with ranges, so
we have more control to fine tune the results and give more
accurate ones. Besides, now it works better with edge cases.

Source/WebKit/gtk:

  • tests/testatk.c:

(runGetTextTests): Updated unit tests to check more cases of
calling the atk_text_get_text_*_offset() functions for WORD.

8:36 AM Changeset in webkit [153426] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Remove duplicated LayerTreeHost::supportsAcceleratedCompositing
https://bugs.webkit.org/show_bug.cgi?id=118949

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-07-29
Reviewed by Noam Rosenthal.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  • WebProcess/WebPage/LayerTreeHost.h:

(WebKit::LayerTreeHost::supportsAcceleratedCompositing):

8:30 AM Changeset in webkit [153425] by Antoine Quint
  • 2 edits in trunk/LayoutTests

fast/spatial-navigation test fail on mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=96438

This test now passes on Mac so we don't need to skip it any longer.

Reviewed by Antonio Gomes.

  • platform/mac/TestExpectations:
7:37 AM Changeset in webkit [153424] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

Clean up DragImage
https://bugs.webkit.org/show_bug.cgi?id=118981

Reviewed by Anders Carlsson.

  • dom/Clipboard.h: Add forward declaration for the Range class. This was not necessary until now as the forward

declaration was introduced in the DragImage header, from where it's being removed due to not being required in that class.

  • page/Frame.h: Ditto.
  • platform/DragImage.cpp: Remove the unnecessary DragController and FontRenderingMode header inclusions.

The latter is already included in the header.

  • platform/DragImage.h: Remove the forward declaration for the Range class - it's not used by the DragImage class at all.
6:50 AM Changeset in webkit [153423] by kov@webkit.org
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

Updated Telugu [te] Translations for WebKitGTK+ HEAD
https://bugs.webkit.org/show_bug.cgi?id=117501

Patch by Krishnababu Krothapalli <k.meetme@gmail.com> on 2013-07-29
Reviewed by Gustavo Noronha.

  • te.po: Updated.
6:34 AM Changeset in webkit [153422] by kov@webkit.org
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] [mr] Updated WebKitGTK+ Translation(s) in Marathi [mr] language
https://bugs.webkit.org/show_bug.cgi?id=119001

Patch by Sandeep Shedmake <sandeep.shedmake@gmail.com> on 2013-07-29
Reviewed by Gustavo Noronha.

  • mr.po: Updated.
6:23 AM Changeset in webkit [153421] by zandobersek@gmail.com
  • 6 edits in trunk

[Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
https://bugs.webkit.org/show_bug.cgi?id=119212

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

  • GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)

variables that are not defined during the configuration process.

Tools:

  • GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)

variables that are not defined during the configuration process.

  • TestWebKitAPI/GNUmakefile.am: Ditto.
  • WebKitTestRunner/GNUmakefile.am: Ditto.
12:45 AM Changeset in webkit [153420] by kseo@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Improve string use in ErrorsEfl
https://bugs.webkit.org/show_bug.cgi?id=119207

Reviewed by Christophe Dumez.

Use ASCIILiteral for constant strings becoming WTFStrings.

No behavior change.

  • platform/efl/ErrorsEfl.cpp:

(WebCore::cancelledError):
(WebCore::blockedError):
(WebCore::cannotShowURLError):
(WebCore::interruptedForPolicyChangeError):
(WebCore::cannotShowMIMETypeError):
(WebCore::fileDoesNotExistError):
(WebCore::pluginWillHandleLoadError):
(WebCore::downloadCancelledByUserError):
(WebCore::printerNotFoundError):
(WebCore::invalidPageRangeToPrint):

12:17 AM Changeset in webkit [153419] by g.czajkowski@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Simplify context_menu_spelling_items_availability unit test
https://bugs.webkit.org/show_bug.cgi?id=119085

Reviewed by Gyuyoung Kim.

Use findContextMenuItem method to check whether the item
appears in context menu.

  • UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:

(EWK2TextCheckerTest::findContextMenuItem):
Do not report failure inside the method.
It doesn't allow to test the negative test cases.

(EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
Use findContextMenuItem method.

(EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
(EWK2TextCheckerTest::selectLearnSpelling):
(EWK2TextCheckerTest::selectIgnoreSpelling):
Verify the return value of findContextMenuItem.

(TEST_F):
Reset wasContextMenuShown variable, it's needed after r152153.
Use waitUntilTrue method.

Jul 28, 2013:

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

Don't update the text track override CSS every time a media element is created.
<http://webkit.org/b/119199>
<rdar://problem/14572855>

Reviewed by Darin Adler.

We should only have to update the CSS if the accessibility caption preferences are changed.
This was forcing a full style recalc in every Document any time a media element is instantiated.

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):

9:37 PM Changeset in webkit [153417] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-537-branch

Merged r153399. <rdar://problem/14549536>

9:27 PM Changeset in webkit [153416] by Lucas Forschler
  • 8 edits in branches/safari-537-branch/Source/WebKit2

Merged r153404. <rdar://problem/14444331>

9:22 PM Changeset in webkit [153415] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebKit2

Merged r153402. <rdar://problem/14517068>

8:08 PM Changeset in webkit [153414] by aestes@apple.com
  • 2 edits in trunk/Tools

Include <stdio.h> to declare perror()
https://bugs.webkit.org/show_bug.cgi?id=119198

Reviewed by Andreas Kling.

Silences an implicit declaration warning.

  • DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport.c:
6:16 PM Changeset in webkit [153413] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Stop exporting Widget::frameRectsChanged()
https://bugs.webkit.org/show_bug.cgi?id=119196

Reviewed by Darin Adler.

The definition is inlined in a private header, so there's no need to
export a symbol to link against. On the Mac, since we compile with
-fvisibility-inlines-hidden, removing the symbol from the export file
silences an ld warning about exporting a hidden symbol.

  • WebCore.exp.in: Removed ZN7WebCore6Widget17frameRectsChangedEv.
4:36 PM Changeset in webkit [153412] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Clean up CSSPrimitiveValue::equals a bit
https://bugs.webkit.org/show_bug.cgi?id=119195

Reviewed by Andreas Kling.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::equals):
This should not change behavior, but is quite a bit clearer.

3:08 PM Changeset in webkit [153411] by Antoine Quint
  • 2 edits in trunk/LayoutTests

fast/forms/input-in-table-cell-no-value.html fails on platform without ENABLE(INPUT_TYPE_DATE)
https://bugs.webkit.org/show_bug.cgi?id=90987

This test now passes on Mac so we don't need to skip it any longer.

Reviewed by Anders Carlsson.

  • platform/mac/TestExpectations:
11:04 AM Changeset in webkit [153410] by oliver@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION: Crash when opening Facebook.com
https://bugs.webkit.org/show_bug.cgi?id=119155

Reviewed by Andreas Kling.

Scope nodes are always objects, so we should be using SpecObjectOther
rather than SpecCellOther. Marking Scopes as CellOther leads to a
contradiction in the CFA, resulting in bogus codegen.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

Jul 27, 2013:

11:48 PM Changeset in webkit [153409] by ryuan.choi@samsung.com
  • 6 edits in trunk

[EFL] Bump required version of EFL to 1.7
https://bugs.webkit.org/show_bug.cgi?id=119144

Reviewed by Christophe Dumez.

.:

We have supported 1.6 for Tizen build since r137203.
But Tizen now supports 1.7+ after Tizen released 2.0.

  • Source/cmake/OptionsEfl.cmake:

Bumped EFL to 1.7 and removed promotion.

Source/WebCore:

  • platform/efl/FileSystemEfl.cpp: Removed workaround code which was fixed at Eina 1.7

(WebCore::listDirectory):

Tools:

  • MiniBrowser/efl/CMakeLists.txt: Bumped EFL to 1.7
10:14 PM Changeset in webkit [153408] by commit-queue@webkit.org
  • 19 edits in trunk/Source

Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
https://bugs.webkit.org/show_bug.cgi?id=119186

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-07-27
Reviewed by Anders Carlsson.

Source/WebCore:

Remove GraphicsLayer::create(GraphicsLayerClient*) function since it's
been deprecated by r130072.

  • WebCore.exp.in:
  • WebCore.order:
  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
  • platform/graphics/ca/GraphicsLayerCA.cpp:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

Source/WebKit/blackberry:

Replace GraphicsLayer::create calls and add a new function WebPagePrivate::graphicsLayerFactory().

  • Api/WebOverlay.cpp:

(BlackBerry::WebKit::WebOverlayPrivateWebKitThread::WebOverlayPrivateWebKitThread):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::graphicsLayerFactory):
(BlackBerry::WebKit::WebPagePrivate::overlayLayer):

  • Api/WebPage_p.h:
  • WebKitSupport/FrameLayers.cpp:

(BlackBerry::WebKit::FrameLayers::addLayer):

  • WebKitSupport/SelectionOverlay.cpp:

(BlackBerry::WebKit::SelectionOverlay::draw):

Source/WebKit/efl:

  • WebCoreSupport/AcceleratedCompositingContextEfl.cpp:

(WebCore::AcceleratedCompositingContext::attachRootGraphicsLayer):

Source/WebKit/qt:

  • WebCoreSupport/TextureMapperLayerClientQt.cpp:

(TextureMapperLayerClientQt::setRootGraphicsLayer):

Source/WebKit2:

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::getOrCreateLayer):

5:05 PM Changeset in webkit [153407] by ap@apple.com
  • 5 edits in trunk/Source/WebCore

HTMLParserScheduler gets into an inconsistent state when suspended for reasons
other than WillDeferLoading
https://bugs.webkit.org/show_bug.cgi?id=119172

Reviewed by Sam Weinig.

When loading is not deferred, even a suspended parser will be processing new data
from network, potentially starting its next chunk timer.

Limit suspending to when we can actually enforce it.

Here is what happens for each ReasonForSuspension:

  • JavaScriptDebuggerPaused: continuing to parse is probably wrong, but in practice,

this is unlikely to happen while debugging, and wasn't properly prevented before
this patch anyway.

  • WillDeferLoading: No change in behavior.
  • DocumentWillBecomeInactive: This is about page cache, and documents are only allowed

to be cached when fully loaded.

  • PageWillBeSuspended: This appears to be part of Frame::suspendActiveDOMObjectsAndAnimations()

implementation, I'm guessing that it is appropriate to continue loading.

  • dom/Document.cpp:

(WebCore::Document::suspendScheduledTasks):
(WebCore::Document::resumeScheduledTasks):
Only suspend/resume parsing when loading is deferred. This is not expressed directly,
but it's important to do this to avoid executing JS behind alerts and other modal dialogs.

  • html/parser/HTMLParserScheduler.h: Added m_suspended member variable for assertions.
  • html/parser/HTMLParserScheduler.cpp:

(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
(WebCore::HTMLParserScheduler::scheduleForResume):
(WebCore::HTMLParserScheduler::suspend):
(WebCore::HTMLParserScheduler::resume):
Update m_suspended and assert as appropriate. No behavior changes for release mode.

  • page/Frame.cpp: (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):

Added a FIXME.

5:04 PM Changeset in webkit [153406] by ap@apple.com
  • 6 edits in trunk/Source/WebCore

Make SuspendableTimer safer
https://bugs.webkit.org/show_bug.cgi?id=119127

Reviewed by Sam Weinig.

SuspendableTimer now enforces that it stays suspended until resumed (or until stopped
and started again). To ensure this, TimerBase is now a private base class, and parts of
its interface that clients use are reimplemented with suspend/resume in mind.

Derived classes are still allowed to override TimerBase virtual functions (notably
fired() and alignedFireTime()).

  • dom/DocumentEventQueue.cpp:

(WebCore::DocumentEventQueueTimer): Removed an extraneous WTF_MAKE_NONCOPYABLE,
TimerBase has it already.
(WebCore::DocumentEventQueueTimer::create): Use our normal create() pattern.
(WebCore::DocumentEventQueue::DocumentEventQueue): Made the constructor private, accordingly.
(WebCore::DocumentEventQueue::cancelEvent): Use SuspendableTimer::cancel(), which
is a new name to disambiguate TimerBase::stop() and ActiveDOMObject::stop().
(WebCore::DocumentEventQueue::close): Ditto.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::fired): Now that SuspendableTimer knows whether it's currently
suspended, assert that it's not.
(WebCore::DOMTimer::didStop): Separated ActiveDOMObject::stop() implementation from
additional cleanup, allowing for better SuspendableTimer encapsulation.

  • page/DOMTimer.h: Added FINAL and OVVERIDE specifiers as appropriate.
  • page/SuspendableTimer.h: Added FINAL (and OVERRIDE) qualifiers to ActiveDOMObject

methods. A derived class that wants to override current behavior is most likely not
a timer, and thus shouldn't be a derived class.
(WebCore::SuspendableTimer::isActive): SuspendableTimer with a next fire time is
active even if suspended, we shouldn't overwrite its saved data thinking that it's
inactive.
(WebCore::SuspendableTimer::isSuspended): Exposed to clients (m_suspended is no
longer debug only).

  • page/SuspendableTimer.cpp:

(WebCore::SuspendableTimer::SuspendableTimer): Updated for new variable names.
(WebCore::SuspendableTimer::stop): This is ActiveDOMObject::stop(), which is called
before final destruction. We don't track this state directly, but can approximate
with setting m_suspended, so even if someone tries to start the timer afterwards,
it won't fire.
(WebCore::SuspendableTimer::suspend): Updated for new names.
(WebCore::SuspendableTimer::resume): Ditto.
(WebCore::SuspendableTimer::didStop): No-op default implementation for client hook.
(WebCore::SuspendableTimer::cancel): Equivalent of TimerBase::stop(), which also
works when suspended.
(WebCore::SuspendableTimer::startRepeating): Replacement for TimerBase function with
the same name, which works correctly when suspended. We don't want to actually start
the timer in this case.
(WebCore::SuspendableTimer::startOneShot): Ditto.
(WebCore::SuspendableTimer::repeatInterval): Ditto.
(WebCore::SuspendableTimer::augmentFireInterval): Ditto.
(WebCore::SuspendableTimer::augmentRepeatInterval): Ditto.

4:53 PM Changeset in webkit [153405] by bshafiei@apple.com
  • 2 edits in branches/safari-537-branch/Source/ThirdParty

Merged r153403.

4:44 PM Changeset in webkit [153404] by Chris Fleizach
  • 8 edits in trunk/Source/WebKit2

AX: VoiceOver not working with data detection page overlays
https://bugs.webkit.org/show_bug.cgi?id=118680

Reviewed by Sam Weinig.

Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay.
This requires two methods in a new callback struct. One to copy the attribute names, and the other to
copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method
with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the
overlay at this time as there are no clients with such a need.

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:

(PageOverlayClientImpl::setAccessibilityClient):
(PageOverlayClientImpl::PageOverlayClientImpl):
(PageOverlayClientImpl::copyAccessibilityAttributeValue):
(PageOverlayClientImpl::copyAccessibilityAttributeNames):
(WKBundlePageOverlaySetAccessibilityClient):

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
  • WebProcess/WebPage/PageOverlay.cpp:

(WebKit::PageOverlay::copyAccessibilityAttributeValue):
(WebKit::PageOverlay::copyAccessibilityAttributeNames):

  • WebProcess/WebPage/PageOverlay.h:

(WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
(WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
(WebKit::PageOverlay::client):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue):
(WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

(-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
(-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

4:20 PM Changeset in webkit [153403] by mrowe@apple.com
  • 2 edits in trunk/Source/ThirdParty

Fix builds against an SDK.

  • gtest/xcode/Config/FrameworkTarget.xcconfig: Ensure that gtest.framework is installed

in a location compatible with the SDK generation process.

4:14 PM Changeset in webkit [153402] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

If entering fullscreen for a window fails, don't leave things in a bad state
https://bugs.webkit.org/show_bug.cgi?id=119179
<rdar://problem/14517068>

Reviewed by Sam Weinig.

On Lion, attempting to take a video fullscreen when the Safari window is already
fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen:

When this happens we have to undo the work done when entering fullscreen, to
avoid leaving things in a bad state.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):

3:23 PM Changeset in webkit [153401] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Add assertions for CSSPrimitiveValue's m_value.valueID accessor
https://bugs.webkit.org/show_bug.cgi?id=119180

Reviewed by Andreas Kling.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator CSSReflectionDirection):
(WebCore::CSSPrimitiveValue::operator ColumnSpan):
(WebCore::CSSPrimitiveValue::operator PrintColorAdjust):
(WebCore::CSSPrimitiveValue::operator EBorderStyle):
(WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
(WebCore::CSSPrimitiveValue::operator CompositeOperator):
(WebCore::CSSPrimitiveValue::operator ControlPart):
(WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
(WebCore::CSSPrimitiveValue::operator EFillAttachment):
(WebCore::CSSPrimitiveValue::operator EFillBox):
(WebCore::CSSPrimitiveValue::operator EFillRepeat):
(WebCore::CSSPrimitiveValue::operator EBoxPack):
(WebCore::CSSPrimitiveValue::operator EBoxAlignment):
(WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
(WebCore::CSSPrimitiveValue::operator BackgroundEdgeOrigin):
(WebCore::CSSPrimitiveValue::operator EBoxSizing):
(WebCore::CSSPrimitiveValue::operator EBoxDirection):
(WebCore::CSSPrimitiveValue::operator EBoxLines):
(WebCore::CSSPrimitiveValue::operator EBoxOrient):
(WebCore::CSSPrimitiveValue::operator ECaptionSide):
(WebCore::CSSPrimitiveValue::operator EClear):
(WebCore::CSSPrimitiveValue::operator ECursor):
(WebCore::CSSPrimitiveValue::operator CursorVisibility):
(WebCore::CSSPrimitiveValue::operator EDisplay):
(WebCore::CSSPrimitiveValue::operator EEmptyCell):
(WebCore::CSSPrimitiveValue::operator EAlignItems):
(WebCore::CSSPrimitiveValue::operator EJustifyContent):
(WebCore::CSSPrimitiveValue::operator EFlexDirection):
(WebCore::CSSPrimitiveValue::operator EAlignContent):
(WebCore::CSSPrimitiveValue::operator EFlexWrap):
(WebCore::CSSPrimitiveValue::operator EFloat):
(WebCore::CSSPrimitiveValue::operator LineBreak):
(WebCore::CSSPrimitiveValue::operator EListStylePosition):
(WebCore::CSSPrimitiveValue::operator EListStyleType):
(WebCore::CSSPrimitiveValue::operator EMarginCollapse):
(WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
(WebCore::CSSPrimitiveValue::operator RegionFragment):
(WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
(WebCore::CSSPrimitiveValue::operator ENBSPMode):
(WebCore::CSSPrimitiveValue::operator EOverflow):
(WebCore::CSSPrimitiveValue::operator EPageBreak):
(WebCore::CSSPrimitiveValue::operator EPosition):
(WebCore::CSSPrimitiveValue::operator EResize):
(WebCore::CSSPrimitiveValue::operator ETableLayout):
(WebCore::CSSPrimitiveValue::operator ETextAlign):
(WebCore::CSSPrimitiveValue::operator TextAlignLast):
(WebCore::CSSPrimitiveValue::operator TextJustify):
(WebCore::CSSPrimitiveValue::operator TextDecoration):
(WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
(WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
(WebCore::CSSPrimitiveValue::operator ETextSecurity):
(WebCore::CSSPrimitiveValue::operator ETextTransform):
(WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
(WebCore::CSSPrimitiveValue::operator EUserDrag):
(WebCore::CSSPrimitiveValue::operator EUserModify):
(WebCore::CSSPrimitiveValue::operator EUserSelect):
(WebCore::CSSPrimitiveValue::operator EVerticalAlign):
(WebCore::CSSPrimitiveValue::operator EVisibility):
(WebCore::CSSPrimitiveValue::operator EWhiteSpace):
(WebCore::CSSPrimitiveValue::operator EWordBreak):
(WebCore::CSSPrimitiveValue::operator EOverflowWrap):
(WebCore::CSSPrimitiveValue::operator TextDirection):
(WebCore::CSSPrimitiveValue::operator WritingMode):
(WebCore::CSSPrimitiveValue::operator TextCombine):
(WebCore::CSSPrimitiveValue::operator RubyPosition):
(WebCore::CSSPrimitiveValue::operator TextEmphasisPosition):
(WebCore::CSSPrimitiveValue::operator TextOverflow):
(WebCore::CSSPrimitiveValue::operator TextEmphasisFill):
(WebCore::CSSPrimitiveValue::operator TextEmphasisMark):
(WebCore::CSSPrimitiveValue::operator TextOrientation):
(WebCore::CSSPrimitiveValue::operator EPointerEvents):
(WebCore::CSSPrimitiveValue::operator FontDescription::Kerning):
(WebCore::CSSPrimitiveValue::operator FontSmoothingMode):
(WebCore::CSSPrimitiveValue::operator FontWeight):
(WebCore::CSSPrimitiveValue::operator FontItalic):
(WebCore::CSSPrimitiveValue::operator FontSmallCaps):
(WebCore::CSSPrimitiveValue::operator TextRenderingMode):
(WebCore::CSSPrimitiveValue::operator ColorSpace):
(WebCore::CSSPrimitiveValue::operator Hyphens):
(WebCore::CSSPrimitiveValue::operator LineSnap):
(WebCore::CSSPrimitiveValue::operator LineAlign):
(WebCore::CSSPrimitiveValue::operator Order):
(WebCore::CSSPrimitiveValue::operator ESpeak):
(WebCore::CSSPrimitiveValue::operator BlendMode):
(WebCore::CSSPrimitiveValue::operator LineCap):
(WebCore::CSSPrimitiveValue::operator LineJoin):
(WebCore::CSSPrimitiveValue::operator WindRule):
(WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
(WebCore::CSSPrimitiveValue::operator EBorderCollapse):
(WebCore::CSSPrimitiveValue::operator EBorderFit):
(WebCore::CSSPrimitiveValue::operator EImageRendering):
(WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
(WebCore::CSSPrimitiveValue::operator ColumnAxis):
(WebCore::CSSPrimitiveValue::operator ColumnProgression):
(WebCore::CSSPrimitiveValue::operator WrapFlow):
(WebCore::CSSPrimitiveValue::operator WrapThrough):
(WebCore::CSSPrimitiveValue::operator GridAutoFlow):
(WebCore::CSSPrimitiveValue::operator EBufferedRendering):
(WebCore::CSSPrimitiveValue::operator EColorInterpolation):
(WebCore::CSSPrimitiveValue::operator EColorRendering):
(WebCore::CSSPrimitiveValue::operator EDominantBaseline):
(WebCore::CSSPrimitiveValue::operator EShapeRendering):
(WebCore::CSSPrimitiveValue::operator ETextAnchor):
(WebCore::CSSPrimitiveValue::operator SVGWritingMode):
(WebCore::CSSPrimitiveValue::operator EVectorEffect):
(WebCore::CSSPrimitiveValue::operator EMaskType):
Assert that the CSSPrimitiveValue is holding a CSSValueID before accessing it.

2:40 PM Changeset in webkit [153400] by akling@apple.com
  • 2 edits in trunk/Source/WTF

REGRESSION(r153380): Can't open messages on Gmail
https://bugs.webkit.org/show_bug.cgi?id=119165

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2013-07-27
Reviewed by Andreas Kling.

This bug was caused by r153380. The bug doesn't reproduce as long as WebKit is built by clang 4.2 and later
or final is disabled (it could be clang 4.1 and later but we don't have information about that).

Fix the bug by disabling final on earlier versions of clang. Unfortunately we can only check versions of
Apple clang since clang_major and clang_minor are vendor dependent.

  • wtf/Compiler.h:
1:49 PM Changeset in webkit [153399] by weinig@apple.com
  • 4 edits
    2 adds in trunk

Stop pretending to support <string> for text-align.
https://bugs.webkit.org/show_bug.cgi?id=119107

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/css/text-align-string-crash.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
Stop pretending to support <string> for text-align.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyTextAlign::applyValue):
ASSERT that only value IDs get passed.

LayoutTests:

  • fast/css/text-align-string-crash-expected.txt: Added.
  • fast/css/text-align-string-crash.html: Added.

Jul 26, 2013:

9:48 PM Changeset in webkit [153398] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebCore

Introduce toSVGRectElement(), use it
https://bugs.webkit.org/show_bug.cgi?id=119126

Reviewed by Andreas Kling.

As a step to change static_cast with toSVGXXX, static_cast<SVGRectElement*> can
be changed with toSVGRectElement().

No new tests, no behavior change.

  • rendering/svg/RenderSVGRect.cpp:

(WebCore::RenderSVGRect::updateShapeFromElement):

  • rendering/svg/SVGPathData.cpp:

(WebCore::updatePathFromRectElement):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::operator<<):

  • svg/SVGRectElement.h:

(WebCore::toSVGRectElement):

6:17 PM Changeset in webkit [153397] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

With frame flattening on, too many resize events fired if document is resized in onresize handler.
https://bugs.webkit.org/show_bug.cgi?id=119075

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-07-26
Reviewed by Simon Fraser.

With http://trac.webkit.org/changeset/149287, WebCore also sends resize event in FrameView::setFrameRect. When
flattening an iframe, setFrameRect could be called multiple times from RenderFrameBase::layoutWithFlattening and
we could get multiple resize events. This patch adds a flag in FrameView to disallow sending resize events if
we are inside layoutWithFlattening. The resize event will be sent in performPostLayoutTasks after the iframe
is done laying out.

Manually tested by verifying the rendering slowness in www.hi-pda.com is fixed when frame flattening is enabled.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::setFrameRect):

  • page/FrameView.h:

(WebCore::FrameView::setResizeEventAllowed):
(WebCore::FrameView::resizeEventAllowed):

  • rendering/RenderFrameBase.cpp:

(WebCore::RenderFrameBase::layoutWithFlattening):

5:57 PM Changeset in webkit [153396] by dino@apple.com
  • 10 edits
    2 adds in trunk

Allow new transitions to run even when controller is suspended
https://bugs.webkit.org/show_bug.cgi?id=119171
<rdar://problem/14511404>

Reviewed by Simon Fraser.

Source/WebCore:

Expose a new property on AnimationController that allows newly created
animations to run even if the controller says it is suspended. See WebKit
ChangeLog for more details.

Test: transitions/created-while-suspended.html

  • WebCore.exp.in: Export the new methods so WebView can use them.
  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialize new flag to false.
(WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): Check new flag is not true.
(WebCore::AnimationControllerPrivate::setAllowsNewAnimationsWhileSuspended): Expose setter.
(WebCore::AnimationController::allowsNewAnimationsWhileSuspended): "Public" getter.
(WebCore::AnimationController::setAllowsNewAnimationsWhileSuspended): "Public" setter.

  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:

(WebCore::AnimationControllerPrivate::allowsNewAnimationsWhileSuspended):

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::CompositeAnimation): Only suspend if new flag is false. Everything else
relies on the m_suspended flag, so the real code change is this one line.

Source/WebKit/mac:

Expose a new SPI on WebView that triggers the (buggy) old behaviour
for animations, such that any newly created animations will start even
when the document is supposedly suspended. It turns out that client content was
unknowingly relying on this behaviour - e.g. suspending a view, loading a
bunch of new content, bringing the view on screen and then unsuspending. In this
situation, we were not running CSS transitions, because the page was suspended.
However, JS was still triggering them, and content was expecting a transitionEnd event.

  • WebView/WebView.mm:

(-[WebView allowsNewCSSAnimationsWhileSuspended]): Calls into AnimationController.
(-[WebView setAllowsNewCSSAnimationsWhileSuspended:]): Ditto.

  • WebView/WebViewPrivate.h: New methods listed above.

LayoutTests:

This is actually a test to make sure this fix didn't break anything. There is no
way to trigger the new behaviour from the test system (or from Safari).

5:24 PM Changeset in webkit [153395] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebKit/mac

Merged r153379. <rdar://problem/14554723>

5:22 PM Changeset in webkit [153394] by Lucas Forschler
  • 16 edits in branches/safari-537-branch/Source

Merged r153378. <rdar://problem/14549021>

4:54 PM Changeset in webkit [153393] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r153349. <rdar://problem/14545393>

4:51 PM Changeset in webkit [153392] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-537-branch

Merged r153366. <rdar://problem/14556358>

4:48 PM Changeset in webkit [153391] by Lucas Forschler
  • 5 edits
    1 copy in branches/safari-537-branch

Merged r153344. <rdar://problem/13439291>

4:46 PM Changeset in webkit [153390] by Lucas Forschler
  • 5 edits
    1 copy in branches/safari-537-branch

Merged r153107. <rdar://problem/14494064>

4:43 PM Changeset in webkit [153389] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r153102. <rdar://problem/14433205>

4:41 PM Changeset in webkit [153388] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152905. <rdar://problem/14489987>

4:19 PM Changeset in webkit [153387] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

ASSERT failure in wtf/CheckedBoolean.h line 43 on Windows
https://bugs.webkit.org/show_bug.cgi?id=119170

Reviewed by Michael Saboff.

Added a copy constructor to CheckedBoolean.

  • wtf/CheckedBoolean.h:

(CheckedBoolean::CheckedBoolean):

4:00 PM Changeset in webkit [153386] by commit-queue@webkit.org
  • 3 edits
    6 adds
    2 deletes in trunk/LayoutTests

[CSS Shapes] New positioning model: support for polygon shape-outside
https://bugs.webkit.org/show_bug.cgi?id=118085

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-07-26
Reviewed by Dirk Schulze.

Update polygon tests to work for new positioning model and migrate
them to be W3C spec tests. Thus, they have been imported from the
CSSWG repository now.

  • TestExpectations: Remove skip for replaced test.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html: Added.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html: Added.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html: Added.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html: Added.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html: Added.
  • csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html: Added.
  • csswg/submitted/shapes/shape-outside/w3c-import.log:
  • fast/shapes/shape-outside-floats/shape-outside-floats-simple-polygon-expected.html: Removed.
  • fast/shapes/shape-outside-floats/shape-outside-floats-simple-polygon.html: Removed.
3:54 PM Changeset in webkit [153385] by achristensen@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Added module definition file for building libEGL.
https://bugs.webkit.org/show_bug.cgi?id=119162

Reviewed by Brent Fulgham.

  • ANGLE.vcxproj/libEGLCommon.props: Added reference to libEGL.def.
2:57 PM Changeset in webkit [153384] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Windows] Unreviewed build fix.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::createMetadataKeyNames): Do not include Media Selection
synbols when building without Media Selection API.

2:21 PM Changeset in webkit [153383] by oliver@apple.com
  • 6 edits in trunk

REGRESSION(FTL?): Crashes in plugin tests
https://bugs.webkit.org/show_bug.cgi?id=119141

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Re-export getStackTrace

  • interpreter/Interpreter.h:

Source/WebCore:

Getting the correct semantics to appease the inspector is fairly
awful with the iterator system. For the time being lets just revert
to requesting a full stack trace as we did in the past.

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStack):

LayoutTests:

Bring back plugin tests

  • platform/mac/TestExpectations:
2:17 PM Changeset in webkit [153382] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Windows] Unreviewed build fix.

Correct build when targeting a release that does not have the AVCF
Legible Output infrastructure.

  • platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Exclude

a soft-link target when the API doesn't exist.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

Correct include options for non-Legible Output supporting environments.
(WebCore::MediaPlayerPrivateAVFoundationCF::processLegacyClosedCaptionsTracks):
Prevent build failure when building with legacy caption support.

2:12 PM Changeset in webkit [153381] by fpizlo@apple.com
  • 6 edits
    6 adds in trunk

REGRESSION: Crash when opening a message on Gmail
https://bugs.webkit.org/show_bug.cgi?id=119105

Source/JavaScriptCore:

Reviewed by Oliver Hunt and Mark Hahnenberg.

  • GetById patching in the DFG needs to be more disciplined about how it derives the slow path.


  • Fix some dumping code thread safety issues.
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::dump):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • dfg/DFGRepatch.cpp:

(JSC::DFG::getPolymorphicStructureList):
(JSC::DFG::tryBuildGetByIDList):

LayoutTests:

Reviewed by Oliver Hunt and Mark Hahnenberg.

  • fast/js/dfg-get-by-id-unset-then-proto-less-warmup.html: Added.
  • fast/js/dfg-get-by-id-unset-then-proto-more-warmup.html: Added.
  • fast/js/dfg-get-by-id-unset-then-proto.html: Added.
  • fast/js/jsc-test-list
  • fast/js/script-tests/dfg-get-by-id-unset-then-proto-less-warmup.js: Added.

(foo):
(Blah):

  • fast/js/script-tests/dfg-get-by-id-unset-then-proto-more-warmup.js: Added.

(foo):
(Blah):

  • fast/js/script-tests/dfg-get-by-id-unset-then-proto.js: Added.

(foo):
(Blah):

1:41 PM Changeset in webkit [153380] by akling@apple.com
  • 102 edits in trunk

Apply FINAL to the RenderObject hierarchy.
<http://webkit.org/b/115977>

Mostly from Blink r148795 by <cevans@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=148795>

  • rendering/: Beat things with the FINAL stick.
  • WebCore.exp.in: Export a now-needed symbol.
1:39 PM Changeset in webkit [153379] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Add another method that we need to set aside subviews for
https://bugs.webkit.org/show_bug.cgi?id=119157
<rdar://problem/14554723>

Reviewed by Beth Dakin.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]):

1:09 PM Changeset in webkit [153378] by timothy_horton@apple.com
  • 16 edits in trunk/Source

Add a mode where autosizing fixes the FrameView height to at least the WKView height
https://bugs.webkit.org/show_bug.cgi?id=119104
<rdar://problem/14549021>

Reviewed by Anders Carlsson.

  • WebCore.exp.in: Export FrameView::setAutoSizeFixedMinimumHeight.
  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
Initialize m_autoSizeFixedMinimumHeight to 0.

(WebCore::FrameView::autoSizeIfEnabled):
Increase the FrameView height to m_autoSizeFixedMinimumHeight if necessary,
and do another layout. Store the computed intrinsic content size.

(WebCore::FrameView::setAutoSizeFixedMinimumHeight): Added.

  • page/FrameView.h:

(WebCore::FrameView::autoSizingIntrinsicContentSize): Added.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:

Add autoSizingShouldExpandToViewHeight parameter.

  • UIProcess/API/mac/WKView.mm:

(-[WKView minimumWidthForAutoLayout]):
(-[WKView setMinimumWidthForAutoLayout:]):
Un-deprecate these as they're still useful if not sending a height.

(-[WKView shouldExpandToViewHeightForAutoLayout]):
(-[WKView setShouldExpandToViewHeightForAutoLayout:]):

  • UIProcess/API/mac/WKViewPrivate.h:

New property, forward to WebPageProxy.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight):
New property, forward to WebPage.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
If enabled, update the FrameView's autoSizeFixedMinimumHeight.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setAutoSizingShouldExpandToViewHeight):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::autoSizingShouldExpandToViewHeight):
New property; if enabled, set FrameView's autoSizeFixedMinimumHeight,
otherwise reset it to 0.

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
Retrieve intrinsic content size explicitly from the FrameView, as
it may not have used it as its final contentsSize if
autoSizeFixedMinimumHeight is set.

Set the WebPage's size in case the load is committed so that the
WebFrameLoaderClient doesn't reset us to the wrong size.

Update autoSizeFixedMinimumHeight if enabled when the view size changes.

12:19 PM Changeset in webkit [153377] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Windows] Remove workarounds now that rdar://problem/14390466 is fixed.
https://bugs.webkit.org/show_bug.cgi?id=119150

Reviewed by Anders Carlsson.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::createPlayer): Remove workaround to add legible output
after player is created.
(WebCore::AVFWrapper::createPlayerItem): Remove workaround to delay adding
legible output until player is created.
(WebCore::AVFWrapper::platformLayer): Get rid of unused temporary.

12:06 PM Changeset in webkit [153376] by fpizlo@apple.com
  • 4 edits in trunk/Tools

WKTR should know about the JSC extensions to testRunner
https://bugs.webkit.org/show_bug.cgi?id=119154

Reviewed by Mark Hahnenberg and Geoffrey Garen.

This makes some fast/js tests pass.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::numberOfDFGCompiles):
(WTR::TestRunner::neverInlineFunction):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
11:17 AM Changeset in webkit [153375] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[mips] Fix LLINT build for mips backend
https://bugs.webkit.org/show_bug.cgi?id=119152

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-07-26
Reviewed by Oliver Hunt.

  • offlineasm/mips.rb:
11:07 AM Changeset in webkit [153374] by mhahnenberg@apple.com
  • 4 edits
    3 adds in trunk

Setting a large numeric property on an object causes it to allocate a huge backing store
https://bugs.webkit.org/show_bug.cgi?id=118914

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

There are two distinct actions that we're trying to optimize for:

new Array(100000);

and:

a = [];
a[100000] = 42;

In the first case, the programmer has indicated that they expect this Array to be very big,
so they should get a contiguous array up until some threshold, above which we perform density
calculations to see if it is indeed dense enough to warrant being contiguous.

In the second case, the programmer hasn't indicated anything about the size of the Array, so
we should be more conservative and assume it should be sparse until we've proven otherwise.

Currently both of those cases are handled by MIN_SPARSE_ARRAY_INDEX. We should distinguish
between them for the purposes of not over-allocating large backing stores like we see on
http://www.peekanalytics.com/burgerjoints/

The way that we'll do this is to keep the MIN_SPARSE_ARRAY_INDEX for the first case, and
introduce a new heuristic for the second case. If we are putting to an index above a certain
threshold (say, 1000) and it is beyond the length of the array, then we will use a sparse
map instead. So for example, in the second case above the empty array has a blank indexing
type and a length of 0. We put-by-val to an index > 1000 and > a.length, so we'll use a sparse map.

This fix is ~800x speedup on the accompanying regression test :-o

  • runtime/ArrayConventions.h:

(JSC::indexIsSufficientlyBeyondLengthForSparseMap):

  • runtime/JSObject.cpp:

(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):

LayoutTests:

Added new regression test for put-by-val-ing to a blank indexing type with a large index.
This fix is ~800x speedup on this regression test :-o

  • fast/js/regress/put-by-val-large-index-blank-indexing-type.html: Added.
  • fast/js/regress/script-tests/put-by-val-large-index-blank-indexing-type.js: Added.
9:22 AM Changeset in webkit [153373] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Windows] Unreviewed gardening.

  • WebCore.vcxproj/WebCore.vcxproj: Add missing header file to ease code viewing.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
8:19 AM Changeset in webkit [153372] by anilsson@rim.com
  • 2 edits in trunk/Source/WebCore

[BlackBerry] LayerTiler fails to render layer after waking up
https://bugs.webkit.org/show_bug.cgi?id=119146

Reviewed by George Staikos.

When the application is backgrounded, all tiles are freed up to
release memory back to the system. We also mark the contents as dirty
in LayerTiler::deleteTextures() so tiles will be repopulated when
waking up again.

The problem was caused by an optimization to avoid re-rendering tiles
repeatedly until the UI thread catches up with the fact that we have
indeed rendered those tiles (which will happen when the UI thread next
composites a frame).

When contents are dirty, we're not supposed to perform this
optimization (i.e. we're not supposed to skip rendering) because the
appearance of the layer has changed, so we do need to render those
tiles. Unfortunately, the code that was supposed to forget the list of
tiles rendered was in a conditional, "if (frontVisibility)", which
happened to be false sometimes when the app woke up again. So we ended
up perpetually skipping those render jobs, and the UI thread kept
yelling at us to render them.

Fixed by unconditionally dropping the list of tiles rendered when
contents are dirty.

This can't be detected without pixel tests, which BB DRT currently
doesn't support.

JIRA 452460

  • platform/graphics/blackberry/LayerTiler.cpp:

(WebCore::LayerVisibility::clearTilesRendered):
(WebCore::LayerTiler::updateTextureContentsIfNeeded):

7:41 AM Changeset in webkit [153371] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(FTL): Fix lots of crashes in sh4 baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=119148

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-07-26
Reviewed by Csaba Osztrogonác.

  • jit/JSInterfaceJIT.h: "secondArgumentRegister" is wrong for sh4.
  • llint/LowLevelInterpreter32_64.asm: "move t0, a0" is missing

in nativeCallTrampoline for sh4. Reuse MIPS implementation to avoid
code duplication.

3:33 AM Changeset in webkit [153370] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(FTL): Crash in sh4 baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=119138

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-07-26
Reviewed by Csaba Osztrogonác.

This crash is due to incomplete report of r150146 and r148474.

  • jit/JITStubsSH4.h:
1:34 AM Changeset in webkit [153369] by zandobersek@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed.

  • Target.pri: Adding missing DFG files to the Qt build.
Note: See TracTimeline for information about the timeline view.