Timeline



May 15, 2013:

10:56 PM Changeset in webkit [150177] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix a thinko.

We want to invalidate the file icon loader if it exists, not create it!

  • html/FileInputType.cpp:

(WebCore::FileInputType::requestIcon):

9:37 PM Changeset in webkit [150176] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Move drag-specific Clipboard functions inside ENABLE(DRAG_SUPPORT)
https://bugs.webkit.org/show_bug.cgi?id=116176

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::writeRange):
(WebCore::Clipboard::writePlainText):
(WebCore::Clipboard::writeURL):
Move these three functions inside ENABLE(DRAG_SUPPORT). Even though their names do
not make it obvious, these are here only for use by dragging code. Later we may
refactor them away entirely, but for now it's good not to compile them in on any
platform that does not support dragging.

9:34 PM Changeset in webkit [150175] by ap@apple.com
  • 6 edits in trunk/Source/WebKit2

Enable printing in plugins
https://bugs.webkit.org/show_bug.cgi?id=116201
<rdar://problem/12347902>

Reviewed by Alexey Proskuryakov.

Add the printing entitlement so that legacy printing drivers can
customize the print panel. Update the printing rules and enable them
for the plugins.

  • Configurations/PluginService.entitlements:
  • Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
  • Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
  • Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
  • Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
9:20 PM Changeset in webkit [150174] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

9:18 PM Changeset in webkit [150173] by Lucas Forschler
  • 1 copy in tags/Safari-537.42

New Tag.

8:21 PM Changeset in webkit [150172] by rniwa@webkit.org
  • 7 edits in trunk/Source

Source/JavaScriptCore: Another Windows build fix attempt after r150160.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:

Source/WebKit: Revert the previous commit.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/win: Revert the previous commit.

  • WebKit.vcproj/WebKitExports.def.in:
8:15 PM Changeset in webkit [150171] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebKit

Windows build fix attempt after r150160.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/win:

  • WebKit.vcproj/WebKitExports.def.in:
8:10 PM Changeset in webkit [150170] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebKit

Windows build fix attempt after r150156.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/win:

  • WebKit.vcproj/WebKitExports.def.in:
7:54 PM Changeset in webkit [150169] by aestes@apple.com
  • 5 edits
    4 moves
    3 adds
    4 deletes in trunk

Resources from non-HTTP schemes should not be cached indefinitely
https://bugs.webkit.org/show_bug.cgi?id=113626

Reviewed by Ryosuke Niwa.

Source/WebCore:

With the exception of schemes that we know will always return the same
result for a given URL, we should not indefinitely cache non-HTTP
resources when their freshness cannot be verified.

Writing a test for this is blocked on https://webkit.org/b/116199.

The following two existing tests of memory cache behavior were
converted to HTTP tests so that they continue to function as expected:

Tests: http/tests/cache/display-image-unset-allows-cached-image-load.html

http/tests/cache/willsendrequest-returns-null-for-memory-cache-load.html

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::freshnessLifetime): Returned a freshness
lifetime of 0 for non-HTTP schemes that can't be indefinitely cached.

  • platform/SchemeRegistry.cpp:

(WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely):
Checked whether the scheme is blob:, data:, or applewebdata:.

  • platform/SchemeRegistry.h:

LayoutTests:

Convert existing memory cache tests to HTTP tests.

  • fast/loader/resources/compass.jpg: Removed.
  • fast/loader/resources/image1.html: Removed.
  • fast/loader/resources/image2.html: Removed.
  • fast/loader/willsendrequest-returns-null-for-memory-cache-load-expected.txt: Removed.
  • http/tests/cache/display-image-unset-allows-cached-image-load-expected.txt: Renamed from LayoutTests/fast/loader/display-image-unset-allows-cached-image-load-expected.txt.
  • http/tests/cache/display-image-unset-allows-cached-image-load.html: Renamed from LayoutTests/fast/loader/display-image-unset-allows-cached-image-load.html.
  • http/tests/cache/resources/cached-image.html: Renamed from LayoutTests/fast/loader/resources/cached-image.html.
  • http/tests/cache/resources/image1.html: Added.
  • http/tests/cache/resources/image2.html: Added.
  • http/tests/cache/willsendrequest-returns-null-for-memory-cache-load-expected.txt: Added.
  • http/tests/cache/willsendrequest-returns-null-for-memory-cache-load.html: Renamed from LayoutTests/fast/loader/willsendrequest-returns-null-for-memory-cache-load.html.
7:05 PM Changeset in webkit [150168] by Simon Fraser
  • 2 edits in trunk/Source/WebKit/mac

Avoid backing store for the WebFrameView's layer when the WebView is layer-backed
https://bugs.webkit.org/show_bug.cgi?id=116172

Reviewed by Tim Horton.

When the WebView is layer-backed, AppKit will create a layer with backing store for
the WebFrameView because it implements drawRect:. However, this method only paints
when there is no documentView, so this layer’s backing store is wasteful.

We can avoid allocation of this backing store by implementing -wantsUpdateLayer
and -updateLayer, and setting the view’s backgroundColor.

  • WebView/WebFrameView.mm:

(-[WebFrameView wantsUpdateLayer]):
(-[WebFrameView updateLayer]):

6:35 PM Changeset in webkit [150167] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

makeRGBAFromNSColor throws an exception if given a color in a greyscale colorspace
https://bugs.webkit.org/show_bug.cgi?id=116198
<rdar://problem/13904395>

Reviewed by Simon Fraser.

Block Objective-C exceptions in makeRGBAFromNSColor.
Remove a comment saying that they're impossible.

Convert the incoming color to the DeviceRGB colorspace to match
existing color sources. Some rare cases (attributed strings that come
from PDFKit) can have DeviceGrayscale color spaces, which would
previously throw an exception here.

  • platform/graphics/mac/ColorMac.mm:

(WebCore::makeRGBAFromNSColor):

6:24 PM Changeset in webkit [150166] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

BUILD FIX (r150140): Frame::editor() should return a reference for iOS, too

  • platform/ios/ClipboardIOS.mm:

(WebCore::ClipboardIOS::ClipboardIOS):
(WebCore::ClipboardIOS::hasData):
(WebCore::ClipboardIOS::clearData):
(WebCore::ClipboardIOS::clearAllData):
(WebCore::ClipboardIOS::getData):
(WebCore::ClipboardIOS::setData):
(WebCore::ClipboardIOS::types):
(WebCore::ClipboardIOS::writeRange):

  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::getStringSelection):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::writeImage):
(WebCore::Pasteboard::plainText):
(WebCore::documentFragmentWithRTF):
(WebCore::Pasteboard::documentFragmentForPasteboardItemAtIndex):
(WebCore::Pasteboard::documentFragment):

6:17 PM Changeset in webkit [150165] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Stop using the factory pattern in FileIconLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=116197

Reviewed by Andreas Kling.

Move the FileIconLoader member out of FileIconLoaderClient and into FileInputType and remove the factory gunk.

  • html/FileInputType.cpp:

(WebCore::FileInputType::~FileInputType):
(WebCore::FileInputType::requestIcon):

  • html/FileInputType.h:

(FileInputType):

  • platform/FileIconLoader.cpp:

(WebCore::FileIconLoader::invalidate):

  • platform/FileIconLoader.h:

(WebCore::FileIconLoaderClient::~FileIconLoaderClient):
(FileIconLoader):

6:06 PM Changeset in webkit [150164] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WTF

Unreviewed build fix after r150123

  • wtf/CMakeLists.txt:
5:48 PM Changeset in webkit [150163] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Fix FileChooserClient design
https://bugs.webkit.org/show_bug.cgi?id=116195

Reviewed by Andreas Kling.

FileChooserClient doesn't match the standard WebCore client idiom of only having virtual member functions.
Instead it holds on to its FileChooser and it's even a factory for creating new file choosers(!).

Fix this by making it an abstract class, and moving FileChooser into FileInputType.

  • html/FileInputType.cpp:

(WebCore::FileInputType::~FileInputType):
Invalidate the file chooser.

(WebCore::FileInputType::handleDOMActivateEvent):
Apply the file chooser settings.

(WebCore::FileInputType::applyFileChooserSettings):
Recreate the file chooser with new settings.

(WebCore::FileInputType::receiveDropForDirectoryUpload):
Apply the settings.

  • platform/FileChooser.cpp:

(WebCore::FileChooser::invalidate):
Set m_client to null.

(WebCore::FileChooser::chooseFiles):
Early return.

  • platform/FileChooser.h:
5:42 PM Changeset in webkit [150162] by barraclough@apple.com
  • 3 edits in trunk/Source/WebCore

ScriptedAnimationController::setThrottled should extend MinimumAnimationInterval
https://bugs.webkit.org/show_bug.cgi?id=116193

Reviewed by Darin Adler

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::ScriptedAnimationController::setThrottled):
(WebCore::ScriptedAnimationController::scheduleAnimation):

  • dom/ScriptedAnimationController.h:

(ScriptedAnimationController):

  • Fixes for review comments.
5:36 PM Changeset in webkit [150161] by andersca@apple.com
  • 17 edits
    2 moves in trunk/Source

Move HTTPRequest class to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=116192

Reviewed by Darin Adler.

Source/WebCore:

HTTPRequest is only used by the "remote inspector" feature in WebKit2,
so there's no need to have it in WebCore.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

Move HTTPRequest to WebKit2 and put it in the WebKit namespace.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • UIProcess/InspectorServer/HTTPRequest.cpp: Renamed from Source/WebCore/platform/network/HTTPRequest.cpp.
  • UIProcess/InspectorServer/HTTPRequest.h: Renamed from Source/WebCore/platform/network/HTTPRequest.h.
  • UIProcess/InspectorServer/WebInspectorServer.cpp:
  • UIProcess/InspectorServer/WebInspectorServer.h:

(WebInspectorServer):

  • UIProcess/InspectorServer/WebSocketServerClient.h:

(WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
(WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
(WebKit::WebSocketServerClient::didEstablishWebSocketConnection):

  • UIProcess/InspectorServer/WebSocketServerConnection.cpp:
  • UIProcess/InspectorServer/WebSocketServerConnection.h:

(WebKit):
(WebSocketServerConnection):

5:29 PM Changeset in webkit [150160] by oliver@apple.com
  • 11 edits in trunk/Source

RefCountedArray needs to use vector initialisers for its backing store
https://bugs.webkit.org/show_bug.cgi?id=116194

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Use an out of line function to clear the exception stack to avoid
needing to include otherwise unnecessary headers all over the place.

Everything else is just being updated to use that.

  • bytecompiler/BytecodeGenerator.cpp:
  • interpreter/CallFrame.h:

(JSC::ExecState::clearSupplementaryExceptionInfo):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::addStackTraceIfNecessary):
(JSC::Interpreter::throwException):

  • runtime/JSGlobalObject.cpp:

(JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope):

  • runtime/VM.cpp:

(JSC):
(JSC::VM::clearExceptionStack):

  • runtime/VM.h:

(VM):
(JSC::VM::exceptionStack):

Source/WebCore:

Update to use new functions for operating on the exception stack.

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStackFromException):

Source/WTF:

Use VectorOperations to operate on the backing store

  • wtf/RefCountedArray.h:

(WTF::RefCountedArray::RefCountedArray):
(WTF::RefCountedArray::operator=):
(WTF::RefCountedArray::~RefCountedArray):

5:28 PM Changeset in webkit [150159] by barraclough@apple.com
  • 3 edits in trunk/Source/WebCore

ScriptedAnimationController::setThrottled should extend MinimumAnimationInterval
https://bugs.webkit.org/show_bug.cgi?id=116193

Reviewed by Simon Fraser.

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::ScriptedAnimationController):

  • initialize m_throttled

(WebCore::ScriptedAnimationController::setThrottled):

  • sets m_throttled, reschedule when this changes.

(WebCore::ScriptedAnimationController::scheduleAnimation):

  • if throtled don't use a display link, and extend the timeout.
  • dom/ScriptedAnimationController.h:

(ScriptedAnimationController):

  • Added m_throttled
5:12 PM Changeset in webkit [150158] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[GTK] [WebKit2] enable displaying console.log messages to system console
https://bugs.webkit.org/show_bug.cgi?id=115578

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-05-15
Reviewed by Martin Robinson.

Add a setting to enable/disable displaying of page messages to system
console. Property is called enable-write-console-messages-to-stdout.
Getter API function is
webkit_settings_get_enable_write_console_messages_to_stdout
Setter API function is
webkit_settings_set_enable_write_console_messages_to_stdout

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_write_console_messages_to_stdout):
(webkit_settings_set_enable_write_console_messages_to_stdout):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
  • UIProcess/API/gtk/tests/TestWebKitSettings.cpp:

(testWebKitSettings):

4:43 PM Changeset in webkit [150157] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/gtk

Fix build.

  • webkit/webkitwebview.cpp:

(webkitWebViewDirectionChanged):

4:00 PM Changeset in webkit [150156] by barraclough@apple.com
  • 13 edits in trunk/Source

Process suppression should throttle scripted animations
https://bugs.webkit.org/show_bug.cgi?id=115812

Reviewed by Simon Fraser.

<rdar://problem/13799726>

Source/WebCore:

  • WebCore.exp.in:
    • Expose Page::setThrottled
  • dom/Document.cpp:

(WebCore::Document::scriptedAnimationControllerSetThrottled):
(WebCore):

  • dom/Document.h:

(Document):

  • Forwards to ScriptedAnimationController::setThrottled
  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::setThrottled):
(WebCore):

  • dom/ScriptedAnimationController.h:
    • Force use of a timer.

(ScriptedAnimationController):

  • page/Page.cpp:

(WebCore::Page::setThrottled):
(WebCore):

  • page/Page.h:

(Page):

  • When under throttling force the ScriptedAnimationController to use a timer.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setThrottled):
(WebKit):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • Added setThrottled, forwards to WebCore::Page.
  • WebProcess/WebProcess.cpp:

(WebKit):
(WebKit::WebProcess::setProcessSuppressionEnabled):

  • WebProcess/WebProcess.h:

(WebProcess):

  • Intercept calls to setProcessSuppressionEnabled, also mark all pages as being throttled.
3:59 PM Changeset in webkit [150155] by igor.o@sisa.samsung.com
  • 3 edits
    4 adds in trunk

Implement run-in remove child cases.
https://bugs.webkit.org/show_bug.cgi?id=86520

Move runin to original position when sibling element is destroyed.

Reviewed by David Hyatt.

Source/WebCore:

Tests: fast/runin/runin-remove-child-simple.html

fast/runin/runin-sibling-inline.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::willBeDestroyed):
(WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):

If moveRunInUnderSiblingBlockIfNeeded is called when the sibling run-in block
is being destroyed, it means that the run-in is moving to original position and
we do not need to do nothing.

LayoutTests:

  • fast/runin/runin-remove-child-simple-expected.txt: Added.
  • fast/runin/runin-remove-child-simple.html: Added.
  • fast/runin/runin-sibling-inline-expected.txt: Added.
  • fast/runin/runin-sibling-inline.html: Added.
3:43 PM Changeset in webkit [150154] by andersca@apple.com
  • 14 edits
    2 deletes in trunk/Source/WebCore

Remove WebSocketHandshakeResponse class
https://bugs.webkit.org/show_bug.cgi?id=116190

Reviewed by Andreas Kling.

Just use ResourceResponse instead of WebSocketHandshakeResponse.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::serverWebSocketProtocol):
(WebCore::WebSocketHandshake::serverSetCookie):
(WebCore::WebSocketHandshake::serverSetCookie2):
(WebCore::WebSocketHandshake::serverUpgrade):
(WebCore::WebSocketHandshake::serverConnection):
(WebCore::WebSocketHandshake::serverWebSocketAccept):
(WebCore::WebSocketHandshake::serverHandshakeResponse):
(WebCore::WebSocketHandshake::readHTTPHeaders):

  • Modules/websockets/WebSocketHandshake.h:
  • Modules/websockets/WebSocketHandshakeResponse.cpp: Removed.
  • Modules/websockets/WebSocketHandshakeResponse.h: Removed.
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):

  • inspector/InspectorResourceAgent.h:

(WebCore):
(InspectorResourceAgent):

3:38 PM Changeset in webkit [150153] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] media engine may deliver NULL in-band "cue"
https://bugs.webkit.org/show_bug.cgi?id=116180

Reviewed by Jer Noble.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCue): NULL check before logging cue count.

3:01 PM Changeset in webkit [150152] by Darin Adler
  • 2 edits in trunk/Source/WebCore

List platforms that still use the legacy clipboard instead of just saying "not Mac"
https://bugs.webkit.org/show_bug.cgi?id=116177

Reviewed by Andreas Kling.

dom/Clipboard.h: Replaced the "!MAC
IOS" with a list of platforms still on the

legacy model.

2:53 PM Changeset in webkit [150151] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKPageGetPluginInformationDisplayNameKey doesn't return the right key
https://bugs.webkit.org/show_bug.cgi?id=116188

Reviewed by Andreas Kling.

  • UIProcess/API/C/WKPage.cpp:

(WKPageGetPluginInformationDisplayNameKey):

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

We should clear mainResource in DocumentLoader::cancelMainResourceLoad.
https://bugs.webkit.org/show_bug.cgi?id=116119

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-05-15
Reviewed by Oliver Hunt.

MainResourceLoader::clearResource() was left out in r146239 when moving MainResourceLoader::cancel()
to DocumentLoader::cancelMainResourceLoad(), we need to add it back to make sure m_mainResource is
cleared when we cancel the loader.

No new tests needed.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::continueAfterNavigationPolicy):
(WebCore::DocumentLoader::cancelMainResourceLoad):
(WebCore::DocumentLoader::clearMainResource):
(WebCore):

  • loader/DocumentLoader.h: add helper method clearMainResource()

(DocumentLoader):

2:42 PM Changeset in webkit [150149] by ap@apple.com
  • 4 edits in trunk

More fixing after WebProcessShim renaming in r149074.

  • Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: (WebContentServiceInitializer): Updated a comment to mention the shim by its new name.
  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme: Updated to insert the right shim.
2:25 PM Changeset in webkit [150148] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r150051.
http://trac.webkit.org/changeset/150051
https://bugs.webkit.org/show_bug.cgi?id=116186

Broke all JSC tests on Mac and the author is unresponsive
(Requested by rniwa on #webkit).

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

[BlackBerry] When HTTP auth fails, only purge credentials that match the failed credentials
https://bugs.webkit.org/show_bug.cgi?id=116164

Patch by Joe Mason <jmason@blackberry.com> on 2013-05-15
Reviewed by Rob Buis.

Internal PR: 338490
Internally Reviewed By: Lyon Chen

When there are multiple HTTP requests in flight with the same bad credentials (common with
proxy auth if the user mistyped their password), the first 407 that's received will cause
the credentials to be purged and the password dialog to open for new credentials. This means
that all 407's received after this should only purge the credentials if they have not
already been updated from the dialog; otherwise they will be wiping out credentials that
haven't failed yet.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::sendRequestWithCredentials):
(WebCore::NetworkJob::purgeCredentials):

2:17 PM Changeset in webkit [150146] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Remove savedTimeoutReg from JITStackFrame for sh4 base JIT.
https://bugs.webkit.org/show_bug.cgi?id=116143

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-05-15
Reviewed by Geoffrey Garen.

Since r148119, timeoutCheckRegister is removed from baseline JIT.
So we don't need to save r8 register in JITStackFrame anymore for sh4.

  • jit/JITStubs.cpp:
  • jit/JITStubs.h:

(JITStackFrame):

1:51 PM Changeset in webkit [150145] by Chris Fleizach
  • 4 edits in trunk/Source/WebCore

AX: Use caching when requesting children object on iOS
https://bugs.webkit.org/show_bug.cgi?id=116112

Reviewed by David Kilzer.

Building up the children list in the AX hierarchy can be time consuming. On iOS, this
is now much more noticeable (I believe due to the way tables calculate their AX ignored flag).

We can speed everything up if we just cache the isIgnored() attribute while building up children.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXAttributeCacheEnabler::AXAttributeCacheEnabler):
(WebCore):
(WebCore::AXAttributeCacheEnabler::~AXAttributeCacheEnabler):

  • accessibility/AXObjectCache.h:

(AXAttributeCacheEnabler):
(WebCore):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapper accessibilityElementCount]):
(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
(-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
(-[WebAccessibilityObjectWrapper accessibilityContainer]):

1:43 PM Changeset in webkit [150144] by mark.lam@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

Fix for broken 32-bit build in SpeculativeJIT::checkArray().
https://bugs.webkit.org/show_bug.cgi?id=116184.

Rubber stamped by Mark Hahnenberg.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::checkArray):

1:30 PM Changeset in webkit [150143] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/13902706> Lion: com.apple.tsm.uiserver sandbox error in Console when
launching Safari

Reviewed by Anders Carlsson.

  • WebProcess/com.apple.WebProcess.sb.in: Silence the violation.
1:22 PM Changeset in webkit [150142] by andersca@apple.com
  • 15 edits
    2 deletes in trunk/Source/WebCore

Remove WebSocketHandshakeRequest class
https://bugs.webkit.org/show_bug.cgi?id=116178

Reviewed by Andreas Kling.

Turns out WebSocketHandshakeRequest is just used by the web inspector, and there's no reason
why we can't just use a ResourceRequest instead.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::didOpenSocketStream):

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientHandshakeRequest):

  • Modules/websockets/WebSocketHandshake.h:

(WebCore):

  • Modules/websockets/WebSocketHandshakeRequest.cpp: Removed.
  • Modules/websockets/WebSocketHandshakeRequest.h: Removed.
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):

  • inspector/InspectorResourceAgent.h:

(WebCore):
(InspectorResourceAgent):

  • platform/network/HTTPRequest.cpp:

(WebCore):

1:20 PM Changeset in webkit [150141] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Try to fix iOS build.

  • platform/Pasteboard.h: Fix #if so that we don't try to compile pasteboard name code on iOS.
12:47 PM Changeset in webkit [150140] by andersca@apple.com
  • 93 edits in trunk/Source

Frame::editor() should return a reference
https://bugs.webkit.org/show_bug.cgi?id=116037

Reviewed by Darin Adler.

Source/WebCore:

A frame's editor can never be null. Change Frame::editor() to return a reference to reflect this.
Also, make Frame::m_editor a const member variable so nobody will accidentally set it to null.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::hasMisspelling):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetSpelling):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::cloneChildNodes):

  • dom/Document.cpp:

(WebCore::acceptsEditingFocus):
(WebCore::Document::setFocusedNode):
(WebCore::command):

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::timerFired):
(WebCore::AlternativeTextController::applyDictationAlternative):

  • editing/CompositeEditCommand.cpp:

(WebCore::EditCommandComposition::unapply):
(WebCore::EditCommandComposition::reapply):
(WebCore::CompositeEditCommand::apply):
(WebCore::CompositeEditCommand::moveParagraphs):

  • editing/DeleteButton.cpp:

(WebCore::DeleteButton::defaultEventHandler):

  • editing/DeleteButtonController.cpp:

(WebCore::DeleteButtonController::show):

  • editing/DeleteButtonController.h:

(WebCore::DeleteButtonControllerDisableScope::DeleteButtonControllerDisableScope):
(WebCore::DeleteButtonControllerDisableScope::~DeleteButtonControllerDisableScope):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::mergeParagraphs):
(WebCore::DeleteSelectionCommand::doApply):

  • editing/EditCommand.cpp:

(WebCore::EditCommand::EditCommand):

  • editing/EditingStyle.cpp:

(WebCore::StyleChange::StyleChange):

  • editing/Editor.cpp:

(WebCore::Editor::markMisspellingsAfterTypingToWord):

  • editing/EditorCommand.cpp:

(WebCore::applyCommandToFrame):
(WebCore::executeToggleStyle):
(WebCore::executeApplyParagraphStyle):
(WebCore::expandSelectionToGranularity):
(WebCore::stateStyle):
(WebCore::valueStyle):
(WebCore::executeCopy):
(WebCore::executeCut):
(WebCore::executeDefaultParagraphSeparator):
(WebCore::executeDelete):
(WebCore::executeDeleteBackward):
(WebCore::executeDeleteBackwardByDecomposingPreviousCharacter):
(WebCore::executeDeleteForward):
(WebCore::executeDeleteToBeginningOfLine):
(WebCore::executeDeleteToBeginningOfParagraph):
(WebCore::executeDeleteToEndOfLine):
(WebCore::executeDeleteToEndOfParagraph):
(WebCore::executeDeleteToMark):
(WebCore::executeDeleteWordBackward):
(WebCore::executeDeleteWordForward):
(WebCore::executeFindString):
(WebCore::executeForwardDelete):
(WebCore::executeIgnoreSpelling):
(WebCore::executeInsertNewline):
(WebCore::executeMakeTextWritingDirectionLeftToRight):
(WebCore::executeMakeTextWritingDirectionNatural):
(WebCore::executeMakeTextWritingDirectionRightToLeft):
(WebCore::executeToggleOverwrite):
(WebCore::executePaste):
(WebCore::executePasteGlobalSelection):
(WebCore::executePasteAndMatchStyle):
(WebCore::executePasteAsPlainText):
(WebCore::executeRedo):
(WebCore::executeRemoveFormat):
(WebCore::executeSelectToMark):
(WebCore::executeSetMark):
(WebCore::executeStyleWithCSS):
(WebCore::executeUseCSS):
(WebCore::executeSwapWithMark):
(WebCore::executeTakeFindStringFromSelection):
(WebCore::executeTranspose):
(WebCore::executeUndo):
(WebCore::executeYank):
(WebCore::executeYankAndSelect):
(WebCore::supportedCopyCut):
(WebCore::supportedPaste):
(WebCore::enabledVisibleSelection):
(WebCore::enabledVisibleSelectionAndMark):
(WebCore::enableCaretInEditableText):
(WebCore::enabledCopy):
(WebCore::enabledCut):
(WebCore::enabledInEditableText):
(WebCore::enabledDelete):
(WebCore::enabledPaste):
(WebCore::enabledRedo):
(WebCore::enabledTakeFindStringFromSelection):
(WebCore::enabledUndo):
(WebCore::stateOrderedList):
(WebCore::stateStyleWithCSS):
(WebCore::stateUnorderedList):
(WebCore::valueDefaultParagraphSeparator):

  • editing/FrameSelection.cpp:

(WebCore::shouldAlwaysUseDirectionalSelection):
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::nextWordPositionForPlatform):
(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::modify):
(WebCore::shouldStopBlinkingDueToTypingCommand):
(WebCore::FrameSelection::shouldDeleteSelection):
(WebCore::FrameSelection::shouldChangeSelection):

  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::doApply):

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::didCheck):

  • editing/SpellingCorrectionCommand.cpp:
  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::insertText):
(WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
(WebCore::TypingCommand::markMisspellingsAfterTyping):
(WebCore::TypingCommand::typingAddedToOpenCommand):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):

  • editing/htmlediting.cpp:

(WebCore::createDefaultParagraphElement):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::pasteWithPasteboard):

  • editing/markup.cpp:

(WebCore::createMarkup):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::endEditing):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::subtreeHasChanged):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleKeydownEvent):
(WebCore::TextFieldInputType::didSetValueByUserEdit):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::closeURL):
(WebCore::FrameLoader::didOpenURL):
(WebCore::FrameLoader::clear):

  • page/ContextMenuController.cpp:

(WebCore::insertUnicodeCharacter):
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::find):

  • page/DragController.cpp:

(WebCore::DragController::dispatchTextInputEventFor):
(WebCore::DragController::concludeEditDrag):
(WebCore::DragController::startDrag):

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectClosestWordFromMouseEvent):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::handlePasteGlobalSelection):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::defaultKeyboardEventHandler):
(WebCore::EventHandler::defaultTextInputEventHandler):
(WebCore::EventHandler::defaultBackspaceEventHandler):

  • page/FocusController.cpp:

(WebCore::relinquishesEditingFocus):

  • page/Frame.cpp:

(WebCore::Frame::rangeForPoint):

  • page/Frame.h:

(Frame):
(WebCore::Frame::editor):

  • page/Page.cpp:

(WebCore::Page::findString):
(WebCore::Page::findStringMatchingRanges):
(WebCore::Page::rangeOfString):
(WebCore::Page::markAllMatchesForText):
(WebCore::Page::setDeviceScaleFactor):

  • platform/mac/ClipboardMac.mm:

(WebCore::ClipboardMac::writeRange):

  • platform/mac/DragDataMac.mm:

(WebCore::DragData::asURL):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::getStringSelection):
(WebCore::Pasteboard::getDataSelection):
(WebCore::Pasteboard::writeSelectionForTypes):
(WebCore::writeURLForTypes):
(WebCore::Pasteboard::plainText):
(WebCore::documentFragmentWithRTF):
(WebCore::Pasteboard::documentFragment):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::dictationAlternatives):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintTextMatchMarker):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::positionForPointWithInlineChildren):

  • testing/Internals.cpp:

(WebCore::spellchecker):
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::hasSpellingMarker):
(WebCore::Internals::hasAutocorrectedMarker):
(WebCore::Internals::setContinuousSpellCheckingEnabled):
(WebCore::Internals::setAutomaticQuoteSubstitutionEnabled):
(WebCore::Internals::setAutomaticLinkDetectionEnabled):
(WebCore::Internals::setAutomaticDashSubstitutionEnabled):
(WebCore::Internals::setAutomaticTextReplacementEnabled):
(WebCore::Internals::setAutomaticSpellingCorrectionEnabled):
(WebCore::Internals::isOverwriteModeEnabled):
(WebCore::Internals::toggleOverwriteModeEnabled):
(WebCore::Internals::hasGrammarMarker):

Source/WebKit/blackberry:

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore::EditorClientBlackBerry::shouldSpellCheckFocusedField):
(WebCore::EditorClientBlackBerry::handleKeyboardEvent):

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::elementHasContinuousSpellCheckingEnabled):

  • WebKitSupport/InPageSearchManager.cpp:

(BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
(BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::selectedText):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::executeCoreCommandByName):
(DumpRenderTreeSupportEfl::isCommandEnabled):

  • WebCoreSupport/EditorClientEfl.cpp:

(WebCore::EditorClientEfl::respondToChangedSelection):
(WebCore::EditorClientEfl::handleEditingKeyboardEvent):

  • ewk/ewk_frame.cpp:

(ewk_frame_editable_set):
(ewk_frame_selection_get):
(ewk_frame_text_search):
(ewk_frame_text_matches_mark):
(ewk_frame_text_matches_highlight_set):
(ewk_frame_text_matches_highlight_get):

  • ewk/ewk_view.cpp:

(ewk_view_selection_get):
(ewk_view_editor_command_execute):

Source/WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::paint):

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::executeCoreCommandByName):
(DumpRenderTreeSupportGtk::isCommandEnabled):

  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit::EditorClient::respondToChangedSelection):
(WebKit::EditorClient::executePendingEditorCommands):
(WebKit::EditorClient::handleKeyboardEvent):

  • WebCoreSupport/WebViewInputMethodFilter.cpp:

(WebKit::WebViewInputMethodFilter::canEdit):
(WebKit::WebViewInputMethodFilter::confirmCompositionText):
(WebKit::WebViewInputMethodFilter::confirmCurrentComposition):
(WebKit::WebViewInputMethodFilter::cancelCurrentComposition):
(WebKit::WebViewInputMethodFilter::setPreedit):

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_replace_selection):

  • webkit/webkitwebview.cpp:

(getLocationForKeyboardGeneratedContextMenu):
(webkit_web_view_focus_in_event):
(webkit_web_view_real_select_all):
(webkit_web_view_real_cut_clipboard):
(webkit_web_view_real_copy_clipboard):
(webkit_web_view_real_undo):
(webkit_web_view_real_redo):
(webkit_web_view_real_paste_clipboard):
(webkit_web_view_set_highlight_text_matches):
(webkit_web_view_can_cut_clipboard):
(webkit_web_view_can_copy_clipboard):
(webkit_web_view_can_paste_clipboard):
(webkit_web_view_delete_selection):
(webkit_web_view_set_editable):
(webkit_web_view_can_undo):
(webkit_web_view_can_redo):

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _selectedString]):
(-[WebFrame _firstRectForDOMRange:]):
(-[WebFrame _markDOMRange]):
(-[WebFrame _insertParagraphSeparatorInQuotedContent]):
(-[WebFrame _setTypingStyle:withUndoAction:]):
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation finishedLoadingWithDataSource:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
(-[WebHTMLView _shouldDeleteRange:]):
(-[WebHTMLView _canEdit]):
(-[WebHTMLView _canEditRichly]):
(-[WebHTMLView _insertOrderedList]):
(-[WebHTMLView _insertUnorderedList]):
(-[WebHTMLView _canIncreaseSelectionListLevel]):
(-[WebHTMLView _canDecreaseSelectionListLevel]):
(-[WebHTMLView _increaseSelectionListLevel]):
(-[WebHTMLView _increaseSelectionListLevelOrdered]):
(-[WebHTMLView _increaseSelectionListLevelUnordered]):
(-[WebHTMLView _decreaseSelectionListLevel]):
(-[WebHTMLView Editor::coreCommandBySelector:]):
(-[WebHTMLView Editor::coreCommandByName:]):
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView becomeFirstResponder]):
(-[WebHTMLView _selectionStartFontAttributesAsRTF]):
(-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
(-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
(-[WebHTMLView checkSpelling:]):
(-[WebHTMLView showGuessPanel:]):
(-[WebHTMLView toggleBaseWritingDirection:]):
(-[WebHTMLView changeBaseWritingDirection:]):
(-[WebHTMLView _changeBaseWritingDirectionTo:]):
(-[WebHTMLView _updateFontPanel]):
(-[WebHTMLView markedRange]):
(-[WebHTMLView hasMarkedText]):
(-[WebHTMLView unmarkText]):
(-[WebHTMLView setMarkedText:selectedRange:]):
(-[WebHTMLView doCommandBySelector:]):
(-[WebHTMLView insertText:]):
(-[WebHTMLView _updateSelectionForInputManager]):
(-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]):
(-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
(-[WebHTMLView markedTextMatchesAreHighlighted]):
(-[WebHTMLView _findString:options:]):

  • WebView/WebView.mm:

(-[WebView _executeCoreCommandByName:value:]):
(-[WebView editableDOMRangeForPoint:]):
(-[WebView setEditable:]):
(-[WebView deleteSelection]):
(-[WebView applyStyle:]):
(-[WebView typingAttributes]):
(-[WebView _simplifyMarkup:endNode:]):
(-[WebView handleAcceptedAlternativeText:]):

Source/WebKit/qt:

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::executeCoreCommandByName):
(DumpRenderTreeSupportQt::isCommandEnabled):
(DumpRenderTreeSupportQt::firstRectForCharacterRange):

  • WebCoreSupport/EditorClientQt.cpp:

(WebCore::EditorClientQt::respondToChangedSelection):
(WebCore::EditorClientQt::registerUndoStep):
(WebCore::EditorClientQt::handleKeyboardEvent):

  • WebCoreSupport/QWebPageAdapter.cpp:

(QWebPageAdapter::selectedText):
(QWebPageAdapter::selectedHtml):
(QWebPageAdapter::setContentEditable):

Source/WebKit/win:

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::searchWithGoogle):

  • WebFrame.cpp:

(WebFrame::hasSpellingMarker):
(WebFrame::setTextDirection):
(WebFrame::selectedString):
(WebFrame::selectAll):

  • WebView.cpp:

(WebView::execCommand):
(WebView::handleEditingKeyboardEvent):
(WebView::executeCoreCommandByName):
(WebView::selectedText):
(WebView::deleteEnabled):
(WebView::editingEnabled):
(WebView::replaceSelectionWithText):
(WebView::copy):
(WebView::cut):
(WebView::paste):
(WebView::copyURL):
(WebView::delete_):
(WebView::checkSpelling):
(WebView::showGuessPanel):
(WebView::clearUndoRedoOperations):
(WebView::prepareCandidateWindow):
(WebView::resetIME):
(WebView::updateSelectionForIME):
(WebView::onIMEComposition):
(WebView::onIMEEndComposition):
(WebView::onIMERequestCharPosition):
(WebView::onIMERequest):
(WebView::setCompositionForTesting):
(WebView::hasCompositionForTesting):
(WebView::confirmCompositionForTesting):
(WebView::compositionRangeForTesting):
(WebView::firstRectForCharacterRangeForTesting):
(WebView::selectedRangeForTesting):

Source/WebKit/wince:

  • WebCoreSupport/EditorClientWinCE.cpp:

(WebKit::EditorClientWinCE::handleEditingKeyboardEvent):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::searchWithGoogle):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::updateGlobalSelection):

  • WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:

(WebKit::WebEditorClient::handleInputMethodKeydown):

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::executePendingEditorCommands):
(WebKit::WebEditorClient::handleKeyboardEvent):

  • WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:

(WebKit::WebContextMenuClient::searchWithGoogle):
(WebKit::WebContextMenuClient::searchWithSpotlight):

  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:

(WebKit::changeWordCase):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::selectionAsString):
(WebKit::WebFrame::setTextDirection):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):
(WebKit::WebPage::executeEditingCommand):
(WebKit::WebPage::isEditingCommandEnabled):
(WebKit::WebPage::validateCommand):
(WebKit::WebPage::handleEditingKeyboardEvent):
(WebKit::WebPage::advanceToNextMisspelling):
(WebKit::WebPage::uppercaseWord):
(WebKit::WebPage::lowercaseWord):
(WebKit::WebPage::capitalizeWord):
(WebKit::WebPage::replaceSelectionWithText):
(WebKit::WebPage::handleAlternativeTextUIResult):
(WebKit::WebPage::setCompositionForTesting):
(WebKit::WebPage::hasCompositionForTesting):
(WebKit::WebPage::confirmCompositionForTesting):
(WebKit::WebPage::setComposition):
(WebKit::WebPage::cancelComposition):

  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::WebPage::confirmComposition):
(WebKit::WebPage::setComposition):
(WebKit::WebPage::cancelComposition):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::executeKeypressCommandsInternal):
(WebKit::WebPage::handleEditingKeyboardEvent):
(WebKit::WebPage::setComposition):
(WebKit::WebPage::confirmComposition):
(WebKit::WebPage::cancelComposition):
(WebKit::WebPage::insertText):
(WebKit::WebPage::insertDictatedText):
(WebKit::WebPage::getMarkedRange):
(WebKit::WebPage::firstRectForCharacterRange):
(WebKit::WebPage::readSelectionFromPasteboard):
(WebKit::WebPage::getStringSelectionForPasteboard):
(WebKit::WebPage::getDataSelectionForPasteboard):

12:39 PM Changeset in webkit [150139] by fpizlo@apple.com
  • 22 edits
    11 adds in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: DFG should separate link phase into things that must be done concurrently and things that must be done synchronously, and have a way of passing data from one to the other
https://bugs.webkit.org/show_bug.cgi?id=116060

Reviewed by Gavin Barraclough.

This introduces the concept of a DFG::Plan, which corresponds to:

  • The data that the concurrent DFG or FTL need to start compiling a CodeBlock. This mostly includes basic things like CodeBlock*, but also a list of must-handle values for OSR entry.


  • The data that the synchronous linker need to link in code compiled by a concurrent compilation thread. This is further encapsulated by DFG::Finalizer, since the data, and the actions that need to be taken, are different in DFG versus FTL. This patch also institutes the policy that the concurrent compilation thread shall not use LinkBuffer::performFinalization(), since that code assumes that it's running on the same thread that will actually run the code.


  • The actions that need to be taken to compile code. In other words, most of the code that previously lived in DFGDriver.cpp now lives in DFG::Plan::compileInThread().


  • The actions that need to be taken when synchronously linking the code. This includes "really" adding watchpoints and identifiers, checking watchpoint and chain validity, and running the DFG::Finalizer.


Currently, DFGDriver just creates a Plan and runs it synchronously. But in the
future, we will be able to malloc some Plans and enqueue them, and have the
concurrent thread dequeue them and call Plan::compileInThread().

For now, this has no behavior or performance change.

(JSC::LinkBuffer::performFinalization):

  • assembler/LinkBuffer.h:

(LinkBuffer):
(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::~LinkBuffer):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::executeEffects):

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::setFuturePossibleStructure):
(JSC::DFG::AbstractValue::filterFuturePossibleStructure):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addStructureTransitionCheck):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGConstantFoldingPhase.cpp:

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

  • dfg/DFGDriver.cpp:

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

  • dfg/DFGFailedFinalizer.cpp: Added.

(DFG):
(JSC::DFG::FailedFinalizer::FailedFinalizer):
(JSC::DFG::FailedFinalizer::~FailedFinalizer):
(JSC::DFG::FailedFinalizer::finalize):
(JSC::DFG::FailedFinalizer::finalizeFunction):

  • dfg/DFGFailedFinalizer.h: Added.

(DFG):
(FailedFinalizer):

  • dfg/DFGFinalizer.cpp: Added.

(DFG):
(JSC::DFG::Finalizer::Finalizer):
(JSC::DFG::Finalizer::~Finalizer):

  • dfg/DFGFinalizer.h: Added.

(DFG):
(Finalizer):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::dump):
(DFG):

  • dfg/DFGGraph.h:

(Graph):
(JSC::DFG::Graph::masqueradesAsUndefinedWatchpointIsStillValid):
(JSC::DFG::Graph::compilation):
(JSC::DFG::Graph::identifiers):
(JSC::DFG::Graph::watchpoints):
(JSC::DFG::Graph::chains):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
(JSC::DFG::JITCompiler::linkFunction):
(DFG):
(JSC::DFG::JITCompiler::disassemble):

  • dfg/DFGJITCompiler.h:

(JITCompiler):
(JSC::DFG::JITCompiler::addLazily):

  • dfg/DFGJITFinalizer.cpp: Added.

(DFG):
(JSC::DFG::JITFinalizer::JITFinalizer):
(JSC::DFG::JITFinalizer::~JITFinalizer):
(JSC::DFG::JITFinalizer::finalize):
(JSC::DFG::JITFinalizer::finalizeFunction):
(JSC::DFG::JITFinalizer::finalizeCommon):

  • dfg/DFGJITFinalizer.h: Added.

(DFG):
(JITFinalizer):

  • dfg/DFGPlan.cpp: Added.

(DFG):
(JSC::DFG::dumpAndVerifyGraph):
(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::~Plan):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::isStillValid):
(JSC::DFG::Plan::reallyAdd):
(JSC::DFG::Plan::finalize):

  • dfg/DFGPlan.h: Added.

(DFG):
(Plan):
(JSC::DFG::Plan::vm):

  • dfg/DFGPredictionInjectionPhase.cpp:

(JSC::DFG::PredictionInjectionPhase::run):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::identifierUID):
(JSC::DFG::SpeculativeJIT::speculateStringObjectForStructure):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::run):

  • ftl/FTLGeneratedFunction.h: Added.

(FTL):

  • ftl/FTLJITFinalizer.cpp: Added.

(FTL):
(JSC::FTL::JITFinalizer::JITFinalizer):
(JSC::FTL::JITFinalizer::~JITFinalizer):
(JSC::FTL::JITFinalizer::finalize):
(JSC::FTL::JITFinalizer::finalizeFunction):

  • ftl/FTLJITFinalizer.h: Added.

(FTL):
(JITFinalizer):
(JSC::FTL::JITFinalizer::initializeExitThunksLinkBuffer):
(JSC::FTL::JITFinalizer::initializeEntrypointLinkBuffer):
(JSC::FTL::JITFinalizer::initializeCode):
(JSC::FTL::JITFinalizer::initializeFunction):
(JSC::FTL::JITFinalizer::initializeArityCheck):
(JSC::FTL::JITFinalizer::initializeJITCode):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLink.h:

(FTL):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::linkOSRExitsAndCompleteInitializationBlocks):

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

  • ftl/FTLState.h:

(FTL):
(State):

12:37 PM Changeset in webkit [150138] by Darin Adler
  • 3 edits in trunk/Source/WebCore

[Mac] Make Clipboard class no longer polymorphic by removing the last virtual functions
https://bugs.webkit.org/show_bug.cgi?id=116166

Reviewed by Anders Carlsson.

  • WebCore.exp.in: Add ~Clipboard since it's no longer a virtual function, but to the

non-iOS section, since iOS is still using the legacy version of Clipboard.

  • dom/Clipboard.h: Mark items non-virtual, too. It's not implemented on Mac yet.
12:37 PM Changeset in webkit [150137] by commit-queue@webkit.org
  • 6 edits
    3 deletes in trunk

Remove an overloaded strokeRect in <canvas>
https://bugs.webkit.org/show_bug.cgi?id=116017

Patch by Dongseong Hwang <dongseong.hwang@intel.com> on 2013-05-15
Reviewed by Benjamin Poulain.

Source/WebCore:

The canvas spec [1] does not define strokeRect with 5 arguments, so this issue
remains only strokeRect with 4 arguments.

[1] http://www.w3.org/TR/2dcontext2/

Covered by existing tests: canvas/philip/tests/2d.missingargs.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::strokeRect):

  • html/canvas/CanvasRenderingContext2D.h:

(CanvasRenderingContext2D):

  • html/canvas/CanvasRenderingContext2D.idl:

LayoutTests:

canvas/philip/tests/2d.missingargs.html can cover
fast/canvas/canvas-overloads-strokeRect.html, so this patch removed it.

  • fast/canvas/canvas-overloads-strokeRect-expected.txt: Removed.
  • fast/canvas/canvas-overloads-strokeRect.html: Removed.
  • fast/canvas/script-tests/canvas-overloads-strokeRect.js: Removed.
  • fast/canvas/script-tests/canvas-strokeRect.js:
12:15 PM Changeset in webkit [150136] by Bruno de Oliveira Abinader
  • 7 edits in trunk

[css3-text] text-decoration-line now accepts "blink" as valid value
https://bugs.webkit.org/show_bug.cgi?id=116104

Reviewed by Andreas Kling.

Source/WebCore:

As of November 13th 2012, the W3C specification has been updated to
accept "blink" as a valid property value in text-decoration-line. Though
accepting the value as valid, it is ignored as CSS Level 1
text-decoration property currently does.

Updated related layout tests to reflect changes in specification.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseTextDecoration):

LayoutTests:

Updated layout test results to reflect changes in specification.

  • fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line-expected.txt:
  • fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-line.js:
  • fast/css3-text/css3-text-decoration/text-decoration-line-expected.html:
  • fast/css3-text/css3-text-decoration/text-decoration-line.html:
12:12 PM Changeset in webkit [150135] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Revert http://trac.webkit.org/changeset/150047

It introduced unwanted behavioral differences between
Retina and non-Retina Mac hardware.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::requiresTiledLayer):
(WebCore::GraphicsLayerCA::computePixelAlignment):

12:12 PM Changeset in webkit [150134] by thakis@chromium.org
  • 10 edits in trunk/Source

WebKit doesn't support MSVS2003 any more, remove preprocessor checks for older versions.
https://bugs.webkit.org/show_bug.cgi?id=116157

Reviewed by Anders Carlsson.

Also remove a gcc3.2 workaround.

Merges parts of these two commits by the talented Nico Weber:
https://chromium.googlesource.com/chromium/blink/+/3677e2f47348daeff405a40b6f90fbdf0654c2f5
https://chromium.googlesource.com/chromium/blink/+/0fcd96c448dc30be1416dcc15713c53710c1a312

Source/JavaScriptCore:

  • os-win32/inttypes.h:

Source/WTF:

  • wtf/Alignment.h:

(WTF):

  • wtf/Assertions.h:
  • wtf/Atomics.h:

(WTF):

  • wtf/Compiler.h:
  • wtf/DateMath.cpp:

(WTF::getLocalTime):

  • wtf/MathExtras.h:
  • wtf/RefCountedLeakCounter.h:

(RefCountedLeakCounter):

  • wtf/StaticConstructors.h:
11:55 AM Changeset in webkit [150133] by andersca@apple.com
  • 16 edits
    3 copies in trunk/Source/WebKit2

Need a way for NPAPI plug-ins to open preference panes
https://bugs.webkit.org/show_bug.cgi?id=116173
<rdar://problem/13503848>

Reviewed by Sam Weinig.

  • PluginProcess/PluginControllerProxy.h:

Add openPluginPreferencePane().

  • PluginProcess/mac/PluginControllerProxyMac.mm:

(WebKit::PluginControllerProxy::openPluginPreferencePane):
Send OpenPluginPreferencePane to the UI process.

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::NetscapePluginModule::getPluginInfo):
Get the preference pane path.

  • Shared/Plugins/PluginModuleInfo.h:

Add preferencePanePath member variable.

  • UIProcess/Plugins/PluginProcessProxy.h:

Add openPluginPreferencePane message handler.

  • UIProcess/Plugins/PluginProcessProxy.messages.in:

ADd OpenPluginPreferencePane message.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::openPluginPreferencePane):
Get the path to the preference pane and use LS to open it.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_GetValue):
Handle WKNVPlugInContainer.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:

Add WKNVPlugInContainer member variable.

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

(WebKit::NetscapePlugin::openPluginPreferencePane):
Call through to the plug-in controller.

(WebKit::NetscapePlugin::plugInContainer):
Create a WKNPAPIPlugInContainer object if necessary.

(WebKit::NetscapePlugin::platformDestroy):
Invalidate the WKNPAPIPlugInContainer object.

  • WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h:

New file with the protocol definition.

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

(-[WKNPAPIPlugInContainer dealloc]):
Assert that the plug-in is null (that we've been invalidated).

(-[WKNPAPIPlugInContainer _invalidate]):
Set the plug-in to null.

(-[WKNPAPIPlugInContainer openPlugInPreferencePane]):
Call through to the plug-in.

  • WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h:

New file with the interface declaration for the object that implements the protocol.

  • WebProcess/Plugins/PluginController.h:

Add openPluginPreferencePane member function.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::openPluginPreferencePane):
Add stub; this should never be called since we always go through the UI process.

11:50 AM Changeset in webkit [150132] by ap@apple.com
  • 7 edits in trunk/Source/WebKit2

[WK2][Mac] Split resetTextInputState into two functions
https://bugs.webkit.org/show_bug.cgi?id=116174

Reviewed by Anders Carlsson.

Splitting resetTextInputState into resetSecureInputState and
notifyInputContextAboutDiscardedComposition, paving the way for a fix where these
won't be happening simultaneously.

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::resetSecureInputState): (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
  • UIProcess/API/mac/WKView.mm: (-[WKView resignFirstResponder]): (-[WKView _resetSecureInputState]): (-[WKView _notifyInputContextAboutDiscardedComposition]):
  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didCommitLoadForFrame):
11:36 AM Changeset in webkit [150131] by Brent Fulgham
  • 5 edits in trunk/Tools

[Windows] Update various build tools to understand VS2010 environment.
https://bugs.webkit.org/show_bug.cgi?id=116169.

Reviewed by Anders Carlsson.

  • Scripts/build-api-tests: Identify VS2010 environment.
  • Scripts/build-dumprendertree: Ditto.
  • Scripts/build-webkit: Ditto.
  • Scripts/webkitdirs.pm:

(dieIfWindowsPlatformSDKNotInstalled): Update to recognize a wider
range of acceptable SDK's.

11:11 AM Changeset in webkit [150130] by Carlos Garcia Campos
  • 30 edits in trunk/Source/WebKit2

[GTK] Add padding to all public class structs for future expansion without breaking ABI
https://bugs.webkit.org/show_bug.cgi?id=112565

Reviewed by Anders Carlsson.

Use 4 pointers for most of the classes that are unlikely to grow
and 8 for WebKitWebView and WebKitWebContext.

  • UIProcess/API/gtk/WebKitBackForwardList.h:

(_WebKitBackForwardListClass):

  • UIProcess/API/gtk/WebKitBackForwardListItem.h:

(_WebKitBackForwardListItemClass):

  • UIProcess/API/gtk/WebKitContextMenu.h:

(_WebKitContextMenuClass):

  • UIProcess/API/gtk/WebKitContextMenuItem.h:

(_WebKitContextMenuItemClass):

  • UIProcess/API/gtk/WebKitCookieManager.h:

(_WebKitCookieManagerClass):

  • UIProcess/API/gtk/WebKitDownload.h:

(_WebKitDownloadClass):

  • UIProcess/API/gtk/WebKitFaviconDatabase.h:

(_WebKitFaviconDatabaseClass):

  • UIProcess/API/gtk/WebKitFileChooserRequest.h:

(_WebKitFileChooserRequestClass):

  • UIProcess/API/gtk/WebKitFindController.h:

(_WebKitFindControllerClass):

  • UIProcess/API/gtk/WebKitFormSubmissionRequest.h:

(_WebKitFormSubmissionRequestClass):

  • UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h:

(_WebKitGeolocationPermissionRequestClass):

  • UIProcess/API/gtk/WebKitHitTestResult.h:

(_WebKitHitTestResultClass):

  • UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:

(_WebKitNavigationPolicyDecisionClass):

  • UIProcess/API/gtk/WebKitPlugin.h:

(_WebKitPluginClass):

  • UIProcess/API/gtk/WebKitPolicyDecision.h:

(_WebKitPolicyDecisionClass):

  • UIProcess/API/gtk/WebKitPrintOperation.h:

(_WebKitPrintOperationClass):

  • UIProcess/API/gtk/WebKitResponsePolicyDecision.h:

(_WebKitResponsePolicyDecisionClass):

  • UIProcess/API/gtk/WebKitSecurityManager.h:

(_WebKitSecurityManagerClass):

  • UIProcess/API/gtk/WebKitSettings.h:

(_WebKitSettingsClass):

  • UIProcess/API/gtk/WebKitURIRequest.h:

(_WebKitURIRequestClass):

  • UIProcess/API/gtk/WebKitURIResponse.h:

(_WebKitURIResponseClass):

  • UIProcess/API/gtk/WebKitURISchemeRequest.h:

(_WebKitURISchemeRequestClass):

  • UIProcess/API/gtk/WebKitWebContext.h:

(_WebKitWebContextClass):

  • UIProcess/API/gtk/WebKitWebInspector.h:

(_WebKitWebInspectorClass):

  • UIProcess/API/gtk/WebKitWebResource.h:

(_WebKitWebResourceClass):

  • UIProcess/API/gtk/WebKitWebView.h:

(_WebKitWebViewClass):

  • UIProcess/API/gtk/WebKitWebViewBase.h:

(_WebKitWebViewBaseClass):

  • UIProcess/API/gtk/WebKitWebViewGroup.h:

(_WebKitWebViewGroupClass):

  • UIProcess/API/gtk/WebKitWindowProperties.h:

(_WebKitWindowPropertiesClass):

10:24 AM Changeset in webkit [150129] by Darin Adler
  • 7 edits
    1 delete in trunk/Source

[Mac] Remove the ClipboardMac class and header file
https://bugs.webkit.org/show_bug.cgi?id=116165

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Remove ClipboardMac.h.
  • editing/mac/EditorMac.mm: Import Clipboard.h rather than ClipboardMac.h.
  • page/mac/EventHandlerMac.mm: Ditto.
  • platform/mac/ClipboardMac.h: Removed.
  • platform/mac/ClipboardMac.mm: Import Clipboard.h rather than ClipboardMac.h.

Deleted ClipboardMac constructor.

Source/WebKit/mac:

  • WebCoreSupport/WebDragClient.mm: Import Clipboard.h instead of ClipboardMac.h.
10:23 AM Changeset in webkit [150128] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk

Allow http tests on Arch Linux
https://bugs.webkit.org/show_bug.cgi?id=116155

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-05-15
Reviewed by Ryosuke Niwa.

Tools:

  • Scripts/webkitpy/port/base.py:

(Port._is_arch_based): Added check for /etc/arch-release file.
(Port._apache_config_file_name_for_platform): Call the check.

  • Scripts/webkitpy/port/port_testcase.py:

(test_linux_distro_detection): Testcase added.

LayoutTests:

  • http/conf/archlinux-httpd.conf: Added.
10:14 AM Changeset in webkit [150127] by Darin Adler
  • 3 edits in trunk/Source/WebCore

[Mac] Change Clipboard::create functions so they don't use ClipboardMac::create any more
https://bugs.webkit.org/show_bug.cgi?id=116163

Reviewed by Anders Carlsson.

  • dom/Clipboard.h: Made the file drag boolean default to false, better for most callers.
  • platform/mac/ClipboardMac.mm: Remove #if ENABLE(DRAG_SUPPORT); that's always on for Mac

and it's not helpful to have the conditionals in here. It's helpful in cross-platform
source files.
(WebCore::Clipboard::create): Create a Pasteboard and then create a Clipboard with new.
Later could refactor to have the Pasteboard creation be platform-specific, and make these
functions platform-independent.
(WebCore::Clipboard::createForDragAndDrop): Ditto.
(WebCore::Clipboard::createForCopyAndPaste): Ditto.

10:04 AM Changeset in webkit [150126] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove a leftover v8 file from the watchlist
https://bugs.webkit.org/show_bug.cgi?id=116158

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-05-15
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/config/watchlist: Removed a v8 entry from the watchlist.
10:02 AM Changeset in webkit [150125] by Darin Adler
  • 4 edits in trunk/Source/WebCore

[Mac] Remove call to ClipboardMac::create from Editor::newGeneralClipboard
https://bugs.webkit.org/show_bug.cgi?id=116162

Reviewed by Andreas Kling.

  • dom/Clipboard.h: Add createForCopyAndPaste function.
  • editing/mac/EditorMac.mm:

(WebCore::Editor::newGeneralClipboard): Call createForCopyAndPaste.

  • platform/mac/ClipboardMac.mm:

(WebCore::Clipboard::createForCopyAndPaste): Added. Moved code here from
Editor::newGeneralClipboard.

9:53 AM Changeset in webkit [150124] by Darin Adler
  • 4 edits in trunk/Source/WebCore

[Mac] Remove call to ClipboardMac::create from EventHandler::createDraggingClipboard
https://bugs.webkit.org/show_bug.cgi?id=116161

Reviewed by Andreas Kling.

  • dom/Clipboard.h: Added createForDragAndDrop function.
  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::createDraggingClipboard): Changed to use new Clipboard function
instead of ClipboardMac::create.

  • platform/mac/ClipboardMac.mm:

(WebCore::Clipboard::createForDragAndDrop): Added. For now it does exactly what the
EventHandler::createDraggingClipboard function did, soon to be refactored better.

9:48 AM Changeset in webkit [150123] by Patrick Gansterer
  • 8 edits in trunk

Consolidate lists in WTF CMake files
https://bugs.webkit.org/show_bug.cgi?id=116142

Reviewed by Martin Robinson.

Move common files into the CMakeLists.txt to avoid duplicating the list of files.
Also rebase the recently added GTK files to match the other CMake ports, since
the submitted patch was based on an older version of the source tree.

.:

  • Source/cmake/OptionsGTK.cmake:

Source/WTF:

  • wtf/CMakeLists.txt:
  • wtf/PlatformBlackBerry.cmake:
  • wtf/PlatformEfl.cmake:
  • wtf/PlatformGTK.cmake:
  • wtf/PlatformWinCE.cmake:
9:44 AM Changeset in webkit [150122] by Darin Adler
  • 9 edits in trunk/Source

[Mac] Thin out the ClipboardMac class and header file to prepare for deleting them
https://bugs.webkit.org/show_bug.cgi?id=116159

Reviewed by Andreas Kling.

Source/WebCore:

  • dom/Clipboard.h:

(WebCore::Clipboard::pasteboard): Added. For clients that have a DOM clipboard
object and need to get to the Pasteboard platform abstraction.

  • editing/Editor.cpp:

(WebCore::Editor::dispatchCPPEvent): Call writePasteboard instead of writeClipboard.
Our long term plan is to delete writeClipboard.

  • platform/Pasteboard.h: Added writePasteboard function.

(WebCore::Pasteboard::name): Made this const.

  • platform/mac/ClipboardMac.h: Deleted unneeded includes and forward declarations.

Deleted all the data members and the virtual destructor.

  • platform/mac/ClipboardMac.mm: Deleted the many includes that are no longer needed.

Deleted the destructor, since it's now automatically generated. Deleted the comment
on an #endif since it's only a few source lines away from the #if.
(WebCore::ClipboardMac::ClipboardMac): Deleted the code to set the data members,
since they are no longer used.

  • platform/mac/PasteboardMac.mm: Changed include to Clipboard.h instead of ClipboardMac.h.

(WebCore::Pasteboard::writePasteboard): Replaced writeClipboard with this.

Source/WebKit/mac:

  • WebCoreSupport/WebDragClient.mm:

(WebDragClient::willPerformDragSourceAction): Changed to get the pasteboard name
without going through the ClipboardMac class.
(WebDragClient::startDrag): Ditto.

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

Web Inspector: Get rid of addNativeSnapshotChunk and HeapSnapshotChunk from Memory domain
https://bugs.webkit.org/show_bug.cgi?id=116144

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-15
Reviewed by Timothy Hatcher.

No new tests, no behavior change.

  • inspector/Inspector.json:
9:31 AM Changeset in webkit [150120] by jocelyn.turcotte@digia.com
  • 5 edits in trunk/Source

[Qt] Fix a crash under ~PingLoader when the QNAM on the page has been destroyed.
https://bugs.webkit.org/show_bug.cgi?id=116035

Reviewed by Allan Sandfeld Jensen.

Source/WebCore:

The previous fix only moved the crash location from WebKit down to QNetworkReplyHttpImpl
which expects its QNetworkAccessManager to still be alive.

Fix it by watching the QNetworkReply's destroyed() signal and avoid the dangling pointer
instead. The QNetworkReply doesn't need to be aborted in this case anyway.

  • platform/network/qt/QNetworkReplyHandler.cpp:

(WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
(WebCore::QNetworkReplyWrapper::release):
(WebCore::QNetworkReplyWrapper::stopForwarding):

Rename resetConnections to stopForwarding since not all connections are related
to data forwarding to the client anymore.

(WebCore::QNetworkReplyWrapper::receiveMetaData):
(WebCore::QNetworkReplyWrapper::replyDestroyed):
(WebCore::QNetworkReplyWrapper::didReceiveFinished):

  • platform/network/qt/QNetworkReplyHandler.h:

(QNetworkReplyWrapper):

Source/WebKit/qt:

  • tests/qwebpage/tst_qwebpage.cpp:

(tst_QWebPage::networkReplyParentDidntChange): Change test to match the new expectation.
(tst_QWebPage::destroyQNAMBeforeAbortDoesntCrash):

9:27 AM Changeset in webkit [150119] by Darin Adler
  • 5 edits in trunk/Source/WebCore

[Mac] Make Clipboard::declareAndWriteDragImage non-virtual
https://bugs.webkit.org/show_bug.cgi?id=116156

Reviewed by Anders Carlsson.

  • dom/Clipboard.h: Make declareAndWriteDragImage non-virtual for non-legacy.
  • platform/Pasteboard.h:

(WebCore::Pasteboard::name): Added. Can be used in Mac platform code to do
pasteboard operations directly instead of through the Pasteboard class
functions. Not sure if we'll need it long term or not.

  • platform/mac/ClipboardMac.h: Removed declareAndWriteDragImage function.
  • platform/mac/ClipboardMac.mm:

(WebCore::Clipboard::declareAndWriteDragImage): Made this function a Clipboard
member instead of ClipboardMac.

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

[curl] Remove version #if guards
https://bugs.webkit.org/show_bug.cgi?id=116152

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-05-15
Reviewed by Brent Fulgham.

No tests required.

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::platformSetDefersLoading): Removed version guard.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::writeCallback): Ditto.
(WebCore::headerCallback): Ditto.
(WebCore::readCallback): Ditto.
(WebCore::ResourceHandleManager::dispatchSynchronousJob): Ditto.
(WebCore::ResourceHandleManager::initializeHandle): Ditto.

9:13 AM Changeset in webkit [150117] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Fails to build while generating gtkdoc
https://bugs.webkit.org/show_bug.cgi?id=115612

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-15
Reviewed by Philippe Normand.

Fix typo in the prerequisites of docs-build.stamp.

  • GNUmakefile.am:
9:11 AM Changeset in webkit [150116] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed, fixing the current test-webkitpy failure.

  • Scripts/webkitpy/port/mac_unittest.py:

(test_setup_environ_for_server): Adjusting the expected DYLD_INSERT_LIBRARIES environment variable value
in webkitpy.port.mac_unittest.test_setup_environ_for_server after r150089.

9:03 AM Changeset in webkit [150115] by Patrick Gansterer
  • 2 edits in trunk/Source/WebKit/win

Remove unnecessary dependecy on CoreFoundation from WebDatabaseManager
https://bugs.webkit.org/show_bug.cgi?id=115993

Reviewed by Anders Carlsson.

Using COMPropertyBag instead of CFDictionaryPropertyBag also reduces
the total lines of code needed for the same functionality.

  • WebDatabaseManager.cpp:

(WebDatabaseManager::dispatchDidModifyDatabase):

8:51 AM Changeset in webkit [150114] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX (r150089): Make WebCoreTestShim build for iOS

  • Configurations/WebCoreTestShim.xcconfig: Exclude

WebCoreTestShimLibrary.cpp when building for iOS.

8:35 AM Changeset in webkit [150113] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Removing two redundant flaky crasher expectations. Adjusting one expectation,

assigning it a mock bug modifier so the TestExpectations linting passes.

8:28 AM Changeset in webkit [150112] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Removing failure expectations for 7 CSS Regions and CSS Exclusions reftests.
8:15 AM Changeset in webkit [150111] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/fast/js/global-constructors-attributes-expected.txt: Rebaselining after r149845.
8:09 AM Changeset in webkit [150110] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding faillure expectations for two reftests that

started failing after r150025 and r150065.

8:05 AM Changeset in webkit [150109] by mark.lam@apple.com
  • 6 edits
    6 adds in branches/dfgFourthTier/Source/JavaScriptCore

Refactor JITStubs.cpp to move CPU specific parts out into their own files.
https://bugs.webkit.org/show_bug.cgi?id=116135.

Reviewed by Michael Saboff.

This mod only moves the CPU specific parts out. There is no code change.
Tested on debug builds of X86, X86_64, ARM and ARMv7. The SH4 and MIPS
ports are untested. Windows port also not tested.

(JSC::performPlatformSpecificJITAssertions):

  • jit/JITStubsARM.h: Added.

(JSC::ctiTrampoline):
(JSC::ctiTrampolineEnd):
(JSC::ctiVMThrowTrampoline):
(JSC::ctiOpThrowNotCaught):
(JSC::performARMJITAssertions):

  • jit/JITStubsARMv7.h: Added.

(JSC::ctiTrampoline):
(JSC::ctiVMThrowTrampoline):
(JSC::ctiOpThrowNotCaught):
(JSC::performARMv7JITAssertions):

  • jit/JITStubsMIPS.h: Added.

(JSC::performMIPSJITAssertions):

  • jit/JITStubsSH4.h: Added.
  • jit/JITStubsX86.h: Added.
  • jit/JITStubsX86_64.h: Added.
3:54 AM Changeset in webkit [150108] by commit-queue@webkit.org
  • 6 edits
    1 copy
    1 add in trunk

[CSSRegions] Implement offsetParent for elements inside named flow
https://bugs.webkit.org/show_bug.cgi?id=113276

Source/WebCore:

In the offsetParent algorithm, the nearest ancestor search skips from the topmost named flow elements directly to the body element.
http://dev.w3.org/csswg/css-regions/#cssomview-offset-attributes

As a result of this change, the DumpRenderTree tool would crash in
WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent when running the selecting-text-through-different-region-flows.html
test. The RenderObjects inside a flow are attached to the RenderFlowThread. However, the RenderFlowThread is attached to the
RenderView directly, meaning that we are going to bypass the <body>'s RenderObject while iterating the parents.

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-15
Reviewed by Darin Adler.

Tests: fast/regions/offsetParent-body-in-flow-thread.html

fast/regions/offsetParent-in-flow-thread.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::offsetParent):

LayoutTests:

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-15
Reviewed by Darin Adler.

In the offsetParent algorithm, the nearest ancestor search skips from the topmost named flow elements directly to the body element.

Added new test for offsetParent when body is flowed into a region.
Updated existing offsetParent test.

  • fast/regions/offsetParent-body-in-flow-thread-expected.txt: Added.
  • fast/regions/offsetParent-body-in-flow-thread.html: Added.
  • fast/regions/offsetParent-in-flow-thread-expected.txt:
  • fast/regions/offsetParent-in-flow-thread.html:
2:43 AM Changeset in webkit [150107] by Darin Adler
  • 4 edits in trunk/Source/WebCore

[Mac] Make Clipboard::createDragImage non-virtual
https://bugs.webkit.org/show_bug.cgi?id=116136

Reviewed by Benjamin Poulain.

  • dom/Clipboard.h: Made createDragImage non-virtual for non-legacy.
  • platform/mac/ClipboardMac.h: Removed frame argument from create function

and constructor. Removed createDragImage and dragNSImage. Removed m_frame
data member.

  • platform/mac/ClipboardMac.mm:

(WebCore::ClipboardMac::ClipboardMac): Removed frame argument and code
to initialize m_frame.
(WebCore::Clipboard::createDragImage): Merged the createDragImage and
dragNSImage functions, since they were the same thing. Changed code to get
the frame from the drag image element. Made the createDragImage function
a Clipboard member instead of ClipboardMac.

2:03 AM Changeset in webkit [150106] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

[WINCE] Fix calls to GlyphPage::setGlyphDataForIndex()
https://bugs.webkit.org/show_bug.cgi?id=116137

Reviewed by Andreas Kling.

Use zero for the glyp when the fontData pointer is null.
This aligns GlyphPageTreeNodeWinCE with the other implementations
and makes all ASSERT() pass in setGlyphDataForIndex().

  • platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:

(WebCore::GlyphPage::fill):

1:28 AM Changeset in webkit [150105] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Do not bloat HTMLTokenizer with a giant inline InputStreamPreprocessor::peek
https://bugs.webkit.org/show_bug.cgi?id=116066

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-15
Reviewed by Ryosuke Niwa.

Merge https://chromium.googlesource.com/chromium/blink/+/45e0337b2f2db535ab08365f6e763a5015e4d990.

On x86_64, this removes 40kb from the binary. On my machine it is completely neutral on performance.

  • html/parser/InputStreamPreprocessor.h:

(WebCore::InputStreamPreprocessor::peek):
(InputStreamPreprocessor):
(WebCore::InputStreamPreprocessor::advance):
(WebCore::InputStreamPreprocessor::skipNextNewLine):
(WebCore::InputStreamPreprocessor::reset):
(WebCore::InputStreamPreprocessor::processNextInputCharacter):

1:07 AM Changeset in webkit [150104] by Carlos Garcia Campos
  • 36 edits in trunk/Source

Remove WTF_USE_PLATFORM_STRATEGIES
https://bugs.webkit.org/show_bug.cgi?id=114431

Reviewed by Darin Adler.

Source/WebCore:

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::DatabaseManager):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::suspendPostAttachCallbacks):
(WebCore::ContainerNode::resumePostAttachCallbacks):

  • dom/VisitedLinkState.cpp:

(WebCore::VisitedLinkState::determineLinkStateSlowCase):

  • loader/CookieJar.cpp:

(WebCore::cookies):
(WebCore::setCookies):
(WebCore::cookiesEnabled):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::getRawCookies):
(WebCore::deleteCookie):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadResourceSynchronously):

  • loader/HistoryController.cpp:

(WebCore::addVisitedLink):

  • loader/LoaderStrategy.cpp:
  • loader/LoaderStrategy.h:
  • loader/ResourceLoadScheduler.cpp:

(WebCore::resourceLoadScheduler):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::releaseResources):
(WebCore::ResourceLoader::willSendRequest):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::performPostLoadActions):

  • platform/CookiesStrategy.h:
  • platform/DatabaseStrategy.cpp:
  • platform/DatabaseStrategy.h:
  • platform/PasteboardStrategy.h:
  • platform/PlatformStrategies.cpp:
  • platform/PlatformStrategies.h:
  • platform/VisitedLinkStrategy.h:
  • platform/mac/PasteboardMac.mm:
  • platform/network/BlobRegistry.cpp:

(WebCore::blobRegistry):

  • plugins/PluginData.cpp:

(WebCore::PluginData::initPlugins):

  • plugins/PluginStrategy.h:
  • storage/StorageNamespace.cpp:

(WebCore::StorageNamespace::localStorageNamespace):
(WebCore::StorageNamespace::transientLocalStorageNamespace):
(WebCore::StorageNamespace::sessionStorageNamespace):

  • storage/StorageStrategy.cpp:
  • storage/StorageStrategy.h:
  • workers/SharedWorkerStrategy.h:

Source/WebKit/blackberry:

  • WebCoreSupport/AboutDataUseFeatures.in:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

Source/WTF:

  • wtf/Platform.h:
12:37 AM Changeset in webkit [150103] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/Source/WebCore

[curl] Add support for HttpOnly cookies
https://bugs.webkit.org/show_bug.cgi?id=116102

Patch by Dávid Szabolcs <David.Szabolcs@stud.u-szeged.hu> on 2013-05-15
Reviewed by Brent Fulgham.

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::addMatchingCurlCookie):
(WebCore::cookiesForSession):
(WebCore::cookiesForDOM):
(WebCore):
(WebCore::cookieRequestHeaderFieldValue):

May 14, 2013:

11:42 PM Changeset in webkit [150102] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

REGRESSION(r147548): Broken comboboxes
https://bugs.webkit.org/show_bug.cgi?id=115475

Reviewed by Gustavo Noronha Silva.

The problem is that r147548 made the popup to be closed when a
blur event is received. Right before showing the popup the input
element is focused, so that after the the popup is shown the focus
event is emitted and the event handler is called again hiding the
popup.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Check
element has lost the focus before closing the popup menu.

9:35 PM Changeset in webkit [150101] by Beth Dakin
  • 5 edits in trunk

Printing in 1Password app is broken with screen fonts disabled
https://bugs.webkit.org/show_bug.cgi?id=116133
-and corresponding-
<rdar://problem/13162981>

Reviewed by Anders Carlsson.

Source/WebKit/mac:

Return YES from [WebPreferences screenFontSubstitutionEnabled] for versions of the
1Password app that were linked on or before MountainLion.

  • WebView/WebPreferences.mm:

(needsScreenFontsEnabledQuirk):
(-[WebPreferences screenFontSubstitutionEnabled]):

WebKitLibraries:

Need WKExecutableWasLinkedOnOrBeforeMountainLion() for this quirk.

  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMountainLion.a:
9:27 PM Changeset in webkit [150100] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move setDragImage from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116036

Reviewed by Anders Carlsson.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::~Clipboard): Stop loading the drag image when
the clipboard object is deallocated. It would be better if there was
a more-well-defined time to stop the load.
(WebCore::Clipboard::setDragImage): Added. Sets up a drag image
based on a CachedImage. This tells the image loader to load the image
and updates the drag image when the image arrives. Copied from the
code in ClipboardMac, but refactored to use a separate loader object.
(WebCore::Clipboard::setDragImageElement): Added. Sets up a drag image
based on an element.
(WebCore::Clipboard::updateDragImage): Added. Common code to update
drag image when a new one is set or when a drag image load completes.
(WebCore::DragImageLoader::create): Added.
(WebCore::DragImageLoader::DragImageLoader): Ditto.
(WebCore::DragImageLoader::startLoading): Ditto.
(WebCore::DragImageLoader::stopLoading): Ditto.
(WebCore::DragImageLoader::imageChanged): Ditto.

  • dom/Clipboard.h: Made setDragImage and setDragImageElement non-virtual

for non-legacy. Added updateDragImage and m_dragImageLoader.

  • platform/Pasteboard.h: Added setDragImage function.
  • platform/mac/ClipboardMac.h: Removed CachedImageClient as a base class

for ClipboardMac. Removed setDragImage and setDragImageElement.

  • platform/mac/ClipboardMac.mm: Removed setDragImage and setDragImageElement.

(WebCore::ClipboardMac::~ClipboardMac): Removed code to remove self as
client loading the drag image. This is now in the Clipboard base class.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::setDragImage): Added. Contains code moved here
from ClipboardMac.

8:17 PM Changeset in webkit [150099] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Use ElementTraversal in SelectorDataList::execute
https://bugs.webkit.org/show_bug.cgi?id=116131

Reviewed by Darin Adler.

Use ElementTraversal::firstWithin and ElementTraversal::next to simplify the code.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute):

7:18 PM Changeset in webkit [150098] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix build after r150090.
https://bugs.webkit.org/show_bug.cgi?id=116129

Unreviewed build fix after r150090.

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2013-05-14

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

7:17 PM Changeset in webkit [150097] by hmuller@adobe.com
  • 6 edits in trunk/LayoutTests

[CSS Exclusions] Some layout tests fail to account for inline pixel snapping
https://bugs.webkit.org/show_bug.cgi?id=116115

Reviewed by Dirk Schulze.

Adjust the expected locations of spans to account for the fact that inline layout snaps boxes' logical top
and bottom to pixels, and the fact that line segment layout rounds the logical left and floors the logical
right of segments.

  • fast/exclusions/shape-inside/shape-inside-polygon-layout.html: Use the quiet variable!
  • fast/exclusions/shape-outside-floats/shape-outside-floats-diamond-margin-polygon-expected.txt:
  • fast/exclusions/shape-outside-floats/shape-outside-floats-diamond-margin-polygon.html:
  • fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html:
  • fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html:
6:20 PM Changeset in webkit [150096] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows, others] Unreviewed build fix after r150090.

  • DumpRenderTree/TestRunner.cpp:

(getSecureEventInputIsEnabledCallback): IsSecureEventInputEnabled
doesn't exist on other platforms.

6:00 PM Changeset in webkit [150095] by Brent Fulgham
  • 3 edits in trunk/Tools

[Windows] Expunge pthreads2VC.dll from DumpRenderTree Project
https://bugs.webkit.org/show_bug.cgi?id=115889

Patch by Brent Fulgham <bfulgham@webkit.org> on 2013-05-14
Reviewed by Benjamin Poulain.

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeCommon.props:
  • DumpRenderTree/win/DumpRenderTreeCommon.vsprops:
5:27 PM Changeset in webkit [150094] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Add a preference that can disable the fake SYSV SHM shim
https://bugs.webkit.org/show_bug.cgi?id=116127
<rdar://problem/13810524>

Patch by Simon Cooper <scooper@apple.com> on 2013-05-14
Reviewed by Alexey Proskuryakov.

  • PluginProcess/mac/PluginProcessShim.mm:

(WebKit::shim_disabled):
(WebKit::shim_shmdt):
(WebKit::shim_shmat):
(WebKit::shim_shmget):
(WebKit::shim_shmctl):

5:18 PM Changeset in webkit [150093] by timothy_horton@apple.com
  • 5 edits in trunk/Source

[wk2] Not updating tiled backing coverage when main frame scrollability changes
https://bugs.webkit.org/show_bug.cgi?id=116123
<rdar://problem/13836559>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:

(TiledCoreAnimationDrawingArea):
Add updateMainFrameClipsToExposedRect.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
Remove m_clipsToExposedRect. We don't actually need it.

(WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
Call updateMainFrameClipsToExposedRect so that we can always update
tiled backing coverage and can factor out our calls to setClipsToExposedRect.

(WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
Factor out setClipsToExposedRect calls to here, and also call
FrameView::adjustTiledBackingCoverage so that the FrameView's tiled
backing is informed to allow overdraw in the UI-process-scrolling case.

(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
Use updateMainFrameClipsToExposedRect.

Export FrameView::adjustTiledBackingCoverage.

  • WebCore.exp.in:
5:15 PM Changeset in webkit [150092] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows] Identify proper run environment for scripts.
https://bugs.webkit.org/show_bug.cgi?id=116114

Reviewed by David Kilzer.

Determine (based on Visual Studio version) which path to use for
executables (bin versus bin32).

  • Scripts/webkitdirs.pm:

(determineVisualStudioInstallDir): Added.
(determineVisualStudioVersion): Added.
(determineConfigurationProductDir): Modified to choose proper bin
or bin32 directory.
(visualStudioVersion): Added
(setupCygwinEnv): Modified to use new determineVisualStudioInstallDir

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

[BlackBerry] Improve Fatfinger phase.
https://bugs.webkit.org/show_bug.cgi?id=107403

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-05-14
Reviewed by Rob Buis.

Internally reviewed by Genevieve Mak.
BlackBerry PR 324965.

Cache and reuse intersected nodes as long as hit position has not been
changed.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::hitTestResult):

  • Api/WebPage_p.h:

(WebPagePrivate):

  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::findBestPoint):
(BlackBerry::WebKit::FatFingers::findIntersectingRegions):
(BlackBerry::WebKit::FatFingers::getNodesFromRect):

  • WebKitSupport/FatFingers.h:
3:20 PM Changeset in webkit [150090] by ap@apple.com
  • 15 edits
    13 adds in trunk

[Mac] Add tests for secure event input
https://bugs.webkit.org/show_bug.cgi?id=116121

Reviewed by Mark Rowe.

  • editing/secure-input: Added.
  • editing/secure-input/password-input-changed-type-expected.txt: Added.
  • editing/secure-input/password-input-changed-type.html: Added.
  • editing/secure-input/password-input-focusing-expected.txt: Added.
  • editing/secure-input/password-input-focusing-to-different-frame-expected.txt: Added.
  • editing/secure-input/password-input-focusing-to-different-frame.html: Added.
  • editing/secure-input/password-input-focusing.html: Added.
  • editing/secure-input/removed-password-input-expected.txt: Added.
  • editing/secure-input/removed-password-input.html: Added.
  • editing/secure-input/reset-state-on-navigation-expected.txt: Added.
  • editing/secure-input/reset-state-on-navigation.html: Added.
  • editing/secure-input/resources: Added.
  • editing/secure-input/resources/reset-state-on-navigation-target.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
3:08 PM Changeset in webkit [150089] by ap@apple.com
  • 9 edits
    1 move
    2 adds in trunk

[Mac] Add a testing shim for secure event input functions
https://bugs.webkit.org/show_bug.cgi?id=116122

Reviewed by Mark Rowe.

Added a new target with a dynamic library that interposes secure event input functions.
We need this to avoid interfering with user session state.

  • Configurations/WebCoreTestShim.xcconfig: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/DynamicLinkerInterposing.h: Moved from Source/WebKit2/Shared/mac/DyldInterpose.h.
  • testing/WebCoreTestShimLibrary.cpp: Added. (shimEnableSecureEventInput): (shimDisableSecureEventInput): (shimIsSecureEventInputEnabled):
2:14 PM Changeset in webkit [150088] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Get rid of Gradient::getColor()
https://bugs.webkit.org/show_bug.cgi?id=116089

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-14
Reviewed by Andreas Kling.

This code is now useless, remove it.

  • html/canvas/CanvasGradient.h:

(CanvasGradient):

  • platform/graphics/Gradient.cpp:

(WebCore::Gradient::Gradient):
(WebCore::Gradient::hash):

  • platform/graphics/Gradient.h:

(Gradient):

1:37 PM Changeset in webkit [150087] by hyatt@apple.com
  • 5 edits
    2 adds in trunk

Source/WebCore: REGRESSION: united.com has overlapping elements and is broken by flex box changes.
https://bugs.webkit.org/show_bug.cgi?id=115329
<rdar://problem/13690610>

The new flexbox spec says that flex-basis omitted in the flex shorthand defaults to
0 when flex-grow/shrink are set. This has undesirable behavior when objects don't
end up flexing at all, and it's something the spec is going to eventually address.

For now, though, to fix the regression, I'm making a targeted "hack" to deliberately
violate the spec, but to do so as minimally as possible. This hack detects if there
is infinite available space on a line, and if so, it treats a flex-basis of 0 like
auto.

This means that when height is constrained and set by a container, flexing will do
the right thing. Basically any time you end up actually flexing, the spec behavior
should happen. If you're just laying out at intrinsic sizes, though, and no flexing
is going to occur, we ignore a flex-basis of 0 and just use the child's normal size.

Note that widths don't have to be patched because the preferred logical widths
algorithm is broken right now and not checking flex-basis. If it did, we'd have seen
the same bug in the width direction.

This width issue is covered by https://bugs.webkit.org/show_bug.cgi?id=116117

Reviewed by Simon Fraser.

Added fast/flexbox/auto-height-with-flex.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::mainAxisContentExtent):
Make sure we return LayoutUnit::max when you have infinite free space and not
max - borderPadding.

(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
Only clear override size if it was set. Only mark for relayout if we did
an override size clear (i.e., if we were actually flexed). Add a new parameter,
hasInfiniteLineLength, that - if set - causes us to special case flex-basis:0
and treat it like flex-basis:auto.

(WebCore::RenderFlexibleBox::layoutFlexItems):
Define hasInfiniteLineLength and pass it to all the functions that need it.

(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
Remove the code that marks for layout and does a layout so early. This code
is moving (and changing) to preferredMainAxisContentExtentForChild.

(WebCore::RenderFlexibleBox::computeNextFlexLine):
Computes whether or not we have infinite line length now.

(WebCore::RenderFlexibleBox::freezeViolations):
(WebCore::RenderFlexibleBox::resolveFlexibleLengths):
Propagate hasInfiniteLineLength through to preferredMainAxisContentExtentForChild.

  • rendering/RenderFlexibleBox.h:

(RenderFlexibleBox):
Add hasInfiniteLineLength parameter to a bunch of functions.

LayoutTests: REGRESSION (r147261): Many overlaid elements on united.com's account page
https://bugs.webkit.org/show_bug.cgi?id=116107
<rdar://problem/13690610>

Reviewed by Simon Fraser.

  • fast/flexbox/auto-height-with-flex-expected.html: Added.
  • fast/flexbox/auto-height-with-flex.html: Added.
1:37 PM Changeset in webkit [150086] by mhahnenberg@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: Segfault in jsc with simple test program when running with profile dumping enabled
https://bugs.webkit.org/show_bug.cgi?id=116082

It's crashing because CodeBlock::baselineVersion() doesn't know how to handle the case where 'this' is the
baseline version but it hasn't been assigned to the m_blahCodeBlock field in BlahExecutable. The fix is to
check if we're the baseline version in baselineVersion() and return this if so.

Reviewed by Filip Pizlo.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::baselineVersion):

1:22 PM Changeset in webkit [150085] by akling@apple.com
  • 4 edits in trunk/Source/WebCore
Assertion failure in GlyphPage::setGlyphDataForIndex: (!glyph
fontData == m_fontDataForAllGlyphs)

<http://webkit.org/b/116113>
<rdar://problem/13833790>

Reviewed by Dan Bernstein.

If we're filling a full GlyphPage with a SimpleFontData that is actually a composite font reference,
we need to make sure we have per-glyph font data pointers, since it may end up using them.

Added GlyphPage::mayUseMixedFontDataWhenFilling() which can be implemented by the platform to let
GlyphPageTreeNode know that it should allocate a full-sized GlyphPage for mixed font data pointers
in case the font is a composite font reference, or if there are CJK ideographs in the text.

This code can be made smarter, but that's outside the scope of this change.
Fixes heavy asserting on bots running unreleased software.

  • platform/graphics/GlyphPage.h:

(GlyphPage):
(WebCore::GlyphPage::mayUseMixedFontDataWhenFilling):

  • platform/graphics/GlyphPageTreeNode.cpp:

(WebCore::GlyphPageTreeNode::initializePage):

  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp:

(WebCore::shouldUseCoreText):
(WebCore::GlyphPage::mayUseMixedFontDataWhenFilling):

1:09 PM Changeset in webkit [150084] by zoltan@webkit.org
  • 4 edits
    2 adds in trunk

Heap-use-after-free in WebCore::RenderBox::exclusionShapeOutsideInfo
https://bugs.webkit.org/show_bug.cgi?id=115566

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-05-14
Reviewed by David Hyatt.

Source/WebCore:

When a portion of the render tree is being detached, anonymous blocks
will be combined as their children are deleted. In this process, the
anonymous block later in the tree is merged into the one preceeding it.
It can happen that the later block contains floats that the previous
block did not contain, and thus are not in the floating objects list for
the new block. This can result in the new block containing floats that
are not in it's floating objects list, but are in the floating objects
lists of siblings and parents. This can cause problems when the float
itself is deleted, since the deletion code assumes that if a float is not
in it's containing block's floating objects list, it isn't in any
floating objects list, causing dangling pointers in the floating objects
lists of the siblings and parents. In order to preserve this condition
(removing it has serious performance implications), we need to copy the
floating objects from the old block to the new block. The float's
metrics will likely all be wrong, but since the new block is already
marked for layout, this will get fixed before anything gets displayed.

Test: fast/block/float/float-append-child-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo): Copy

floating objects list in addition to children.

(WebCore::RenderBlock::FloatingObject::clone): Added.
(WebCore::RenderBlock::removeChild): Use new method to copy children.

  • rendering/RenderBlock.h:

(RenderBlock): Add method.

LayoutTests:

Cleaned up test from the fuzzer. Will only crash if run under a memory
checking tool like ASAN.

  • fast/block/float/float-append-child-crash-expected.txt: Added.
  • fast/block/float/float-append-child-crash.html: Added.
12:57 PM Changeset in webkit [150083] by commit-queue@webkit.org
  • 29 edits
    3 deletes in trunk

Unreviewed, rolling out r150023.
http://trac.webkit.org/changeset/150023
https://bugs.webkit.org/show_bug.cgi?id=116120

Causes table layout issues (Bug 116118) and crashes on
buildbot waterfall pages. (Requested by ddkilzer on #webkit).

Source/WebCore:

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):

  • rendering/RenderTableSection.h:

(RenderTableSection):

LayoutTests:

  • fast/css/vertical-align-baseline-rowspan-007-expected.html:
  • fast/css/vertical-align-baseline-rowspan-007.htm:
  • fast/css/vertical-align-baseline-rowspan-008-expected.html:
  • fast/table/table-rowspan-height-distribution-in-rows.html: Removed.
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/qt/fast/table/table-rowspan-height-distribution-in-rows-expected.png: Removed.
  • platform/qt/fast/table/table-rowspan-height-distribution-in-rows-expected.txt: Removed.
  • platform/qt/tables/mozilla/bugs/bug17548-expected.png:
  • platform/qt/tables/mozilla/bugs/bug17548-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug220536-expected.png:
  • platform/qt/tables/mozilla/bugs/bug220536-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug7714-expected.png:
  • platform/qt/tables/mozilla/bugs/bug7714-expected.txt:
  • platform/qt/tables/mozilla/core/bloomberg-expected.png:
  • platform/qt/tables/mozilla/core/bloomberg-expected.txt:
  • platform/qt/tables/mozilla/other/test6-expected.png:
  • platform/qt/tables/mozilla/other/test6-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug1010-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug1010-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug23847-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug6933-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug6933-expected.txt:
  • tables/mozilla/core/bloomberg-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
12:39 PM Changeset in webkit [150082] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Hook up frame render begin/end in PerformanceMonitor
https://bugs.webkit.org/show_bug.cgi?id=116110

Patch by Andrew Lo <anlo@rim.com> on 2013-05-14
Reviewed by Rob Buis.

Internally reviewed by Jeff Rogers, Jonathan Jiang.
Internal PR 299155.

Mark frame render begin & end for BlackBerry performance monitoring
in blitVisibleContents.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):

11:39 AM WebKit Team edited by zhajiang@rim.com
(diff)
11:03 AM Changeset in webkit [150081] by Antoine Quint
  • 2 edits in trunk/Source/WebCore

Snapshotted plug-ins shadow tree should reset style inheritance
https://bugs.webkit.org/show_bug.cgi?id=116098

Reset the styles such that only injected user-agent stylesheets affect
the rendering of snapshotted plug-ins' shadow content.

Reviewed by Darin Adler.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):

10:57 AM Changeset in webkit [150080] by Brent Fulgham
  • 4 edits in trunk/Tools

[Windows] Switch to embedded manifest commands for launcher executables.
https://bugs.webkit.org/show_bug.cgi?id=116109

Reviewed by Darin Adler.

  • WinLauncher/WinLauncher.vcxproj/WinLauncher.vcxproj: Remove the

now-unused WinLauncher.exe.manifest file.

  • WinLauncher/WinLauncher.vcxproj/WinLauncher.vcxproj.filters: Ditto.
  • win/DLLLauncher/DLLLauncherMain.cpp: Add embedded manifest command

when building with VS2010 or newer.

10:55 AM Changeset in webkit [150079] by jocelyn.turcotte@digia.com
  • 2 edits in trunk/Source/WebKit2

[Win] REGRESSION(r149944): mmap is not available on Windows
https://bugs.webkit.org/show_bug.cgi?id=116015

Reviewed by Anders Carlsson.

Use fastAlloc/fastFree for platforms other than OS(DARWIN) where
using mmap is not necessary and maybe not available.

  • Platform/CoreIPC/ArgumentEncoder.cpp:

(CoreIPC::allocBuffer):
(CoreIPC::freeBuffer):
(CoreIPC::ArgumentEncoder::~ArgumentEncoder):
(CoreIPC::ArgumentEncoder::grow):

10:55 AM Changeset in webkit [150078] by mihnea@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSSRegions] Improve hit testing for empty regions
https://bugs.webkit.org/show_bug.cgi?id=115534

Reviewed by David Hyatt.

As a better follow up after WebKit bug https://bugs.webkit.org/show_bug.cgi?id=107752,
we can improve the code by not doing hit testing on the render flow thread object when
we are trying to hit test the render flow thread background. In this case, we should just bail out.
No new tests, covered by existing regions tests.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::nodeAtPoint):
(WebCore):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):

  • rendering/RenderFlowThread.h:
10:54 AM Changeset in webkit [150077] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows] Update ORWT to know about the Windows 8 SDK and Debug Tools.
https://bugs.webkit.org/show_bug.cgi?id=116079

Reviewed by David Kilzer.

  • Scripts/old-run-webkit-tests:

(setUpWindowsCrashLogSaving): Locate ntsd.exe and use it.

10:53 AM Changeset in webkit [150076] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[BlackBerry] Handle network errors when starting a new job
https://bugs.webkit.org/show_bug.cgi?id=116101

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-14
Reviewed by Rob Buis.

Make startJob() return a network status that can be used by the
caller to create a network error.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::initialize): createNetworkStream() should
always return a valid pointer so use an ASSERT instead of an early
return to make sure we have a valid stream.
(WebCore::NetworkJob::startNewJobWithRequest): Only return true if
the network job was started successfully.

  • platform/network/blackberry/NetworkJob.h:

(NetworkJob): Make initialize method void instead of bool since it
can't fail.

  • platform/network/blackberry/NetworkManager.cpp:

(WebCore::NetworkManager::startJob): Return a network error or
StatusSuccess.

  • platform/network/blackberry/NetworkManager.h:

(NetworkManager):

  • platform/network/blackberry/ResourceHandleBlackBerry.cpp:

(WebCore::ResourceHandle::start): Return true if job was started
successfully.
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
Check return value of startJob and fill the ResourceError with the
network status returned to finish the load.

10:44 AM Changeset in webkit [150075] by Antoine Quint
  • 2 edits in trunk/Source/WebCore

[Mac] captions menu is not positioned correctly in full-screen
https://bugs.webkit.org/show_bug.cgi?id=116103

Update the positioning properties of the captions menu in full-screen
following the fix for https://webkit.org/b/115968.

Reviewed by Darin Adler.

  • css/fullscreenQuickTime.css:

(video:-webkit-full-screen::-webkit-media-controls-closed-captions-container):
Add 50px to the bottom position since we're now positioned relative to the
media element, and use a calc() command to be right-aligned to the captions
icon in the media controller. The max-width and max-height properties follow
the same technique used for the non-full-screen mode.

10:40 AM Changeset in webkit [150074] by zandobersek@gmail.com
  • 15 edits in trunk

[GTK] Move generated ColorData.cpp, WebKitFontFamilyNames.(cpp|h) build targets into libPlatform
https://bugs.webkit.org/show_bug.cgi?id=115921

Reviewed by Gustavo Noronha Silva.

.:

  • GNUmakefile.am: Add GENSOURCES_PLATFORM, platform_built_sources variables.

Source/Platform:

  • GNUmakefile.am: Move the ANGLE include directories under the new platform_cppflags variable,

adding the DerivedSources/Platform directory. Add the generated sources' build targets to libPlatform
under nodist_libPlatform_la_SOURCES. Add platform_cppflags to the list of libPlatformGtk CPPFLAGS.
Add generation rules for the ColorData.cpp and WebKitFontFamilyNames.(cpp|h) source files, now generated
into the DerivedSources/Platform directory.

Source/WebCore:

No new tests - no new functionality.

  • GNUmakefile.am: Add platform_cppflags to the list of CPPFLAGS for libWebCoreSVG, libWebCore,

libWebCorePlatform, libWebCoreGtk. Remove generation rules for ColorData.cpp and WebKitFontFamilyNames.(cpp|h).

  • GNUmakefile.list.am: Include the ColorData.cpp and WebKitFontFamilyNames.(cpp|h) build targers under

platform_built_sources.

  • bindings/gobject/GNUmakefile.am: Add platform_cppflags to the list of libWebCoreDOM CPPFLAGS.

Source/WebKit/gtk:

  • GNUmakefile.am: Add platform_cppflags to the list of CPPFLAGS for libwebkit2gtk, libWebCoreGtk2,

libPlatformGtk2 and WebKitPluginProcess.

Source/WebKit2:

  • GNUmakefile.am: Add platform_cppflags to the list of libwebkit2gtk CPPFLAGS.

Tools:

  • GNUmakefile.am: Add platform_cppflags to the list of CPPFLAGS for libWebCoreInternals and DumpRenderTree.
  • TestWebKitAPI/GNUmakefile.am: Add platform_cppflags to the list of TestGtk CPPFLAGS.
10:31 AM Changeset in webkit [150073] by zandobersek@gmail.com
  • 4 edits in trunk/Source

[GTK] libPlatform, libPlatformGtk must depend on the related GNUmakefiles
https://bugs.webkit.org/show_bug.cgi?id=115937

Reviewed by Martin Robinson.

Source/Platform:

  • GNUmakefile.am: Set up an artifical dependency so that libPlatform and libPlatformGtk

libraries take into account any changes in this GNUmakefile.am and the GNUmakefile.list.am
located under Source/WebCore. The latter is included due to all the build targets for the
two libraries being listed there.

Source/WebCore:

No new tests - no new functionality.

  • GNUmakefile.am: Fix typos in two libraries' names - Webcore -> WebCore.
9:52 AM Changeset in webkit [150072] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

Removing Attr can delete a wrong Attribute in ElementData
https://bugs.webkit.org/show_bug.cgi?id=116077

Source/WebCore:

Reviewed by Benjamin Poulain.

Merge https://chromium.googlesource.com/chromium/blink/+/e861452a292e185501e48940305947aa6a4e23c2
after simplifying and renaming functions to be more WebKit style.

The XML parser can produce elements with attributes whose names have
distinct prefixes, but the same expanded name. When one of these
attributes is put up for adoption, it may be its similarly named
sibling that is removed from its owner element. As a result the
original owner hangs onto the adopted attribute, despite the fact that
it is now in a different document. Sometimes it's just hard to let go.

Test: fast/dom/adopt-attribute-crash.svg

  • dom/Element.cpp:

(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeNode):
(WebCore::ElementData::getAttributeItemIndex):

  • dom/Element.h:

(ElementData):
(Element):

LayoutTests:

Reviewed by Benjamin Poulain.

Add a regression test by importing
https://chromium.googlesource.com/chromium/blink/+/e861452a292e185501e48940305947aa6a4e23c2

  • fast/dom/adopt-attribute-crash-expected.txt: Added.
  • fast/dom/adopt-attribute-crash.svg: Added.
9:17 AM Changeset in webkit [150071] by commit-queue@webkit.org
  • 7 edits in trunk/Source

[BlackBerry] Use requestAnimationFrame for animations
https://bugs.webkit.org/show_bug.cgi?id=115896

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-14
Reviewed by Rob Buis.

Source/WebKit/blackberry:

Make WebPagePrivate a
BlackBerry::Platform::AnimationFrameRateClient and use it to
schedule animations.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::animationFrameChanged):
(BlackBerry::WebKit::WebPagePrivate::scheduleAnimation):
(BlackBerry::WebKit::WebPagePrivate::startRefreshAnimationClient):
(BlackBerry::WebKit::WebPagePrivate::stopRefreshAnimationClient):
(BlackBerry::WebKit::WebPagePrivate::handleServiceScriptedAnimationsOnMainThread):

  • Api/WebPage_p.h:

(WebPagePrivate):

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore):
(WebCore::ChromeClientBlackBerry::scheduleAnimation):

  • WebCoreSupport/ChromeClientBlackBerry.h:

(ChromeClientBlackBerry):

Source/WTF:

  • wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER and

WTF_USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for BlackBerry
port.

8:59 AM Changeset in webkit [150070] by Antti Koivisto
  • 19 edits in trunk/Source/WebCore

Remove ::-webkit-distributed()
https://bugs.webkit.org/show_bug.cgi?id=116106

Reviewed by Andreas Kling.

This experimental Shadow DOM selector code is unused and has no owner.

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

(WebCore::CSSParser::rewriteSpecifiersWithNamespaceIfNeeded):
(WebCore::CSSParser::rewriteSpecifiersWithElementName):

  • css/CSSParser.h:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::CSSParserSelector):

  • css/CSSParserValues.h:

(CSSParserSelector):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::pseudoId):
(WebCore::nameToPseudoTypeMap):
(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:
  • css/CSSSelectorList.cpp:
  • css/CSSSelectorList.h:

(CSSSelectorList):

  • css/DocumentRuleSets.cpp:

(WebCore::DocumentRuleSets::resetAuthorStyle):

  • css/DocumentRuleSets.h:

(DocumentRuleSets):

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchAuthorRules):

  • css/ElementRuleCollector.h:

(ElementRuleCollector):

  • css/RuleSet.cpp:

(WebCore::RuleSet::addChildRules):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::match):

  • css/SelectorFilter.cpp:

(WebCore::SelectorFilter::collectIdentifierHashes):

  • html/shadow/InsertionPoint.cpp:
  • html/shadow/InsertionPoint.h:
7:29 AM Changeset in webkit [150069] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove RenderTheme::supportsCalendarPicker
https://bugs.webkit.org/show_bug.cgi?id=116068

Patch by Daker Fernandes Pinheiro <daker.pinheiro@openbossa.org> on 2013-05-14
Reviewed by Benjamin Poulain.

No new tests needed because it doesn't affect behaviour.

This method was never overrided by any platform
and always leaded to the same behaviour.
The code which depended on it was also removed.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updatePickerIndicatorVisibility):

  • html/BaseMultipleFieldsDateAndTimeInputType.h:

(BaseMultipleFieldsDateAndTimeInputType):

  • page/ChromeClient.h:

(ChromeClient):

  • rendering/RenderTheme.h:
5:54 AM Changeset in webkit [150068] by jocelyn.turcotte@digia.com
  • 2 edits in trunk/Source/WebKit2

[WK2][Win] Fix ASSERT(DeleteTimerQueueTimer...)
https://bugs.webkit.org/show_bug.cgi?id=116039

Reviewed by Benjamin Poulain.

According to the documentation, DeleteTimerQueueTimer can be expected to return
false with an ERROR_IO_PENDING error when called from the timer's callback.

  • Platform/win/WorkQueueWin.cpp:

(WorkQueue::timerCallback):

5:51 AM Changeset in webkit [150067] by abucur@adobe.com
  • 2 edits in trunk/LayoutTests

Modify checkLayout to receive the log container as an optional parameter
https://bugs.webkit.org/show_bug.cgi?id=112793

Reviewed by Darin Adler.

Add a way to specify the container manually for checkLayout. This is helpful to measure regions for nested
named flows (and probably other cases as well).

  • resources/check-layout.js: Added an optional parameter to window.checkLayout.
5:49 AM Changeset in webkit [150066] by kbalazs@webkit.org
  • 4 edits
    2 adds in trunk

[GStreamer] cannot seek after video finished
https://bugs.webkit.org/show_bug.cgi?id=114044

Patch by Balazs Kelemen <b.kelemen@sisa.samsung.com> on 2013-04-30
Reviewed by Philippe Normand.

Source/WebCore:

Test: media/video-seek-after-end.html

Reland without wrong assertion. If seek is called after didEnd the pipeline
state will not be in GST_STATE_NULL yet but it is not a problem because we handle that.

Rework the seeking logic to be able to seek after reseting the pipeline.
In addition to solve the actual problem this patch supposed to make seeking
more robust and correct.
The previous implementation tried to hide the complexity of asynchronous operations
on the pipeline. It did not handle the GST_MESSAGE_ASYNC_DONE message from the bus
but instead reported the seek as finished when it saw an asynchronous pending state
(GST_STATE_CHANGE_ASYNC) which could happen way before the seek is really done.
Now we pay attention to the GST_MESSAGE_ASYNC_DONE message to track the status of seeks.
Seeks are not the only operations executed asynchronously, changing the pipeling state is
similar. It means a seek can overlap with onother ongoing asynchronous operation.
This change address this by introducing an invariant for seeks, which is that we only request
a seek if there are no other ongoing asynchronous operations and the pipeline state is either
paused or playing (which is recommended anyway according to GStreamer's documentation).
This way we can be sure that the time when we get the next GST_MESSAGE_ASYNC_DONE message the
seek has been completed.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::toGstClockTime): Factored time conversation into a helper.
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):

(WebCore::MediaPlayerPrivateGStreamer::playbackPosition): The position might not be available
if the pipeline still has a pending state. As a workaround, if we are right after a seek we can
use the seek time. Avoiding this situation would be possible by not allowing any asynchronous
operation to overlap. I believe it would add a lot more complexity so I decided to rather introduce
this workaround. Otherwise those overlapping operations are handled fine by GStreamer.

(WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Do not reset internal state variables.
This function called when there is an intent to restart playback but it does not actually restart it.
(WebCore::MediaPlayerPrivateGStreamer::currentTime): Just removed a staling newline.
(WebCore::MediaPlayerPrivateGStreamer::seek): Take a look to the pipeline state and act upon that.
If there is an ongoing asynchronous operation make the seek pending, otherwise do it now.
Now we handle overlapping seeks as well because I saw that it can happen in some tests.
Added an early return for live streams as it doesn't makes sense to try seeking in them.

(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Handle GST_MESSAGE_ASYNC_DONE and some refactoring.
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
(WebCore::MediaPlayerPrivateGStreamer::updateStates): Only handle seeks in the pending case, the rest is
now handled in asyncStateChangeDone.
(WebCore::MediaPlayerPrivateGStreamer::cacheDuration): Do not reset the m_mediaDurationKnown if the pipeline
has an asynchronous pending state because it would fail. It does actually happen when we get a duration message
after restarting the pipeline and it would result in restarting playback from the start. It seems to be a bug
in GStreamer that it sends the duration message too early. Also sanitized this function by merging redundant branches.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):

LayoutTests:

  • media/video-seek-after-end-expected.txt: Added.
  • media/video-seek-after-end.html: Added.
5:27 AM Changeset in webkit [150065] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Ellipsis text is placed to wrong position, when the truncated text is fully cut off in RTL direction.
https://bugs.webkit.org/show_bug.cgi?id=115858

Patch by Zalan Bujtas <Alan Bujtas> on 2013-05-14
Reviewed by Darin Adler.

Source/WebCore:

Take text direction into account to calculate ellipsis position in case of
full truncation.

Test: fast/css/text-overflow-ellipsis-full-truncate-rtl.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::placeEllipsisBox):

LayoutTests:

  • fast/css/text-overflow-ellipsis-full-truncate-rtl-expected.html: Added.
  • fast/css/text-overflow-ellipsis-full-truncate-rtl.html: Added.
4:37 AM Changeset in webkit [150064] by ap@apple.com
  • 7 edits in trunk/Source/WebKit2

Remove unused "type" field from DictionaryPopupInfo
https://bugs.webkit.org/show_bug.cgi?id=116011

Reviewed by Darin Adler.

It is unused, and furthermore, PDFPlugin sets it incorrectly anyway.

  • Shared/DictionaryPopupInfo.cpp:

(WebKit::DictionaryPopupInfo::encode):
(WebKit::DictionaryPopupInfo::decode):

  • Shared/DictionaryPopupInfo.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::showDefinitionForAttributedString):

  • WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:

(WebKit::WebContextMenuClient::lookUpInDictionary):

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

(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::WebPage::performDictionaryLookupForSelection):
(WebKit::WebPage::performDictionaryLookupForRange):

4:32 AM Changeset in webkit [150063] by michael.bruning@digia.com
  • 4 edits in trunk/Source/WebKit2

[WK2] Make WebPageProxy use deviceScaleFactor() in creationParameters().
https://bugs.webkit.org/show_bug.cgi?id=110218

Reviewed by Darin Adler.

Make the WebPageProxy::creationParameters use the accessor
deviceScaleFactor() instead of using m_intrinsicDeviceScaleFactor
directly. This will restore the custom device scale factor when
reattaching to the WebProcess after a crash.

Moreover, it will enable the Qt and ELF ports to use the
existing C API for overriding the device scale factor instead
of using the WebPageProxy directly or adding new C API to set
the intrinsic device scale factor.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::setDeviceScaleFactor):

  • UIProcess/API/qt/qquickwebpage.cpp:

(QQuickWebPage::updatePaintNode):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

3:12 AM Changeset in webkit [150062] by commit-queue@webkit.org
  • 12 edits
    3 adds
    2 deletes in trunk/Source

[BlackBerry] Implement platform strategies
https://bugs.webkit.org/show_bug.cgi?id=112162

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-14
Reviewed by Rob Buis.

Source/WebCore:

This is just a refactoring, covered by existing tests.

  • CMakeLists.txt: Move PlatformStrategies.cpp from platform

specific makefiles to the global one now that all platforms using
cmake implement platform strategies.

  • PlatformBlackBerry.cmake:
  • PlatformEfl.cmake:
  • PlatformWinCE.cmake:
  • loader/CookieJar.cpp: Remove the preprocessor error that is not

needed anymore.

  • loader/blackberry/CookieJarBlackBerry.cpp: Removed.
  • platform/network/blackberry/CookieJarBlackBerry.cpp: Added.

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

  • plugins/blackberry/PluginDataBlackBerry.cpp: Removed.

Source/WebKit:

  • PlatformBlackBerry.cmake: Add new files to compilation.

Source/WebKit/blackberry:

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::globalInitialize): Initialize platform
strategies.

  • WebCoreSupport/PlatformStrategiesBlackBerry.cpp: Added.

(PlatformStrategiesBlackBerry::initialize):
(PlatformStrategiesBlackBerry::PlatformStrategiesBlackBerry):
(PlatformStrategiesBlackBerry::createCookiesStrategy):
(PlatformStrategiesBlackBerry::createDatabaseStrategy):
(PlatformStrategiesBlackBerry::createLoaderStrategy):
(PlatformStrategiesBlackBerry::createPasteboardStrategy):
(PlatformStrategiesBlackBerry::createPluginStrategy):
(PlatformStrategiesBlackBerry::createSharedWorkerStrategy):
(PlatformStrategiesBlackBerry::createStorageStrategy):
(PlatformStrategiesBlackBerry::createVisitedLinkStrategy):
(PlatformStrategiesBlackBerry::cookiesForDOM):
(PlatformStrategiesBlackBerry::setCookiesFromDOM):
(PlatformStrategiesBlackBerry::cookiesEnabled):
(PlatformStrategiesBlackBerry::cookieRequestHeaderFieldValue):
(PlatformStrategiesBlackBerry::getRawCookies):
(PlatformStrategiesBlackBerry::deleteCookie):
(PlatformStrategiesBlackBerry::refreshPlugins):
(PlatformStrategiesBlackBerry::getPluginInfo):
(PlatformStrategiesBlackBerry::isLinkVisited):
(PlatformStrategiesBlackBerry::addVisitedLink):

  • WebCoreSupport/PlatformStrategiesBlackBerry.h: Added.

(PlatformStrategiesBlackBerry):

Source/WTF:

  • wtf/Platform.h: Add BlackBerry platform to the list of platforms

using platform strategies.

2:23 AM Changeset in webkit [150061] by zarvai@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/TestExpectations: Skip test using disabled feature.
  • platform/qt/http/tests/security/cross-frame-access-put-expected.txt: Rebaselining after r149869.
1:52 AM Changeset in webkit [150060] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Crash due to an assert in FrameView::doDeferredRepaints
https://bugs.webkit.org/show_bug.cgi?id=115412

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-14
Reviewed by Rob Buis.

PR 115412

The problem is that we are calling
updateLayoutAndStyleIfNeededRecursive() (because of
zoomToInitialScaleOnLoad) from ChomeClient::layoutUpdated()
callback which is not expected. It's expected to be called right
before painting, and not right after painting. Even if a new
layout is not done, updateLayoutAndStyleIfNeededRecursive() calls
flushDeferredRepaints() and it's possible that this is called in
the middle of a beginDeferredRepaints() and endDeferredRepaints()
apparently.
In general only BackingStore should call
updateLayoutAndStyleIfNeededRecursive before painting, and a simple
layout is enough in all other cases like resizing. This patch renames
requestLayoutIfNeeded as updateLayoutAndStyleIfNeededRecursive to
make more obvious what it does, and adds layoutIfNeeded that calls
layout. The former is used by the BackingStore and the latter by
WebPage.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
(BlackBerry::WebKit::BackingStorePrivate::requestLayoutIfNeeded):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
(BlackBerry::WebKit::WebPagePrivate::updateLayoutAndStyleIfNeededRecursive):
(BlackBerry::WebKit::WebPagePrivate::layoutIfNeeded):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::overflowExceedsContentsSize):
(BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
(BlackBerry::WebKit::WebPagePrivate::webContext):
(BlackBerry::WebKit::WebPagePrivate::zoomAnimationFinished):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
(BlackBerry::WebKit::WebPage::setDefaultLayoutSize):
(BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):

  • Api/WebPage_p.h:

(WebPagePrivate):

1:49 AM Changeset in webkit [150059] by commit-queue@webkit.org
  • 37 edits
    1 move
    2 adds in trunk/LayoutTests

[EFL] Unreviewed EFL gardening
https://bugs.webkit.org/show_bug.cgi?id=116090

Unreviewed EFL gardening.

Rebaseline after r155023.

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-14

  • platform/efl/TestExpectations:
  • platform/efl/fast/table/007-expected.png:
  • platform/efl/fast/table/007-expected.txt:
  • platform/efl/fast/table/colspanMinWidth-expected.png:
  • platform/efl/fast/table/colspanMinWidth-expected.txt:
  • platform/efl/fast/table/spanOverlapRepaint-expected.png:
  • platform/efl/fast/table/spanOverlapRepaint-expected.txt:
  • platform/efl/fast/table/table-rowspan-height-distribution-in-rows-expected.txt: Added.
  • platform/efl/tables/mozilla/bugs/bug13169-expected.png:
  • platform/efl/tables/mozilla/bugs/bug13169-expected.txt: Added.
  • platform/efl/tables/mozilla/bugs/bug133756-1-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug133756-2-expected.png:
  • platform/efl/tables/mozilla/bugs/bug133756-2-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug17138-expected.png:
  • platform/efl/tables/mozilla/bugs/bug17138-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug17548-expected.png:
  • platform/efl/tables/mozilla/bugs/bug17548-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug220536-expected.png:
  • platform/efl/tables/mozilla/bugs/bug220536-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug6304-expected.png:
  • platform/efl/tables/mozilla/bugs/bug6304-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug73321-expected.txt: Renamed from LayoutTests/platform/efl-wk2/tables/mozilla/bugs/bug73321-expected.txt.
  • platform/efl/tables/mozilla/bugs/bug7714-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug8858-expected.txt:
  • platform/efl/tables/mozilla/core/bloomberg-expected.png:
  • platform/efl/tables/mozilla/core/bloomberg-expected.txt:
  • platform/efl/tables/mozilla/core/cell_heights-expected.txt:
  • platform/efl/tables/mozilla/other/test6-expected.png:
  • platform/efl/tables/mozilla/other/test6-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug1010-expected.png:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug1010-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug23847-expected.png:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug65372-expected.png:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug6933-expected.txt:
1:40 AM Changeset in webkit [150058] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

The tests marked with the comment "WebKitTestRunner needs to sanitize file urls in the output"
run successfully with WebKitTestRunner. They should not be skipped.
https://bugs.webkit.org/show_bug.cgi?id=116083

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-14
Reviewed by Darin Adler.

  • platform/wk2/TestExpectations:

Unskip tests.

1:31 AM Changeset in webkit [150057] by jocelyn.turcotte@digia.com
  • 4 edits in trunk/Source

[Qt] Fix a crash under ~PingLoader when the QNAM on the page has been destroyed.
https://bugs.webkit.org/show_bug.cgi?id=116035

Reviewed by Simon Hausmann.

Source/WebCore:

Reproduced with arora which does destroy the QNetworkAccessManager in some situations.
The problem is that PingLoader can still be pending meanwhile, holding a ResourceHandle
with a dangling pointer to a QNetworkReply destroyed with the QNetworkAccessManager.

  • platform/network/qt/QNetworkReplyHandler.cpp:

(WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):

Set the parent to 0 like we did before the introduction of QNetworkReplyWrapper.

(WebCore::QNetworkReplyWrapper::release):

Source/WebKit/qt:

  • tests/qwebpage/tst_qwebpage.cpp:

(tst_QWebPage::networkReplyParentChanged):

May 13, 2013:

11:52 PM Changeset in webkit [150056] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Make -[WebNavigationData url] the destination of the navigation
https://bugs.webkit.org/show_bug.cgi?id=114904

Reviewed by Dave Kilzer.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::updateGlobalHistory): Initialize the WebNavigationData with the
current URL, not the original request URL.

10:42 PM Changeset in webkit [150055] by eric.carlson@apple.com
  • 6 edits in trunk/Source/WebCore

[Mac] update in-band caption attributes
https://bugs.webkit.org/show_bug.cgi?id=116057

Reviewed by Dean Jackson.

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::updateCueFromCueData): Copy highlight color.

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): "highlight" color sets the cue

background, "background" color sets the cue container background.

  • html/track/TextTrackCueGeneric.h:
  • platform/graphics/InbandTextTrackPrivateClient.h:
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Process "highlight" color.

9:09 PM Changeset in webkit [150054] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX (r150049): Fix RetainPtr<> type in PasteboardIOS.mm

  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::writeImage): Use RetainPtr<CFStringRef>
instead of RetainPtr<NSString>.

9:04 PM Changeset in webkit [150053] by benjamin@webkit.org
  • 13 edits
    1 delete in trunk/Source/WebCore

Remove platform/graphic's Generator
https://bugs.webkit.org/show_bug.cgi?id=116084

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-13
Reviewed by Darin Adler.

The Generator no longer abstract anything useful, its only
implementation is Gradient.

  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/GeneratedImage.h:
  • platform/graphics/Generator.h: Removed.
  • platform/graphics/GeneratorGeneratedImage.cpp:

(WebCore::GeneratorGeneratedImage::draw):
(WebCore::GeneratorGeneratedImage::drawPattern):

  • platform/graphics/GeneratorGeneratedImage.h:

(WebCore::GeneratorGeneratedImage::create):
(WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
(GeneratorGeneratedImage):

  • platform/graphics/Gradient.h:

(WebCore):
(Gradient):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::fillRect):

  • platform/graphics/GraphicsContext.h:

(WebCore):
(GraphicsContext):

8:36 PM Changeset in webkit [150052] by ryuan.choi@samsung.com
  • 2 edits
    2 adds in trunk/LayoutTests

Unreviewed EFL gardening.

Unskip several tests which already passed and add png expected results.

  • platform/efl/TestExpectations:
  • platform/efl/editing/selection/doubleclick-crash-expected.png: Added.
  • platform/efl/editing/selection/select-missing-image-expected.png: Added.
8:20 PM Changeset in webkit [150051] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Nightly build's jsc doesn't work without DYLD_FRAMEWORK...
https://bugs.webkit.org/show_bug.cgi?id=79065

Patch by Alvaro Lopez Ortega <alvaro@alobbs.com> on 2013-05-13
Reviewed by Darin Adler.

Fixes the build process so the depencencies of the jsc binary are
modified before its copied to its target directory. In this way
jsc should always use relative reference to the JavaScriptCore
libraries.

the "Copy Into Framework" target.

7:49 PM Changeset in webkit [150050] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Objective-C API: scanExternalObjectGraph should not create new JSVirtualMachine wrappers
https://bugs.webkit.org/show_bug.cgi?id=116074

If scanExternalObjectGraph creates a new JSVirtualMachine wrapper during collection, when the
scanExternalObjectGraph call finishes and the autorelease pool is drained we will dealloc the
JSVirtualMachine which will cause us to try to take the API lock for the corresponding VM.
If this happens on a GC thread other than the "main" thread, we will deadlock. The solution
is to just check the VM cache, and if there is no JSVirtualMachine wrapper, return early.

Reviewed by Darin Adler.

  • API/JSVirtualMachine.mm:

(scanExternalObjectGraph):

7:21 PM Changeset in webkit [150049] by ddkilzer@apple.com
  • 4 edits
    3 adds in trunk/Source/WebCore

Upstream iOS Clipboard and Pasteboard changes
<http://webkit.org/b/116062>

Reviewed by Darin Adler.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Clipboard.h:
  • platform/Pasteboard.h:
  • platform/ios/ClipboardIOS.h: Added.
  • platform/ios/ClipboardIOS.mm: Added.
  • platform/ios/PasteboardIOS.mm: Added.
7:14 PM Changeset in webkit [150048] by allan.jensen@digia.com
  • 2 edits in trunk/LayoutTests

compositing/transitions/transform-on-large-layer.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=110099

Reviewed by Darin Adler.

Only set the timeout for test end after the resize event has been
received. This helps slow test bots, and also makes it easier to
tell rendering failures from failures to send resize event.

  • compositing/transitions/transform-on-large-layer.html:
7:11 PM Changeset in webkit [150047] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Mac] Use pageScaleFactor * deviceScaleFactor in requiresTiledLayer() and computePixelAlignment() of GraphicsLayerCA.
https://bugs.webkit.org/show_bug.cgi?id=107359

Patch by Huang Dongsung <luxtella@company100.net> on 2013-05-13
Reviewed by Darin Adler.

Currently GraphicsLayerCA uses pageScaleFactor in requiresTiledLayer() and
computePixelAlignment(), but we must use pageScaleFactor * deviceScaleFactor in
them.
It is because:

  1. requiresTiledLayer() uses the scale to compute an actual layer size in the device

pixel unit.

  1. computePixelAlignment() uses the scale to compute an aligned layer position

in the device pixel unit.

No new tests. We can not test about requiresTiledLayer() because it depends on
gpu. computePixelAlignment() is correct now because fortunately Mac uses
only 2 (for retina display) as a deviceScaleFactor.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::requiresTiledLayer):
(WebCore::GraphicsLayerCA::computePixelAlignment):

7:00 PM Changeset in webkit [150046] by commit-queue@webkit.org
  • 12 edits in trunk

Added testRunner.setPrinting.
https://bugs.webkit.org/show_bug.cgi?id=42693
rdar://problem/8213845

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-13
Reviewed by Darin Adler.

Source/WebKit2:

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

(WKBundlePageCopyRenderTreeExternalRepresentationForPrinting): Added.

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

Added WKBundlePageCopyRenderTreeExternalRepresentationForPrinting declaration.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::renderTreeExternalRepresentationForPrinting): Added.

  • WebProcess/WebPage/WebPage.h:

Added renderTreeExternalRepresentationForPrinting declaration.

Tools:

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:

Added setPrinting JavaScript function.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::dump):
Dump the external representation for printing if setPrinting has been called.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(WTR::TestRunner::isPrinting): Added.
(WTR::TestRunner::setPrinting): Added.
Added and initialized m_isPrinting member boolean.

LayoutTests:

  • platform/wk2/TestExpectations:

Unskipped printing tests.

5:59 PM Changeset in webkit [150045] by Christophe Dumez
  • 27 edits
    3 moves in trunk

Rename BarInfo to BarProp and remove [NoInterfaceObject]
https://bugs.webkit.org/show_bug.cgi?id=116027

Reviewed by Andreas Kling.

Source/WebCore:

Rename BarInfo to BarProp and remove [NoInterfaceObject] extended attribute from
the IDL interface to match the specification:
http://www.w3.org/html/wg/drafts/html/master/browsers.html#barprop

The new behavior also matches Firefox and Blink.

No new tests, covered by LayoutTests/fast/js/global-constructors-attributes.html.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.order:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/gobject/GNUmakefile.am:
  • page/BarProp.cpp: Renamed from Source/WebCore/page/BarInfo.cpp.
  • page/BarProp.h: Renamed from Source/WebCore/page/BarInfo.h.
  • page/BarProp.idl: Renamed from Source/WebCore/page/BarInfo.idl.
  • page/DOMWindow.cpp:
  • page/DOMWindow.h:
  • page/DOMWindow.idl:

LayoutTests:

Rebaseline fast/js/global-constructors-attributes.html now that there is a new
'BarProp' global constructor.

Rebaseline a few other tests now that BarInfo was renamed to BarProp.

  • fast/dom/Window/window-lookup-precedence-expected.txt:
  • fast/js/global-constructors-attributes-expected.txt:
  • fast/loader/window-properties-restored-from-page-cache-expected.txt:
  • http/tests/security/cross-frame-access-put-expected.txt:
  • platform/efl/fast/js/global-constructors-attributes-expected.txt:
  • platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
  • platform/gtk/fast/js/global-constructors-attributes-expected.txt:
  • platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
  • platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
  • platform/qt/fast/js/global-constructors-attributes-expected.txt:
4:17 PM Changeset in webkit [150044] by andersca@apple.com
  • 6 edits in trunk/Source

Remove ChromeClient::willPopupMenu
https://bugs.webkit.org/show_bug.cgi?id=116063

Reviewed by Andreas Kling.

Source/WebCore:

Remove ChromeClient::willPopupMenu.

  • page/ChromeClient.h:

Source/WebKit/mac:

ChromeClient::willPopupMenu is only called in one place from WebKit, so just move the function to the call site.

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show):

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:
4:16 PM Changeset in webkit [150043] by Beth Dakin
  • 13 edits in trunk/Source/WebCore

Headers and footers should be pinned to the left edge of the window when scrolling
horizontally
https://bugs.webkit.org/show_bug.cgi?id=116061
-and corresponding-
<rdar://problem/13599215>

Reviewed by Simon Fraser.

The scrolling thread will need to know about the header and footer layers in order
the implement this custom scrolling behavior.

These getters will fetch the header or footer layer from the FrameView as
appropriate.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::headerLayerForFrameView):
(WebCore::ScrollingCoordinator::footerLayerForFrameView):

  • page/scrolling/ScrollingCoordinator.h:

When we’re scrolling on the main thread, adjust the position of the header and
footer layers here.
(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):

ScrollingStateScrollingNode now stores GraphicsLayers and PlatformLayers for the
header and footer, just like it already does for the counterScrollingLayer.

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):

  • page/scrolling/ScrollingStateScrollingNode.h:

(ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::headerLayer):
(WebCore::ScrollingStateScrollingNode::footerLayer):

Setters for the new layers.

  • page/scrolling/mac/ScrollingCoordinatorMac.h:

(ScrollingCoordinatorMac):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
(WebCore::ScrollingCoordinatorMac::setHeaderLayerForNode):
(WebCore::ScrollingCoordinatorMac::setFooterLayerForNode):

These setters and getters mirror the existing one for counterScrollingLayer.

  • page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:

(WebCore::ScrollingStateScrollingNode::headerPlatformLayer):
(WebCore::ScrollingStateScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateScrollingNode::footerPlatformLayer):
(WebCore::ScrollingStateScrollingNode::setFooterLayer):

And the ScrollingTree will store CALayers for the header and footer.

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:

(ScrollingTreeScrollingNodeMac):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):

This is where the magic happens when we are scrolling on the scrolling thread.
Adjust the horizontal position the behave like a fixed object, but keep the
vertical position what it was when layer was created.
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

RenderLayerCompositor must now provide getters for the header and footer.

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::headerLayer):
(WebCore::RenderLayerCompositor::footerLayer):

Set the anchor point for when we adjust the position later on. Also call
frameViewRootLayerDidChange() to get the new layers picked up and sent to the
scrolling tree.
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):

4:11 PM Changeset in webkit [150042] by benjamin@webkit.org
  • 8 edits in trunk/Source

Improve stringProtoFuncLastIndexOf for the prefix case
https://bugs.webkit.org/show_bug.cgi?id=115952

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncLastIndexOf):
Use the optimized string search when possible.

On Joseph Pecoraro's tests, this gives a ~30% speed improvement.

Source/WTF:

Add an optimized version of StringImpl::startsWith() for JavaScriptCore.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::startsWith):

  • wtf/text/StringImpl.h:

(StringImpl):
(WTF::StringImpl::startsWith):

  • wtf/text/WTFString.h:

(WTF::String::startsWith):

2:53 PM Changeset in webkit [150041] by timothy@apple.com
  • 32 edits in trunk/Source

Add support for updating the Web Inspector toolbar height.

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

Reviewed by Joseph Pecoraro and Benjamin Poulain.

Source/WebCore:

  • inspector/InspectorFrontendClient.h:

(InspectorFrontendClient):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::setToolbarHeight):

  • inspector/InspectorFrontendHost.h:

(InspectorFrontendHost):

  • inspector/InspectorFrontendHost.idl:
  • testing/Internals.cpp:

Source/WebKit/efl:

  • WebCoreSupport/InspectorClientEfl.cpp:

(WebCore::InspectorFrontendClientEfl::setToolbarHeight):

  • WebCoreSupport/InspectorClientEfl.h:

Source/WebKit/gtk:

  • WebCoreSupport/InspectorClientGtk.cpp:

(WebKit::InspectorFrontendClient::setToolbarHeight):

  • WebCoreSupport/InspectorClientGtk.h:

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorFrontendClient::setToolbarHeight):

Source/WebKit/qt:

  • WebCoreSupport/InspectorClientQt.cpp:

(WebCore::InspectorFrontendClientQt::setToolbarHeight):

  • WebCoreSupport/InspectorClientQt.h:

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorFrontendClient::setToolbarHeight):

  • WebCoreSupport/WebInspectorClient.h:

Source/WebKit2:

  • UIProcess/WebInspectorProxy.h:

(WebKit::WebInspectorProxy::setToolbarHeight):
(WebInspectorProxy):

  • UIProcess/WebInspectorProxy.messages.in:
  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformSetToolbarHeight):

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformSetToolbarHeight):
(WebKit):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformSetToolbarHeight):

  • UIProcess/qt/WebInspectorProxyQt.cpp:

(WebKit::WebInspectorProxy::platformSetToolbarHeight):

  • WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:

(WebKit::WebInspectorFrontendClient::setToolbarHeight):

  • WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:

(WebInspectorFrontendClient):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::setToolbarHeight):

  • WebProcess/WebPage/WebInspector.h:
2:29 PM Changeset in webkit [150040] by dino@apple.com
  • 4 edits
    2 adds in trunk

toDataURL can return an empty image in some cases
https://bugs.webkit.org/show_bug.cgi?id=115981
<rdar://problem/13760256>

Reviewed by Darin Adler.

Source/WebCore:

In some accelerated rendering cases, calling toDataURL on
an off-screen canvas produced an empty image. The solution
was to force a CGContextFlush before extracting the data
for image generation.

While here, I collected the flushing code from other methods
into a single place. Also we were getting into a situation where
we called flush two times in a row.

Test: fast/canvas/toDataURL-not-empty.html

  • platform/graphics/ImageBuffer.h:

(ImageBuffer): Define two new methods flushContext and flushContextIfNecessary.

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::context): Call flushContextIfNecessary.
(WebCore::ImageBuffer::flushContextIfNecessary): Moved the 10.7 code in here.
(WebCore::ImageBuffer::flushContext): Calls CGContextFlush.
(WebCore::ImageBuffer::getUnmultipliedImageData): Call new helper.
(WebCore::ImageBuffer::getPremultipliedImageData): Call new helper.
(WebCore::ImageBuffer::toDataURL): Flush the CG context.

LayoutTests:

Make sure that a canvas with content is not the same as one
without content.

  • fast/canvas/toDataURL-not-empty-expected.txt: Added.
  • fast/canvas/toDataURL-not-empty.html: Added.
2:27 PM Changeset in webkit [150039] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark fast/table/crash-split-table-section-no-cell-recalc.html as crashing
on EFL port.

  • platform/efl/TestExpectations:
2:02 PM Changeset in webkit [150038] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Regressions in flexbox layout caused by the flexing optimizations.
https://bugs.webkit.org/show_bug.cgi?id=116058
<rdar://problem/13863647>

Reviewed by Beth Dakin.

Roll out the flex-related changes from r149597 so that the layout
algorithm goes back to the way it was. Leave the repainting optimizations
in place though.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::gatherFlexChildrenInfo):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

1:43 PM Changeset in webkit [150037] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Unskip several tests that stopped crashing after r150030.

  • platform/efl-wk2/TestExpectations:
1:39 PM Changeset in webkit [150036] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark fast/css/variables/var-inside-shape.html as failing on EFL after
r150025.

  • platform/efl/TestExpectations:
1:29 PM Changeset in webkit [150035] by Philippe Normand
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r150014.
http://trac.webkit.org/changeset/150014
https://bugs.webkit.org/show_bug.cgi?id=86410

Broke video playback on WK2 and some webgl tests

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

(MediaPlayerPrivateGStreamerBase):

1:07 PM Changeset in webkit [150034] by rniwa@webkit.org
  • 4 edits in trunk/Source

Sometimes NSUndoManager can get into an inconsistent state
https://bugs.webkit.org/show_bug.cgi?id=116050

Reviewed by Enrica Casucci.

Always group undo items to work around a bug in NSUndoManager that manifests
when we call removeAllActionsWithTarget.

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::registerUndoOrRedoStep):

Source/WebKit2:

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::registerEditCommand):

1:06 PM Changeset in webkit [150033] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark fast/animation/request-animation-frame-too-rapid.html as failing on EFL WK2
due to r150015.

  • platform/efl-wk2/TestExpectations:
12:37 PM Changeset in webkit [150032] by hmuller@adobe.com
  • 9 edits
    6 adds
    2 deletes in trunk/LayoutTests

[CSS Exclusions] Simple shape-outside tests fail when subpixel layout is disabled
https://bugs.webkit.org/show_bug.cgi?id=115767

Reviewed by Dirk Schulze.

The overall goal of this change was to restore the (last) four excluded exclusions ref-tests
by making them work correctly when subpixel layout is disabled. All of the tests were
substantially simplified, as was the supporting javascript code. The original
shape-outside-floats-simple-rounded-rectangle test was replaced by three separate tests
because the original was bigger then then the 800x600 limit and because it unncessarily
combined three indepedent test cases.

  • fast/exclusions/resources/rounded-rectangle.js:

(ellipseXIntercept): Return the 1st quadrant X intercept for an ellipse given a first quadrant Y intercept.
(scanConvertRoundedRectangleOutside): Return the line segment intervals that overlap a rounded rectangle.
(genLeftRightRoundedRectFloatShapeOutsideRefTest): Insert a stack of float divs that match the left or right edge of a rounded rectangle.

  • fast/exclusions/shape-outside-floats/shape-outside-floats-non-zero-y-expected.html:
  • fast/exclusions/shape-outside-floats/shape-outside-floats-non-zero-y.html:
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-circle-expected.html:
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-circle.html:
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-ellipse-expected.html:
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-ellipse.html:
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-001-expected.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-001.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-002-expected.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-002.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-003-expected.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-003.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-expected.html: Removed.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle.html: Removed.
  • platform/mac/TestExpectations:
12:35 PM Changeset in webkit [150031] by Christophe Dumez
  • 4 edits
    2 deletes in trunk

Unreviewed, rolling out r150022.
http://trac.webkit.org/changeset/150022
https://bugs.webkit.org/show_bug.cgi?id=114044

Causes assertions in media tests

Source/WebCore:

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
(WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
(WebCore::MediaPlayerPrivateGStreamer::currentTime):
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):

LayoutTests:

  • media/video-seek-after-end-expected.txt: Removed.
  • media/video-seek-after-end.html: Removed.
12:31 PM Changeset in webkit [150030] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

[WK2] Crash in WebKit::StorageAreaMap::didSetItem()
https://bugs.webkit.org/show_bug.cgi?id=116026

Reviewed by Andreas Kling.

Make sure that we ignore any leftover messages from the UI process after we've reset
the storage map. Achieve this by keeping a seed count in the StorageAreaMap object that's incremented
everytime the map is reset. Associate every storage area change with the seed and ignore any incoming
notification messages from the UI process if the seeds are different.

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC):
(CoreIPC::callMemberFunction):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::getValues):
(WebKit::StorageManager::setItem):
(WebKit::StorageManager::removeItem):
(WebKit::StorageManager::clear):

  • UIProcess/Storage/StorageManager.h:

(StorageManager):

  • UIProcess/Storage/StorageManager.messages.in:
  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::StorageAreaMap):
(WebKit::StorageAreaMap::setItem):
(WebKit::StorageAreaMap::removeItem):
(WebKit::StorageAreaMap::clear):
(WebKit::StorageAreaMap::resetValues):
(WebKit::StorageAreaMap::loadValuesIfNeeded):
(WebKit::StorageAreaMap::didGetValues):
(WebKit::StorageAreaMap::didSetItem):
(WebKit::StorageAreaMap::didRemoveItem):
(WebKit::StorageAreaMap::didClear):
(WebKit::StorageAreaMap::applyChange):

  • WebProcess/Storage/StorageAreaMap.h:

(StorageAreaMap):

  • WebProcess/Storage/StorageAreaMap.messages.in:
12:30 PM Changeset in webkit [150029] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Source/WebCore: Floats should not overhang from flex items
https://bugs.webkit.org/show_bug.cgi?id=115925

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-05-13
Reviewed by David Hyatt.

Allowing floats to overhand from flex items is not only against the
spec, it causes bad bugs. Fix this by having flex items properly avoid
floats.

Test: fast/block/float/float-not-removed-crash2.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::avoidsFloats): Add flex items to avoid floats.

  • rendering/RenderBox.h:

(WebCore::RenderBox::isFlexItemIncludingDeprecated): Determine if the current box is a

flex item or deprecated flex item.

LayoutTests: Fix the float logic to not return an anonymous block ancestor
https://bugs.webkit.org/show_bug.cgi?id=115925

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-05-13
Reviewed by David Hyatt.

Cleaned up fuzzer test. Note that this will only crash when run under
a memory checker like ASAN.

  • fast/block/float/float-not-removed-crash2-expected.txt: Added.
  • fast/block/float/float-not-removed-crash2.html: Added.
12:23 PM Changeset in webkit [150028] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[webkitpy] Make FileInfo.repository_name support SVN version > 1.6
https://bugs.webkit.org/show_bug.cgi?id=116016

Reviewed by Dirk Pranke.

Same fix as in the upstream style checker, but without hg support.
( http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py )

  • Scripts/webkitpy/style/checkers/cpp.py:

(FileInfo.repository_name):

12:11 PM Changeset in webkit [150027] by zoltan@webkit.org
  • 10 edits
    1 copy
    13 adds in trunk

[CSS Regions][CSS Exclusions] Shape-inside on regions should respect region borders and paddings
https://bugs.webkit.org/show_bug.cgi?id=115456

Reviewed by David Hyatt.

I refactored the computation logic of shape-inside on regions by removing access to RenderFlowThread from ExclusionShapeInfo's logicalTopOffset
function, this means all the logic is now existing in RenderBlockLineLayout.cpp. By modifying the logicalTopOffset it turned out that the borders
and padding hadn't worked correctly, since borders and paddings were counted twice in the shape-inside's computation. This patch adds the necessary
modifications to let it respect the borders and padding in the correct way. I created 2 new helper functions to prevent increasing the code size of
the layoutRunsAndFloatsInRange function.

Source/WebCore:

I introduced 7 new tests to test for testing the correct behavior.

Tests: fast/regions/shape-inside/shape-inside-on-first-region-block-content.html

fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html
fast/regions/shape-inside/shape-inside-on-second-region-block-content.html
fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html
fast/regions/shape-inside/shape-inside-on-regions-inline-content.html
fast/regions/shape-inside/shape-inside-with-region-borders.html
fast/regions/shape-inside/shape-inside-with-region-padding.html

  • rendering/ExclusionShapeInfo.cpp:

(WebCore): Remove FlowThread logic from logicalTopOffset move definition to header.

  • rendering/ExclusionShapeInfo.h:

(WebCore::ExclusionShapeInfo::logicalTopOffset): Moved from cpp.
(WebCore::ExclusionShapeInfo::logicalLeftOffset): Add condition for RenderRegions.

  • rendering/RenderBlock.h:

(RenderBlock): Add definition to the new helper members.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Modified the flow thread case to return the appropriate region.
(WebCore::RenderBlock::updateLineBoundariesForExclusions): Added new helper function. Modify the shape-inside on regions
line boundaries and position computation logic.
(WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): Added new helper function which handles the flow thread case also.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Modified the code to use the helper functions.

LayoutTests:

  • fast/regions/shape-inside/shape-inside-on-additional-regions-expected.html: Modify to not use shape-inside for testing.
  • fast/regions/shape-inside/shape-inside-on-additional-regions.html: Fix the shape-inside's dimension.
  • fast/regions/shape-inside/shape-inside-on-first-region-block-content-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-first-region-block-content.html: Added.
  • fast/regions/shape-inside/shape-inside-on-first-region-inline-content-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html: Added.
  • fast/regions/shape-inside/shape-inside-on-regions-expected.html: Match the shape-inside height to the container's height.
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-regions.html: Match the shape-inside height to the container's height.
  • fast/regions/shape-inside/shape-inside-on-second-region-block-content-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-second-region-block-content.html: Added.
  • fast/regions/shape-inside/shape-inside-on-second-region-inline-content-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html: Added.
  • fast/regions/shape-inside/shape-inside-with-region-borders-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-with-region-borders.html: Added.
  • fast/regions/shape-inside/shape-inside-with-region-padding-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-with-region-padding.html: Added.
12:06 PM Changeset in webkit [150026] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit/win

Unreviewed. AppleWin VS2005 build fix.

  • WebKit.vcproj/WebKitExports.def.in:
11:37 AM Changeset in webkit [150025] by betravis@adobe.com
  • 3 edits
    2 adds in trunk

[css exclusions] Enable CSS Exclusions by default when CSS_EXCLUSIONS is set
https://bugs.webkit.org/show_bug.cgi?id=115919

Reviewed by Dean Jackson.

Source/WebCore:

Change the RuntimeEnabledFeatures::isCSSExclusionsEnabled boolean to default
to true. CSS Exclusions can still be enabled / disabled in platforms by
setting the CSS_EXCLUSIONS compile flag in one of the FeatureDefine files.

Test: fast/exclusions/css-exclusions-enabled.html

  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore):

LayoutTests:

Adding a test to make sure CSS Exclusions can be enabled, and are enabled by
default.

  • fast/exclusions/css-exclusions-enabled-expected.txt: Added.
  • fast/exclusions/css-exclusions-enabled.html: Added.
11:24 AM Changeset in webkit [150024] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][CoordinatedGraphics] Avoid dispensable calls to WebView::updateViewportSize()
https://bugs.webkit.org/show_bug.cgi?id=116045

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2013-05-13
Reviewed by Darin Adler.

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::setSize):

11:16 AM Changeset in webkit [150023] by commit-queue@webkit.org
  • 30 edits
    3 adds in trunk

Cell heights are disproportional when a row-spanning cell contains a block element that determines the height of the rows
https://bugs.webkit.org/show_bug.cgi?id=52185

Patch by Suchit Agrawal <a.suchit@samsung.com> on 2013-05-13
Reviewed by David Hyatt.

Source/WebCore:

Cells heights are not proper when rowspan cell have its own height and rowspan height
is more than the height of the rows present in rowspan.

After calculating logical height of the rows in the table, we are recalculating the height
of the rows present in rowspan. Based on the ratio of row's logical height, we are
distributing rowspan cell height in rows.

Test: fast/table/table-rowspan-height-distribution-in-rows.html

  • rendering/RenderTableSection.cpp:

(WebCore):

Update the logical height of the rows based on rowspan cell height.
(WebCore::RenderTableSection::distributeRowSpanHeightToRows):

It calculates logical height of the rows in the table.
(WebCore::RenderTableSection::calcRowLogicalHeight):

Added new private API to distribute rowSpan cell height in rows.

  • rendering/RenderTableSection.h:

(RenderTableSection):

LayoutTests:

Test case updated.

  • fast/css/vertical-align-baseline-rowspan-007.htm:

Reference Test cases updated.

  • fast/css/vertical-align-baseline-rowspan-007-expected.html:
  • fast/css/vertical-align-baseline-rowspan-008-expected.html:

Added test cases based on changes in the code and different scenarios for rowspan height
distribution in rows.

  • fast/table/table-rowspan-height-distribution-in-rows.html: Added.
  • platform/qt/fast/table/table-rowspan-height-distribution-in-rows-expected.png: Added.
  • platform/qt/fast/table/table-rowspan-height-distribution-in-rows-expected.txt: Added.

Test cases need to rebaseline in qt, efl, gtk and mac platforms.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:

Test case results are updated in qt platform.

  • platform/qt/tables/mozilla/bugs/bug17548-expected.png:
  • platform/qt/tables/mozilla/bugs/bug17548-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug220536-expected.png:
  • platform/qt/tables/mozilla/bugs/bug220536-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug7714-expected.png:
  • platform/qt/tables/mozilla/bugs/bug7714-expected.txt:
  • platform/qt/tables/mozilla/core/bloomberg-expected.png:
  • platform/qt/tables/mozilla/core/bloomberg-expected.txt:
  • platform/qt/tables/mozilla/other/test6-expected.png:
  • platform/qt/tables/mozilla/other/test6-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug1010-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug1010-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug23847-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug6933-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug6933-expected.txt:
  • tables/mozilla/core/bloomberg-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
10:07 AM Changeset in webkit [150022] by kbalazs@webkit.org
  • 4 edits
    2 adds in trunk

[GStreamer] cannot seek after video finished
https://bugs.webkit.org/show_bug.cgi?id=114044

Patch by Balazs Kelemen <b.kelemen@sisa.samsung.com> on 2013-04-30
Reviewed by Philippe Normand.

Source/WebCore:

Test: media/video-seek-after-end.html

Rework the seeking logic to be able to seek after reseting the pipeline.
In addition to solve the actual problem this patch supposed to make seeking
more robust and correct.
The previous implementation tried to hide the complexity of asynchronous operations
on the pipeline. It did not handle the GST_MESSAGE_ASYNC_DONE message from the bus
but instead reported the seek as finished when it saw an asynchronous pending state
(GST_STATE_CHANGE_ASYNC) which could happen way before the seek is really done.
Now we pay attention to the GST_MESSAGE_ASYNC_DONE message to track the status of seeks.
Seeks are not the only operations executed asynchronously, changing the pipeling state is
similar. It means a seek can overlap with onother ongoing asynchronous operation.
This change address this by introducing an invariant for seeks, which is that we only request
a seek if there are no other ongoing asynchronous operations and the pipeline state is either
paused or playing (which is recommended anyway according to GStreamer's documentation).
This way we can be sure that the time when we get the next GST_MESSAGE_ASYNC_DONE message the
seek has been completed.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::toGstClockTime): Factored time conversation into a helper.
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):

(WebCore::MediaPlayerPrivateGStreamer::playbackPosition): The position might not be available
if the pipeline still has a pending state. As a workaround, if we are right after a seek we can
use the seek time. Avoiding this situation would be possible by not allowing any asynchronous
operation to overlap. I believe it would add a lot more complexity so I decided to rather introduce
this workaround. Otherwise those overlapping operations are handled fine by GStreamer.

(WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Do not reset internal state variables.
This function called when there is an intent to restart playback but it does not actually restart it.
(WebCore::MediaPlayerPrivateGStreamer::currentTime): Just removed a staling newline.
(WebCore::MediaPlayerPrivateGStreamer::seek): Take a look to the pipeline state and act upon that.
If there is an ongoing asynchronous operation make the seek pending, otherwise do it now.
Now we handle overlapping seeks as well because I saw that it can happen in some tests.
Added an early return for live streams as it doesn't makes sense to try seeking in them.

(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Handle GST_MESSAGE_ASYNC_DONE and some refactoring.
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
(WebCore::MediaPlayerPrivateGStreamer::updateStates): Only handle seeks in the pending case, the rest is
now handled in asyncStateChangeDone.
(WebCore::MediaPlayerPrivateGStreamer::cacheDuration): Do not reset the m_mediaDurationKnown if the pipeline
has an asynchronous pending state because it would fail. It does actually happen when we get a duration message
after restarting the pipeline and it would result in restarting playback from the start. It seems to be a bug
in GStreamer that it sends the duration message too early. Also sanitized this function by merging redundant branches.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):

LayoutTests:

  • media/video-seek-after-end-expected.txt: Added.
  • media/video-seek-after-end.html: Added.
9:44 AM Changeset in webkit [150021] by jocelyn.turcotte@digia.com
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Fix a crash on startup in FrameLoaderClientQt::callPolicyFunction with MSVC

Reviewed by Allan Sandfeld Jensen.

It's not clear why it crashes, but here's my guess by looking at the generated
assembly code:
Since we're using a member function pointer to PolicyChecker, the representation
is not necessarily just a simple pointer and might be a bigger structure used
to handle virtual functions resolution.
For a function taking such a function "pointer" as parameter, the compiler doesn't
seem to have the caller and callee agree on which convention to use if the function
pointer's class is non-virtual and only one of the ends doesn't know about it.

Including the definition of the member function pointer's class fixes the crash.

  • WebCoreSupport/FrameLoaderClientQt.cpp:
9:19 AM Changeset in webkit [150020] by jonlee@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] Notification manager removal should not be tied to termination of web processes
https://bugs.webkit.org/show_bug.cgi?id=116038
<rdar://problem/10968680>

Reviewed by Ryosuke Niwa.

WebNotificationManagerProxy incorrectly removes the manager when web processes close.
Since it is a supplemental on the web context, the manager should only be removed
when the context is destroyed.

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  • UIProcess/Notifications/WebNotificationManagerProxy.h: Remove implementation of

processDidClose().

9:19 AM Changeset in webkit [150019] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WTF

Unreviewed. Fix Qt Linux MIPS32R2 build after r149879.

Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2
depends on glib 2.24.2.

  • wtf/gobject/GRefPtr.cpp:

(_GBytes):
(WTF::refGPtr):
(WTF::derefGPtr):

8:45 AM Changeset in webkit [150018] by Martin Robinson
  • 3 edits
    2 adds in trunk/Source/WebKit2

[GTK] [WebKit2] Use a template file for generated GObject enum files
https://bugs.webkit.org/show_bug.cgi?id=115867

Reviewed by Carlos Garcia Campos.

  • GNUmakefile.am: Use a template file instead of specifying portions of the file on the command-line.
  • UIProcess/API/gtk/WebKitEnumTypes.cpp.template: Added.
  • UIProcess/API/gtk/WebKitEnumTypes.h.template: Added.
  • UIProcess/API/gtk/WebKitFindController.cpp: We can no longer rely on WebKitEnumTypes.h to pull in WebKitWebView.h.
8:45 AM Changeset in webkit [150017] by akling@apple.com
  • 1 edit in trunk/Source/WebKit/mac/ChangeLog

Remove accidental unrelated ChangeLog entry from r150016.

8:29 AM Changeset in webkit [150016] by Darin Adler
  • 6 edits in trunk/Source

Source/WebCore: [Mac] Move writeRange/PlainText/URL from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116009

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::writeRange): Added. Moved from ClipboardMac,
but added some FIXMEs.
(WebCore::Clipboard::writePlainText): Ditto.
(WebCore::Clipboard::writeURL): Ditto.

  • dom/Clipboard.h: Made writeURL, writeRange, and writePlainText

non-virtual in non-legacy clipboard implementations.

  • platform/mac/ClipboardMac.h: Removed writeRange, writeURL, and

writePlainText.

  • platform/mac/ClipboardMac.mm: Ditto.

Source/WebKit/mac: [Mac] Layer-backed WebViews draw their background color even when setDrawsBackground:NO was called
https://bugs.webkit.org/show_bug.cgi?id=116014
<rdar://problem/12781227>

Reviewed by Andreas Kling.

  • WebView/WebFrame.mm:

(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Remove calls to setBackgroundColor: and
setDrawsBackground: on the document view. These were added to support a hypothetical document view
that wanted to draw its background like WebHTMLView does, but this was never communicated as a
document view protocol, formal or informal, and it's unlikely that it was ever used. The bug was
caused because there is an -[NSView setDrawsBackground:] method, probably an internal one, and we
were calling it unintentionally on a WebHTMLView.

8:29 AM Changeset in webkit [150015] by commit-queue@webkit.org
  • 10 edits in trunk/Source

[CoordGfx] requestAnimationFrame performance issues
https://bugs.webkit.org/show_bug.cgi?id=112345

Patch by Noam Rosenthal <Noam Rosenthal> on 2013-05-13
Reviewed by Jocelyn Turcotte.

Source/WebCore:

Removed current requestAnimationFrame logic from CoordinatedGraphics. The new logic
is entirely in WebKit2 CoordinatedLayerTreeHost.

Covered by existing tests in fast/animations.

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

(WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):

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

(CoordinatedGraphicsScene):

Source/WebKit2:

Changed the logic of requestAnimationFrame in Coordinated Graphics.
We don't send any IPC messages for requestAnimationFrame. Instead, we do one of two things:

  • If there is already a frame pending in the UI process, do nothing, as the animations would be serviced when the frame is returned to the web process.
  • If there is no frame pending, we schedule a flush, making sure that that flush occurs at least 1/60 seconds after the last animation service, so that we don't get an infinite loop of flushes.
  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
(WebKit::CoordinatedLayerTreeHost::scheduleAnimation):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
8:14 AM Changeset in webkit [150014] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[texmap][GStreamer] Composited Video support
https://bugs.webkit.org/show_bug.cgi?id=86410

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2013-05-13
Reviewed by Philippe Normand.

Enable the video accelerated compositing using the WebKit's
TextureMapper.

This patch does not use hardware accelerated video decoding. It
provides a generic path for system memory buffers.

No new tests, already covered by existing tests.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore):
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): update the
texture content with the new received video buffer.
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): choose to
use the accelerated compositing or the normal code path
(WebCore::MediaPlayerPrivateGStreamerBase::paint): if accelerated
compositing is used this method is halted.
(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper): get
a texture from the pool and draws it if it is already available.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

(MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::platformLayer): returns itself
(WebCore::MediaPlayerPrivateGStreamerBase::supportsAcceleratedRendering):
returns true

8:05 AM Changeset in webkit [150013] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Document: Use a DeferrableOneShotTimer to throw out StyleResolver when unused.
<http://webkit.org/b/115929>

Reviewed by Anders Carlsson.

Nothing exciting here, just replacing a rickety-looking punting mechanism with a proper
DeferrableOneShotTimer. Note that the timeout changes from 60 to 30 seconds because DOST
works by punting a full interval on next timeout.

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::didAccessStyleResolver):
(WebCore::Document::styleResolverThrowawayTimerFired):

  • dom/Document.h:

(Document):

7:59 AM Changeset in webkit [150012] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[WK2][CoordinatedGraphics] WKView needs API for handling opacity
https://bugs.webkit.org/show_bug.cgi?id=116032

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2013-05-13
Reviewed by Kenneth Rohde Christiansen.

Add WKViewSetOpacity and WKViewOpacity APIs and use them in
WebView.cpp.

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

(WKViewSetOpacity):
(WKViewOpacity):

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

(WebKit::WebView::WebView):
(WebKit::WebView::paintToCurrentGLContext):

  • UIProcess/CoordinatedGraphics/WebView.h:

(WebKit::WebView::setOpacity):
(WebKit::WebView::opacity):
(WebView):

7:55 AM Changeset in webkit [150011] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION(r149287): FoldingText only shows me half of my text.
<http://webkit.org/b/115956>
<rdar://problem/13831099>

Reviewed by Antti Koivisto.

Check if the FrameView geometry changed post-layout, and send a resize event if needed.
This brings us closer to the original resize event behavior, with the exception that
setFrameRect() still fires an event right away if possible. This means we are still
guarded from FOUC's but frames that layout via [WebHTMLView layoutToMinimumPageWidth]
also get resize events like they used to.

No new tests, because I don't know how to test this.

  • page/FrameView.h:
  • page/FrameView.cpp:

(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::sendResizeEventIfNeeded):

Factor out the resize event logic from setFrameRect() so we can call it from both
there and performPostLayoutTasks(). sendResizeEventIfNeeded() only sends an event
if view geometry or zoom factor has changed since last time it was called.

7:26 AM Changeset in webkit [150010] by Antti Koivisto
  • 10 edits in trunk/Source

Remove unneeded counters from ScopeContentDistribution.
https://bugs.webkit.org/show_bug.cgi?id=116028

Reviewed by Andreas Kling.

They don't do much.

  • WebCore.exp.in:
  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):

  • dom/ShadowRoot.h:


No need for registration code anymore.

  • html/shadow/ContentDistributor.cpp:

(WebCore::ScopeContentDistribution::ScopeContentDistribution):

Default m_insertionPointListIsValid to true to avoid crawling when there are no InsertionPoints.

(WebCore::ScopeContentDistribution::ensureInsertionPointList):
(WebCore::ScopeContentDistribution::registerInsertionPoint):
(WebCore::ScopeContentDistribution::unregisterInsertionPoint):

  • html/shadow/ContentDistributor.h:


Remove distributeNodeChildrenTo, it was only used by the older/younger shadow root code.

  • testing/Internals.cpp:
  • testing/Internals.h:
  • testing/Internals.idl:
7:10 AM EFLHistoryApiTutorial edited by saulo@gmx.com
(diff)
7:03 AM Changeset in webkit [150009] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/PerformanceTests

Web Inspector: Get rid of native-memory-snapshot in performance test
https://bugs.webkit.org/show_bug.cgi?id=116013

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-13
Reviewed by Andreas Kling.

Remove native-memory-snapshot.html from PerformanceTests.

  • inspector/native-memory-snapshot.html: Removed.
  • inspector/performance-test.js:

(initialize_TimeTracker.Timer):
(initialize_TimeTracker.Timer.prototype._dump):
(initialize_TimeTracker.InspectorTest.runPerformanceTest):

6:55 AM Changeset in webkit [150008] by zandobersek@gmail.com
  • 4 edits in trunk

[GTK] Use WebCore layer archives for TestWebCore, WebKitPluginProcess
https://bugs.webkit.org/show_bug.cgi?id=115918

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Due to layer violations and circular dependencies the WebKitPluginProcess requires for the
libraries containing the built code of the intertwining Platform and WebCore layers to be
specified multiple times when linking. This can be avoided by packing the two layers' archives
into one big archive, named after the WebCore layer due to no clear boundary between it and the
Platform layer. The big archive can then be specified only once when linking, simplifying the code
and suppressing all the layering violations so they do not cause build problems.

First the libtool libraries that the WebCore layer (as required by the WebKitPluginProcess) depends on
are specified. These are then used as dependencies for the archive creation rule as well as the list
from which the archive file paths are constructed and then used to dump the member files from these archives.
The member files are then added to the big archive. The latter is added to the list of libraries the
WebKitPluginProcess requires to successfully link.

  • GNUmakefile.am:

Tools:

Due to layer violations and circular dependencies the TestWebCores requires for the libraries containing
the built code of the intertwining Platform and WebCore layers to be specified multiple times when linking.
This can be avoided by packing the two layers' archives into one big archive, named after the WebCore layer
due to no clear boundary between it and the Platform layer. The big archive can then be specified only once
when linking, simplifying the code and suppressing all the layering violations so they do not cause build
problems.

First the libtool libraries that the WebCore layer (as required by the TestWebCore) depends on are specified.
These are then used as dependencies for the archive creation rule as well as the list from which the archive
file paths are constructed and then used to dump the member files from these archives. The member files are
then added to the big archive. The latter is added to the list of libraries the TestWebCore requires to
successfully link.

  • TestWebKitAPI/GNUmakefile.am:
6:52 AM Changeset in webkit [150007] by andersca@apple.com
  • 11 edits
    1 delete in trunk

Remove UnusedParam.h
https://bugs.webkit.org/show_bug.cgi?id=116029

Reviewed by Andreas Kling.

Source/WTF:

Remove UnusedParam.h, it's empty now.

  • GNUmakefile.list.am:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/UnusedParam.h: Removed.

Tools:

Stop including UnusedParam.h.

  • DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
  • WebKitTestRunner/qt/TestInvocationQt.cpp:
6:14 AM Changeset in webkit [150006] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.0.2

Tagging the WebKitGTK+ 2.0.2 release

5:30 AM Changeset in webkit [150005] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.0

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

.:

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

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.0.2.
4:32 AM Changeset in webkit [150004] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several test cases as crashing on EFL port.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
4:08 AM Changeset in webkit [150003] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark 2 ref tests as failing on EFL port.

  • platform/efl/TestExpectations:
4:00 AM Changeset in webkit [150002] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip 2 HTTP tests that time out of EFL port.

  • platform/efl/TestExpectations:
3:53 AM Changeset in webkit [150001] by Christophe Dumez
  • 1 edit
    6 adds in trunk/LayoutTests

Unreviewed EFL gardening.

Provide EFL baselines for several compositing test cases.

  • platform/efl/compositing/backing/no-backing-for-clip-overhang-expected.txt: Added.
  • platform/efl/compositing/contents-opaque/hidden-with-visible-child-expected.txt: Added.
  • platform/efl/compositing/contents-opaque/hidden-with-visible-text-expected.txt: Added.
  • platform/efl/compositing/contents-opaque/overflow-hidden-child-layers-expected.txt: Added.
3:50 AM Changeset in webkit [150000] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Remove unused references from projects in Visual Studio
https://bugs.webkit.org/show_bug.cgi?id=116002

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-13
Reviewed by Csaba Osztrogonác.

nativeMemoryProfiler.css and NativeMemorySnapshotView.js were removed in r149807.

No new tests, no behavior change.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
1:53 AM Changeset in webkit [149999] by commit-queue@webkit.org
  • 20 edits in trunk

WebProcess consuming very high CPU on linkedin.com
https://bugs.webkit.org/show_bug.cgi?id=115601

Patch by Zalan Bujtas <Alan Bujtas> on 2013-05-13
Reviewed by Andreas Kling.

Disable WEB_TIMING_MINIMAL.
Turn off window.performance and performance.now(). Some JS frameworks expect
additional Web Timing APIs, when performance.now() is available.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • dom/EventTargetFactory.in:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::resetDOMWindowProperties):
(WebCore):

  • page/DOMWindow.h:

(DOMWindow):

  • page/DOMWindow.idl:
  • page/Performance.cpp:

(WebCore::Performance::timing):

  • page/Performance.h:

(Performance):

  • page/Performance.idl:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

LayoutTests:

  • platform/mac/TestExpectations:
  • fast/js/global-constructors-attributes-expected.txt:
1:37 AM Changeset in webkit [149998] by Darin Adler
  • 2 edits in trunk/Source/WebKit/mac

[Mac] Layer-backed WebViews draw their background color even when setDrawsBackground:NO was called
https://bugs.webkit.org/show_bug.cgi?id=116014
<rdar://problem/12781227>

Reviewed by Dan Bernstein.

  • WebView/WebFrame.mm:

(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Remove calls to setBackgroundColor: and
setDrawsBackground: on the document view. These were added to support a hypothetical document view
that wanted to draw its background like WebHTMLView does, but this was never communicated as a
document view protocol, formal or informal, and it's unlikely that it was ever used. The bug was
caused because there is an -[NSView setDrawsBackground:] method, probably an internal one, and we
were calling it unintentionally on a WebHTMLView.

12:55 AM Changeset in webkit [149997] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit/gtk

Merge r149666 - [GTK] Initialize WebKitWebPlugin path to prevent double-free
https://bugs.webkit.org/show_bug.cgi?id=115624

Patch by Tomas Popela <tpopela@redhat.com> on 2013-05-07
Reviewed by Carlos Garcia Campos.

Use GOwnPtr for WebKitWebPlugin path to prevent double-free
situations. Also use GOwnPtr for GError in webkit_web_plugin_get_path.

  • webkit/webkitwebplugin.cpp:

(webkit_web_plugin_finalize):
(webkit_web_plugin_get_path):

  • webkit/webkitwebpluginprivate.h:
12:46 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
12:43 AM Changeset in webkit [149996] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r149735 - [GStreamer] Does memory buffering even with preload set to none
https://bugs.webkit.org/show_bug.cgi?id=115754

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-05-08
Reviewed by Philippe Normand.

Covered by existing tests.

Revision 148840 fixed on-disk buffering being done when preload is set to none,
but memory buffering is still being done. That is because setting the state to
paused causes GStreamer to start loading the media, to gather information. Only
doing that when committing the load avoids that while maintaining the tested
behaviour unchanged.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::load): move setting pause state to commitLoad.
(WebCore::MediaPlayerPrivateGStreamer::commitLoad): see above.

12:33 AM Changeset in webkit [149995] by kadam@inf.u-szeged.hu
  • 1 edit
    6 adds in trunk/LayoutTests

[Qt] Unreviewed gardening. Added platform specific expected files.

  • platform/qt-5.0-wk1/compositing/backing/no-backing-for-clip-overhang-expected.txt: Added after r149969.
  • platform/qt-5.0-wk2/compositing/contents-opaque/hidden-with-visible-child-expected.txt: Added after r149915.
  • platform/qt-5.0-wk2/compositing/contents-opaque/hidden-with-visible-text-expected.txt: Added after r149915.
  • platform/qt-5.0-wk2/compositing/contents-opaque/overflow-hidden-child-layers-expected.txt: Added after r149914.
  • platform/qt/compositing/backing/no-backing-for-clip-overhang-expected.txt: Added after r149969.
12:20 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
12:18 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
12:17 AM Changeset in webkit [149994] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore/platform/gtk/po

Merge r149494 - Updated WebKitGTK+ Translation for Odia [or] language.
https://bugs.webkit.org/show_bug.cgi?id=115030

Patch by Manoj Kumar Giri <mgiri@redhat.com> on 2013-05-02
Reviewed by Gustavo Noronha Silva.

  • or.po: updated translation.
12:15 AM Changeset in webkit [149993] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit/gtk

Merge r149486 - Segmentation Fault with Romanian locale. Evolution not starting.
https://bugs.webkit.org/show_bug.cgi?id=115484

Reviewed by Darin Adler.

Do not translate the property names that are being passed to the g_param_spec_boolean
method - it is not required and is causing segfaults with various locales.

  • webkit/webkitviewportattributes.cpp:

(webkit_viewport_attributes_class_init):

12:14 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
12:11 AM Changeset in webkit [149992] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r149192 - [GTK] Compilation of ProcessLauncherGtk.cpp fails due to unresolved symbols
https://bugs.webkit.org/show_bug.cgi?id=115240

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2013-04-26
Reviewed by Martin Robinson.

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: Includes sys/socket.h if OS is Linux
12:07 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)

May 12, 2013:

11:55 PM Changeset in webkit [149991] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.0

Merge r148840 - [GStreamer] Media attribute preload="none" is not honored
https://bugs.webkit.org/show_bug.cgi?id=114357

Reviewed by Philippe Normand.

Source/WebCore:

Fix the logic that prevents live streams from being buffered to not make preload="none" ignored.

Test: http/tests/media/video-preload.html
We need a http test because the bug does not triggered with local files.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):
Remove m_originalPreloadWasAutoAndWasOverridden because it is not necessary and it is causing this bug.
Currently if the tag has preload="none" attribute we set m_preload to Auto in the constructor. After that
MedaPlayer calls setPreload(None), so we set m_originalPreloadWasAutoAndWasOverridden to true and later
reset m_preload to Auto. The error prone factor here is that the m_preload member is repeated in the
private class and setPreload is also used there. This seems to be necessary because we need to be able
to ignore preloading if this is a live stream. Fortunately the original parsed value is available in the
constructor, so we can use that. This will give the correct value that we should override only in the case
of a live stream and that's it, we don't need to reset it later to Auto.
Furthermore, we should ignore setting preload to auto from js if it is a live stream. This patch also handles
this with an early return in setPreload.

LayoutTests:

  • http/tests/media/video-preload-expected.txt: Added.
  • http/tests/media/video-preload.html: Added.
11:52 PM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
11:48 PM Changeset in webkit [149990] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.0

Merge r148788 - [GTK] Fix unit test webkit2/WebKitFindController/hide
https://bugs.webkit.org/show_bug.cgi?id=89810

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-04-20
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

The test had some hacks in order to compare a page with highlighted
results after using the find command with the original page. Now it uses
the snapshots API that allows to make the test simpler and more
reliable.

  • UIProcess/API/gtk/tests/TestMain.h:

(Test::cairoSurfacesEqual): Moved helper function to compare two cairo
surfaces from TestWebKitWebView.
(Test):

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

(testFindControllerHide): Modify test to use snapshots.

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

(testWebViewSnapshot): Move basic snapshop methods to WebViewTest to
share them with TestWebKitFindController test.

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

(WebViewTest::WebViewTest): Initialize cairo surface.
(WebViewTest::~WebViewTest): Destroy cairo surface.
(onSnapshotReady): Callback to set the cairo surface when the snapshot
is ready.
(WebViewTest::getSnapshotAndWaitUntilReady): Method that takes a
snapshot and returns the cairo surface when it is ready.

  • UIProcess/API/gtk/tests/WebViewTest.h: Add new method headers and

attribute for the cairo surface.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Unskip test webkit2/WebKitFindController/hide.

11:40 PM Changeset in webkit [149989] by eric.carlson@apple.com
  • 3 edits
    3 adds in trunk

REGRESSION (r149749): Video becomes invisible when it starts playing at newyorkbygehry.com
https://bugs.webkit.org/show_bug.cgi?id=115963

Reviewed by Dean Jackson.

Source/WebCore:

Test: media/video-remove-insert-repaints.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::insertedInto): Set m_inActiveDocument when inserted into a document.
(WebCore::HTMLMediaElement::removedFrom): Fix logging.

LayoutTests:

  • media/video-remove-insert-repaints.html: Added.
  • media/video-remove-insert-repaints-expected.txt: Added.
  • platform/mac/media/video-remove-insert-repaints-expected.png: Added.
11:39 PM Changeset in webkit [149988] by commit-queue@webkit.org
  • 2 edits
    6 adds in trunk/LayoutTests

[EFL] Unreviewed EFL gardening
https://bugs.webkit.org/show_bug.cgi?id=116004

Unreviewed EFL gardening

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-12

  • platform/efl-wk2/TestExpectations:
  • platform/efl/fast/block/lineboxcontain/block-with-ideographs-expected.txt: Added.
  • platform/efl/fast/selectors/unqualified-hover-strict-expected.txt: Added.
  • platform/efl/fast/text/text-combine-different-fonts-expected.txt: Added.
  • platform/efl/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt: Added.
  • platform/efl/tables/mozilla/bugs/bug113235-2-expected.txt: Added.
  • platform/efl/tables/mozilla_expected_failures/bugs/bug45621-expected.txt: Added.
11:25 PM Changeset in webkit [149987] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Move sudden termination symbols to the Mac-only section

  • WebCore.exp.in: Move the sudden termination symbols to the

!PLATFORM(IOS) section for reals this time.

11:24 PM Changeset in webkit [149986] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix Mac build.

  • platform/mac/PasteboardMac.mm: Add back include of ClipboardMac.h that was removed by accident a couple of patches back.
10:35 PM Changeset in webkit [149985] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Moved files function from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116008

Reviewed by Anders Carlsson.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::files): Added. Moved the DOM-depdendent and
platform-independent part of the files function in ClipboardMac here.

  • dom/Clipboard.h: Made files function non-virtual in non-legacy case.
  • platform/Pasteboard.h: Removed static member function

absoluteURLsFromPasteboardFilenames since it can now be private to
PasteboardMac. Added member function readFilenames.

  • platform/mac/ClipboardMac.h: Removed function member files and also

now-unused data member m_clipboardContents.

  • platform/mac/ClipboardMac.mm: Removed files function.

(WebCore::ClipboardMac::ClipboardMac): Removed code to initialize
m_clipboardContents.

  • platform/mac/PasteboardMac.mm:

(WebCore::absoluteURLsFromPasteboardFilenames): Changed from a static
member function to a file-local function.
(WebCore::absoluteURLsFromPasteboard): Changed to call the function
above in its new location.
(WebCore::Pasteboard::readFilenames): Added. Code from ClipboardMac,
minus the DOM-specific parts. Added a FIXME about the peculiar round
trip through NSURL this code takes.

10:32 PM Changeset in webkit [149984] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix WebKit2 build.

  • WebCore.exp.in:

Put WebCore::disableSuddenTermination and WebCore::enableSuddenTermination symbols in the right section.

10:26 PM Changeset in webkit [149983] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move types function from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116007

Reviewed by Anders Carlsson.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::types): Added. Calls through to Pasteboard
after doing checks needed at this level.

  • dom/Clipboard.h: Made types function non-virtual in non-legacy case,

and removed non-helpful comment.

  • platform/Pasteboard.h: Updated includes and comments at the top of

the file a bit. Removed static member function addHTMLClipboardTypesForCocoaType,
since it can now be private to PasteboardMac. Added member function types.

  • platform/mac/ClipboardMac.h: Removed types function.
  • platform/mac/ClipboardMac.mm: Ditto.
  • platform/mac/PasteboardMac.mm:

(WebCore::addHTMLClipboardTypesForCocoaType): Made this a file-local
function instead of a static member function.
(WebCore::Pasteboard::types): Added. Moved from ClipboardMac.

10:19 PM Changeset in webkit [149982] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move setData from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116006

Reviewed by Anders Carlsson.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::setData): Added. Calls through to Pasteboard
after doing checks needed at this level.

  • dom/Clipboard.h: Made setData non-virtual in non-legacy case.
  • platform/Pasteboard.h: Updated includes and forward declarations.

Removed static member function cocoaTypeFromHTMLClipboardType, since
it can now be private to PasteboardMac. Added static member function
addHTMLClipboardTypesForCocoaType, which is shared between the
ClipboardMac and PasteboardMac files for now. Added writeString.

  • platform/mac/ClipboardMac.h: Removed setData.
  • platform/mac/ClipboardMac.mm: Removed utiTypeFromCocoaType,

addHTMLClipboardTypesForCocoaType, and setData.
(WebCore::ClipboardMac::types): Call addHTMLClipboardTypesForCocoaType
as a Pasteboard static member function, for now.

  • platform/mac/PasteboardMac.mm:

(WebCore::cocoaTypeFromHTMLClipboardType): Added. Moved from ClipboardMac.
(WebCore::Pasteboard::readString): Changed to call
cocoaTypeFromHTMLClipboardType as a file-local function, not a member
function (in fact, we didn't need to repeat the class name before, either,
so this is just removing something we didn't need).
(WebCore::utiTypeFromCocoaType): Added. Moved from ClipboardMac.
(WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType): Ditto.
(WebCore::Pasteboard::writeString): Ditto.

9:44 PM Changeset in webkit [149981] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move getData from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116005

Reviewed by Anders Carlsson.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::Clipboard): Added a new boolean argument, forFileDrag,
to the constructor. Maybe we can find a better way to do this once we move
all the platforms over, but this boolean seems a good way to do it for now.
(WebCore::Clipboard::getData): Added. Calls through to Pasteboard after
doing the canReadData check, which is part of DOM rules, not the platform.
Also checks for the file drag case like the old ClipboardMac code did.

  • dom/Clipboard.h: Made getData non-virtual in non-legacy case.
  • platform/Pasteboard.h: Added a static member function named

absoluteURLsFromPasteboardFilenames, temporary so it can be shared between
ClipboardMac and PasteboardMac. Added a readString public function member,
and a m_changeCount data member. The type of m_changeCount is long since
that can always hold an NSInteger but yet is a type we can compile without
including the header file that defines NSInteger.

  • platform/mac/ClipboardMac.h: Removed getData.
  • platform/mac/ClipboardMac.mm: Removed getData.

(WebCore::ClipboardMac::ClipboardMac): Added code to pass in the new
forFileDrag boolean.
(WebCore::ClipboardMac::files): Call absoluteURLsFromPasteboardFilenames
as a static member function in Pasteboard since we moved it there.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::Pasteboard): Initialize the change count, so later
pasteboard operations can check it.
(WebCore::Pasteboard::absoluteURLsFromPasteboardFilenames): Added. Moved
here from ClipboardMac.
(WebCore::absoluteURLsFromPasteboard): Ditto.
(WebCore::Pasteboard::readString): Added. Moved here from ClipboardMac.

9:24 PM Changeset in webkit [149980] by andersca@apple.com
  • 169 edits in trunk/Source

Stop including UnusedParam.h
https://bugs.webkit.org/show_bug.cgi?id=116003

Reviewed by Sam Weinig.

UnusedParam.h is empty now so there's no need to include it anymore.

Source/JavaScriptCore:

  • API/APICast.h:
  • API/tests/JSNode.c:
  • API/tests/JSNodeList.c:
  • API/tests/minidom.c:
  • API/tests/testapi.c:
  • assembler/AbstractMacroAssembler.h:
  • assembler/MacroAssemblerCodeRef.h:
  • bytecode/CodeBlock.cpp:
  • heap/HandleStack.h:
  • interpreter/JSStackInlines.h:
  • jit/CompactJITCodeMap.h:
  • jit/ExecutableAllocator.h:
  • parser/SourceProvider.h:
  • runtime/DatePrototype.cpp:
  • runtime/JSNotAnObject.cpp:
  • runtime/JSSegmentedVariableObject.h:
  • runtime/JSVariableObject.h:
  • runtime/Options.cpp:
  • runtime/PropertyOffset.h:

Source/WebCore:

  • Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
  • Modules/indexeddb/IDBFactoryBackendImpl.cpp:
  • Modules/indexeddb/IDBObjectStore.cpp:
  • Modules/webdatabase/DatabaseServer.cpp:
  • Modules/webdatabase/DatabaseThread.cpp:
  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/objc/DOMObject.mm:
  • css/CSSCursorImageValue.cpp:
  • css/DeprecatedStyleBuilder.cpp:
  • dom/EventDispatcher.cpp:
  • dom/Node.cpp:
  • editing/AlternativeTextController.h:
  • editing/Editor.cpp:
  • html/HTMLPlugInElement.cpp:
  • html/canvas/CanvasRenderingContext2D.cpp:
  • html/canvas/OESVertexArrayObject.h:
  • html/parser/HTMLConstructionSite.cpp:
  • html/parser/HTMLTokenizer.cpp:
  • html/track/InbandTextTrack.cpp:
  • inspector/InspectorCanvasInstrumentation.h:
  • inspector/InspectorConsoleInstrumentation.h:
  • inspector/InspectorController.cpp:
  • inspector/InspectorCounters.h:
  • inspector/InspectorDatabaseInstrumentation.h:
  • inspector/InspectorInstrumentation.h:
  • loader/DocumentThreadableLoader.cpp:
  • loader/PingLoader.cpp:
  • loader/appcache/ApplicationCacheGroup.cpp:
  • loader/cache/CachedResourceLoader.cpp:
  • loader/mac/DocumentLoaderMac.cpp:
  • page/ChromeClient.h:
  • page/Console.cpp:
  • page/FrameView.cpp:
  • page/PageConsole.cpp:
  • page/animation/AnimationController.cpp:
  • page/animation/ImplicitAnimation.cpp:
  • page/animation/KeyframeAnimation.cpp:
  • platform/LocalizedStrings.cpp:
  • platform/ScrollAnimator.h:
  • platform/ThreadGlobalData.cpp:
  • platform/blackberry/AsyncFileSystemBlackBerry.cpp:
  • platform/graphics/Font.cpp:
  • platform/graphics/GlyphBuffer.h:
  • platform/graphics/Gradient.cpp:
  • platform/graphics/ShadowBlur.cpp:
  • platform/graphics/SimpleFontData.cpp:
  • platform/graphics/SimpleFontData.h:
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/blackberry/GradientBlackBerry.cpp:
  • platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:
  • platform/graphics/ca/mac/WebTileLayer.mm:
  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/cg/ImageBufferCG.cpp:
  • platform/graphics/cg/ImageSourceCG.cpp:
  • platform/graphics/clutter/PlatformClutterAnimation.cpp:
  • platform/graphics/filters/ValidatedCustomFilterOperation.cpp:
  • platform/graphics/gstreamer/GStreamerVersioning.cpp:
  • platform/graphics/mac/GraphicsContext3DMac.mm:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/graphics/mac/SimpleFontDataMac.mm:
  • platform/graphics/mac/WebGLLayer.mm:
  • platform/graphics/mac/WebLayer.mm:
  • platform/graphics/mac/WebTiledLayer.mm:
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
  • platform/graphics/qt/GraphicsContext3DQt.cpp:
  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/wince/ImageBufferWinCE.cpp:
  • platform/mac/PasteboardMac.mm:
  • platform/mac/ScrollAnimatorMac.mm:
  • platform/mac/ScrollViewMac.mm:
  • platform/mac/ScrollbarThemeMac.mm:
  • platform/mac/SharedTimerMac.mm:
  • platform/mac/WebCoreFullScreenPlaceholderView.mm:
  • platform/mac/WebCoreObjCExtras.mm:
  • platform/mac/WebFontCache.mm:
  • platform/mac/WebVideoFullscreenController.mm:
  • platform/mac/WebVideoFullscreenHUDWindowController.mm:
  • platform/mac/WebWindowAnimation.mm:
  • platform/network/blackberry/CredentialStorageBlackBerry.cpp:
  • platform/network/cf/ResourceErrorCF.cpp:
  • platform/network/mac/CookieStorageMac.mm:
  • platform/network/mac/ResourceHandleMac.mm:
  • platform/network/win/ResourceHandleWin.cpp:
  • platform/text/TextEncodingDetectorICU.cpp:
  • rendering/RenderFlowThread.h:
  • rendering/RenderImage.cpp:
  • rendering/RenderLayer.cpp:
  • rendering/RenderObject.cpp:
  • rendering/RenderTreeAsText.cpp:
  • rendering/svg/RenderSVGResourceClipper.cpp:
  • rendering/svg/RenderSVGResourceFilter.cpp:
  • rendering/svg/RenderSVGResourceGradient.cpp:
  • rendering/svg/RenderSVGResourceMasker.cpp:
  • rendering/svg/SVGRenderSupport.cpp:
  • rendering/svg/SVGTextLayoutEngineSpacing.cpp:
  • workers/WorkerContext.cpp:
  • workers/WorkerScriptLoader.cpp:
  • xml/XMLHttpRequest.cpp:
  • xml/parser/XMLDocumentParserLibxml2.cpp:

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
  • ewk/ewk_js.cpp:
  • ewk/ewk_security_origin.cpp:
  • ewk/ewk_view.cpp:
  • ewk/ewk_web_database.cpp:

Source/WebKit/gtk:

  • webkit/webkitapplicationcache.cpp:

Source/WebKit/mac:

  • Plugins/WebNetscapePluginEventHandlerCocoa.mm:
  • WebView/WebDashboardRegion.mm:
  • WebView/WebFullScreenController.mm:

Source/WebKit/win:

  • WebSecurityOrigin.cpp:

Source/WebKit2:

  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/API/C/WKInspector.cpp:
  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/efl/ewk_text_checker.cpp:
  • UIProcess/API/efl/ewk_view.cpp:
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:
  • UIProcess/mac/WKFullScreenWindowController.mm:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  • WebProcess/ResourceCache/WebResourceCacheManager.cpp:

Source/WTF:

  • wtf/Atomics.h:
  • wtf/BoundsCheckedPointer.h:
  • wtf/DateMath.h:
  • wtf/FastMalloc.cpp:
  • wtf/NumberOfCores.cpp:
  • wtf/OSAllocator.h:
  • wtf/OSAllocatorPosix.cpp:
  • wtf/PageAllocation.h:
  • wtf/RefCounted.h:
  • wtf/TCSystemAlloc.cpp:
  • wtf/ThreadingPthreads.cpp:
  • wtf/Vector.h:
  • wtf/dtoa/cached-powers.cc:
  • wtf/dtoa/fixed-dtoa.cc:
8:51 PM Changeset in webkit [149979] by Darin Adler
  • 5 edits in trunk/Source/WebCore

[Mac] Move clearAllData from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116001

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::clearAllData): Added. Calls through to Pasteboard after
doing the canWriteData check, which is part of DOM rules, not the platform.

  • dom/Clipboard.h: Made clearAllData non-virtual in non-legacy case.
  • platform/mac/ClipboardMac.h: Removed clearAllData.
  • platform/mac/ClipboardMac.mm: Ditto.
7:56 PM Changeset in webkit [149978] by andersca@apple.com
  • 3 edits in trunk/Source/WTF

Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h
https://bugs.webkit.org/show_bug.cgi?id=115997

Reviewed by Benjamin Poulain.

UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h

  • wtf/Compiler.h:

(unusedParam):

  • wtf/UnusedParam.h:
7:41 PM Changeset in webkit [149977] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move clearData from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116000

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::clearData): Added. Calls through to Pasteboard after
doing the canWriteData check, which is part of DOM rules, not the platform.

  • dom/Clipboard.h: Made clearData non-virtual in non-legacy case.
  • platform/Pasteboard.h: Added an overload of the clear function that takes

a single type and clears only that type. Also temporarily exported the
cocoaTypeFromHTMLClipboardType function as a static member so it can be used
in both ClipboardMac and PasteboardMac during the transition.

  • platform/mac/ClipboardMac.h: Removed clearData.
  • platform/mac/ClipboardMac.mm: Removed clearData.

(WebCore::ClipboardMac::getData): Changed to call cocoaTypeFromHTMLClipboardType
as a Pasteboard class static member function.
(WebCore::ClipboardMac::setData): Ditto.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::cocoaTypeFromHTMLClipboardType): Moved here from
ClipboardMac.
(WebCore::Pasteboard::clear): Added. Moved here from ClipboardMac.

7:28 PM Changeset in webkit [149976] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move hasData from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=115999

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::hasData): Added. Calls through to Pasteboard.

  • dom/Clipboard.h: Added LEGACY_VIRTUAL and LEGACY_PURE macros,

only for within this header file. These help us keep many functions
as pure virtual in the legacy style Clipboard class, but have them
be non-virtual in the normal/future style. Use LEGACY_VIRTUAL and
LEGACY_PURE to make the hasData member non-virtual.

  • platform/Pasteboard.h: Added hasData, and added some blank lines and a FIXME.
  • platform/mac/ClipboardMac.h: Removed hasData override.
  • platform/mac/ClipboardMac.mm: Ditto.
  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::hasData): Added. Moved code here from ClipboardMac.

7:14 PM Changeset in webkit [149975] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX (r149971): sudden termination is a Mac-only concept

  • WebCore.exp.in: Move sudden termination symbols to Mac-only

section.

7:00 PM Changeset in webkit [149974] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Node: Use FINAL instead of the non-virtual shadowing hack.
<http://webkit.org/b/115995>

Reviewed by Anders Carlsson.

Decorate Element/Attr implementations of prefix/localName/namespaceURI getters with FINAL
so that call sites with a more specific pointer type than Node* can avoid the virtual dispatch.

  • dom/Attr.h:
  • dom/Element.h:
  • dom/Node.cpp:
  • dom/Node.h:
6:31 PM Changeset in webkit [149973] by ryuan.choi@samsung.com
  • 3 edits in trunk/LayoutTests

REGRESSION (r149668): 4 reftest failures under fast/regions on GTK
https://bugs.webkit.org/show_bug.cgi?id=115783

Unreviewed rebaseline. They were fixed after r149802.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
6:25 PM Changeset in webkit [149972] by Darin Adler
  • 6 edits in trunk/Source/WebCore

[Mac] Give every Clipboard an underlying Pasteboard
https://bugs.webkit.org/show_bug.cgi?id=115979

Reviewed by Andreas Kling.

This is the first step in Clipboard and Pasteboard refactoring
to fix the overlap and many layering violations.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::Clipboard): Add an m_pasteboard data member,
Mac-only for now, but eventually for all platforms.
(WebCore::Clipboard::~Clipboard): No longer inline the destructor.

  • dom/Clipboard.h: Add WTF_USE_LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS

flag, currently true for all non-Mac platforms. Make the constructor
no longer inline. Added a PassOwnPtr<Pasteboard> argument to the
constructor and an OwnPtr<Pasteboard> data member.

  • platform/Pasteboard.h: Added a create function to make it easy

to create a pasteboard given a pasteboard name.

  • platform/mac/ClipboardMac.mm:

(WebCore::ClipboardMac::ClipboardMac): Create a pasteboard and pass
it to the Clipboard constructor.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::create): Added.

4:16 PM Changeset in webkit [149971] by akling@apple.com
  • 17 edits in trunk/Source

Unload event listeners should prevent Safari from insta-killing the web process on last tab close.
<http://webkit.org/b/115988>
<rdar://problem/13870943>

Reviewed by Anders Carlsson.

Source/WebCore:

Add two methods to Chrome (and ChromeClient):

  • enableSuddenTermination()
  • disableSuddenTermination()

..and call these from DOMWindow instead of the free global functions.

For WebKit1, it just calls the NSProcessInfo methods to keep behavior the same.
For WebKit2, the new methods plumb through the information to the UI process.

Also updated the DOMWindow logic to think in terms of per-DOMWindow sudden termination counters
instead of a process-global one, since that gets confusing in a WK2 world.
When a DOMWindow transitions between having/not having unload/beforeunload event listeners,
we send a notification to the Chrome.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • page/Chrome.h:

(WebCore::Chrome::enableSuddenTermination):
(WebCore::Chrome::disableSuddenTermination):

  • page/ChromeClient.h:

(WebCore::ChromeClient::enableSuddenTermination):
(WebCore::ChromeClient::disableSuddenTermination):

  • page/DOMWindow.cpp:

(WebCore::addUnloadEventListener):
(WebCore::removeUnloadEventListener):
(WebCore::removeAllUnloadEventListeners):
(WebCore::addBeforeUnloadEventListener):
(WebCore::removeBeforeUnloadEventListener):
(WebCore::removeAllBeforeUnloadEventListeners):
(WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
(WebCore::DOMWindow::enableSuddenTermination):
(WebCore::DOMWindow::disableSuddenTermination):

  • page/DOMWindow.h:

(DOMWindow):

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::enableSuddenTermination):
(WebChromeClient::disableSuddenTermination):

Source/WebKit2:

Let WebCore control the UI process's suppression of the sudden termination mechanism.
This is implemented by having WebChromeClient push Enable/DisableSuddenTermination messages
over to the UI process where the appropriate NSProcessInfo calls are made.

We also use this information when deciding whether to insta-kill a web process when its last
page is closed. This mechanism is re-usable in WebCore to protect against sudden termination
by the UI process.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::enableSuddenTermination):
(WebKit::WebProcessProxy::disableSuddenTermination):

  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):

  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::enableSuddenTermination):
(WebKit::WebChromeClient::disableSuddenTermination):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

2:27 PM Changeset in webkit [149970] by andersca@apple.com
  • 12 edits
    1 delete in trunk/Source

Remove Complex.h from WTF
https://bugs.webkit.org/show_bug.cgi?id=115989

Reviewed by Beth Dakin.

Source/WebCore:

Replace Complex declarations with std::complex<double>. Pass by value since the struct
is small enough to go into two registers on X86-64.

  • Modules/webaudio/RealtimeAnalyser.cpp:

(WebCore::RealtimeAnalyser::doFFTAnalysis):
(WebCore::RealtimeAnalyser::getFloatFrequencyData):
(WebCore::RealtimeAnalyser::getByteFrequencyData):
(WebCore::RealtimeAnalyser::getByteTimeDomainData):

  • platform/audio/Biquad.cpp:

(WebCore::Biquad::setZeroPolePairs):
(WebCore::Biquad::setAllpassPole):
(WebCore::Biquad::getFrequencyResponse):

  • platform/audio/Biquad.h:
  • platform/audio/FFTFrame.cpp:

(WebCore::FFTFrame::interpolateFrequencyComponents):
(WebCore::FFTFrame::extractAverageGroupDelay):
(WebCore::FFTFrame::addConstantGroupDelay):

Source/WTF:

Complex.h contains a typedef and a single function (that already has an equivalent in the STL).
The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly.

  • GNUmakefile.list.am:
  • WTF.vcproj/WTF.vcproj:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Complex.h: Removed.
11:46 AM Changeset in webkit [149969] by Simon Fraser
  • 5 edits
    2 adds in trunk

Dropdowns on http://www.exploratorium.edu don't show anything
https://bugs.webkit.org/show_bug.cgi?id=115991

Source/WebCore:

Reviewed by Dan Bernstein.

We can't optimize away the backing store of a layer by saying that
it paints into a composited ancestor if its composited bounds are not contained
by that ancestor.

Test: compositing/backing/no-backing-for-clip-overhang.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Pass in our
previously computed composited bounds relative to our composited ancestor,
and its composited bounds.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresOwnBackingStore): If the ancestor's
composited bounds don't contain the layer's composited bounds, the layer
needs its own backing store.

  • rendering/RenderLayerCompositor.h:

LayoutTests:

Reviewed by Dan Bernstein.

Layer tree dump test with an overflow:hidden that projects outside its
ancestor, and is forced to composite by a composited child.

  • compositing/backing/no-backing-for-clip-overhang-expected.txt: Added.
  • compositing/backing/no-backing-for-clip-overhang.html: Added.
11:22 AM Changeset in webkit [149968] by Martin Robinson
  • 7 edits
    8 adds in trunk

[GTK] Add a basic cmake build for WTF and JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=115967

Reviewed by Laszlo Gombos.

.:

  • CMakeLists.txt: Add GTK+ to the list of ports.
  • Source/CMakeLists.txt: We do not try to build WebCoreTestSupport when WebCore is disabled.
  • Source/cmake/FindGAIL3.cmake: Added.
  • Source/cmake/FindGDK3.cmake: Added.
  • Source/cmake/FindGStreamer.cmake: Use the passed in minimum version.
  • Source/cmake/FindGTK3.cmake: Added.
  • Source/cmake/FindXt.cmake: Added.
  • Source/cmake/OptionsEfl.cmake: Pass in the minimum version.
  • Source/cmake/OptionsGTK.cmake: Added.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Added.
  • shell/PlatformGTK.cmake: Added.

Source/WTF:

  • wtf/PlatformGTK.cmake: Added.
11:12 AM Changeset in webkit [149967] by commit-queue@webkit.org
  • 103 edits in trunk

Unreviewed, rolling out r149955.
http://trac.webkit.org/changeset/149955
https://bugs.webkit.org/show_bug.cgi?id=115990

Broke lots of tests (Requested by smfr on #webkit).

Source/WebCore:

  • WebCore.exp.in:
  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.h:

(InlineTextBox):

  • rendering/RenderApplet.h:
  • rendering/RenderBR.h:
  • rendering/RenderBlock.h:

(RenderBlock):
(WebCore::RenderBlock::virtualContinuation):
(WebCore::RenderBlock::virtualChildren):
(WebCore::RenderBlock::isRenderBlock):
(WebCore::RenderBlock::isBlockFlow):
(WebCore::RenderBlock::isInlineBlockOrInlineTable):
(WebCore::RenderBlock::dirtyLinesFromChangedChild):
(WebCore::RenderBlock::collapsedMarginBefore):
(WebCore::RenderBlock::collapsedMarginAfter):

  • rendering/RenderBox.h:

(WebCore::RenderBox::borderBoundingBox):
(RenderBox):
(WebCore::RenderBox::marginLogicalLeft):
(WebCore::RenderBox::marginLogicalRight):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::isBoxModelObject):

  • rendering/RenderButton.h:
  • rendering/RenderCombineText.h:
  • rendering/RenderCounter.h:
  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderDetailsMarker.h:
  • rendering/RenderEmbeddedObject.h:

(RenderEmbeddedObject):
(WebCore::RenderEmbeddedObject::isEmbeddedObject):
(WebCore::RenderEmbeddedObject::virtualChildren):

  • rendering/RenderFieldset.h:
  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlexibleBox.h:
  • rendering/RenderFlowThread.h:
  • rendering/RenderFrame.h:
  • rendering/RenderFrameSet.h:
  • rendering/RenderFullScreen.cpp:
  • rendering/RenderFullScreen.h:
  • rendering/RenderGrid.h:
  • rendering/RenderHTMLCanvas.h:
  • rendering/RenderIFrame.h:
  • rendering/RenderImage.h:

(RenderImage):
(WebCore::RenderImage::isRenderImage):

  • rendering/RenderInline.h:

(RenderInline):
(WebCore::RenderInline::virtualContinuation):
(WebCore::RenderInline::virtualChildren):
(WebCore::RenderInline::isRenderInline):
(WebCore::RenderInline::layout):
(WebCore::RenderInline::requiresLayer):
(WebCore::RenderInline::offsetWidth):
(WebCore::RenderInline::offsetHeight):
(WebCore::RenderInline::borderBoundingBox):
(WebCore::RenderInline::dirtyLinesFromChangedChild):

  • rendering/RenderLayerModelObject.h:
  • rendering/RenderListBox.h:
  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.h:
  • rendering/RenderMedia.h:

(WebCore::RenderMedia::virtualChildren):
(WebCore::RenderMedia::canHaveChildren):
(WebCore::RenderMedia::isMedia):
(WebCore::RenderMedia::isImage):
(WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):

  • rendering/RenderMediaControlElements.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderMeter.h:
  • rendering/RenderMultiColumnBlock.h:
  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderPart.h:

(RenderPart):
(WebCore::RenderPart::isRenderPart):
(WebCore::RenderPart::renderName):

  • rendering/RenderProgress.h:
  • rendering/RenderRegion.h:

(WebCore::RenderRegion::isRenderRegion):

  • rendering/RenderRegionSet.h:
  • rendering/RenderReplaced.h:

(RenderReplaced):
(WebCore::RenderReplaced::renderName):

  • rendering/RenderReplica.h:
  • rendering/RenderRuby.h:
  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.h:
  • rendering/RenderScrollbarPart.h:
  • rendering/RenderSearchField.h:
  • rendering/RenderSlider.h:
  • rendering/RenderSnapshottedPlugIn.h:

(RenderSnapshottedPlugIn):

  • rendering/RenderTable.h:

(RenderTable):
(WebCore::RenderTable::renderName):
(WebCore::RenderTable::isTable):
(WebCore::RenderTable::avoidsFloats):

  • rendering/RenderTableCaption.h:
  • rendering/RenderTableCell.h:
  • rendering/RenderTableCol.h:
  • rendering/RenderTableRow.h:
  • rendering/RenderTableSection.h:
  • rendering/RenderText.h:

(RenderText):
(WebCore::RenderText::marginLeft):
(WebCore::RenderText::marginRight):
(WebCore::RenderText::styleWillChange):
(WebCore::RenderText::length):
(WebCore::RenderText::paint):
(WebCore::RenderText::layout):

  • rendering/RenderTextControl.h:

(RenderTextControl):
(WebCore::RenderTextControl::renderName):
(WebCore::RenderTextControl::isTextControl):
(WebCore::RenderTextControl::avoidsFloats):

  • rendering/RenderTextControlMultiLine.h:
  • rendering/RenderTextControlSingleLine.h:

(RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::isTextField):

  • rendering/RenderTextFragment.h:
  • rendering/RenderTextTrackCue.h:
  • rendering/RenderVideo.h:
  • rendering/RenderView.h:
  • rendering/RenderWidget.h:

(RenderWidget):
(WebCore::RenderWidget::isWidget):

  • rendering/RenderWordBreak.h:
  • rendering/RootInlineBox.h:

(RootInlineBox):

  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/svg/RenderSVGBlock.h:

(RenderSVGBlock):

  • rendering/svg/RenderSVGContainer.h:

(WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
(WebCore::RenderSVGContainer::virtualChildren):
(WebCore::RenderSVGContainer::isSVGContainer):
(WebCore::RenderSVGContainer::renderName):
(RenderSVGContainer):
(WebCore::RenderSVGContainer::objectBoundingBox):
(WebCore::RenderSVGContainer::strokeBoundingBox):
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):

  • rendering/svg/RenderSVGEllipse.h:
  • rendering/svg/RenderSVGForeignObject.h:
  • rendering/svg/RenderSVGGradientStop.h:
  • rendering/svg/RenderSVGHiddenContainer.h:

(WebCore::RenderSVGHiddenContainer::renderName):
(RenderSVGHiddenContainer):
(WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):

  • rendering/svg/RenderSVGImage.h:
  • rendering/svg/RenderSVGInline.h:

(WebCore::RenderSVGInline::renderName):
(WebCore::RenderSVGInline::requiresLayer):
(WebCore::RenderSVGInline::isSVGInline):
(RenderSVGInline):

  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGModelObject.h:

(WebCore::RenderSVGModelObject::requiresLayer):
(RenderSVGModelObject):

  • rendering/svg/RenderSVGPath.h:
  • rendering/svg/RenderSVGRect.h:
  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceContainer.h:

(RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):

  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceFilterPrimitive.h:
  • rendering/svg/RenderSVGResourceGradient.h:

(RenderSVGResourceGradient):
(WebCore::RenderSVGResourceGradient::resourceBoundingBox):

  • rendering/svg/RenderSVGResourceLinearGradient.h:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGResourceRadialGradient.h:
  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGShape.h:

(WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
(WebCore::RenderSVGShape::setNeedsTransformUpdate):
(WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
(WebCore::RenderSVGShape::localToParentTransform):
(WebCore::RenderSVGShape::localTransform):
(WebCore::RenderSVGShape::isSVGShape):
(RenderSVGShape):
(WebCore::RenderSVGShape::objectBoundingBox):
(WebCore::RenderSVGShape::strokeBoundingBox):

  • rendering/svg/RenderSVGTSpan.h:
  • rendering/svg/RenderSVGText.h:
  • rendering/svg/RenderSVGTextPath.h:
  • rendering/svg/RenderSVGTransformableContainer.h:
  • rendering/svg/RenderSVGViewportContainer.h:

Tools:

  • Scripts/webkitpy/port/mac.py:
10:58 AM Changeset in webkit [149966] by Martin Robinson
  • 4 edits in trunk

Move defines to platform

[GTK] Move defines that will never be configured to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=115965

Reviewed by Andreas Kling.

.:

  • Source/autotools/SetupAutoconfHeader.m4: Move some unchanging defines to Platform.h.

Source/WTF:

  • wtf/Platform.h: Add new defines that were previously in the autoconf header.
10:50 AM Changeset in webkit [149965] by andersca@apple.com
  • 7 edits in trunk/Source

Simplify AutodrainedPool
https://bugs.webkit.org/show_bug.cgi?id=115986

Reviewed by Andreas Kling.

Source/WebCore:

Remove calls to AutodrainedPool::cycle as well as the iteration counter passed to the constructor.
Instead, just declare RAII pools where it seems necessary.

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::databaseThread):

  • fileapi/FileThread.cpp:

(WebCore::FileThread::runLoop):

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::performURLImport):
(WebCore::IconDatabase::readFromDatabase):

Source/WTF:

Remove the ability to cycle an AutodrainedPool, as well as the iteration count.
Creating and draining pools is fast enough now that we don't need to try to be clever about it.

  • wtf/AutodrainedPool.h:

(AutodrainedPool):
(WTF::AutodrainedPool::AutodrainedPool):

  • wtf/AutodrainedPoolMac.mm:

(WTF::AutodrainedPool::AutodrainedPool):

10:47 AM Changeset in webkit [149964] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/13402976> Sandbox violations in com.nvidia.OpenGL on Lion.

Reviewed by Dan Bernstein.

  • WebProcess/com.apple.WebProcess.sb.in: Silence the violations (on Lion only).
9:45 AM Changeset in webkit [149963] by andersca@apple.com
  • 9 edits
    1 delete in trunk/Source/WTF

Move RemoteMemoryReader into FastMalloc.cpp
https://bugs.webkit.org/show_bug.cgi?id=115985

Reviewed by Andreas Kling.

RemoteMemoryReader is only used in FastMalloc.cpp, and even had one of its member functions
implemented there, so move the entire class template there and remove MallocZoneSupport.h.

  • GNUmakefile.list.am:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/FastMalloc.cpp:

(WTF):
(PageHeapAllocator):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/MallocZoneSupport.h: Removed.
9:37 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
9:33 AM Changeset in webkit [149962] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.0/Source

Merge r147640 - Fix the build with GCC 4.8
https://bugs.webkit.org/show_bug.cgi?id=113147

Reviewed by Allan Sandfeld Jensen.

Source/JavaScriptCore:

Initialize JSObject* exception to suppress warnings that make
the build fail because of -Werror=maybe-uninitialized.

  • runtime/Executable.cpp:

(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):

Source/WTF:

Disable diagnostic warning -Wunused-local-typedefs for GCC 4.8
since dummy typedefs are commonly used in the codebase.

  • wtf/Compiler.h:
8:26 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
8:22 AM Changeset in webkit [149961] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0/Source/WTF

Merge r146993 - Support C++11 static_assert
https://bugs.webkit.org/show_bug.cgi?id=113308

Reviewed by Alexey Proskuryakov.

Use the C++11 static_assert for COMPILE_ASSERT when it is available. Note that
even when compiling with C++11 support, static_assert will not always be available
since Assertions.h may also be used outside of C++.

C11 _Static_assert is enabled for GCC when it has C11 support (gcc>=4.7 -std=c11).

  • wtf/Assertions.h:
  • wtf/Compiler.h:
8:12 AM Changeset in webkit [149960] by akling@apple.com
  • 184 edits in trunk/Source/WebCore

Apply FINAL to the Node hierarchy.
<http://webkit.org/b/115984>

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

A couple of the stable DOM/ microbenchmarks are perf positive on Linux clang:

  • CloneNodes time reduced from 162.4 to 156.5 ms.
  • CreateNodes time reduced from 113.9 to 104.9 ms.
  • dom/: Beat things with the FINAL stick.
  • html/: Ditto.
  • svg/: Ditto.
7:23 AM Changeset in webkit [149959] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Devirtualize some things on Document.

From Blink r149967 by <esprehn@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=149967>

Several methods on Document are virtual but don't override a super class method
and don't need to be virtual. This patch devirtualizes:

  • createElementNS()
  • finishedParsing()
  • suspendScriptedAnimationControllerCallbacks()
  • resumeScriptedAnimationControllerCallbacks()

It also removes the suspend and resume callbacks from ScriptExecutionContext
since they didn't need to be there.

  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
7:11 AM Changeset in webkit [149958] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WTF

Merge r145701 - Support C++11 features in GCC <4.6
https://bugs.webkit.org/show_bug.cgi?id=111553

Reviewed by Simon Hausmann.

Enable support for rvalue references from gcc 4.3, deleted functions
from gcc 4.4, explicit conversion from gcc 4.5, and strongly typed
enums from gcc 4.6.

  • wtf/Compiler.h:
7:05 AM Changeset in webkit [149957] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Remove redundant call to removeAllEventListeners() in Document::open().

From Blink r150175 by <dcheng@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=150175>

Document::open() already calls Document::removeAllEventListeners(), which
removes the event listeners from the DOMWindow it's attached to, so
there's no need to do it manually here as well.

  • dom/Document.cpp:

(WebCore::Document::open):

6:57 AM Changeset in webkit [149956] by akling@apple.com
  • 2 edits in trunk/LayoutTests

Rebaseline fast/js/global-constructors-attributes.html for mac-lion after r149920.

  • platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
6:38 AM Changeset in webkit [149955] 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.
4:23 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
4:19 AM Changeset in webkit [149954] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Tools

Merge r145881 - Build fix for Tools/GtkLauncher/Programs_GtkLauncher-main.o if gstreamer is not installed
https://bugs.webkit.org/show_bug.cgi?id=112394

Patch by Tobias Mueller <tobiasmue@gnome.org> on 2013-03-15
Reviewed by Philippe Normand.

  • GtkLauncher/main.c:

(main): Guard using the gstreamer function with #ifdef WTF_USE_GSTREAMER

4:19 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
4:15 AM Changeset in webkit [149953] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.0

Merge r148860 - [WebKit2] Plugins without a MIME Type fail to load
https://bugs.webkit.org/show_bug.cgi?id=112834

Reviewed by Benjamin Poulain.

Source/WebKit2:

The problem is that when the plugin is created and the MIME Type
is empty, since the MIME Type guessed in the UI process using the
plugin extension is not passed to the WebProcess, when the plugin
is instantiated, the value of NPMIMEType parameter passed to
NPP_New is NULL, and NPERR_INVALID_INSTANCE_ERROR is returned.
GetPluginPath message has been renamed to FindPlugin, since it
doesn't only return the path but also the new MIME Type and load
policy.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::findPlugin): Receive an output newMIMEType
parameter that is passed to PluginModuleInfo::findPlugin() so that
in case of guessing the MIME Type, the new one is passed back to
the WebProcess.

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::createPlugin): Pass the MIME Type
from the parameters to WebPage::createPlugin.
(WebKit::WebFrameLoaderClient::recreatePlugin): Pass a newMIMEType
parameter to WebPage::createPlugin.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin): Add newMIMEType out parameter and
pass it to the FindPlugin message.
(WebKit::WebPage::canPluginHandleResponse): Pass newMIMEType to
FindPlugin message.

  • WebProcess/WebPage/WebPage.h:

(WebPage):

LayoutTests:

  • platform/wk2/TestExpectations: Unskip

plugins/no-mime-with-valid-extension.html.

2:25 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
Only bug fixes in the stable branch (diff)
2:05 AM Changeset in webkit [149952] by Carlos Garcia Campos
  • 44 edits in trunk

[GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
https://bugs.webkit.org/show_bug.cgi?id=115914

Reviewed by Martin Robinson.

Source/WebCore:

  • platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:

(WebCore::FullscreenVideoControllerGtk::hideHud):
(WebCore::FullscreenVideoControllerGtk::initializeWindow):

  • platform/gtk/GtkVersioning.c:
  • platform/gtk/GtkVersioning.h:
  • platform/gtk/WidgetRenderingContext.cpp:

(WebCore::WidgetRenderingContext::WidgetRenderingContext):

  • plugins/gtk/gtk2xtbin.c:

(gtk_xtbin_realize):

Source/WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::contentsSizeChanged):

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::transitionToCommittedForNewPage):

  • tests/testapplicationcache.c:
  • tests/testatk.c:
  • tests/testatkroles.c:

(main):

  • tests/testcontextmenu.c:
  • tests/testcopyandpaste.c:

(main):

  • tests/testdomdocument.c:
  • tests/testdomdomwindow.c:
  • tests/testdomnode.c:
  • tests/testdownload.c:

(main):

  • tests/testfavicondatabase.c:

(main):

  • tests/testglobals.c:
  • tests/testhittestresult.c:
  • tests/testhttpbackend.c:

(main):

  • tests/testkeyevents.c:

(main):

  • tests/testloading.c:
  • tests/testmimehandling.c:

(main):

  • tests/testnetworkrequest.c:

(main):

  • tests/testnetworkresponse.c:

(main):

  • tests/testwebbackforwardlist.c:

(main):

  • tests/testwebdatasource.c:

(main):

  • tests/testwebframe.c:

(main):

  • tests/testwebhistoryitem.c:

(main):

  • tests/testwebinspector.c:

(main):

  • tests/testwebplugindatabase.c:

(main):

  • tests/testwebresource.c:

(main):

  • tests/testwebsettings.c:

(main):

  • tests/testwebview.c:
  • tests/testwindow.c:

(main):

  • webkit/webkitwebview.cpp:

(webkit_web_view_realize):
(webkit_web_view_show_help):
(webkit_web_view_class_init):
(webkit_web_view_set_tooltip_text):

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize):

Tools:

  • GtkLauncher/main.c:

(createToolbar):

  • MiniBrowser/gtk/BrowserWindow.c:

(_BrowserWindow):
(browserWindowSetStatusText):
(fullScreenMessageTimeoutCallback):
(webViewEnterFullScreen):
(webViewLeaveFullScreen):
(browserWindowFinalize):
(browserWindowConstructed):

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::continuousMouseScrollBy):

May 11, 2013:

11:15 PM Changeset in webkit [149951] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Windows] Unreviewed build fix after r149932

Patch by Brent Fulgham <Brent Fulgham> on 2013-05-11

  • make-export-file-generator: Don't attempt to import

(or use) non-existent cxxabi functions on Windows.

10:39 PM Changeset in webkit [149950] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Add more info to compositing log channel output
https://bugs.webkit.org/show_bug.cgi?id=115978

Reviewed by Dean Jackson.

Add to compositing log channel output whether a layer paints
into its compositing ancestor.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::logLayerInfo):

9:54 PM Changeset in webkit [149949] by Simon Fraser
  • 4 edits
    4 adds in trunk

REGRESSION: Fixed background on ColterReed.com scrolls
https://bugs.webkit.org/show_bug.cgi?id=115951

Source/WebCore:

Reviewed by Beth Dakin.

The logic for painting the fixed root background into its own layer was
broken when the document element's layer was composited. This could be caused
by a negative z-index child of the body, or by an explicit compositing-causing
style on the <html>.

There were two issues. First, when painting the layer for the fixed root
background, we would simply short-circuit the fixed background paint in
RenderLayer::paintLayer(), when checking for a composited layer. We have
to continue to paint through the composited <html> layer to get the root
background in this case.

Secondly, RenderLayerBacking::paintIntoLayer() would only set the PaintLayerPaintingSkipRootBackground
flag if this RenderLayerBacking had a m_backgroundLayer. However, when the <html> is
composited, we need to skip painting the root layer for both the RenderView's backing,
and for the <html>'s backing. Checking whether there is *any* layer that paints
the fixed root background (i.e. checking compositor()->fixedRootBackgroundLayer())
is a simple way to fix this test.

Tests: platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html.html

platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed.html

  • rendering/RenderLayer.cpp:

(WebCore::paintForFixedRootBackground):
(WebCore::RenderLayer::paintLayer):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):

LayoutTests:

Reviewed by Beth Dakin.

Tests with a fixed background and two different ways of making the <html> composited.

  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html-expected.html: Added.
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html.html: Added.
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed-expected.html: Added.
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed.html: Added.
9:28 PM Changeset in webkit [149948] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Possible crash when going Back while loading PDF
https://bugs.webkit.org/show_bug.cgi?id=115972

Reviewed by Dan Bernstein.

It's possible for m_frame to be null when Document::findUnsafeParentScrollPropagationBoundary()
is called, so null-check currentFrame.

  • dom/Document.cpp:

(WebCore::Document::findUnsafeParentScrollPropagationBoundary):

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

<rdar://problem/13823864> TextCodecICU complains about ambiguous codec names with current ICU release
https://bugs.webkit.org/show_bug.cgi?id=115953

Reviewed by Darin Adler.

Store and use canonical converter name to create converters.

As a side effect, we now actually reuse cached converters - previously we would compare
a standard encoding name to internal canonical one, which rarely match.

  • platform/text/TextCodecICU.h:
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::create): Pass canonical ICU converter name to constructor. (WebCore::TextCodecICU::registerEncodingNames):
    • Updated terminology.
    • Added a comment that special cases should be kept in sync between registerEncodingNames and registerCodecs.
    • Moved maccyrillic alias to a correct section. It's not present in ICU even today.
    • Changed a few aliases to actually map to standard name, not to an overridden one (this doesn't change behavior since addToTextEncodingNameMap looks up canonical name, but is clearer).

(WebCore::TextCodecICU::registerCodecs): Store a converter name to use with each
canonical encoding name.
(WebCore::TextCodecICU::TextCodecICU): Ditto.
(WebCore::TextCodecICU::releaseICUConverter): Reset the converter to remove any
leftover data.
(WebCore::TextCodecICU::createICUConverter):

  • Compare converter name to converter name, not to another alias name.
  • Use proper string comparison instead of pointer comparison.
  • When creating a converter, assert that the name is not ambigous - canonical converter names should never be, otherwise there would be no way to create the converter without ambiguity.
5:26 PM Changeset in webkit [149946] by mhahnenberg@apple.com
  • 6 edits
    2 adds
    2 deletes in branches/dfgFourthTier/Source/JavaScriptCore

Rename StructureCheckHoistingPhase to TypeCheckHoistingPhase
https://bugs.webkit.org/show_bug.cgi?id=115938

We're going to add some more types of check hoisting soon, so let's have
the right name here.

Rubber stamped by Filip Pizlo.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGStructureCheckHoistingPhase.cpp: Removed.
  • dfg/DFGStructureCheckHoistingPhase.h: Removed.
  • dfg/DFGTypeCheckHoistingPhase.cpp: Added.

(DFG):
(TypeCheckHoistingPhase):
(JSC::DFG::TypeCheckHoistingPhase::TypeCheckHoistingPhase):
(JSC::DFG::TypeCheckHoistingPhase::run):
(JSC::DFG::TypeCheckHoistingPhase::shouldConsiderForHoisting):
(JSC::DFG::TypeCheckHoistingPhase::noticeStructureCheck):
(CheckData):
(JSC::DFG::TypeCheckHoistingPhase::CheckData::CheckData):
(JSC::DFG::performTypeCheckHoisting):

  • dfg/DFGTypeCheckHoistingPhase.h: Added.
4:42 PM Changeset in webkit [149945] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r149944.

  • Platform/CoreIPC/ArgumentEncoder.cpp: Include <sys/mman.h> for mmap(2).
4:28 PM Changeset in webkit [149944] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Don't pass malloced pointers as out-of-line data when sending Mach messages
https://bugs.webkit.org/show_bug.cgi?id=115970
<rdar://problem/13144680>

Reviewed by Sam Weinig.

Give ArgumentEncoder an inline buffer of 512 bytes. If we need more than that, use mmap to allocate data
since that gives us fresh zero-filled memory that we can safely share.

  • Platform/CoreIPC/ArgumentEncoder.cpp:

(CoreIPC::ArgumentEncoder::ArgumentEncoder):
Set up the buffer pointers to point to the inline buffer.

(CoreIPC::ArgumentEncoder::~ArgumentEncoder):
Unmap the buffer if necessary.

(CoreIPC::ArgumentEncoder::grow):
Grow the allocation exponentially, rounded up to the nearest page. This is a simplification from the
current strategy, but most messages are either tiny in which case they will fit inside the inline buffer,
or big in which case we'll end up doing less allocations + memory copying.

  • Platform/CoreIPC/ArgumentEncoder.h:

(ArgumentEncoder):

4:26 PM Changeset in webkit [149943] by mhahnenberg@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

SpeculativeJIT::checkArray should use the correct ExitKind
https://bugs.webkit.org/show_bug.cgi?id=115943

Currently it uses Uncountable, which gives us no information if we end up exiting due to a
mismatched ClassInfo pointer. It should instead use BadType and should pass the correct
JSValueSource and Node instead of passing empty values.

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::checkArray):

2:42 PM Changeset in webkit [149942] by Antoine Quint
  • 3 edits in trunk/Source/WebCore

[Mac] The captions menu should not use a canned max-width and max-height
https://bugs.webkit.org/show_bug.cgi?id=115968

Reviewed by Eric Carlson.

Use more real estate to display the captions menu should the caption names
be long.

  • css/mediaControlsQuickTime.css:

(video::-webkit-media-controls-closed-captions-container):
(video::-webkit-media-controls-closed-captions-track-list):
Make the captions menu scale to a max-width and max-height to allow 4px
above and below the menu, except on the right where it always aligns with
the captions icon in the media controller.

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::createControls):
Move the captions menu element to be a child of the controls instead of
the panel such that it may scale relative to the controls when using %
CSS values.

2:07 PM Changeset in webkit [149941] by fpizlo@apple.com
  • 5 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: FTL should support Jump and ForceOSRExit
https://bugs.webkit.org/show_bug.cgi?id=115942

Reviewed by Oliver Hunt.

Added two obvious nodes: Jump and ForceOSRExit. We already had everything we needed
to support them.

Adding these increases our coverage a fair bit, and revealed a bug: LLVM's full
instruction selector currently appears to mishandle doubles in constant pools (or
just constant pools in general) with the small code model in the MCJIT. But switching
to FastISel "fixes" it. That's what this patch does, for now. This will probably
actually be permanent; the FastISel does pretty much everything we would ever want,
at least in the foreseeable future.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):
(FTL):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileJSConstant):
(LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileJump):
(JSC::FTL::LowerDFGToLLVM::compileReturn):
(JSC::FTL::LowerDFGToLLVM::compileForceOSRExit):

  • runtime/Options.h:

(JSC):

1:57 PM Changeset in webkit [149940] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r149904.

  • GNUmakefile.list.am: Adding missing build targets.
1:08 PM Changeset in webkit [149939] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Bogus -webkit-columns value in fast/text/international/spaces-combined-in-vertical-text.html
https://bugs.webkit.org/show_bug.cgi?id=115164

Patch by Xan Lopez <xlopez@igalia.com> on 2013-05-11
Reviewed by Rob Buis.

Remove bogus -webkit-columns property.

  • fast/text/international/spaces-combined-in-vertical-text.html:
1:07 PM Changeset in webkit [149938] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed, Fix WK2 EFL build after r149904.

Add new PluginInformation.cpp file to CMake.

  • CMakeLists.txt:
12:47 PM Changeset in webkit [149937] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed, fix WK2 EFL build after r149904.

Add new WKPluginInformation.cpp file to CMake.

  • CMakeLists.txt:
12:09 PM Changeset in webkit [149936] by jochen@chromium.org
  • 5 edits
    2 adds in trunk

Disallow a window to focus itself via javascript URLs or using target _self
https://bugs.webkit.org/show_bug.cgi?id=115906

Reviewed by Geoffrey Garen.

Source/WebCore:

Test: fast/dom/Window/window-focus-self.html

  • loader/FrameLoader.cpp:

(WebCore::createWindow):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::focus):

LayoutTests:

  • fast/dom/Window/window-focus-self-expected.txt: Added.
  • fast/dom/Window/window-focus-self.html: Added.
  • platform/wk2/TestExpectations: test uses unimplemented setWindowIsKey.
12:07 PM Changeset in webkit [149935] by Christophe Dumez
  • 58 edits in trunk/Source/WebCore

Fix several style warnings in generated bindings
https://bugs.webkit.org/show_bug.cgi?id=115961

Reviewed by Kentaro Hara.

Fix several style errors in the bindings generated under
Source/WebCore/bindings/scripts/test/

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorCPP.pm:

(GenerateImplementation):
(WriteData):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):
(WriteData):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader):

  • bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
  • bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp:
  • bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
  • bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp:
  • bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
  • bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp:
  • bindings/scripts/test/CPP/WebDOMTestException.cpp:
  • bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
  • bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp:
  • bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp:
  • bindings/scripts/test/CPP/WebDOMTestNode.cpp:
  • bindings/scripts/test/CPP/WebDOMTestObj.cpp:
  • bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp:
  • bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::toJS):

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

(WebCore::JSTestActiveDOMObject::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestEventConstructor::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestEventTarget::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestException::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestInterface::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestMediaQueryListListener::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestNamedConstructor::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestObj::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestOverloadedConstructors::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestSerializedScriptValueInterface::releaseImplIfNotNull):

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

(WebCore::toJS):

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

(WebCore::JSTestTypedefs::releaseImplIfNotNull):

  • bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestNodeInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestObjInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:

(WebCore):

11:53 AM Changeset in webkit [149934] by akling@apple.com
  • 3 edits in trunk/Source/WebKit2

When possible, terminate web processes immediately when closing their last page.
<http://webkit.org/b/115964>
<rdar://problem/13869266>

Reviewed by Geoffrey Garen.

When we're using a network process, there's no need for the UI process to wait for web processes
to clear resource caches and terminate nicely.

We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::removeWebPage):

Terminate the child process immediately if possible.

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::canTerminateChildProcess):
(WebKit::WebProcessProxy::shouldTerminate):

Broke out the logic from the shouldTerminate() IPC message handler into a separate function
so we can call it from removeWebPage().

11:00 AM Changeset in webkit [149933] by andersca@apple.com
  • 8 edits
    1 add in trunk

Crash when terminating a process that has not been fully launched
https://bugs.webkit.org/show_bug.cgi?id=115962
<rdar://problem/13660916>

Reviewed by Andreas Kling.

Source/WebKit2:

Handle terminating a process that has not been fully launched.

  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess):
If we have been invalidated, dispose the connection identifier.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::terminateProcess):
If we're still launching the process, invalidate so the client won't get an unexpected
didFinishLaunching callback.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::requestTermination):
Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched).

Tools:

Add TerminateTwice, a test that terminates a page, then reloads it and terminates it again
before the process has had a chance to be fully launched.

  • TestWebKitAPI/GNUmakefile.am:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Added.

(TestWebKitAPI):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WebKit2.pro:
9:09 AM Changeset in webkit [149932] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Make it a build error to put invalid C++ symbol names in WebCore.exp.in
https://bugs.webkit.org/show_bug.cgi?id=115958

Reviewed by Andreas Kling.

While invalid C++ symbols will eventually show up as a link error since the symbol won't be found,
this makes it easier to catch invalid symbols inside of #ifdefs.

  • make-export-file-generator:

Try to demangle C++ symbols before printing them.

7:09 AM Changeset in webkit [149931] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX (r149718): Move exported symbol into ENABLE(FULLSCREEN_API) section

Fixes the following build failure when ENABLE(FULLSCREEN_API) is
off:

Undefined symbols for architecture i386:

"ZNK7WebCore7Element25containsFullScreenElementEv", referenced from:

-exported_symbol[s_list] command line option

  • WebCore.exp.in: Move the symbol.
5:14 AM Changeset in webkit [149930] by robert@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, remove some lint accidentally left in r149929.

  • rendering/InlineFlowBox.cpp:

(WebCore::verticalAlignApplies):

5:08 AM Changeset in webkit [149929] by robert@webkit.org
  • 5 edits
    2 adds in trunk

Text flow broken in elements with vertical align top/bottom and inline elements taller than line-height
https://bugs.webkit.org/show_bug.cgi?id=111974

Source/WebCore:

Reviewed by Ryosuke Niwa.

Per http://www.w3.org/TR/CSS2/visudet.html#propdef-vertical-align 'vertical-align' only applies to inline and table-cell
elements.

Test: fast/css/vertical-align-block-elements.html

  • rendering/InlineFlowBox.cpp:

(WebCore::isTextInBlockElement):
(WebCore):
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):

LayoutTests:

Reviewed by Ryosuke Niwa.

  • editing/execCommand/query-command-state-expected.txt:
  • editing/execCommand/script-tests/query-command-state.js: Remove invalid tests, vertical-align does not apply to div elements.

(runTests):

  • fast/css/vertical-align-block-elements-expected.html: Added.
  • fast/css/vertical-align-block-elements.html: Added.
1:36 AM Changeset in webkit [149928] by benjamin@webkit.org
  • 7 edits in trunk/Source/WebCore

Make CanvasStyle a plain object instead of an RefCounted object
https://bugs.webkit.org/show_bug.cgi?id=115775

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

CanvasStyle is just 2 words wide. We do not gain anything from allocating
it on the heap. Change the object to be just a type and some data.

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:

(WebCore::toJS):
(WebCore::toHTMLCanvasStyle):

  • html/HTMLCanvasElement.cpp:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • html/canvas/CanvasRenderingContext2D.h:

(WebCore::CanvasRenderingContext2D::strokeStyle):
(CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::fillStyle):
(State):

  • html/canvas/CanvasStyle.cpp:

(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::createFromString):
(WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
(WebCore::CanvasStyle::isEquivalentColor):
(WebCore):
(WebCore::CanvasStyle::operator=):
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):

  • html/canvas/CanvasStyle.h:

(CanvasStyle):
(WebCore::CanvasStyle::isValid):
(WebCore::CanvasStyle::CanvasStyle):
(WebCore):
(WebCore::CanvasStyle::operator=):

12:56 AM Changeset in webkit [149927] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Gradient::platformGradient: Vector reserveCapacity -> reserveInitialCapacity
https://bugs.webkit.org/show_bug.cgi?id=115779

Reviewed by Andreas Kling.

  • platform/graphics/cg/GradientCG.cpp:

(WebCore::Gradient::platformGradient): Clang is surprisingly smart at removing
all the branches of this function. Remove two more with reserveInitialCapacity.

12:47 AM Changeset in webkit [149926] by benjamin@webkit.org
  • 2 edits in trunk/Websites/planet.webkit.org

Remove irrelevant blogs from Planet WebKit
https://bugs.webkit.org/show_bug.cgi?id=115620

Reviewed by Ryosuke Niwa.

  • config.ini:
Note: See TracTimeline for information about the timeline view.