WebKit-https.git
6 years ago Text input is largely broken when there are subframes loading
ap@apple.com [Fri, 17 May 2013 20:04:43 +0000 (20:04 +0000)]
    Text input is largely broken when there are subframes loading
        http://bugs.webkit.org/show_bug.cgi?id=59121
        <rdar://problem/9320468>

        Reviewed by Darin Adler.

        * UIProcess/PageClient.h:
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::updateSecureInputState): Separated secure input state
        updating into a separate function. Removed updateTextInputState, we don't need
        to go through PageClient to implement its behavior at all.
        (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added a FIXME.

        * UIProcess/API/mac/WKView.mm:
        * UIProcess/API/mac/WKViewInternal.h:
        Removed _updateTextInputStateIncludingSecureInputState.

        * UIProcess/WebPageProxy.h: Added m_temporarilyClosedComposition, which helps
        to figure out that WebCore decided to close a composition. The issue is that WebCore
        would first send an EditorState with hasComposition set to false, and with
        shouldIgnoreCompositionSelectionChange set to true, at which time we forget the
        previous m_editorState, but can't make any decisions based on this transient state.
        We should find a way to simplify this (maybe not send these updates with
        shouldIgnoreCompositionSelectionChange at all?)

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy): Initialize m_temporarilyClosedComposition.
        (WebKit::WebPageProxy::didCommitLoadForFrame): Removed the code to kill a composition
        when any frame commits a load, which made no sense (along with surrounding code,
        which will unfortunately survive longer).
        (WebKit::WebPageProxy::editorStateChanged): Implemented state updating here,
        we don't need to go to WKView.mm to implement this logic. Figure out when WebCore
        discards a composition, and notify input methods about this.
        (WebKit::WebPageProxy::resetStateAfterProcessExited): Reset m_temporarilyClosedComposition.
        Added some FIXMEs.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150291 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMac rebaselines; also remove some entries.
rniwa@webkit.org [Fri, 17 May 2013 19:54:51 +0000 (19:54 +0000)]
Mac rebaselines; also remove some entries.

Seriously, I've had it enough. Why are people adding these entires never to rebaseline them later?

* platform/mac/TestExpectations:
* platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.txt:
* platform/mac/fast/dom/HTMLImageElement/image-alt-text-expected.png:
* platform/mac/fast/dom/HTMLImageElement/image-alt-text-expected.txt:
* platform/mac/fast/encoding/utf-16-big-endian-expected.png:
* platform/mac/fast/encoding/utf-16-big-endian-expected.txt:
* platform/mac/fast/encoding/utf-16-little-endian-expected.png:
* platform/mac/fast/encoding/utf-16-little-endian-expected.txt:
* platform/mac/fast/forms/input-value-expected.png:
* platform/mac/fast/forms/input-value-expected.txt:
* platform/mac/fast/lists/inlineBoxWrapperNullCheck-expected.png:
* platform/mac/fast/lists/inlineBoxWrapperNullCheck-expected.txt:
* platform/mac/tables/mozilla/collapsing_borders/bug41262-3-expected.png:
* platform/mac/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150290 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WK2] Add support for selectTrailingWhitespaceEnabled setting
commit-queue@webkit.org [Fri, 17 May 2013 19:50:45 +0000 (19:50 +0000)]
[WK2] Add support for selectTrailingWhitespaceEnabled setting
https://bugs.webkit.org/show_bug.cgi?id=112426

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-05-17
Reviewed by Ryosuke Niwa.

* Shared/WebPreferencesStore.h:
(WebKit): Add macro for selectTrailingWhitespaceEnabled.
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetSelectTrailingWhitespaceEnabled):
(WKPreferencesGetSelectTrailingWhitespaceEnabled): Implement methods
using the new setting.
* UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::isSelectTrailingWhitespaceEnabled): Implement
method delegating in WebPage.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Set
selectTrailingWhitespaceEnabled setting.
(WebKit::WebPage::setSmartInsertDeleteEnabled): Set
selectTrailingWhitespaceEnabled as they are mutually exclusive.
(WebKit):
(WebKit::WebPage::isSelectTrailingWhitespaceEnabled): Implement method
using settings.
(WebKit::WebPage::setSelectTrailingWhitespaceEnabled): Implement method
using settings and set smartInsertDeleteEnabled as they are mutually
exclusive.
* WebProcess/WebPage/WebPage.h:
(WebPage): Add new methods headers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150289 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix crash introduced by http://trac.webkit.org/changeset/150282
beidson@apple.com [Fri, 17 May 2013 19:49:14 +0000 (19:49 +0000)]
Fix crash introduced by trac.webkit.org/changeset/150282
Followup to https://bugs.webkit.org/show_bug.cgi?id=116253

Reviewed by Andreas Kling.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::focusedFrameChanged): Frame might be null.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150288 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove chrome-channels command from the webkit-patch
commit-queue@webkit.org [Fri, 17 May 2013 19:47:48 +0000 (19:47 +0000)]
Remove chrome-channels command from the webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=116303

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

* Scripts/webkitpy/common/config/urls.py: Removed omahaproxy url.
* Scripts/webkitpy/common/net/omahaproxy.py: Removed.
* Scripts/webkitpy/common/net/omahaproxy_unittest.py: Removed.
* Scripts/webkitpy/tool/commands/__init__.py: Removed chromechannels import.
* Scripts/webkitpy/tool/commands/chromechannels.py: Removed.
* Scripts/webkitpy/tool/commands/chromechannels_unittest.py: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150287 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agofilter-build-webkit: Don't filter out the location of the missing symbol when linking...
ddkilzer@apple.com [Fri, 17 May 2013 19:33:19 +0000 (19:33 +0000)]
filter-build-webkit: Don't filter out the location of the missing symbol when linking fails
Part 3 of 3: <http://webkit.org/b/116247>

Reviewed by Benjamin Poulain.

* Scripts/filter-build-webkit: Change while() loop to for() loop
to track $previousLine, then pass $previousLine into
shouldIgnoreLine().
(shouldIgnoreLine): Add $previousLine argument. Do not skip a
line that begins with four spaces if the previous line is a
linker error message.
* Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl:
- Add "Ignored: " to test descriptions to document expected
  behavior.
- Add comment blocks for various groups of tests.
- Expand "Build settings" tests since we're changing the code in
  shouldIgnoreLine() that ignores those lines.
- Add tests for undefined symbols error message.
(description): Add.  Extract from global code.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150286 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd tests for shouldIgnoreLine() in filter-build-webkit
ddkilzer@apple.com [Fri, 17 May 2013 19:33:12 +0000 (19:33 +0000)]
Add tests for shouldIgnoreLine() in filter-build-webkit
Part 2 of 3: <http://webkit.org/b/116247>

Reviewed by Benjamin Poulain.

* Scripts/filter-build-webkit:
(shouldIgnoreLine): Add.  Extract code from global scope into
subroutine to make it testable.
* Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl: Add.
Tests shouldIgnoreLine() using output from a real build
transcript.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150285 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRename "WebKit Queues" to explicitly call out for EWS and CQ on build.webkit.org
rniwa@webkit.org [Fri, 17 May 2013 19:24:51 +0000 (19:24 +0000)]
Rename "WebKit Queues" to explicitly call out for EWS and CQ on build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=116341

Reviewed by Brady Eidson.

* BuildSlaveSupport/build.webkit.org-config/templates/root.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGet rid of [CustomGetter] for global named constructors
ch.dumez@sisa.samsung.com [Fri, 17 May 2013 19:17:06 +0000 (19:17 +0000)]
Get rid of [CustomGetter] for global named constructors
https://bugs.webkit.org/show_bug.cgi?id=116116

Reviewed by Geoffrey Garen.

Improve the JSC bindings generator so that global named constructors no longer
require a [CustomGetter] IDL extended attribute. As a consequence, attributes
on the global window object can now be automatically generated for interfaces
that have a [NamedConstructor], namely HTMLOptionElement.

The HTMLAudioElement global constructors are still manually defined because it
requires custom code at the moment to check if the media player is available.

No new tests, no behavior change.

* bindings/js/JSDOMWindowCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/preprocess-idls.pl:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
* html/HTMLOptionElement.idl:
* page/DOMWindow.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150283 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoReplace WebFrameLoaderClient static_casts with a function that might return null.
beidson@apple.com [Fri, 17 May 2013 19:15:45 +0000 (19:15 +0000)]
Replace WebFrameLoaderClient static_casts with a function that might return null.
https://bugs.webkit.org/show_bug.cgi?id=116253

The general approach here is:
1 - Introduce a toWebFrameLoaderClient() function to convert FrameLoaderClients, and that may return null.
2 - Adopt toWebFrameLoaderClient() everywhere we used to do a direct static_cast<WebFrameLoaderClient*>
3 - In functions that already support a "return 0" scenario, a failed cast results in a return 0.
4 - In other functions that assume no failure to get the WebFrameLoaderClient, add an ASSERT.

Reviewed by Alexey Proskuryakov.

Add the utility function to cast:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebKit::toWebFrameLoaderClient):

Adopt it everywhere:
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
(WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::documentFrame):
(WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
(WebKit::InjectedBundleDOMWindowExtension::frame):

* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::frame):
(WebKit::InjectedBundleHitTestResult::targetFrame):

* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):

* WebProcess/Plugins/PluginView.cpp:
(WebKit::webPage):
(WebKit::PluginView::performFrameLoadURLRequest):

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::focusedNodeChanged):
(WebKit::WebChromeClient::focusedFrameChanged):
(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
(WebKit::WebChromeClient::print):
(WebKit::WebChromeClient::exceededDatabaseQuota):
(WebKit::WebChromeClient::runOpenPanel):

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::textDidChangeInTextArea):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):

* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::contentsAsString):
(WebKit::WebFrame::parentFrame):
(WebKit::WebFrame::childFrames):
(WebKit::WebFrame::frameForContext):
(WebKit::WebFrameFilter::shouldIncludeSubframe):

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mainFrameHasCustomRepresentation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Don't use pdevenv when building with VS2010.
bfulgham@apple.com [Fri, 17 May 2013 19:06:43 +0000 (19:06 +0000)]
[Windows] Don't use pdevenv when building with VS2010.
https://bugs.webkit.org/show_bug.cgi?id=116338.

Reviewed by Adam Roben.

* Scripts/webkitdirs.pm:
(setupCygwinEnv): Check if we are using VS2005, and only use
the 'pdevenv' hack if we are. Otherwise, just build with
our standard project since it uses VS2010+'s native
parallel building features.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150281 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: SyntaxError evaluating "1+1; //@ sourceURL=test" in console
commit-queue@webkit.org [Fri, 17 May 2013 18:49:04 +0000 (18:49 +0000)]
Web Inspector: SyntaxError evaluating "1+1; //@ sourceURL=test" in console
https://bugs.webkit.org/show_bug.cgi?id=116292

Source/WebCore:

Add a newline after the expression so a single line comment doesn't
erroneously comment out the closing brace of the with block.

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-05-17
Reviewed by Timothy Hatcher.

Test: inspector/console/console-eval-comment.html

* inspector/InjectedScriptSource.js:

LayoutTests:

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-05-17
Reviewed by Timothy Hatcher.

* inspector/console/console-eval-comment-expected.txt: Added.
* inspector/console/console-eval-comment.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150280 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agogit-svn-id: https://svn.webkit.org/repository/webkit/trunk@150279 268f45cc-cd09-0410...
hyatt@apple.com [Fri, 17 May 2013 18:42:48 +0000 (18:42 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150279 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agofast/flexbox/auto-height-with-flex.html failing only on release builds.
hyatt@apple.com [Fri, 17 May 2013 18:41:14 +0000 (18:41 +0000)]
fast/flexbox/auto-height-with-flex.html failing only on release builds.
https://bugs.webkit.org/show_bug.cgi?id=116240

Reviewed by Darin Adler.

Fix the mainAxisContentExtent method so no overflow occurs, since it
doesn't work right on release builds.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::mainAxisContentExtent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150278 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoExpose new load-with-userData API to Objective-C
weinig@apple.com [Fri, 17 May 2013 18:28:02 +0000 (18:28 +0000)]
Expose new load-with-userData API to Objective-C
https://bugs.webkit.org/show_bug.cgi?id=116335

Reviewed by Anders Carlsson.

- Adds loadRequest:userData:, loadFileURL:restrictToFilesWithin:userData:, loadHTMLString:baseURL:userData:
  loadData:MIMEType:textEncodingName:baseURL:, and loadData:MIMEType:textEncodingName:baseURL:userData.
- Adds a WKObjCTypeWrapperRef (which is a ObjCObjectGraph under the covers) to allow the userData to be unwrapped
  in the injected bundles willLoadURLRequest and willLoadDataRequest C-SPI callbacks.

* Shared/API/c/WKBase.h:
* Shared/API/c/WKSharedAPICast.h:
* Shared/API/c/mac/WKBaseMac.h: Added.
* Shared/API/c/mac/WKObjCTypeWrapperRef.h: Added.
* Shared/API/c/mac/WKObjCTypeWrapperRef.mm: Added.
(WKObjCTypeWrapperGetTypeID):
(WKObjCTypeWrapperCreate):
(WKObjCTypeWrapperGetObject):
* UIProcess/API/mac/WKBrowsingContextController.h:
* UIProcess/API/mac/WKBrowsingContextController.mm:
(+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
(+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
(-[WKBrowsingContextController loadRequest:]):
(-[WKBrowsingContextController loadRequest:userData:]):
(-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
(-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]):
(-[WKBrowsingContextController loadHTMLString:baseURL:]):
(-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:]):
(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd [EnabledAtRuntime] extended attribute support for global constructors
ch.dumez@sisa.samsung.com [Fri, 17 May 2013 18:16:41 +0000 (18:16 +0000)]
Add [EnabledAtRuntime] extended attribute support for global constructors
https://bugs.webkit.org/show_bug.cgi?id=116147

Reviewed by Geoffrey Garen.

Add [EnabledAtRuntime] extended attribute support for global constructors.
This patch adds [EnabledAtRuntime] extended attribute to SharedWorker and
WebSocket IDL interfaces so that their global constructors on the global
Window object can now be automatically generated.

The behavior on JavaScript side is unchanged. We simply leverage
RuntimeEnabledFeatures class and the new [EnabledAtRuntime] IDL extended
attribute to generate the code for global constructors getters instead
of using custom code.

No new tests, no behavior change for layout tests.

* GNUmakefile.list.am:
* Modules/websockets/WebSocket.cpp: Enable WebSockets at runtime by default.
* Modules/websockets/WebSocket.idl:
* Target.pri:
* UseJSC.cmake:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore):
* bindings/js/JSDOMWindowWebSocketCustom.cpp: Removed.
* bindings/scripts/CodeGeneratorJS.pm:
(ToMethodName):
(GetRuntimeEnableFunctionName):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* page/DOMWindow.idl:
* workers/SharedWorker.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150276 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Skip webgl and transforms/3d tests again, until we find out why they do
kov@webkit.org [Fri, 17 May 2013 18:02:32 +0000 (18:02 +0000)]
Unreviewed. Skip webgl and transforms/3d tests again, until we find out why they do
not run in the release bot.

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-05-17

* platform/gtk/TestExpectations:

Tools

* Tools/DumpRenderTree/gtk/DumpRenderTree.cpp: Disable accelerated compositing until we figure
out why it does not work properly in the 64 bits release bot.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150275 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] REGRESSION(r150060): Crash in LayerWebKitThread::updateTextureContents
commit-queue@webkit.org [Fri, 17 May 2013 17:43:14 +0000 (17:43 +0000)]
[BlackBerry] REGRESSION(r150060): Crash in LayerWebKitThread::updateTextureContents
https://bugs.webkit.org/show_bug.cgi?id=116305

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

PR 340537.
Internally reviewed by Arvid Nilsson.

Use updateLayoutAndStyleIfNeededRecursive() instead of
layoutIfNeeded() since we are about to draw in
rootLayerCommitTimerFired().

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAccessing null function pointers is bad.
andersca@apple.com [Fri, 17 May 2013 17:40:17 +0000 (17:40 +0000)]
Accessing null function pointers is bad.

* WebCoreSupport/WebFrameLoaderClient.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150273 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake filter-build-webkit testable using LoadAsModule
ddkilzer@apple.com [Fri, 17 May 2013 17:34:24 +0000 (17:34 +0000)]
Make filter-build-webkit testable using LoadAsModule
Part 1 of 3: <http://webkit.org/b/116247>

Reviewed by Benjamin Poulain.

* Scripts/filter-build-webkit: Change global variables that are
used in subroutines from 'my' to 'our' to make it possible to
evaluate the script in a package context in LoadAsModule.pm.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150272 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd WKPageLoadData and WKPageLoadDataWithUserData SPI to support loading arbitrary...
weinig@apple.com [Fri, 17 May 2013 17:30:59 +0000 (17:30 +0000)]
Add WKPageLoadData and WKPageLoadDataWithUserData SPI to support loading arbitrary data blobs
https://bugs.webkit.org/show_bug.cgi?id=116325

Reviewed by Simon Fraser.

* UIProcess/API/C/WKPage.cpp:
(WKPageLoadData):
(WKPageLoadDataWithUserData):
Add new SPI.

* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadData):
* UIProcess/WebPageProxy.h:
Pipe through to the WebProcess.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):
Rename existing loadData function to loadDataImpl (I hate it) to avoid overload conflict
from IPC magic.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150271 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix Release builds.
timothy@apple.com [Fri, 17 May 2013 17:25:41 +0000 (17:25 +0000)]
Fix Release builds.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150270 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake kit(Frame*) more robust
andersca@apple.com [Fri, 17 May 2013 16:57:59 +0000 (16:57 +0000)]
Make kit(Frame*) more robust
https://bugs.webkit.org/show_bug.cgi?id=116324

Reviewed by Darin Adler.

Check that the frame loader's client isn't the EmptyFrameLoaderClient (or a subclass thereof)
before casting to WebFrameLoaderClient.

* WebView/WebFrame.mm:
(kit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150269 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Move EFL port off legacy clipboard
darin@apple.com [Fri, 17 May 2013 16:57:42 +0000 (16:57 +0000)]
[EFL] Move EFL port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116181

Reviewed by Anders Carlsson.

* dom/Clipboard.h: Switched EFL away from "legacy" mode for Clipboard.

* page/efl/EventHandlerEfl.cpp:
(WebCore::EventHandler::createDraggingClipboard): Changed to call Clipboard member function.

* platform/efl/ClipboardEfl.cpp: Deleted most of the functions.
(WebCore::Editor::newGeneralClipboard): Changed to call Clipboard member function.
(WebCore::Clipboard::createDragImage): Moved from ClipboardEfl to Clipboard.
(WebCore::Clipboard::declareAndWriteDragImage): Moved from ClipboardEfl to Clipboard.
(WebCore::Clipboard::items): Ditto.

* platform/efl/PasteboardEfl.cpp: A lot of copyright notices for a file that
has no code in it other than notImplemented lines! I didn't add a new one.
(WebCore::Pasteboard::createForCopyAndPaste): Added.
(WebCore::Pasteboard::createPrivate): Added.
(WebCore::Pasteboard::createForDragAndDrop): Added.
(WebCore::Pasteboard::hasData): Added.
(WebCore::Pasteboard::readString): Added.
(WebCore::Pasteboard::writeString): Added.
(WebCore::Pasteboard::types): Added.
(WebCore::Pasteboard::readFilenames): Added.
(WebCore::Pasteboard::setDragImage): Added.
(WebCore::Pasteboard::writePasteboard): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150268 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL][WK2] Fix sub menu initialization in ewk_context_menu_item
ch.dumez@sisa.samsung.com [Fri, 17 May 2013 16:53:55 +0000 (16:53 +0000)]
[EFL][WK2] Fix sub menu initialization in ewk_context_menu_item
https://bugs.webkit.org/show_bug.cgi?id=116321

Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2013-05-17
Reviewed by Christophe Dumez.

During sub menu creation, after initializing m_parentMenu, parentMenu
pointer became null which may cause segfaults. This patch fixes it by
using m_parentMenu.

* UIProcess/API/efl/ewk_context_menu_item.cpp:
(EwkContextMenuItem::EwkContextMenuItem):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150267 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove the policy function to WebFramePolicyListener
andersca@apple.com [Fri, 17 May 2013 16:47:33 +0000 (16:47 +0000)]
Move the policy function to WebFramePolicyListener
https://bugs.webkit.org/show_bug.cgi?id=116323

Reviewed by Darin Adler.

There's no need for the WebFrameLoaaderClient to hold on to the policy function,
so move it to WebFramePolicyListener. This gets rid of another WebFrameLoaderClient cast.

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::setUpPolicyListener):
Pass the policy function when creating the WebFramePolicyListener object.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150266 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebFramePolicyListener should keep its Frame in a RefPtr
andersca@apple.com [Fri, 17 May 2013 16:34:35 +0000 (16:34 +0000)]
WebFramePolicyListener should keep its Frame in a RefPtr
https://bugs.webkit.org/show_bug.cgi?id=116322

Reviewed by Darin Adler.

* WebCoreSupport/WebFrameLoaderClient.mm:
(-[WebFramePolicyListener initWithWebCoreFrame:]):
No need to ref the frame, the RefPtr does that for us.

(-[WebFramePolicyListener invalidate]):
Just set the frame to null.

(-[WebFramePolicyListener dealloc]):
Remove call to deref, that's done automatically now.

(-[WebFramePolicyListener finalize]):
Remove this method. (We could have kept it just for the assertion but I didn't think that was necessary).

(-[WebFramePolicyListener receivedPolicyDecision:):
Use release() to transfer ownership.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150265 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBad spacing inside MathML formulas when text-indent is specified
commit-queue@webkit.org [Fri, 17 May 2013 16:26:11 +0000 (16:26 +0000)]
Bad spacing inside MathML formulas when text-indent is specified
https://bugs.webkit.org/show_bug.cgi?id=106600

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-05-17
Reviewed by Martin Robinson.

Source/WebCore:

When MathML is used in a HTML page that modifies the CSS text-indent,
large gaps appear inside the mathematical expressions. Resetting it to
0 on the math root (as Gecko does) fixes the issue.

Tests: mathml/presentation/text-indent.html
       mathml/presentation/text-indent-expected.html

* css/mathml.css:
(math): reset text-indent to its default value.

LayoutTests:

New test to verify that the text-indent property is reset to 0 on
the MathML root.

* mathml/presentation/text-indent-expected.html: Added.
* mathml/presentation/text-indent.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix code that expects Page::chrome() to return a pointer
commit-queue@webkit.org [Fri, 17 May 2013 16:07:05 +0000 (16:07 +0000)]
Fix code that expects Page::chrome() to return a pointer
https://bugs.webkit.org/show_bug.cgi?id=116313

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-17
Reviewed by Darin Adler.

Page::chrome() returns a reference after r150214.

* platform/network/blackberry/NetworkManager.cpp:
(WebCore::NetworkManager::startJob):
* platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setEnableMockPagePopup):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150263 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] ImageBlackBerry: add missing BlendMode parameter
commit-queue@webkit.org [Fri, 17 May 2013 16:00:02 +0000 (16:00 +0000)]
[BlackBerry] ImageBlackBerry: add missing BlendMode parameter
https://bugs.webkit.org/show_bug.cgi?id=116316

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-17
Reviewed by Carlos Garcia Campos.

When the new BitmapImage::draw() method was added in r147110 it
didn't include the BlendMode parameter, which has been there since
r137011.

* platform/graphics/blackberry/ImageBlackBerry.cpp:
(WebCore::BitmapImage::draw):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150262 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoReduce number of WebFrameLoaderClient static casts in WebKit
andersca@apple.com [Fri, 17 May 2013 15:55:20 +0000 (15:55 +0000)]
Reduce number of WebFrameLoaderClient static casts in WebKit
https://bugs.webkit.org/show_bug.cgi?id=116320

Reviewed by Antti Koivisto.

We already have a function to return a WebFrame from a WebCore::Frame, use it.

* DOM/WebDOMOperations.mm:
(WebFrameFilter::shouldIncludeSubframe):
* WebView/WebDataSource.mm:
(-[WebDataSource webFrame]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150261 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSome media/track tests fail or assert on Mac
jer.noble@apple.com [Fri, 17 May 2013 15:29:43 +0000 (15:29 +0000)]
Some media/track tests fail or assert on Mac
https://bugs.webkit.org/show_bug.cgi?id=97132

Reviewed by Simon Fraser.

Source/WebCore:

Rationalize the font and padding behavior of cues and cue boxes; ::cue pseudo elements cannot have padding
values applied via CSS (due to padding not being included in the whitelist of applicable CSS properties).
Also, the font values were being applied to the box at one level and the cue at another, leading to incorrect
layout in the snapToLines case. Padding has been removed from the cue, and the font settings are now applied
to the box exclusively.

Additionally, a few drive-by changes were made in TextTrackCue to the return values of displayTreeInternal() &
element(), which previously returned a PassRefPtr<> instead of a plain pointer.

* css/mediaControls.css:
(video::-webkit-media-text-track-container): Move the font size to the display selector.
(video::cue): Remove the display:inline and padding:2px declarations.
(video::-webkit-media-text-track-display): Remove the -webkit-line-content now that the ::cue has no padding.
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::TextTrackCue): The background box is now a span, rather than a forced-inline div.
(WebCore::TextTrackCue::displayTreeInternal): Return a plain pointer.
(WebCore::TextTrackCue::getDisplayTree): Ditto.
(WebCore::TextTrackCue::setFontSize): Set the font on the box, not the cue.
* html/track/TextTrackCue.h:
(WebCore::TextTrackCue::element): Return a plain pointer.
* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): The cue element is now a span, not a div.
* page/CaptionUserPreferencesMac.mm:
(WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Whitespace.
(WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Do not set padding on the cue.

LayoutTests:

* media/track/captions-webvtt/captions-snap-to-lines-not-set.vtt:
* media/track/track-cue-rendering-horizontal.html:
* media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt:
* media/track/track-cue-rendering-snap-to-lines-not-set.html:
* media/track/track-cue-rendering-vertical.html:
* platform/mac/TestExpectations:
* platform/mac/media/track/track-cue-rendering-horizontal-expected.png:
* platform/mac/media/track/track-cue-rendering-horizontal-expected.txt:
* platform/mac/media/track/track-cue-rendering-vertical-expected.png:
* platform/mac/media/track/track-cue-rendering-vertical-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150260 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoChanges in text-only properties shouldn't cause repaints unless there is actually...
akling@apple.com [Fri, 17 May 2013 15:26:30 +0000 (15:26 +0000)]
Changes in text-only properties shouldn't cause repaints unless there is actually text.
<http://webkit.org/b/116250>

Reviewed by Antti Koivisto.

Add a new StyleDifferenceRepaintIfText value to the repertoire of RenderStyle::diff().
This result means that the renderer only needs to repaint if one of its immediate children contains text.

This lets us avoid repainting the same pixels when hovering over constructs like:

    <style>
        a { text-decoration: none; }
        a:hover { text-decoration: underline; }
    </style>
    <a href="http://is.gd/andersca">
        <img src="cool-hat.jpg">
    </a>

Since the change in text-decoration has no effect on the rendering of the <img> element,
we'll now be smart enough to avoid repainting it.

* rendering/style/RenderStyleConstants.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):

    Move checking of text-only properties until the very end, and return StyleDifferenceRepaintIfText
    in case a difference is found, giving precedence to StyleDifferenceRepaint.

* rendering/RenderObject.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::hasImmediateNonWhitespaceTextChild):

    Helper to check if a RenderObject has at least one RenderText child containing more than just
    collapsible whitespace.

(WebCore::RenderObject::shouldRepaintForStyleDifference):

    Helper to check if a StyleDifference is either ...Repaint or ...RepaintIfText and the renderer
    has an immediate text child.

(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::setStyle):

    Don't repaint for StyleDifferenceRepaintIfText unless hasImmediateNonWhitespaceTextChild().

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientStyleChanged):

    Tweak for new StyleDifference enum value.

* rendering/RenderText.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::isAllCollapsibleWhitespace):

    Made this const.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150259 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoImprove -webkit-text-underline-position memory usage.
commit-queue@webkit.org [Fri, 17 May 2013 15:11:10 +0000 (15:11 +0000)]
Improve -webkit-text-underline-position memory usage.
https://bugs.webkit.org/show_bug.cgi?id=116108

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-05-17
Reviewed by Benjamin Poulain.

Remove m_maxLogicalTop private variable from RootInlineBox to reduce
the overall memory used to render RootInlineBoxes (eight bytes per RootInlineBox
instance in a 64-bit machine). RootInline::maxLogicalTop() now computes
the maxLogicalTop value everytime it is called. In a typical page
computeMaxLogicalTop is called less than 10 times for each
InlineTextBox that uses -webkit-text-underline-position. That is a small
price users of -webkit-text-underline-position will pay so that
everybody can benefit from the memory reduction in RootInlineBox.

No new tests, no change in behavior.

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::computeMaxLogicalTop): Make it const.
* rendering/InlineFlowBox.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox): Remove m_maxLogicalTop.
(WebCore::RootInlineBox::alignBoxesInBlockDirection): Remove
computeMaxLogicalTop call and obsolete comment.
(WebCore):
(WebCore::RootInlineBox::maxLogicalTop): Compute maxLogicalTop before
returning its value.
* rendering/RootInlineBox.h:
(RootInlineBox):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150258 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Remove stale comment for select mouse handling.
mifenton@rim.com [Fri, 17 May 2013 15:08:46 +0000 (15:08 +0000)]
[BlackBerry] Remove stale comment for select mouse handling.
https://bugs.webkit.org/show_bug.cgi?id=116309

Reviewed by Rob Buis.

PR 135935.

Remove a FIXME that has been invalidated by a change
to our touch -> mouse model.

Internally Rubberstamped by Genevieve Mak.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150257 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed build fix. Remove assertion that doesn't make sense anymore since the
kov@webkit.org [Fri, 17 May 2013 14:33:39 +0000 (14:33 +0000)]
Unreviewed build fix. Remove assertion that doesn't make sense anymore since the
page does not give us access to the Chrome pointer directly anymore.

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-05-17

* webkit/webkitwebview.cpp:
(WebKit::kit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150256 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake sure to call release() on our smart pointers when we should.
alexis@webkit.org [Fri, 17 May 2013 14:05:05 +0000 (14:05 +0000)]
Make sure to call release() on our smart pointers when we should.
https://bugs.webkit.org/show_bug.cgi?id=116307

Reviewed by Andreas Kling.

Call release() when we should call it. There is probably more occurence
of this problem on the codebase but this is a first bunch of fixes.

No new tests : existing ones should cover.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForNinePieceImage):
(WebCore::getBorderRadiusShorthandValue):
(WebCore::CSSComputedStyleDeclaration::valueForFilter):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
(WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForGridShorthand):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseBorderImage):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::collectStyleForPresentationAttribute):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150255 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL][WK2] Support sub menu in ewk context menus
commit-queue@webkit.org [Fri, 17 May 2013 13:46:33 +0000 (13:46 +0000)]
[EFL][WK2] Support sub menu in ewk context menus
https://bugs.webkit.org/show_bug.cgi?id=114729

Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2013-05-17
Reviewed by Christophe Dumez.

Added submenu support in EwkContextMenu and an API function to receive
Ewk_Context_Menu from submenu context menu item. A test case was added
for new API function.
EwkContextMenu is now an EwkObject allowing multiple instances of submenu
to be used in different submenu type context menu items.

* UIProcess/API/efl/ewk_context_menu_item.cpp:
(EwkContextMenuItem::EwkContextMenuItem):
(ewk_context_menu_item_new):
(ewk_context_menu_item_parent_menu_get):
(ewk_context_menu_item_submenu_get):
* UIProcess/API/efl/ewk_context_menu_item.h:
* UIProcess/API/efl/ewk_context_menu_item_private.h:
(EwkContextMenuItem::create):
(EwkContextMenuItem::parentMenu):
(EwkContextMenuItem::subMenu):
(EwkContextMenuItem):
* UIProcess/API/efl/ewk_context_menu_private.h:
(EwkContextMenu::ewkView):
(EwkContextMenu):
* UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
(showContextMenu):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150254 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CMake] Remove invalid include paths
paroga@webkit.org [Fri, 17 May 2013 13:00:39 +0000 (13:00 +0000)]
[CMake] Remove invalid include paths
https://bugs.webkit.org/show_bug.cgi?id=116213

Reviewed by Gyuyoung Kim.

Since "${JAVASCRIPTCORE_DIR}/wtf" does not exist, it is safe
to remove them from the list of include directories.

Source/JavaScriptCore:

* PlatformEfl.cmake: Removed.
* PlatformGTK.cmake: Removed.

Source/WTF:

* wtf/PlatformEfl.cmake:
* wtf/PlatformGTK.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150253 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake PNGImageDecoder::rowAvailable auto-vectorizable
allan.jensen@digia.com [Fri, 17 May 2013 12:41:28 +0000 (12:41 +0000)]
Make PNGImageDecoder::rowAvailable auto-vectorizable
https://bugs.webkit.org/show_bug.cgi?id=116151

Reviewed by Benjamin Poulain.

Changed the main loops under PNGImageDecoder::rowAvailable so that they
avoid branches and non-sequential table look ups.

Together with automatic vectorization by the compiler this provides around
4x speed-up with AVX or 2x speed-up on generic x64. Shaving off 12-40% on
PNG decoding in general.

* platform/graphics/Color.cpp:
(WebCore::premultipliedARGBFromColor):
* platform/graphics/Color.h:
(WebCore::fastDivideBy255):
* platform/graphics/filters/FEBlend.cpp:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::setPixelRGB):
(WebCore::setPixelRGBA):
(WebCore::setPixelRGBA_Premultiplied):
(WebCore::PNGImageDecoder::rowAvailable):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150252 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Allow "//# sourceMappingURL" syntax alongside "//@"
commit-queue@webkit.org [Fri, 17 May 2013 12:30:53 +0000 (12:30 +0000)]
Web Inspector: Allow "//# sourceMappingURL" syntax alongside "//@"
https://bugs.webkit.org/show_bug.cgi?id=116290

Source/WebCore:

Follow an update to the spec and support the new and old syntax.

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-05-17
Reviewed by Timothy Hatcher.

* inspector/ContentSearchUtils.cpp:
(WebCore::ContentSearchUtils::scriptCommentPattern):
(WebCore::ContentSearchUtils::stylesheetCommentPattern):
* inspector/front-end/SASSSourceMapping.js:
(WebInspector.SASSSourceMapping.prototype._loadAndProcessSourceMap):

LayoutTests:

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-05-17
Reviewed by Timothy Hatcher.

* http/tests/inspector/network/resources/source-map-test-style.css:
* http/tests/inspector/stylesheet-source-mapping.html:
* inspector/debugger/source-url-comment-expected.txt:
* inspector/debugger/source-url-comment.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150251 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago2 math sputnik test fail on 32 bit
allan.jensen@digia.com [Fri, 17 May 2013 12:30:06 +0000 (12:30 +0000)]
2 math sputnik test fail on 32 bit
https://bugs.webkit.org/show_bug.cgi?id=88519

Reviewed by Jocelyn Turcotte.

Update the expected values to match recent changes in test262.
The old tested values are considered outside the validation range.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:
* sputnik/Conformance/15_Native_Objects/15.8_Math/15.8.2/15.8.2.16_sin/S15.8.2.16_A7.html:
* sputnik/Conformance/15_Native_Objects/15.8_Math/15.8.2/15.8.2.18_tan/S15.8.2.18_A7.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150250 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove custom code for MessageEvent.ports getter
ch.dumez@sisa.samsung.com [Fri, 17 May 2013 12:24:50 +0000 (12:24 +0000)]
Remove custom code for MessageEvent.ports getter
https://bugs.webkit.org/show_bug.cgi?id=116304

Reviewed by Kentaro Hara.

Remove Custom code for the "ports" attribute getter in MessageEvent
IDL interface. The JSC bindings generator already supports attributes
of type MessagePortArray.

No new tests, already covered by existing layout tests and bindings
tests.

* bindings/js/JSMessageEventCustom.cpp: Remove Custom code for ports getter.
* bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Small tweak to correctly handle the case where impl->ports()
returns NULL and avoid crashing in this case.
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Rebaseline due
to bindings generator tweak.
* dom/MessageEvent.idl: Remove [CustomGetter] extended attribute for 'ports' attribute
and switch to MessagePortArray type.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150249 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt] Unreviewed gardening. Added platform specific expected after r143389.
zarvai@inf.u-szeged.hu [Fri, 17 May 2013 12:22:59 +0000 (12:22 +0000)]
[Qt] Unreviewed gardening. Added platform specific expected after r143389.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-05-17

* platform/qt/svg/as-image/image-preserveAspectRatio-all-expected.png: Added.
* platform/qt/svg/as-image/image-preserveAspectRatio-all-expected.txt: Added.
* platform/qt/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png: Added.
* platform/qt/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.txt: Added.
* platform/qt/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png: Added.
* platform/qt/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.txt: Added.
* platform/qt/svg/filters/feImage-preserveAspectRatio-all-expected.png: Added.
* platform/qt/svg/filters/feImage-preserveAspectRatio-all-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150248 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] DumpRenderTreeSupport: fix build in setMockDeviceOrientation()
commit-queue@webkit.org [Fri, 17 May 2013 10:42:16 +0000 (10:42 +0000)]
[BlackBerry] DumpRenderTreeSupport: fix build in setMockDeviceOrientation()
https://bugs.webkit.org/show_bug.cgi?id=116298

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-17
Reviewed by Carlos Garcia Campos.

Pass the correct parameter to toDeviceOrientationClientMock()

* WebKitSupport/DumpRenderTreeSupport.cpp:
(DumpRenderTreeSupport::setMockDeviceOrientation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150247 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Rebaseline after r150169
commit-queue@webkit.org [Fri, 17 May 2013 10:18:03 +0000 (10:18 +0000)]
[GTK] Rebaseline after r150169
https://bugs.webkit.org/show_bug.cgi?id=116256

Unreviewed GTK gardening.

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-17

* platform/gtk/TestExpectations: Renamed from fast/loader/willsendrequest-returns-null-for-memory-cache-load.html.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150246 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt] Unreviewed build fix.
zarvai@inf.u-szeged.hu [Fri, 17 May 2013 10:00:47 +0000 (10:00 +0000)]
[Qt] Unreviewed build fix.

Add missing Qt specific initializer for willLoadURLRequest and willLoadDataRequest.

Patch by Zoltan Arvai  <zarvai@inf.u-szeged.hu>, Ádám Kallai <kadam@inf.u-szeged.hu> on 2013-05-17

* WebProcess/qt/QtBuiltinBundlePage.cpp:
(WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150245 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agomedia/video-seek-after-end.html is flaky
rniwa@webkit.org [Fri, 17 May 2013 07:07:47 +0000 (07:07 +0000)]
media/video-seek-after-end.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=116293

Add a flaky test expectation on all platforms.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150244 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove WKBundlePageGetHeaderLayer/Footer SPI
bdakin@apple.com [Fri, 17 May 2013 05:22:49 +0000 (05:22 +0000)]
Remove WKBundlePageGetHeaderLayer/Footer SPI
https://bugs.webkit.org/show_bug.cgi?id=116254

Reviewed by Benjamin Poulain.

We should remove the Remove WKBundlePageGetHeaderLayer/Footer SPI. It was only
recently added and have been replaced by WKBundlePageSetHeaderBanner/Footer.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Removed.
* WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Removed.
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit):
(WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150243 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd variants of the loading APIs that take user data and a way for the injected bundl...
weinig@apple.com [Fri, 17 May 2013 04:34:27 +0000 (04:34 +0000)]
Add variants of the loading APIs that take user data and a way for the injected bundle to find out about them
https://bugs.webkit.org/show_bug.cgi?id=116132

Reviewed by Anders Carlsson.

Adds "WithUserData" versions of all the load APIs and two new WKBundlePageLoaderClient functions,
willLoadURLRequest and willLoadDataRequest to let the bundle access them.

Source/WebKit2:

Adds WebKit2WillLoadTest.* API tests.

* UIProcess/API/C/WKPage.cpp:
(WKPageLoadURLWithUserData):
(WKPageLoadURLRequestWithUserData):
(WKPageLoadFile):
(WKPageLoadFileWithUserData):
(WKPageLoadHTMLStringWithUserData):
(WKPageLoadAlternateHTMLStringWithUserData):
(WKPageLoadPlainTextStringWithUserData):
(WKPageLoadWebArchiveDataWithUserData):
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
(WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
(WebCore):
(InjectedBundlePageLoaderClient):
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/WillLoad.cpp: Added.
* TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp: Added.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150242 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] inspector-protocol/page/javascriptDialogEvents.html is failing
commit-queue@webkit.org [Fri, 17 May 2013 03:39:43 +0000 (03:39 +0000)]
[EFL] inspector-protocol/page/javascriptDialogEvents.html is failing
https://bugs.webkit.org/show_bug.cgi?id=114781

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-16
Reviewed by Christophe Dumez.

Source/WebKit/efl:

We need to make a distinction between runBeforeUnloadConfirmPanel and confirm.

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::runBeforeUnloadConfirmPanel):
* ewk/ewk_view.cpp: Add ewk_view_run_before_unload_confirm API.
(_ewk_view_smart_run_before_unload_confirm):
(ewk_view_base_smart_set):
(ewk_view_run_before_unload_confirm):
* ewk/ewk_view.h: Add smart class member function for runBeforeUnloadConfirmPanel.
* ewk/ewk_view_private.h:

Tools:

Add run_before_unload_confirm and
Print the log message with "CONFIRM NAVIGATION: " in console.

* DumpRenderTree/efl/DumpRenderTreeView.cpp:
(onBeforeUnloadConfirm):
(drtViewAdd):

LayoutTests:

Unskip fast/loader/form-submission-after-beforeunload-cancel.html as well.

* platform/efl-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150241 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd stubs for ContextMenu and ContextMenuItem
commit-queue@webkit.org [Fri, 17 May 2013 03:28:52 +0000 (03:28 +0000)]
Add stubs for ContextMenu and ContextMenuItem
https://bugs.webkit.org/show_bug.cgi?id=116235

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2013-05-16
Reviewed by Antonio Gomes.

No new tests needed, only a refactor.

Add ContextMenuNone.cpp and ContextMenuItemNone.cpp
so ports using ENABLE(CROSS_PLATFORM_CONTEXT_MENU) don't
need to replicate these stubs.

* PlatformEfl.cmake:
* Target.pri:
* platform/ContextMenuNone.cpp: Added.
(WebCore):
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::getContextMenuItems):
(WebCore::ContextMenu::createPlatformContextMenuFromItems):
(WebCore::ContextMenu::platformContextMenu):
* platform/ContextMenuItemNone.cpp: Added.
(WebCore):
(WebCore::ContextMenuItem::platformContextMenuItem):
* platform/efl/ContextMenuEfl.cpp: Removed.
* platform/efl/ContextMenuItemEfl.cpp: Removed.
* platform/qt/ContextMenuQt.cpp: Removed.
* platform/qt/ContextMenuItemQt.cpp: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150240 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRegression: Event#stopPropagation() does not halt bubbling for webkitTransitionEnd
alexis@webkit.org [Fri, 17 May 2013 03:26:58 +0000 (03:26 +0000)]
Regression: Event#stopPropagation() does not halt bubbling for webkitTransitionEnd
https://bugs.webkit.org/show_bug.cgi?id=115656

Reviewed by Darin Adler.

Source/WebCore:

If we create a prefixed event to dispatch it (in the case we have only
prefixed event listeners in client's code) then we need to make sure to
keep it in sync with the original unprefixed event after it has been
dispatched. While being dispatched the event can be modified by
client's code and when propagated back to outer elements, attributes were
not updated. This patch changes the old design of creating a separate event
for the prefixed case and now change the type of the event (so the name) before
dispatching it, keeping the attributes if changed and then rename it
back to unprefixed when the dispatching is finished.

Tests: transitions/transition-end-event-prefixed-01.html
       transitions/transition-end-event-prefixed-02.html
       transitions/transition-end-event-prefixed-03.html

* dom/Event.h:
(WebCore::Event::setType):
* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):

LayoutTests:

Added new tests to cover the bug.

* transitions/transition-end-event-prefixed-03-expected.txt: Added.
* transitions/transition-end-event-prefixed-03.html: Added.
* transitions/transition-end-event-prefixed-02-expected.txt: Added.
* transitions/transition-end-event-prefixed-02.html: Added.
* transitions/transition-end-event-prefixed-01-expected.txt: Added.
* transitions/transition-end-event-prefixed-01.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150239 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Strip invoke URLs when writing to the clipboard.
mifenton@rim.com [Fri, 17 May 2013 03:20:24 +0000 (03:20 +0000)]
[BlackBerry] Strip invoke URLs when writing to the clipboard.
https://bugs.webkit.org/show_bug.cgi?id=116226

Reviewed by Rob Buis.

PR 333516.

Invoke URLs should not be included in the paste data.

Internally Reviewed by Gen Mak.

* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::writeSelection):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150238 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix Analyze ChangeLog's entry processing
commit-queue@webkit.org [Fri, 17 May 2013 03:18:00 +0000 (03:18 +0000)]
Fix Analyze ChangeLog's entry processing
https://bugs.webkit.org/show_bug.cgi?id=116219

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

* Scripts/webkitpy/tool/commands/analyzechangelog.py:
(ChangeLogAnalyzer._analyze_entries): Fix the counter initialization.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150237 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMissing UNUSED_PARAM macro for textPosition argument in WebKitAccessibleInterfaceText
commit-queue@webkit.org [Fri, 17 May 2013 03:17:23 +0000 (03:17 +0000)]
Missing UNUSED_PARAM macro for textPosition argument in WebKitAccessibleInterfaceText
https://bugs.webkit.org/show_bug.cgi?id=116230

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2013-05-16
Reviewed by Chris Fleizach.

No new functionality, no new tests.

* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(webkitAccessibleTextGetTextForOffset): List textPosition argument as
unused parameter for all platforms except GTK.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150236 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd failing test expectations to http/tests/cache/willsendrequest-returns-null-for...
rniwa@webkit.org [Fri, 17 May 2013 03:15:55 +0000 (03:15 +0000)]
Add failing test expectations to http/tests/cache/willsendrequest-returns-null-for-memory-cache-load.html per bug 116259.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/qt/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150235 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSource/WebCore: Frame flattening prevents <HTML> in <OBJECT> from having scrollbars
commit-queue@webkit.org [Fri, 17 May 2013 03:14:09 +0000 (03:14 +0000)]
Source/WebCore: Frame flattening prevents <HTML> in <OBJECT> from having scrollbars
https://bugs.webkit.org/show_bug.cgi?id=115884

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2013-05-16
Reviewed by Antonio Gomes.

Frame flattening should be applied when the frame owner is frame or iframe. But when
the frame owner is object element, frame flattening prevents it from having scrollbars.
In this situation, we can't scroll the html document in object element.

This patch adds two helper functions to verify flattening conditions.

Test: fast/frames/flattening/scrolling-in-object.html

* page/FrameView.cpp:
(WebCore::frameFlatteningEnabled): Added. Helper to check whether flattening is enabled or not.
(WebCore::supportsFrameFlattening): Added. Helper to check whether the frame owner is <frame> or <iframe>.
(WebCore::FrameView::avoidScrollbarCreation):
(WebCore::FrameView::calculateScrollbarModesForLayout): Use frameFlatteningEnabled().
(WebCore::FrameView::layout): Use frameFlatteningEnabled().
(WebCore::FrameView::isInChildFrameWithFrameFlattening): Use frameFlatteningEnabled().

LayoutTests: Frame flattening prevents <HTML> in <OBJECT> from having scrollbars
https://bugs.webkit.org/show_bug.cgi?id=115884

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2013-05-16
Reviewed by Antonio Gomes.

Frame flattening should be applied when the frame owner is frame or iframe. But when
the frame owner is object element, frame flattening prevents it from having scrollbars.
In this situation, we can't scroll the html document in object element.

This patch adds two helper functions to verify flattening conditions.

* fast/frames/flattening/scrolling-in-object-expected.html: Added.
* fast/frames/flattening/scrolling-in-object.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150234 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Optimize caret bounds calculation when leaving an input field.
mifenton@rim.com [Fri, 17 May 2013 02:53:15 +0000 (02:53 +0000)]
[BlackBerry] Optimize caret bounds calculation when leaving an input field.
https://bugs.webkit.org/show_bug.cgi?id=116224

Reviewed by Rob Buis.

PR 340132.

If the caret is no longer active in the field, do not allow it
to go into the single line input logic and calculate the node
bounding box.

Internally Reviewed By Gen Mak

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150233 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Fix memory leak in WebKitBackForwardList
commit-queue@webkit.org [Fri, 17 May 2013 02:50:22 +0000 (02:50 +0000)]
[GTK] Fix memory leak in WebKitBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=116222

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-05-16
Reviewed by Carlos Garcia Campos.

Due to the use of leakRef() the ImmutableArray is not being released
automatically. Adding a local variable in the methods to make sure that
the ImmutableArray is freed.

* UIProcess/API/gtk/WebKitBackForwardList.cpp:
(webkit_back_forward_list_get_back_list_with_limit): Add local variable
RefPtr and pass the ImmutableArray to
WebKitBackForwardList::webkitBackForwardListCreateList() using
RefPtr::get().
(webkit_back_forward_list_get_forward_list_with_limit): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150232 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPort functions for pathhandling to Windows CE in FileSystemWin
paroga@webkit.org [Fri, 17 May 2013 02:47:20 +0000 (02:47 +0000)]
Port functions for pathhandling to Windows CE in FileSystemWin
https://bugs.webkit.org/show_bug.cgi?id=116208

Reviewed by Darin Adler.

This will allow us to remove FileSystemWinCE in a next step.

* platform/win/FileSystemWin.cpp:
(WebCore::pathByAppendingComponent):
(WebCore::pathGetFileName):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150231 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r150034.
rniwa@webkit.org [Fri, 17 May 2013 02:46:25 +0000 (02:46 +0000)]
Unreviewed, rolling out r150034.
http://trac.webkit.org/changeset/150034
https://bugs.webkit.org/show_bug.cgi?id=116257

This work around doesn't work due to another bug NSUndoManager
has (Requested by rniwa on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-05-16

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::registerUndoOrRedoStep):

Source/WebKit2:

* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::registerEditCommand):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150230 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt] UrlLoader::loadNext is broken in MiniBrowser
commit-queue@webkit.org [Fri, 17 May 2013 02:44:43 +0000 (02:44 +0000)]
[Qt] UrlLoader::loadNext is broken in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=116099

Patch by Hyungchan Kim <hyungchan2.kim@lge.com> on 2013-05-16
Reviewed by Jocelyn Turcotte.

QQuickWebView's 3 signals(loadStarted, loadSucceeded, loadFailed)
are not available any more. So, UrlLoader::loadNext was broken
because it failed to connect to those signals.

* MiniBrowser/qt/UrlLoader.cpp:
(UrlLoader::UrlLoader):
(UrlLoader::loadingChanged):
* MiniBrowser/qt/UrlLoader.h:
(UrlLoader):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150229 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd the symbol WTFInvokeCrashHook back for binary compatibility.
benjamin@webkit.org [Fri, 17 May 2013 01:10:05 +0000 (01:10 +0000)]
Add the symbol WTFInvokeCrashHook back for binary compatibility.

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

* wtf/Assertions.cpp:
* wtf/Assertions.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150228 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPDFPlugins don't load when plugins are disabled, but they should
timothy_horton@apple.com [Fri, 17 May 2013 00:42:03 +0000 (00:42 +0000)]
PDFPlugins don't load when plugins are disabled, but they should
https://bugs.webkit.org/show_bug.cgi?id=75790
<rdar://problem/11650197>

Reviewed by Anders Carlsson.

Make it possible to load "application" plug-ins even if settings or the FrameLoaderClient
say that plug-ins should be disabled, providing a mechanism for WebKit* to offer built-in
functionality which happens to use the plug-in infrastructure, and which also doesn't
unexpectedly disappear for users with plug-ins off.

* WebCore.exp.in:
Export SubframeLoader::allowPlugins().
Update signature for PluginData::supportsMimeType to include the AllowedPluginTypes argument.

* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
Load PluginData even if plug-ins are disabled, but if that is the case, only
create a PluginDocument for application plug-ins.

* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::appendBytes):
Don't bail if plug-ins are disabled, because we could still be a PluginDocument
for an application plug-in.

* page/Page.cpp:
(WebCore::Page::pluginData):
Allow PluginData to be constructed even if plug-ins are disabled, as there might
be application plug-ins that we want to load anyway.

* platform/mac/MIMETypeRegistryMac.mm:
(WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
On Mac, if we have PDFPlugin, we can support PDF and PostScript with a native application plug-in.

* plugins/PluginData.cpp:
(WebCore::PluginData::supportsMimeType):
Add an AllowedPluginTypes argument to supportsMimeType, allowing callers to specify
whether they are looking for any plug-in, or are looking only for application plug-ins.

* plugins/PluginData.h:
(PluginInfo): Added an isApplicationPlugin field, to specify whether this is a "built-in" plug-in.
(PluginData): Add the aforementioned AllowedPluginTypes enum and the argument to supportsMimeType.

Support loading "application" plug-ins even if plug-ins are explicitly disabled.

Make PDFPlugin and SimplePDFPlugin "application" plug-ins, so they can
be loaded even if plug-ins are disabled.

* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::callMemberFunction):
Add a 5-argument, 3-reply version of callMemberFunction.

* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::getPluginInfo):
NPAPI plug-ins are not application plug-ins.

* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
Encode/decode the new isApplicationPlugin field on PluginInfo.

* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::findPluginForMIMEType):
(WebKit::PluginInfoStore::findPluginForExtension):
(WebKit::PluginInfoStore::findPlugin):
* UIProcess/Plugins/PluginInfoStore.h:
(PluginInfoStore):
Give PluginInfoStore's findPlugin method and its private helper
methods an argument allowing them to only match application plug-ins.

(WebKit::WebPageProxy::findPlugin):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
Add an argument allowing findPlugin to restrict its search to only application plug-ins.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::objectContentType):
Previously, this caller depended on pluginData() returning null if
plug-ins were disabled. Since that is no longer the case, we have to
check if we can use plug-ins, and otherwise ignore non-application-plug-ins.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
When going to search for a plug-in, ask subframeLoader whether or not
it's OK to use ordinary non-application plug-ins, and pass that information
on to the UIProcess when performing the search.

(WebKit::WebPage::canPluginHandleResponse): Ditto.
(WebKit::WebPage::canShowMIMEType):
Ensure that canShowMIMEType returns true if we have an application plug-in
that can display a particular MIME type, even if we're not allowed to load plug-ins.

* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage getPluginInfoFromPLists]):
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage getPluginInfoFromResources]):
Nothing loaded via WebBasePluginPackage or WebNetscapePluginPackage
is an application plugin.

* WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]):
Previously, this caller depended on pluginData() returning null if
plug-ins were disabled. Since that is no longer the case, we have to
check if we can use plug-ins, and otherwise ignore non-application-plug-ins.

* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::objectContentType):
Previously, this caller depended on pluginData() returning null if
plug-ins were disabled. Since that is no longer the case, we have to
check if we can use plug-ins, and otherwise ignore non-application-plug-ins.

* WebView.cpp:
(WebView::canShowMIMEType):
Previously, this caller depended on pluginData() returning null if
plug-ins were disabled. Since that is no longer the case, we have to
check if we can use plug-ins, and otherwise ignore non-application-plug-ins.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150227 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL][WK2] Make Ewk_Context_Menu Ewk_Object
commit-queue@webkit.org [Fri, 17 May 2013 00:36:49 +0000 (00:36 +0000)]
[EFL][WK2] Make Ewk_Context_Menu Ewk_Object
https://bugs.webkit.org/show_bug.cgi?id=116097

Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2013-05-16
Reviewed by Gyuyoung Kim.

Changed Ewk_Context_Menu to be an Ewk_Object so pointer to menu
object can be shared between different modules.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::showContextMenu):
* UIProcess/API/efl/EwkView.h:
(EwkView):
* UIProcess/API/efl/ewk_context_menu.cpp:
(EwkContextMenu::appendItem):
(EwkContextMenu::removeItem):
(ewk_context_menu_new):
(ewk_context_menu_new_with_items):
(ewk_context_menu_item_append):
(ewk_context_menu_item_remove):
(ewk_context_menu_hide):
(ewk_context_menu_items_get):
(ewk_context_menu_item_select):
* UIProcess/API/efl/ewk_context_menu_item.cpp:
(EwkContextMenuItem::EwkContextMenuItem):
(ewk_context_menu_item_new_with_submenu):
* UIProcess/API/efl/ewk_context_menu_item_private.h:
(EwkContextMenuItem):
* UIProcess/API/efl/ewk_context_menu_private.h:
(EwkContextMenu):
(EwkContextMenu::create):
* UIProcess/API/efl/ewk_defines.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150226 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WebSocket] Update pywebsocket to r760
commit-queue@webkit.org [Fri, 17 May 2013 00:33:55 +0000 (00:33 +0000)]
[WebSocket] Update pywebsocket to r760
https://bugs.webkit.org/show_bug.cgi?id=115863

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-05-16
Reviewed by Alexey Proskuryakov.

Tools:

Version r760 supports a newer draft of message compression.
We need this update to finish the permessage compression patch in
bug 98840. This patch also fixes failing unit tests after the update.

* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_base.py:
(StreamBase._read):
(StreamBase._read.of):
(StreamBase._write):
(StreamBase.receive_bytes):
(StreamBase._read_until):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py:
(parse_frame):
(StreamOptions.__init__):
(Stream.__init__):
(Stream._receive_frame_as_frame_object):
(Stream._get_message_from_frame):
(Stream._process_close_message):
(Stream.close_connection):
(Stream.get_last_received_opcode):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py:
* Scripts/webkitpy/thirdparty/mod_pywebsocket/dispatch.py:
(Dispatcher.do_extra_handshake):
(Dispatcher.transfer_data):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py:
(ExtensionProcessorInterface.__init__):
(ExtensionProcessorInterface.request):
(ExtensionProcessorInterface):
(ExtensionProcessorInterface.name):
(ExtensionProcessorInterface.check_consistency_with_other_processors):
(ExtensionProcessorInterface.set_active):
(ExtensionProcessorInterface.is_active):
(ExtensionProcessorInterface._get_extension_response_internal):
(ExtensionProcessorInterface.get_extension_response):
(ExtensionProcessorInterface._setup_stream_options_internal):
(ExtensionProcessorInterface.setup_stream_options):
(_log_outgoing_compression_ratio):
(_log_incoming_compression_ratio):
(_parse_window_bits):
(_AverageRatioCalculator):
(_AverageRatioCalculator.__init__):
(_AverageRatioCalculator.add_original_bytes):
(_AverageRatioCalculator.add_result_bytes):
(_AverageRatioCalculator.get_average_ratio):
(DeflateFrameExtensionProcessor):
(DeflateFrameExtensionProcessor.__init__):
(DeflateFrameExtensionProcessor._get_extension_response_internal):
(DeflateFrameExtensionProcessor._setup_stream_options_internal):
(DeflateFrameExtensionProcessor._outgoing_filter):
(DeflateFrameExtensionProcessor._incoming_filter):
(CompressionExtensionProcessorBase.for):
(CompressionExtensionProcessorBase.__init__):
(CompressionExtensionProcessorBase._get_extension_response_internal):
(CompressionExtensionProcessorBase._setup_stream_options_internal):
(PerFrameCompressExtensionProcessor):
(PerMessageDeflateExtensionProcessor):
(PerMessageDeflateExtensionProcessor.__init__):
(PerMessageDeflateExtensionProcessor._get_extension_response_internal):
(PerMessageDeflateExtensionProcessor._setup_stream_options_internal):
(PerMessageDeflateExtensionProcessor.set_c2s_max_window_bits):
(PerMessageDeflateExtensionProcessor.set_c2s_max_window_bits.adds):
(PerMessageDeflateExtensionProcessor.set_c2s_no_context_takeover):
(PerMessageDeflateExtensionProcessor.set_c2s_no_context_takeover.adds):
(PerMessageDeflateExtensionProcessor.set_bfinal):
(PerMessageDeflateExtensionProcessor.enable_outgoing_compression):
(PerMessageDeflateExtensionProcessor.disable_outgoing_compression):
(_PerMessageDeflateFramer):
(_PerMessageDeflateFramer.__init__):
(_PerMessageDeflateFramer.set_compress_outgoing_enabled):
(_PerMessageDeflateFramer._process_incoming_message):
(_PerMessageDeflateFramer._process_outgoing_message):
(_PerMessageDeflateFramer.setup_stream_options):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingMessageFilter):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingMessageFilter.__init__):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingMessageFilter.filter):
(_PerMessageDeflateFramer.setup_stream_options._IncomingMessageFilter):
(_PerMessageDeflateFramer.setup_stream_options._IncomingMessageFilter.__init__):
(_PerMessageDeflateFramer.setup_stream_options._IncomingMessageFilter.decompress_next_message):
(_PerMessageDeflateFramer.setup_stream_options._IncomingMessageFilter.filter):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingFrameFilter):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingFrameFilter.__init__):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingFrameFilter.set_compression_bit):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingFrameFilter.filter):
(_PerMessageDeflateFramer.setup_stream_options._IncomingFrameFilter):
(_PerMessageDeflateFramer.setup_stream_options._IncomingFrameFilter.__init__):
(_PerMessageDeflateFramer.setup_stream_options._IncomingFrameFilter.filter):
(PerMessageCompressExtensionProcessor):
(PerMessageCompressExtensionProcessor._lookup_compression_processor):
(MuxExtensionProcessor.__init__):
(MuxExtensionProcessor.check_consistency_with_other_processors):
(MuxExtensionProcessor):
(MuxExtensionProcessor._get_extension_response_internal):
(MuxExtensionProcessor._setup_stream_options_internal):
(MuxExtensionProcessor.set_quota):
(MuxExtensionProcessor.quota):
(MuxExtensionProcessor.set_extensions):
(MuxExtensionProcessor.extensions):
(is_compression_extension):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py:
(validate_subprotocol):
(parse_host_header):
(format_header):
(check_request_line):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py:
(Handshaker.do_handshake):
(Handshaker._create_handshake_response):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi00.py:
(_validate_subprotocol):
(_check_header_lines):
(_build_location):
(Handshaker.do_handshake):
(Handshaker._set_subprotocol):
(Handshaker._set_location):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/headerparserhandler.py:
(_create_dispatcher):
(headerparserhandler):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/mux.py:
(_create_add_channel_response):
(_create_drop_channel):
(_create_flow_control):
(_create_new_channel_slot):
(_create_fallback_new_channel_slot):
(_MuxFramePayloadParser._read_number):
(_MuxFramePayloadParser._read_size_and_contents):
(_MuxFramePayloadParser._read_flow_control):
(_MuxFramePayloadParser._read_new_channel_slot):
(_LogicalConnection.__init__):
(_LogicalConnection.write):
(_LogicalConnection.on_write_data_done):
(_LogicalConnection):
(_LogicalConnection.on_writer_done):
(_InnerMessage):
(_InnerMessage.__init__):
(_InnerMessageBuilder):
(_InnerMessageBuilder.that):
(_InnerMessageBuilder.__init__):
(_InnerMessageBuilder._handle_first):
(_InnerMessageBuilder._process_first_fragmented_control):
(_InnerMessageBuilder._process_first_fragmented_message):
(_InnerMessageBuilder._handle_fragmented_control):
(_InnerMessageBuilder._reassemble_fragmented_control):
(_InnerMessageBuilder._handle_fragmented_message):
(_InnerMessageBuilder._reassemble_fragmented_message):
(_InnerMessageBuilder.build):
(_LogicalStream.__init__):
(_LogicalStream._create_inner_frame):
(_LogicalStream._write_inner_frame):
(_LogicalStream.replenish_send_quota):
(_LogicalStream.send_message):
(_LogicalStream._receive_frame):
(_LogicalStream._get_message_from_frame):
(_LogicalStream.stop_sending):
(_PhysicalConnectionWriter.__init__):
(_PhysicalConnectionWriter._write_data):
(_PhysicalConnectionWriter.run):
(_PhysicalConnectionWriter.stop):
(_Worker.run):
(_MuxHandshaker.__init__):
(_MuxHandshaker._create_stream):
(_MuxHandshaker._create_handshake_response):
(_HandshakeDeltaBase.create_headers):
(_MuxHandler.start):
(_MuxHandler.wait_until_done):
(_MuxHandler.notify_write_data_done):
(_MuxHandler._process_drop_channel):
(_MuxHandler._process_logical_frame):
(_MuxHandler.notify_reader_done):
(_MuxHandler):
(_MuxHandler.notify_writer_done):
(_MuxHandler.fail_physical_connection):
(_MuxHandler.fail_logical_channel):
(use_mux):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py:
(_StandaloneRequest.get_uri):
(_StandaloneRequest.get_unparsed_uri):
(_StandaloneRequest):
(_StandaloneRequest.is_https):
(_import_ssl):
(_import_pyopenssl):
(_StandaloneSSLConnection.for):
(_StandaloneSSLConnection):
(_StandaloneSSLConnection.__getattribute__):
(_StandaloneSSLConnection.__setattr__):
(_StandaloneSSLConnection.makefile):
(_StandaloneSSLConnection.shutdown):
(_StandaloneSSLConnection.recv):
(WebSocketServer.__init__):
(WebSocketServer._create_sockets):
(WebSocketServer.handle_error):
(WebSocketServer.get_request):
(WebSocketServer.get_request.default_callback):
(WebSocketRequestHandler.parse_request):
(_build_option_parser):
(_main):
(_main.if):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py:
(RepeatedXorMasker.__init__):
(RepeatedXorMasker._mask_using_swig):
(RepeatedXorMasker):
(RepeatedXorMasker._mask_using_array):
(_Deflater.compress_and_finish):
(_RFC1979Deflater.filter):
(DeflateSocket.send):

LayoutTests:

Fix failing tests.

* http/tests/websocket/tests/handler_map.txt:
* http/tests/websocket/tests/hybi/echo-host_wsh.py: Copied from LayoutTests/http/tests/websocket/tests/hybi/echo-location_wsh.py.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/echo-path_wsh.py: Renamed from LayoutTests/http/tests/websocket/tests/hybi/echo-location_wsh.py.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/url-no-trailing-slash-expected.txt:
* http/tests/websocket/tests/hybi/url-no-trailing-slash.html:
* http/tests/websocket/tests/hybi/url-with-credential-expected.txt:
* http/tests/websocket/tests/hybi/url-with-credential.html:
* http/tests/websocket/tests/hybi/url-with-empty-query-expected.txt:
* http/tests/websocket/tests/hybi/url-with-empty-query.html:
* http/tests/websocket/tests/hybi/url-with-query-expected.txt:
* http/tests/websocket/tests/hybi/url-with-query.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150225 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Crash due to an assert running test editing/execCommand/indent-paragraph...
commit-queue@webkit.org [Fri, 17 May 2013 00:30:52 +0000 (00:30 +0000)]
[BlackBerry] Crash due to an assert running test editing/execCommand/indent-paragraphs.html
https://bugs.webkit.org/show_bug.cgi?id=114944

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

It crashes in network platform code when trying to save an
invalid URL in the disk cache. That test contains references to
empty URLs like http://. Those empty URLs, are parsed as http:/ by
KURL and considered valid. BlackBerry network platform uses GURL
which considers those URLs invalid. We needed to check that the
URLs are valid for our platform before starting the network
operation.

Fixes a crash running test
editing/execCommand/indent-paragraphs.html.

* platform/network/blackberry/NetworkManager.cpp:
(WebCore::NetworkManager::startJob): Check if the request URL is
valid from the platform point of view right after creating the
platform network request and return early if the URL is invalid
with StatusErrorInvalidUrl error.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150224 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix testing if program exists in PATH
commit-queue@webkit.org [Fri, 17 May 2013 00:20:36 +0000 (00:20 +0000)]
Fix testing if program exists in PATH
https://bugs.webkit.org/show_bug.cgi?id=116216

Patch by Jonathan Liu <net147@gmail.com> on 2013-05-16
Reviewed by Jocelyn Turcotte.

functions.prf incorrectly uses win_cmd_shell to test whether to
add .exe to the executable name when checking if it exists in
the PATH environment variable. This works correctly when
building using Windows Command Prompt but not under MSYS shell.

To resolve this, check the win32 platform scope instead of
win_cmd_shell so that it correctly adds .exe to the executable
name on Windows regardless of the shell used when testing if
it exists in PATH.

* qmake/mkspecs/features/functions.prf:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150223 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove unused function safeCreateFile() from WebCore
paroga@webkit.org [Fri, 17 May 2013 00:19:34 +0000 (00:19 +0000)]
Remove unused function safeCreateFile() from WebCore
https://bugs.webkit.org/show_bug.cgi?id=116211

Reviewed by Anders Carlsson.

* platform/FileSystem.h:
* platform/win/FileSystemWin.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150222 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[curl] MIME type should be in lowercase
commit-queue@webkit.org [Fri, 17 May 2013 00:17:46 +0000 (00:17 +0000)]
[curl] MIME type should be in lowercase
https://bugs.webkit.org/show_bug.cgi?id=116218

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-05-16
Reviewed by Benjamin Poulain.

Existing testcase: http/tests/mime/uppercase-mime-type.html

* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback): Convert the MIME type to lowercase.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150221 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoConsolidate lists in JavaScriptCore CMake files
paroga@webkit.org [Fri, 17 May 2013 00:14:52 +0000 (00:14 +0000)]
Consolidate lists in JavaScriptCore CMake files
https://bugs.webkit.org/show_bug.cgi?id=115992

Reviewed by Gyuyoung Kim.

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.

* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* shell/CMakeLists.txt:
* shell/PlatformEfl.cmake:
* shell/PlatformGTK.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150220 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CMAKE] Need to set WTF_LIBRARIES in wtf/CMakeLists.txt
commit-queue@webkit.org [Fri, 17 May 2013 00:14:41 +0000 (00:14 +0000)]
[CMAKE] Need to set WTF_LIBRARIES in wtf/CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=116209

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-16
Reviewed by Gyuyoung Kim.

* wtf/CMakeLists.txt: Replace list with set.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150219 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Fix optional value of promptText in Inspector.json
commit-queue@webkit.org [Fri, 17 May 2013 00:12:39 +0000 (00:12 +0000)]
Web Inspector: Fix optional value of promptText in Inspector.json
https://bugs.webkit.org/show_bug.cgi?id=116203

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-16
Reviewed by Joseph Pecoraro.

Merge from https://chromiumcodereview.appspot.com/14672031.

No new tests needed.

* inspector/Inspector.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150218 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Unable to download blob resource
mary.wu@torchmobile.com.cn [Fri, 17 May 2013 00:11:54 +0000 (00:11 +0000)]
[BlackBerry] Unable to download blob resource
https://bugs.webkit.org/show_bug.cgi?id=115888

Reviewed by Benjamin Poulain.

Source/WebCore:

Add BlobStream to handle over blob data from BlobResourceHandle to download stream.
RIM bug 331086, internally reviewed by Charles Wei and Leo Yang.

* PlatformBlackBerry.cmake:
* platform/network/blackberry/BlobStream.cpp: Added.
(WebCore):
(WebCore::BlobStream::BlobStream):
(WebCore::BlobStream::~BlobStream):
(WebCore::BlobStream::didReceiveData):
(WebCore::BlobStream::didFinishLoading):
(WebCore::BlobStream::didFail):
(WebCore::BlobStream::url):
(WebCore::BlobStream::mimeType):
* platform/network/blackberry/BlobStream.h: Added.
(WebCore):
(BlobStream):

Source/WebKit/blackberry:

For blob resource (blob:http....), it's not suitable to go to NetworkStream
which don't handle "blob" protocol at all. since blob data already handled
in BlobResourceHandle, simply get the data out to download stream.

RIM bug 331086, internally reviewed by Charles Wei and Leo Yang.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150217 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove SystemTime header and implementations
andersca@apple.com [Fri, 17 May 2013 00:06:10 +0000 (00:06 +0000)]
Remove SystemTime header and implementations
https://bugs.webkit.org/show_bug.cgi?id=116200

Reviewed by Alexey Proskuryakov.

SystemTim just had a single function that's not called anymore. Remove it.

* GNUmakefile.list.am:
* PlatformBlackBerry.cmake:
* PlatformEfl.cmake:
* PlatformWinCE.cmake:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* history/PageCache.cpp:
* platform/SystemTime.h: Removed.
* platform/blackberry/SystemTimeBlackBerry.cpp: Removed.
* platform/efl/SystemTimeEfl.cpp: Removed.
* platform/graphics/ca/GraphicsLayerCA.cpp:
* platform/mac/SystemTimeMac.cpp: Removed.
* platform/qt/TemporaryLinkStubsQt.cpp:
* platform/win/SystemTimeWin.cpp: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150216 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Inspector] Don't filter syntax error caused by asterisk in CSS Property name.
glenn@skynav.com [Fri, 17 May 2013 00:04:06 +0000 (00:04 +0000)]
[Inspector] Don't filter syntax error caused by asterisk in CSS Property name.
https://bugs.webkit.org/show_bug.cgi?id=116196

Reviewed by Benjamin Poulain.

* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::addMessageToConsole):
    - Remove questionable IE7 related error filtering

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150215 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPage::chrome() should return a reference.
akling@apple.com [Fri, 17 May 2013 00:03:01 +0000 (00:03 +0000)]
Page::chrome() should return a reference.
<http://webkit.org/b/116185>

Source/WebCore:

Reviewed by Anders Carlsson.

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

Source/WebKit/blackberry:

Reviewed by Anders Carlsson.

Source/WebKit/efl:

Reviewed by Anders Carlsson.

Source/WebKit/gtk:

Reviewed by Anders Carlsson.

Source/WebKit/mac:

Reviewed by Anders Carlsson.

Source/WebKit/qt:

Reviewed by Anders Carlsson.

Source/WebKit/win:

Reviewed by Anders Carlsson.

Source/WebKit2:

Reviewed by Anders Carlsson.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150214 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSource/WebCore: Content disappears when scrolling http://www.childrenscancer.org...
simon.fraser@apple.com [Thu, 16 May 2013 23:57:46 +0000 (23:57 +0000)]
Source/WebCore: Content disappears when scrolling childrenscancer.org/zach/
https://bugs.webkit.org/show_bug.cgi?id=116206

Reviewed by Darin Adler.

When a RenderLayerBacking gains or loses a foregroundLayer or backgroundLayer,
we need to repaint the primary layer, since what paints into that primary
layer will change.

On the page in question, we gained/lost a foreground layer when scrolling because
the page popped an element into position:fixed.

Test: compositing/repaint/foreground-layer-change.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateForegroundLayer):
(WebCore::RenderLayerBacking::updateBackgroundLayer):

LayoutTests: Content disappears when scrolling  http://www.childrenscancer.org/zach/
https://bugs.webkit.org/show_bug.cgi?id=116206

Reviewed by Darin Adler.

Ref test for foreground layer removal.

* compositing/repaint/foreground-layer-change-expected.html: Added.
* compositing/repaint/foreground-layer-change.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150213 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[wk2] didGetImageForFindMatch can return a null image
timothy_horton@apple.com [Thu, 16 May 2013 23:48:49 +0000 (23:48 +0000)]
[wk2] didGetImageForFindMatch can return a null image
https://bugs.webkit.org/show_bug.cgi?id=116251
<rdar://problem/13277246>

Reviewed by Simon Fraser.

Don't send didGetImageForFindMatch if we didn't get an image for
the find match, which can happen if the selection is not visible.

* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::getImageForFindMatch):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150212 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the hard-coded names of EWS bots that run tests.
rniwa@webkit.org [Thu, 16 May 2013 23:38:13 +0000 (23:38 +0000)]
Fix the hard-coded names of EWS bots that run tests.

* Scripts/webkitpy/tool/commands/queues.py:
(CommitQueue.did_pass_testing_ews):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150211 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDo not indefinitely cache resources from blob URLs.
aestes@apple.com [Thu, 16 May 2013 21:32:31 +0000 (21:32 +0000)]
Do not indefinitely cache resources from blob URLs.

Reviewed by Alexey Proskuryakov.

Alexey pointed out after I landed r150169 that blob URLs backed by
files should return an error if the file changed after the URL was
created. By indefinitely caching them in memory, we don't give the
loader a chance to check for modification. Remove "blob" from the list
of schemes that should be indefinitely cached.

* platform/SchemeRegistry.cpp:
(WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150210 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION: canvas/philip/tests/2d.text.draw.fontface.notinpage.html fails
rniwa@webkit.org [Thu, 16 May 2013 21:23:44 +0000 (21:23 +0000)]
REGRESSION: canvas/philip/tests/2d.text.draw.fontface.notinpage.html fails
https://bugs.webkit.org/show_bug.cgi?id=116245

Add a passing/failing test expectation.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150209 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] fast/events/mouse-cursor-image-set.html is flaky
rniwa@webkit.org [Thu, 16 May 2013 21:18:30 +0000 (21:18 +0000)]
[Mac] fast/events/mouse-cursor-image-set.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=116244

Add a flaky test expectation on Mac.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150208 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS] CSS Variables are case-sensitive
csaavedra@igalia.com [Thu, 16 May 2013 21:04:57 +0000 (21:04 +0000)]
[CSS] CSS Variables are case-sensitive
https://bugs.webkit.org/show_bug.cgi?id=116239

Reviewed by Ryosuke Niwa.

Source/WebCore:

The CSS Variables specification states that variables are
case-sensitive, unlike other CSS properties.

Test: fast/css/variables/case-sensitive.html

* css/CSSParser.cpp:
(WebCore::CSSParserString::substring): Replace
the now unnecessary lowerSubstring() with this method.
Also, since the method is only used by the CSS variables
implementation, #ifdef it.
(WebCore::CSSParser::createPrimitiveVariableNameValue):
(WebCore::CSSParser::storeVariableDeclaration):
Do not normalize variable declarations to lowercase.
* css/CSSParserValues.h:
(CSSParserString): Replace the lowerSubstring() declaration
and wrap with #if/#endif.

LayoutTests:

* fast/css/variables/case-sensitive-expected.html: Renamed from
fast/css/variables/case-insensitive-expected.html.
* fast/css/variables/case-sensitive.html: Renamed from
LayoutTests/fast/css/variables/case-insensitive.html.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150207 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agosvg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled.
beidson@apple.com [Thu, 16 May 2013 21:02:11 +0000 (21:02 +0000)]
svg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled.
<rdar://problem/13837408> and https://bugs.webkit.org/show_bug.cgi?id=115917

Reviewed by Sam Weinig.

Source/WebCore:

Give WebKit2 the ability to not mis-cast.

* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::isEmptyFrameLoaderClient): Defaults to false, and include a FIXME
  to remove it once https://bugs.webkit.org/show_bug.cgi?id=116233 is resolved.

* loader/EmptyClients.h: Make isEmptyFrameLoaderClient() return true, and add a FIXME to remove it.

Source/WebKit2:

* NetworkProcess/SchedulableLoader.cpp:
(WebKit::SchedulableLoader::SchedulableLoader): ASSERT that either there’s a frame and page ID, or
  that the client cannot be asked for credentials.

* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad): Only cast the FrameLoaderClient and get WebFrame/WebPage
  if that is actually possible. Set the clientCredentialPolicy based on whether or not WebFrame/WebPage are
  available since they are needed to ask the UIProcess for credentials. ASSERT that either there’s both
  a frame and page ID or that the client won’t be asked for credentials.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150206 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago-webView:updateHistoryTitle:forURL: does not pass a frame to the delegate
mitz@apple.com [Thu, 16 May 2013 20:50:06 +0000 (20:50 +0000)]
-webView:updateHistoryTitle:forURL: does not pass a frame to the delegate
https://bugs.webkit.org/show_bug.cgi?id=116243

Reviewed by Anders Carlsson.

Added a WebFrame parameter to the delegate method.

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::setTitle): Pass the frame to the delegate. Maintain
compatibility with clients that implement the old delegate method that
doesn’t take a frame.
* WebView/WebDelegateImplementationCaching.h:
(WebHistoryDelegateImplementationCache): Added a field to cache the
implementation of the old delegate method.
* WebView/WebHistoryDelegate.h: Changed the signature of the delegate method.
* WebView/WebView.mm:
(-[WebView _cacheHistoryDelegateImplementations]): Cache the implementation
of the new delegate method, but also check for the old one.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150205 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Build Xvfb with jhbuild
kov@webkit.org [Thu, 16 May 2013 20:23:09 +0000 (20:23 +0000)]
[GTK] Build Xvfb with jhbuild
https://bugs.webkit.org/show_bug.cgi?id=115907

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-05-16
Reviewed by Martin Robinson.

Tools:

Build our own Xvfb so that we can avoid problems with the system Xvfb
relying on symbols not present in our jhbuilt libraries such as pixman,
and also to ensure we have the fix for a GLX module crasher.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues): enable accelerated compositing.
* gtk/install-dependencies: list packages required for building Xvfb.
* gtk/jhbuild.modules: add xserver as a jhbuild module.
* gtk/patches/xserver-remove-bogus-dependencies.patch: Added.
* gtk/patches/xserver-fix-glx-init.patch: Added. Fixes a crash while
initializing the GLX module for Xvfb.

LayoutTests:

Unskip and create baselines for transforms/3d and some webgl tests. We can unskip
more, but I prefer to only dip the toe in the waters first, to see how the bots
react.

* platform/gtk/TestExpectations:
* platform/gtk/transforms/3d/general/perspective-non-layer-expected.txt: Added.
* platform/gtk/transforms/3d/general/perspective-units-expected.txt: Added.
* platform/gtk/transforms/3d/hit-testing/backface-hit-test-expected.txt: Added.
* platform/gtk/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-expected.txt: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150204 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd more Mac test expectations.
rniwa@webkit.org [Thu, 16 May 2013 19:19:25 +0000 (19:19 +0000)]
Add more Mac test expectations.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150201 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake the Find Banner in Safari work again with the docked Web Inspector.
timothy@apple.com [Thu, 16 May 2013 19:13:32 +0000 (19:13 +0000)]
Make the Find Banner in Safari work again with the docked Web Inspector.

https://webkit.org/b/116182
rdar://problem/13857423

Reviewed by Benjamin Poulain.

* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
(WebKit::WebInspectorProxy::platformDetach):
Preserve the top position of the inspected view so banners in Safari still work.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150200 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoJSValue shouldn't protect/unprotect its context
ggaren@apple.com [Thu, 16 May 2013 19:11:43 +0000 (19:11 +0000)]
JSValue shouldn't protect/unprotect its context
https://bugs.webkit.org/show_bug.cgi?id=116234

Reviewed by Mark Hahnenberg.

Our retain on _context is sufficient.

* API/JSValue.mm:
(-[JSValue initWithValue:inContext:]):
(-[JSValue dealloc]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150199 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[jhbuild] Should remove the sources directory as well when cleaning
kov@webkit.org [Thu, 16 May 2013 19:09:57 +0000 (19:09 +0000)]
[jhbuild] Should remove the sources directory as well when cleaning
https://bugs.webkit.org/show_bug.cgi?id=116229

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-05-16
Reviewed by Martin Robinson.

* Scripts/update-webkit-libs-jhbuild:
(cleanJhbuild): remove the Source directory as well when cleaning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150198 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[wk2] Minimum layout width is lost if the WebProcess crashes
timothy_horton@apple.com [Thu, 16 May 2013 19:08:38 +0000 (19:08 +0000)]
[wk2] Minimum layout width is lost if the WebProcess crashes
https://bugs.webkit.org/show_bug.cgi?id=116202
<rdar://problem/13202320>

Reviewed by Darin Adler.

Send the minimum layout width to the WebProcess upon initialization,
so that crashed-and-restarted WebProcesses have the correct width.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
Add minimumLayoutWidth WebPage creation parameter.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
Send the current minimumLayoutWidth to the WebPage when it's created.

(WebKit::WebPageProxy::setMinimumLayoutWidth):
Store minimumLayoutWidth changes that come in while the WebProcess is
not valid, so that the correct width is sent once it is restarted.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
Set minimumLayoutWidth to the value provided by our creation parameters.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150197 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCrash properly on iOS
benjamin@webkit.org [Thu, 16 May 2013 19:03:16 +0000 (19:03 +0000)]
Crash properly on iOS
https://bugs.webkit.org/show_bug.cgi?id=115782

Reviewed by Darin Adler.

Improve crash handling. <rdar://problem/13842771>

* wtf/Assertions.cpp:
* wtf/Assertions.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150196 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a test expectation per bug 116238 and remove lines erroneously added in r150090.
rniwa@webkit.org [Thu, 16 May 2013 19:00:36 +0000 (19:00 +0000)]
Add a test expectation per bug 116238 and remove lines erroneously added in r150090.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150195 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRe-land r150168 with some OS version guards.
simon.fraser@apple.com [Thu, 16 May 2013 18:40:16 +0000 (18:40 +0000)]
Re-land r150168 with some OS version guards.

* WebView/WebFrameView.mm:
(-[WebFrameView drawRect:]):
(-[WebFrameView wantsUpdateLayer]):
(-[WebFrameView updateLayer]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150194 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMac rebaseline. The flakiness dashboard tells us that it started at r150101
rniwa@webkit.org [Thu, 16 May 2013 18:30:55 +0000 (18:30 +0000)]
Mac rebaseline. The flakiness dashboard tells us that it started at r150101
but reverting the change locally didn't fix the problem as far as Beth and I checked.

* platform/mac/platform/mac/fast/text/thai-combining-mark-positioning-expected.txt: Added.
* platform/mac/platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150193 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] [CMake] Disable the shadow DOM
mrobinson@webkit.org [Thu, 16 May 2013 18:30:19 +0000 (18:30 +0000)]
[GTK] [CMake] Disable the shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=116237

Reviewed by Gustavo Noronha Silva.

* Source/cmake/OptionsGTK.cmake: Disable shadow DOM by default.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150192 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Documentation for WEBKIT_DEBUG logging channels is out of date
mrobinson@webkit.org [Thu, 16 May 2013 18:22:25 +0000 (18:22 +0000)]
[GTK] Documentation for WEBKIT_DEBUG logging channels is out of date
https://bugs.webkit.org/show_bug.cgi?id=114764

Reviewed by Gustavo Noronha Silva.

* docs/webkitenvironment.xml: Update documentation to reflect current list of
logging channels.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150191 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Add support for building WebCore to the cmake build
mrobinson@webkit.org [Thu, 16 May 2013 18:16:56 +0000 (18:16 +0000)]
[GTK] Add support for building WebCore to the cmake build
https://bugs.webkit.org/show_bug.cgi?id=116128

Reviewed by Gustavo Noronha Silva.

.:

* Source/PlatformGTK.cmake: Added.
* Source/cmake/OptionsGTK.cmake: Added more logic and variables to support WebCore and properly
defined some existing variables.

Source/WebCore:

* PlatformGTK.cmake: Added.
* platform/gtk/GtkVersioning.c: Include "config.h" because we removed
the autotoolsconfig.h include from the header.
* platform/gtk/GtkVersioning.h: Remove autotoolsconfig.h include to support for
non-autotools build systems.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150189 268f45cc-cd09-0410-ab3c-d52691b4dbfc