WebKit.git
6 years agoFix several style warnings in generated bindings
ch.dumez@sisa.samsung.com [Sat, 11 May 2013 19:07:55 +0000 (19:07 +0000)]
Fix several style warnings in generated bindings
https://bugs.webkit.org/show_bug.cgi?id=115961

Reviewed by Kentaro Hara.

Fix several style errors in the bindings generated under
Source/WebCore/bindings/scripts/test/

No new tests, no behavior change.

* bindings/scripts/CodeGeneratorCPP.pm:
(GenerateImplementation):
(WriteData):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(WriteData):
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateHeader):
* bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
* bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp:
* bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
* bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp:
* bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
* bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp:
* bindings/scripts/test/CPP/WebDOMTestException.cpp:
* bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
* bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp:
* bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp:
* bindings/scripts/test/CPP/WebDOMTestNode.cpp:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
* bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp:
* bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
(WebCore::JSTestActiveDOMObject::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
(WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestException.h:
(WebCore::JSTestException::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestInterface.h:
(WebCore::JSTestInterface::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
(WebCore::JSTestOverloadedConstructors::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::releaseImplIfNotNull):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::toJS):
* bindings/scripts/test/JS/JSTestTypedefs.h:
(WebCore::JSTestTypedefs::releaseImplIfNotNull):
* bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestObjInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
(WebCore):

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

6 years agoWhen possible, terminate web processes immediately when closing their last page.
akling@apple.com [Sat, 11 May 2013 18:53:13 +0000 (18:53 +0000)]
When possible, terminate web processes immediately when closing their last page.
<http://webkit.org/b/115964>
<rdar://problem/13869266>

Reviewed by Geoffrey Garen.

When we're using a network process, there's no need for the UI process to wait for web processes
to clear resource caches and terminate nicely.

We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::removeWebPage):

    Terminate the child process immediately if possible.

* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::canTerminateChildProcess):
(WebKit::WebProcessProxy::shouldTerminate):

    Broke out the logic from the shouldTerminate() IPC message handler into a separate function
    so we can call it from removeWebPage().

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

6 years agoCrash when terminating a process that has not been fully launched
andersca@apple.com [Sat, 11 May 2013 18:00:40 +0000 (18:00 +0000)]
Crash when terminating a process that has not been fully launched
https://bugs.webkit.org/show_bug.cgi?id=115962
<rdar://problem/13660916>

Reviewed by Andreas Kling.

Source/WebKit2:

Handle terminating a process that has not been fully launched.

* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::didFinishLaunchingProcess):
If we have been invalidated, dispose the connection identifier.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::terminateProcess):
If we're still launching the process, invalidate so the client won't get an unexpected
didFinishLaunching callback.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::requestTermination):
Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched).

Tools:

Add TerminateTwice, a test that terminates a page, then reloads it and terminates it again
before the process has had a chance to be fully launched.

* TestWebKitAPI/GNUmakefile.am:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Added.
(TestWebKitAPI):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/WebKit2.pro:

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

6 years agoMake it a build error to put invalid C++ symbol names in WebCore.exp.in
andersca@apple.com [Sat, 11 May 2013 16:09:43 +0000 (16:09 +0000)]
Make it a build error to put invalid C++ symbol names in WebCore.exp.in
https://bugs.webkit.org/show_bug.cgi?id=115958

Reviewed by Andreas Kling.

While invalid C++ symbols will eventually show up as a link error since the symbol won't be found,
this makes it easier to catch invalid symbols inside of #ifdefs.

* make-export-file-generator:
Try to demangle C++ symbols before printing them.

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

6 years agoBUILD FIX (r149718): Move exported symbol into ENABLE(FULLSCREEN_API) section
ddkilzer@apple.com [Sat, 11 May 2013 14:09:05 +0000 (14:09 +0000)]
BUILD FIX (r149718): Move exported symbol into ENABLE(FULLSCREEN_API) section

Fixes the following build failure when ENABLE(FULLSCREEN_API) is
off:

    Undefined symbols for architecture i386:
      "__ZNK7WebCore7Element25containsFullScreenElementEv", referenced from:
         -exported_symbol[s_list] command line option

* WebCore.exp.in: Move the symbol.

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

6 years agoUnreviewed, remove some lint accidentally left in r149929.
robert@webkit.org [Sat, 11 May 2013 12:14:17 +0000 (12:14 +0000)]
Unreviewed, remove some lint accidentally left in r149929.

* rendering/InlineFlowBox.cpp:
(WebCore::verticalAlignApplies):

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

6 years agoText flow broken in elements with vertical align top/bottom and inline elements talle...
robert@webkit.org [Sat, 11 May 2013 12:08:57 +0000 (12:08 +0000)]
Text flow broken in elements with vertical align top/bottom and inline elements taller than line-height
https://bugs.webkit.org/show_bug.cgi?id=111974

Source/WebCore:

Reviewed by Ryosuke Niwa.

Per http://www.w3.org/TR/CSS2/visudet.html#propdef-vertical-align 'vertical-align' only applies to inline and table-cell
elements.

Test: fast/css/vertical-align-block-elements.html

* rendering/InlineFlowBox.cpp:
(WebCore::isTextInBlockElement):
(WebCore):
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):

LayoutTests:

Reviewed by Ryosuke Niwa.

* editing/execCommand/query-command-state-expected.txt:
* editing/execCommand/script-tests/query-command-state.js: Remove invalid tests, vertical-align does not apply to
  div elements.
(runTests):
* fast/css/vertical-align-block-elements-expected.html: Added.
* fast/css/vertical-align-block-elements.html: Added.

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

6 years agoMake CanvasStyle a plain object instead of an RefCounted object
benjamin@webkit.org [Sat, 11 May 2013 08:36:42 +0000 (08:36 +0000)]
Make CanvasStyle a plain object instead of an RefCounted object
https://bugs.webkit.org/show_bug.cgi?id=115775

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

CanvasStyle is just 2 words wide. We do not gain anything from allocating
it on the heap. Change the object to be just a type and some data.

* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::toJS):
(WebCore::toHTMLCanvasStyle):
* html/HTMLCanvasElement.cpp:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* html/canvas/CanvasRenderingContext2D.h:
(WebCore::CanvasRenderingContext2D::strokeStyle):
(CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::fillStyle):
(State):
* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::createFromString):
(WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
(WebCore::CanvasStyle::isEquivalentColor):
(WebCore):
(WebCore::CanvasStyle::operator=):
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):
* html/canvas/CanvasStyle.h:
(CanvasStyle):
(WebCore::CanvasStyle::isValid):
(WebCore::CanvasStyle::CanvasStyle):
(WebCore):
(WebCore::CanvasStyle::operator=):

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

6 years agoGradient::platformGradient: Vector reserveCapacity -> reserveInitialCapacity
benjamin@webkit.org [Sat, 11 May 2013 07:56:09 +0000 (07:56 +0000)]
Gradient::platformGradient: Vector reserveCapacity -> reserveInitialCapacity
https://bugs.webkit.org/show_bug.cgi?id=115779

Reviewed by Andreas Kling.

* platform/graphics/cg/GradientCG.cpp:
(WebCore::Gradient::platformGradient): Clang is surprisingly smart at removing
all the branches of this function. Remove two more with reserveInitialCapacity.

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

6 years agoRemove irrelevant blogs from Planet WebKit
benjamin@webkit.org [Sat, 11 May 2013 07:47:44 +0000 (07:47 +0000)]
Remove irrelevant blogs from Planet WebKit
https://bugs.webkit.org/show_bug.cgi?id=115620

Reviewed by Ryosuke Niwa.

* config.ini:

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

6 years ago <rdar://problem/13666412> Clean up some edge cases of URL parsing.
ap@apple.com [Sat, 11 May 2013 05:51:04 +0000 (05:51 +0000)]
    <rdar://problem/13666412> Clean up some edge cases of URL parsing.
        https://bugs.webkit.org/show_bug.cgi?id=104919

        Reviewed by Darin Adler.

WebCore:
        * page/SecurityOrigin.cpp:
        (WebCore::schemeRequiresHost):
        (WebCore::shouldTreatAsUniqueOrigin):
        Updated function name and comments (host is not the same as authority). We still
        need this check - KURL can still produce http URLs with an empty host (even as this
        patch reduces the number of such cases). So can Gecko and current draft of URL
        Standard.
        It would be good to have a guarantee that such useless URLs can not come out of
        URL parser, as relying on downstream code re-parsing the URL correctly would be fragile.

        * platform/KURL.cpp:
        (WebCore::hostPortIsEmptyButCredentialsArePresent): Updated an argument name for
        correctness.
        (WebCore::KURL::parse):
        1. Reverted behavior changes from <http://trac.webkit.org/changeset/82181> - I could
        find no reason to allow "@" in hostnames, and having a URL like this re-parsed by
        a different parser would likely produce different results. It's better to just treat
        these edge case URLs as invalid.
        2. When hostname component is a lone colon, preserve it in parsed URL string,
        as otherwise path would get pushed in its place when re-parsing.
        3. When authority component is a lone colon, don't forget to "//" after scheme, too.
        4. Added some assertions about contents of authority component, to catch potential
        mis-parsing earlier.

LayoutTests:
        * fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-pathname.js:
        * fast/dom/HTMLAnchorElement/set-href-attribute-pathname-expected.txt:
        Updated expectations of one sub-test. We previously tried to keep the test passing
        as is (see bug 57291), but I couldn't find any reason to prefer the old behavior.

        * fast/url/host-expected.txt:
        * fast/url/host.html:
        Updated one subtest to new results, which match at least Gecko (original of the
        test actually claims that all browsers including Safari already do what we'll do now).

        * fast/url/segments-userinfo-vs-host-expected.txt: Added.
        * fast/url/segments-userinfo-vs-host.html: Added.
        Added a number of tests, with detailed explanations of the differences with Firefox,
        and with rationales.

        * http/tests/uri/username-with-no-hostname-expected.txt: Removed.
        * http/tests/uri/username-with-no-hostname.html-disabled: Removed.
        * platform/win/http/tests/uri/username-with-no-hostname-expected.txt: Removed.
        This test has been disabled for a long time, and being an end-to-end test for
        invalid URL handling, it would be difficult to make work again. We have multiple
        parsing tests for URLs like this.

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

6 years ago Make TextCodecICU not depend on TextEncoding
ap@apple.com [Sat, 11 May 2013 05:45:45 +0000 (05:45 +0000)]
    Make TextCodecICU not depend on TextEncoding
        https://bugs.webkit.org/show_bug.cgi?id=115848

        Reviewed by Darin Adler.

        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::create):
        (WebCore::TextCodecICU::TextCodecICU):
        (WebCore::TextCodecICU::createICUConverter):
        (WebCore::TextCodecICU::decode):
        (WebCore::TextCodecICU::encode):
        * platform/text/TextCodecICU.h:
        Use a plain encoding string in platform encoder wrapper, not a higher level concept.

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

6 years agoWeb Inspector: Implement WK2 version of WebInspectorFrontendClient::save
commit-queue@webkit.org [Sat, 11 May 2013 05:03:10 +0000 (05:03 +0000)]
Web Inspector: Implement WK2 version of WebInspectorFrontendClient::save
https://bugs.webkit.org/show_bug.cgi?id=115564

Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-05-10
Reviewed by Benjamin Poulain.

Source/WebKit/mac:

Clean up save() and append() implementations.

* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::save):
(WebInspectorFrontendClient::append):

Source/WebKit2:

Implement InspectorFrontendHost's save() and append() methods for
Mac WebKit2. Add canSave() for all ports.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::save):
(WebKit):
(WebKit::WebInspectorProxy::append):
* UIProcess/WebInspectorProxy.h:
(WebInspectorProxy):
* UIProcess/WebInspectorProxy.messages.in:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformSave):
(WebKit):
(WebKit::WebInspectorProxy::platformAppend):
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformSave):
(WebKit):
(WebKit::WebInspectorProxy::platformAppend):
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformSave):
(WebKit):
(WebKit::WebInspectorProxy::platformAppend):
* UIProcess/qt/WebInspectorProxyQt.cpp:
(WebKit::WebInspectorProxy::platformSave):
(WebKit):
(WebKit::WebInspectorProxy::platformAppend):
* WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
(WebKit::WebInspectorFrontendClient::canSave):
(WebKit):
(WebKit::WebInspectorFrontendClient::save):
(WebKit::WebInspectorFrontendClient::append):
* WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
(WebInspectorFrontendClient):
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::save):
(WebKit):
(WebKit::WebInspector::append):
(WebKit::WebInspector::didSave):
(WebKit::WebInspector::didAppend):
* WebProcess/WebPage/WebInspector.h:
(WebInspector):
* WebProcess/WebPage/WebInspector.messages.in:
* WebProcess/WebPage/efl/WebInspectorEfl.cpp:
(WebKit::WebInspector::canSave):
(WebKit):
* WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
(WebKit::WebInspector::canSave):
(WebKit):
* WebProcess/WebPage/mac/WebInspectorMac.mm:
(WebKit::WebInspector::canSave):
(WebKit):
* WebProcess/WebPage/qt/WebInspectorQt.cpp:
(WebKit::WebInspector::canSave):
(WebKit):

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

6 years agoRemove Mac OS X Leopard (10.5) support
l.gombos@samsung.com [Sat, 11 May 2013 01:59:15 +0000 (01:59 +0000)]
Remove Mac OS X Leopard (10.5) support
https://bugs.webkit.org/show_bug.cgi?id=107964

Reviewed by Ryosuke Niwa.

Removed the code for 10.5 and removed if-def for 10.6.

Source/WebCore:

No new tests, covered by existing tests.

* platform/LocalizedStrings.cpp:
(WebCore::contextMenuItemTagLookUpInDictionary):
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/mac/EmptyProtocolDefinitions.h:
* platform/mac/NSScrollerImpDetails.h:
* platform/mac/WebCoreSystemInterface.h:
* platform/text/mac/HyphenationMac.mm:

Source/WebKit/mac:

* DefaultDelegates/WebDefaultContextMenuDelegate.mm:
* Misc/WebKitErrors.m:
(-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* WebView/WebClipView.mm:
(-[WebClipView _immediateScrollToPoint:]):
* WebView/WebFrameView.mm:
(-[WebFrameView initWithFrame:]):
* WebView/WebView.mm:

Tools:

* DumpRenderTree/cf/WebArchiveDumpSupport.cpp:
(convertMIMEType):
(createXMLStringFromWebArchiveData):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::authenticateSession):
(TestRunner::setTextDirection):
* WebKitTestRunner/cf/WebArchiveDumpSupport.cpp:
(convertMIMEType):
(createXMLStringFromWebArchiveData):

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

6 years agoRemove USE(OS_RANDOMNESS)
l.gombos@samsung.com [Sat, 11 May 2013 01:27:03 +0000 (01:27 +0000)]
Remove USE(OS_RANDOMNESS)
https://bugs.webkit.org/show_bug.cgi?id=108095

Reviewed by Darin Adler.

Remove the USE(OS_RANDOMNESS) guard as it is turned on for all
ports.

Source/JavaScriptCore:

* jit/JIT.cpp:
(JSC::JIT::JIT):

Source/WebCore:

No new tests as this is covered by existing tests.

* page/Crypto.cpp:
(WebCore::Crypto::getRandomValues):
* platform/UUID.cpp:
(WebCore::createCanonicalUUIDString):

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataUseFeatures.in:

Source/WTF:

* wtf/CryptographicallyRandomNumber.cpp:
(WTF::cryptographicallyRandomValues):
* wtf/CryptographicallyRandomNumber.h:
* wtf/OSRandomSource.cpp:
(WTF::cryptographicallyRandomValuesFromOS):
* wtf/OSRandomSource.h:
* wtf/Platform.h:
* wtf/RandomNumber.cpp:
(WTF::randomNumber):
* wtf/RandomNumber.h:
* wtf/RandomNumberSeed.h:
(WTF::initializeRandomNumberGenerator):

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

6 years agoRemove [NoInterfaceObject] from several WebAudio IDL interfaces
ch.dumez@sisa.samsung.com [Sat, 11 May 2013 01:24:49 +0000 (01:24 +0000)]
Remove [NoInterfaceObject] from several WebAudio IDL interfaces
https://bugs.webkit.org/show_bug.cgi?id=115894

Reviewed by Darin Adler.

Source/WebCore:

Several WebAudio IDL interfaces had [NoInterfaceObject] extended attribute set,
meaning that there was no corresponding attribute on the global window object.
This behavior is not according to the specification:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html

This patch removes the [NoInterfaceObject] extended attribute where needed to
match the specification.

No new tests, already covered by existing tests.

* Modules/webaudio/AnalyserNode.idl:
* Modules/webaudio/AudioBuffer.idl:
* Modules/webaudio/AudioBufferSourceNode.idl:
* Modules/webaudio/AudioDestinationNode.idl:
* Modules/webaudio/AudioListener.idl:
* Modules/webaudio/AudioNode.idl:
* Modules/webaudio/AudioParam.idl:
* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/ChannelMergerNode.idl:
* Modules/webaudio/ChannelSplitterNode.idl:
* Modules/webaudio/ConvolverNode.idl:
* Modules/webaudio/DelayNode.idl:
* Modules/webaudio/DynamicsCompressorNode.idl:
* Modules/webaudio/GainNode.idl:
* Modules/webaudio/MediaElementAudioSourceNode.idl:
* Modules/webaudio/MediaStreamAudioDestinationNode.idl:
* Modules/webaudio/MediaStreamAudioSourceNode.idl:
* Modules/webaudio/OscillatorNode.idl:
* Modules/webaudio/ScriptProcessorNode.idl:
* Modules/webaudio/WaveShaperNode.idl:
* Modules/webaudio/WaveTable.idl:

LayoutTests:

Rebaseline fast/js/global-constructors-attributes.html now that more
global constructors are exposed.

* fast/js/global-constructors-attributes-expected.txt:
* platform/efl/fast/js/global-constructors-attributes-expected.txt:

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

6 years agoCopy WKPluginInformation.h header to the WebKit2 Framework private headers.
commit-queue@webkit.org [Sat, 11 May 2013 01:23:19 +0000 (01:23 +0000)]
Copy WKPluginInformation.h header to the WebKit2 Framework private headers.
https://bugs.webkit.org/show_bug.cgi?id=115940

Patch by Remy Demarest <rdemarest@apple.com> on 2013-05-10
Reviewed by Darin Adler.

* WebKit2.xcodeproj/project.pbxproj:
Move WKPluginInformation.h file from the framework's Project Headers to
Private Headers.

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

6 years agoREGRESSION (r145680): No box shadow rendered on element with positioned child that...
simon.fraser@apple.com [Sat, 11 May 2013 00:59:25 +0000 (00:59 +0000)]
REGRESSION (r145680): No box shadow rendered on element with positioned child that obscures it
https://bugs.webkit.org/show_bug.cgi?id=115840

Source/WebCore:

Reviewed by Antti Koivisto.

In r107836, we moved some box-shadow painting into the paintFillLayer code for performance.
However, in r145680 we started to skip background painting when we know the background is
obscured. This broke shadow painting in some cases.

Fix by always painting the background fill layers if we know that they will also
paint the shadow.

Test: fast/box-shadow/box-shadow-obscured-backgrounds.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBackground):

LayoutTests:

Reviewed by Antti Koivisto.

* fast/box-shadow/box-shadow-obscured-backgrounds-expected.html: Added.
* fast/box-shadow/box-shadow-obscured-backgrounds.html: Added.

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

6 years ago[Qt][Mac] Unreviewed. Roll out the fix attempt in r149912.
zarvai@inf.u-szeged.hu [Sat, 11 May 2013 00:52:02 +0000 (00:52 +0000)]
[Qt][Mac] Unreviewed. Roll out the fix attempt in r149912.

* Target.pri:

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

6 years ago[Windows] Allow VS2010 Build to use VS2005 Support Libraries
bfulgham@apple.com [Sat, 11 May 2013 00:46:16 +0000 (00:46 +0000)]
[Windows] Allow VS2010 Build to use VS2005 Support Libraries
https://bugs.webkit.org/show_bug.cgi?id=115935

Reviewed by Jer Noble.

* WinLauncher/WinLauncher.vcxproj/WinLauncher.exe.manifest: Added.
* WinLauncher/WinLauncher.vcxproj/WinLauncher.vcxproj: Add reference
to the new manifest file.
* WinLauncher/WinLauncher.vcxproj/WinLauncher.vcxproj.filters: Ditto.

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

6 years agoREGRESSION (r143626): Element shows as garbage in image gallery
simon.fraser@apple.com [Sat, 11 May 2013 00:32:05 +0000 (00:32 +0000)]
REGRESSION (r143626): Element shows as garbage in image gallery
https://bugs.webkit.org/show_bug.cgi?id=115946

Source/WebCore:

Reviewed by Antti Koivisto.

RenderLayer::backgroundIsKnownToBeOpaqueInRect() used hasVisibleContent()
to check whether the layer's content was hidden via the visibility property.
However, this assumed that a passing hasVisibleContent() check meant that the
entire area was covered by the renderers and layers checked layer.

This is not always true. It's possible to have a visibility:hidden layer
with a non-covering visbility:visible child, or even a single RenderText
child that happens to have visibility:visible style. In these situations,
hasVisibleContent() returns true but the entire area is not painted.

So we have to fall back to on a more conservative check using the
visibility style, which will give is a reliable answer for the current layer.

Tests: compositing/contents-opaque/hidden-with-visible-child.html
       compositing/contents-opaque/hidden-with-visible-text.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

Reviewed by Antti Koivisto.

Test that dumps layers for a visibility:hidden element with a child text node,
and with a visibility:visible child. The resulting compositing layer should
not be marked as opaque.

* compositing/contents-opaque/hidden-with-visible-child-expected.txt: Added.
* compositing/contents-opaque/hidden-with-visible-child.html: Added.
* compositing/contents-opaque/hidden-with-visible-text-expected.txt: Added.
* compositing/contents-opaque/hidden-with-visible-text.html: Added.

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

6 years agoGarbage down left side of nytimes.com page (if subscriber)
simon.fraser@apple.com [Sat, 11 May 2013 00:31:59 +0000 (00:31 +0000)]
Garbage down left side of nytimes.com page (if subscriber)
https://bugs.webkit.org/show_bug.cgi?id=115839

Source/WebCore:

Reviewed by Antti Koivisto.

RenderLayer::backgroundIsKnownToBeOpaqueInRect() would incorrectly return true
for layers where the given rect wasn't contained in the background rect, but
where some child layer obscured the rect, even though clipping hid part
of that child layer.

So bail from RenderLayer::backgroundIsKnownToBeOpaqueInRect() if we have
any overflow clipping. This could be enhanced in future to test whether child
layers obscure the clipping rect, but that would be more expensive.

Test: compositing/contents-opaque/overflow-hidden-child-layers.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

Reviewed by Antti Koivisto.

* compositing/contents-opaque/overflow-hidden-child-layers-expected.txt: Added.
* compositing/contents-opaque/overflow-hidden-child-layers.html: Added.

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

6 years agoFix AppleConnect issues for WiFi interfaces
commit-queue@webkit.org [Fri, 10 May 2013 23:42:07 +0000 (23:42 +0000)]
Fix AppleConnect issues for WiFi interfaces
<rdar://problem/13776227&13776240&13776281>
https://bugs.webkit.org/show_bug.cgi?id=115932

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

Add support for WiFi interfaces for the AppleConnect plugin.
Remove the FIXME.

* Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:

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

6 years ago[Qt][Mac] Unreviewed speculative build fix after r149904.
zarvai@inf.u-szeged.hu [Fri, 10 May 2013 23:36:19 +0000 (23:36 +0000)]
[Qt][Mac] Unreviewed speculative build fix after r149904.

* Target.pri:

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

6 years agoRename StructureCheckHoistingPhase to TypeCheckHoistingPhase
mhahnenberg@apple.com [Fri, 10 May 2013 23:15:07 +0000 (23:15 +0000)]
Rename StructureCheckHoistingPhase to TypeCheckHoistingPhase
https://bugs.webkit.org/show_bug.cgi?id=115938

We're going to add some more types of check hoisting soon, so let's have the right name here.

Rubber stamped by Filip Pizlo.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGStructureCheckHoistingPhase.cpp: Removed.
* dfg/DFGStructureCheckHoistingPhase.h: Removed.
* dfg/DFGTypeCheckHoistingPhase.cpp: Copied from Source/JavaScriptCore/dfg/DFGStructureCheckHoistingPhase.cpp.
(JSC::DFG::TypeCheckHoistingPhase::TypeCheckHoistingPhase):
(JSC::DFG::performTypeCheckHoisting):
* dfg/DFGTypeCheckHoistingPhase.h: Copied from Source/JavaScriptCore/dfg/DFGStructureCheckHoistingPhase.h.

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

6 years ago[Qt] Unreviewed buildfix after r149904.
zarvai@inf.u-szeged.hu [Fri, 10 May 2013 22:50:47 +0000 (22:50 +0000)]
[Qt] Unreviewed buildfix after r149904.

* Target.pri:

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

6 years agoFix some compiler warnings (miscellaneous)
zhajiang@rim.com [Fri, 10 May 2013 21:28:14 +0000 (21:28 +0000)]
Fix some compiler warnings (miscellaneous)
https://bugs.webkit.org/show_bug.cgi?id=80790

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-05-10.
Reviewed by Rob Buis.

Source/WebKit/blackberry:

Fix the following warnings for BlackBerry:
BackingStore.cpp:852:60: warning: suggest parentheses around '&&' within
'||' [-Wparentheses].
WebPage.cpp:2858:40: warning: suggest parentheses around assignment used
as truth value [-Wparentheses].
WebPage.cpp:2880:42: warning: suggest parentheses around assignment used
as truth value [-Wparentheses]

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::adjustRectOffsetForFrameOffset):
(BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):

Tools:

Fix the following warnings for BlackBerry:
DumpRenderTree.cpp:357:42: warning: suggest parentheses around assignment
used as truth value [-Wparentheses].

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):

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

6 years agoIn-band captions not visible immediately after track mode change
eric.carlson@apple.com [Fri, 10 May 2013 21:11:51 +0000 (21:11 +0000)]
In-band captions not visible immediately after track mode change
https://bugs.webkit.org/show_bug.cgi?id=115922

Reviewed by Dean Jackson.

Source/WebCore:

Test: media/track/track-in-band-mode.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackModeChanged): Add cues for all loaded tracks, regardless
    of track type.

LayoutTests:

* media/track/track-in-band-mode-expected.txt: Added.
* media/track/track-in-band-mode.html: Added.

* platform/efl/TestExpectations: Skip new test.
* platform/gtk/TestExpectations: Ditto.
* platform/mac/TestExpectations: Ditto.
* platform/qt/TestExpectations: Ditto.
* platform/win/TestExpectations: Ditto.

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

6 years agoWeb Inspector: determine the resource type in InspectorResourceAgent::willSendRequest.
timothy@apple.com [Fri, 10 May 2013 20:54:54 +0000 (20:54 +0000)]
Web Inspector: determine the resource type in InspectorResourceAgent::willSendRequest.

This allows the Network timeline and Resources sidebar to filter Resources earlier,
before the server sends a response. Useful for long polling (comet) XHRs.

https://webkit.org/b/74935
rdar://problem/13726105

Reviewed by Joseph Pecoraro.

* inspector/Inspector.json:
(Network.requestWillBeSent): Added.
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willSendRequest): Send the type if it isn't Other along in requestWillBeSent.
(WebCore::InspectorResourceAgent::didReceiveResponse): Don't determine the type here anymore. Clear the CachedResource
if isNotModified like the old code path did by not setting cachedResource if !isNotModified.

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

6 years agoUnify plug-in information dictionaries
weinig@apple.com [Fri, 10 May 2013 20:46:12 +0000 (20:46 +0000)]
Unify plug-in information dictionaries
<rdar://problem/13852080>
https://bugs.webkit.org/show_bug.cgi?id=115891

Reviewed by Anders Carlsson.

This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier
and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient.

All the old keys will continue to work, but have been deprecated in favor of new keys defined in
WKPluginInformation.h

* Shared/API/c/WKPluginInformation.cpp: Added.
* Shared/API/c/WKPluginInformation.h: Added.
Export new keys as SPI.

* Shared/Plugins/Netscape/PluginInformation.h: Added.
* Shared/Plugins/Netscape/PluginInformation.cpp: Added.
(WebKit::pluginInformationBundleIdentifierKey):
(WebKit::pluginInformationBundleVersionKey):
(WebKit::pluginInformationPathKey):
(WebKit::pluginInformationDisplayNameKey):
(WebKit::pluginInformationDefaultLoadPolicyKey):
(WebKit::pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
(WebKit::pluginInformationHasSandboxProfileKey):
(WebKit::pluginInformationFrameURLKey):
(WebKit::pluginInformationMIMETypeKey):
(WebKit::pluginInformationPageURLKey):
(WebKit::pluginInformationPluginspageAttributeURLKey):
(WebKit::pluginInformationPluginURLKey):
Add new keys.

(WebKit::pluginModuleInformation):
(WebKit::createPluginInformationDictionary):
Add creation functions to simplify multiple sites.

* Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added.
(WebKit::platformPluginModuleInformation):
Add platform specific data to the dictionary.

* UIProcess/API/C/WKPage.cpp:
(WKPageGetPluginInformationBundleIdentifierKey):
(WKPageGetPluginInformationBundleVersionKey):
(WKPageGetPluginInformationDisplayNameKey):
(WKPageGetPluginInformationFrameURLKey):
(WKPageGetPluginInformationMIMETypeKey):
(WKPageGetPluginInformationPageURLKey):
(WKPageGetPluginInformationPluginspageAttributeURLKey):
(WKPageGetPluginInformationPluginURLKey):
* UIProcess/API/C/WKPage.h:
Deprecate the old keys.

* UIProcess/API/C/mac/WKContextPrivateMac.h:
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextCopyPlugInInfoForBundleIdentifier):
(WKContextGetInfoForInstalledPlugIns):
Simplify by using the new createPluginInformationDictionary functions.

(WKPlugInInfoPathKey):
(WKPlugInInfoBundleIdentifierKey):
(WKPlugInInfoVersionKey):
(WKPlugInInfoLoadPolicyKey):
(WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
(WKPlugInInfoIsSandboxedKey):
Deprecate the old keys.

* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didFailToInitializePlugin):
(WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
(WebKit::WebLoaderClient::pluginLoadPolicy):
* UIProcess/WebLoaderClient.h:
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::unavailablePluginButtonClicked):
* UIProcess/WebUIClient.h:
Optimize for the most recent callback type which takes a dictionary,
and pull out the necessary bits from it for deprecated callbacks as necessary.

* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::unavailablePluginButtonClicked):
(WebKit::WebPageProxy::didFailToInitializePlugin):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
Use createPluginInformationDictionary() consistently, to get consistent results for callbacks.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

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

6 years agoWeb Inspector: implement runOpenPanel callback for WebKit2 inspector
commit-queue@webkit.org [Fri, 10 May 2013 20:35:04 +0000 (20:35 +0000)]
Web Inspector: implement runOpenPanel callback for WebKit2 inspector
https://bugs.webkit.org/show_bug.cgi?id=115865

Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-05-10
Reviewed by Sam Weinig.

* UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::inspectorWindow):
Add an accessor for m_inspectorWindow.

* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::runOpenPanel):
Show the open panel dialog when requested.

(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Register the callback when the inspector page is created.

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

6 years ago[WK2][CoordinatedGraphics] WKViewSetThemePath is EFL specific
commit-queue@webkit.org [Fri, 10 May 2013 20:34:16 +0000 (20:34 +0000)]
[WK2][CoordinatedGraphics] WKViewSetThemePath is EFL specific
https://bugs.webkit.org/show_bug.cgi?id=115928

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2013-05-10
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

WKViewSetThemePath was moved to WKViewEfl.h since it is EFL specific.

* UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
* UIProcess/API/C/CoordinatedGraphics/WKView.h:
* UIProcess/API/C/efl/WKViewEfl.cpp:
(WKViewSetThemePath):
* UIProcess/API/C/efl/WKViewEfl.h:
* UIProcess/CoordinatedGraphics/WebView.cpp:
* UIProcess/CoordinatedGraphics/WebView.h:
(WebView):
* UIProcess/efl/ViewClientEfl.cpp:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
* UIProcess/efl/WebViewEfl.cpp:
(WebKit::WebViewEfl::setThemePath):
* UIProcess/efl/WebViewEfl.h:
(WebViewEfl):

Tools:

WKViewSetThemePath was moved to WKViewEfl.h.

* TestWebKitAPI/efl/PlatformWebView.cpp:

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

6 years agoUnreviewed mac-lion rebaselines.
roger_fong@apple.com [Fri, 10 May 2013 19:24:07 +0000 (19:24 +0000)]
Unreviewed mac-lion rebaselines.

* platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:

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

6 years ago[CMake] Consolidate list of files to build for WebCore plugin support
l.gombos@samsung.com [Fri, 10 May 2013 19:10:01 +0000 (19:10 +0000)]
[CMake] Consolidate list of files to build for WebCore plugin support
https://bugs.webkit.org/show_bug.cgi?id=104429

Reviewed by Rob Buis.

Move the common files to support plugins and the logic for disabling
plugins) to CMakeLists.txt from PlatformXXX.cmake.

No new tests as there is no new functionality.

* CMakeLists.txt:
* PlatformBlackBerry.cmake:
* PlatformEfl.cmake:
* PlatformWinCE.cmake:

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

6 years agoREGRESSION(r148121): Empty Span does not get a linebox when it's in an anonymous...
robert@webkit.org [Fri, 10 May 2013 19:02:56 +0000 (19:02 +0000)]
REGRESSION(r148121): Empty Span does not get a linebox when it's in an anonymous block
https://bugs.webkit.org/show_bug.cgi?id=115818

Reviewed by David Hyatt.

Source/WebCore:

r148121 only worried about split inlines inside anonymous blocks - it ought to have
catered for empty inlines, with no continuations, inside a single solitary anonymous block too.

Test: fast/inline/anonymous-block-with-empty-inline.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::hasInlineDirectionBordersPaddingOrMargin):

LayoutTests:

* fast/inline/anonymous-block-with-empty-inline-expected.txt: Added.
* fast/inline/anonymous-block-with-empty-inline.html: Added.

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

6 years ago[GTK] Remove unnecessary includes in WidgetGtk.cpp
zandobersek@gmail.com [Fri, 10 May 2013 18:39:53 +0000 (18:39 +0000)]
[GTK] Remove unnecessary includes in WidgetGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=115912

Reviewed by Andreas Kling.

No new tests - no new functionality.

* platform/gtk/WidgetGtk.cpp: Remove the unnecessary includes of the Chrome.h, Frame.h, FrameView.h,
Page.h and RenderObject.h headers as the included declarations are not used anywhere. ScrollView.h is
included instead as it is required and was previously included by one of the removed header inclusions.

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

6 years ago[Cairo] Remove the unnecessary ImageData.h include in ImageBufferCairo.cpp
zandobersek@gmail.com [Fri, 10 May 2013 18:38:54 +0000 (18:38 +0000)]
[Cairo] Remove the unnecessary ImageData.h include in ImageBufferCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=115911

Reviewed by Carlos Garcia Campos.

No new tests - no new functionality.

* platform/graphics/cairo/ImageBufferCairo.cpp: Remove the ImageData.h include
as the included declarations are not used anywhere.

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

6 years ago[Cairo] Remove the unnecessary CSSParser.h include in GradientCairo.cpp
zandobersek@gmail.com [Fri, 10 May 2013 18:37:57 +0000 (18:37 +0000)]
[Cairo] Remove the unnecessary CSSParser.h include in GradientCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=115910

Reviewed by Laszlo Gombos.

No new tests - no new functionality.

* platform/graphics/cairo/GradientCairo.cpp: Remove the CSSParser.h include
as the included declarations are not used anywhere.

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

6 years agoInclude tab character as a word end for kerning
dino@apple.com [Fri, 10 May 2013 18:20:28 +0000 (18:20 +0000)]
Include tab character as a word end for kerning
https://bugs.webkit.org/show_bug.cgi?id=115915
<rdar://problem/13861491>

Reviewed by Enrica Casucci.

This is a follow-up to https://bugs.webkit.org/show_bug.cgi?id=112507
which only looked for a space character as a word end. It should
look for tab characters too.

Source/WebCore:

Test: fast/text/word-space-with-kerning-4.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun): Look for '\t'.

LayoutTests:

* fast/text/word-space-with-kerning-4-expected.html: Added.
* fast/text/word-space-with-kerning-4.html: Added.

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

6 years agoI accidentally the Java testing.
akling@apple.com [Fri, 10 May 2013 17:48:09 +0000 (17:48 +0000)]
I accidentally the Java testing.

* Scripts/webkitpy/port/mac.py:

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

6 years agoRemove EventTracer
andersca@apple.com [Fri, 10 May 2013 17:39:28 +0000 (17:39 +0000)]
Remove EventTracer
https://bugs.webkit.org/show_bug.cgi?id=115916

Reviewed by Sam Weinig.

EventTracer is dead code, remove it.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/EventTracer.cpp: Removed.
* platform/EventTracer.h: Removed.

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

6 years ago[GTK] Generated files are regenerated always
zandobersek@gmail.com [Fri, 10 May 2013 17:36:29 +0000 (17:36 +0000)]
[GTK] Generated files are regenerated always
https://bugs.webkit.org/show_bug.cgi?id=115908

Reviewed by Carlos Garcia Campos.

No new tests - no change in functionality.

* GNUmakefile.am: Don't treat the window constructors IDL file as a dependency of the JavaScriptCore bindings.
The file is generated during the IDL preprocessing, and the JSC bindings already depend on that step through
the idl_supplemental_dependencies file. Because of that the window constructors IDL file has a phony target
which seems to confuse the bindings generation rule into thinking that a complete regeration of the bindings is required.

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

6 years agoCaching of generated images in CSS should be smarter.
akling@apple.com [Fri, 10 May 2013 17:34:36 +0000 (17:34 +0000)]
Caching of generated images in CSS should be smarter.
<http://webkit.org/b/115902>
<rdar://problem/13542727>

Reviewed by Antti Koivisto.

Add an IntSize => GeneratorGeneratedImage cache at the CSSImageGeneratorValue level.

CSSGradientValue is currently the only CSSImageGeneratorValue subclass that makes use of the cache.
Generated images are kept for 3 seconds after last use.

The main problem with the previous approach was that background renderers (e.g <body>, <tr>, etc)
would be passed to multiple CSSImageGeneratorValue::getImage() calls with different sizes requested
for each of the descendent renderers that inherit their background from the same parent.
The cache wasn't smart enough for this, it just thought the background renderer was changing size
a lot, and would regenerate the image over and over.

We already had caching of intermediate image buffers for GeneratorGeneratedImage::drawPattern().
This removes the eviction timer from that cache so that the intermediate images can live a bit longer.

(WebCore::CSSImageGeneratorValue::cachedImageForSize):
(WebCore::CSSImageGeneratorValue::saveCachedImageForSize):

    Renamed from getImage() and putImage().

(WebCore::CSSImageGeneratorValue::evictCachedGeneratedImage):
(WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
(WebCore::CSSImageGeneratorValue::CachedGeneratedImage::evictionTimerFired):

    Let the CachedGeneratedImage throw itself out from cache when the timer fires.

* css/CSSImageGeneratorValue.h:
(CachedGeneratedImage):

    Exactly what it sounds like. These go into CSSImageGeneratorValue::m_images with the size
    as the hash key.

* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::drawPattern):
* platform/graphics/GeneratorGeneratedImage.h:
(WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
(WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):

    Keep the intermediate image for drawPattern() until destruction instead of dropping it on
    a timer. These objects are now evicted by the CSSImageGeneratorValue's image cache
    after 3 seconds of disuse rather than kept for the lifetime of the renderer.

* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::canvasChanged):
(WebCore::CSSCanvasValue::canvasResized):
* css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::crossfadeChanged):
* rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::addClient):
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::addClient):
(WebCore::CSSImageGeneratorValue::removeClient):

    CSSImageGeneratorValue::m_clients is now a HashCountedSet<RenderObject*>, tweak accordingly.

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

6 years agoREGRESSION (r149439): Video turns blank upon entering full screen for the first time
jer.noble@apple.com [Fri, 10 May 2013 17:20:59 +0000 (17:20 +0000)]
REGRESSION (r149439): Video turns blank upon entering full screen for the first time
https://bugs.webkit.org/show_bug.cgi?id=115617

Reviewed by Eric Carlson.

Partially revert the change introduced in r149439 for OS X 10.8 and previous. On these
platforms, create a window with a NSZeroSize initial frame, which fixes the "blank"
first-full screen behavior.

* UIProcess/API/mac/WKView.mm:
(-[WKView createFullScreenWindow]):

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

6 years ago[WK2] Make the WebSoupRequestManager a supplement to the WebProcess
zandobersek@gmail.com [Fri, 10 May 2013 17:16:54 +0000 (17:16 +0000)]
[WK2] Make the WebSoupRequestManager a supplement to the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=115717

Reviewed by Andreas Kling.

WebSoupRequestManager should inherit from WebProcessSupplement and should be used as such
by the WebProcess. This removes the need for the m_soupRequestManager member variable in
the WebProcess class and brings the WebSoupRequestManager in line with other manager classes
of which instances are controlled by the WebProcess class.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Add  the WebSoupRequestManager as a supplement.
* WebProcess/WebProcess.h:
(WebProcess): Remove the m_soupRequestManager member variable and its getter method.
* WebProcess/soup/WebKitSoupRequestGeneric.cpp:
(webkitSoupRequestGenericSendAsync): Access the WebSoupRequestManager as a supplement.
(webkitSoupRequestGenericSendFinish): Ditto.
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Access the WebSoupRequestManager as a supplement.
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestManager::supplementName): Specify the supplement's name.
* WebProcess/soup/WebSoupRequestManager.h:
(WebSoupRequestManager): Inherit from the WebProcessSupplement interface.

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

6 years ago[GTK] Module Cairo fails to build under jhbuild
commit-queue@webkit.org [Fri, 10 May 2013 17:04:33 +0000 (17:04 +0000)]
[GTK] Module Cairo fails to build under jhbuild
https://bugs.webkit.org/show_bug.cgi?id=115854

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

Make cairo depend on glib in jhbuild.modules.

* gtk/jhbuild.modules:

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

6 years agoRemove MemoryUsageSupport class
andersca@apple.com [Fri, 10 May 2013 17:03:47 +0000 (17:03 +0000)]
Remove MemoryUsageSupport class
https://bugs.webkit.org/show_bug.cgi?id=115913

Reviewed by Andreas Kling.

MemoryUsageSupport was just used by a single call site in InspectorTimelineAgent,
and the function called always returns zero on all platforms! Remove it.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorMemoryAgent.cpp:
* inspector/InspectorTimelineAgent.cpp:
(WebCore):
(WebCore::InspectorTimelineAgent::setNativeHeapStatistics):
* platform/MemoryUsageSupport.cpp: Removed.
* platform/MemoryUsageSupport.h: Removed.
* platform/qt/MemoryUsageSupportQt.cpp: Removed.

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

6 years agoREGRESSION (r149652): Videos do not play on cnn.com, just black box
rniwa@webkit.org [Fri, 10 May 2013 16:38:21 +0000 (16:38 +0000)]
REGRESSION (r149652): Videos do not play on cnn.com, just black box
https://bugs.webkit.org/show_bug.cgi?id=115887

Reviewed by Antti Koivisto.

Source/WebCore:

The bug was caused by window and document named item maps counting the same element twice
when it has the same id and name attribute values. Fixed the bug by avoiding to add or remove
an element per id and name attribute updates when it had already been added or removed by
name and id attribute updates respectively.

We do this by checking whether the other attribute affects the element's precense in window
and document named item maps and avoiding to add or remove the attribute when they do and
the other attribute is present in updateId and updateName.

Consider a scenario when an object element has id "foo", and name attribute is about to be also
set to "foo". If the id attribute doesn't affect element's presense in window or document
named item maps, we're done. If it does, then the maps already have this element so we don't
want to add it again. Conversely, if the element already has id and name attributes set to
"foo", and we're moving the id attribute, then we want to remove the element from the maps only
if the id doesn't affect the presence of the element in the maps.

Unfortuntely, this logic doesn't work when we're inserting or removing an element on its entirely
because updateId and updateName are called when both id and name attributes are present so skip
this step (AlwaysUpdateHTMLDocumentNamedItemMaps) for the id attribute to break the symmetry.

Test: fast/dom/HTMLDocument/image-with-same-id-and-name.html
      fast/dom/HTMLDocument/object-with-same-id-and-name.html

* dom/Element.cpp:
(WebCore::Element::insertedInto): Call updateId and updateName with
AlwaysUpdateHTMLDocumentNamedItemMaps.
(WebCore::Element::removedFrom): Ditto.
(WebCore::Element::updateName): Don't add or remove this element if the id attribute has already
done so except when we're inserting, removing, or cloning an element.
(WebCore::Element::updateId): Ditto for the name attribute.
(WebCore::Element::cloneAttributesFromElement): Added a comment and assert that we never call this
function when this element is in the document. We can't update window and documemt named item
maps here because image element's id attribute value, for example, is present in the document's
named item map if it has a name attribute. Since this function calls updateId and updateName
before updating attributes, this check is going to fail in DocumentNameCollection's
nodeMatchesIfIdAttributeMatch and bad things will happen.

* dom/Element.h:

* editing/ReplaceNodeWithSpanCommand.cpp:
(WebCore::swapInNodePreservingAttributesAndChildren): Clone children and attributes before
inserting the swapped span to avoid hitting the assertion in cloneAttributesFromElement we added.

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):

* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateDocNamedItem):

LayoutTests:

Add regression tests.

* fast/dom/HTMLDocument/image-with-same-id-and-name-expected.txt: Added.
* fast/dom/HTMLDocument/image-with-same-id-and-name.html: Added.
* fast/dom/HTMLDocument/object-with-same-id-and-name-expected.txt: Added.
* fast/dom/HTMLDocument/object-with-same-id-and-name.html: Added.

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

6 years agoDon't trust character widths for internal OS X fonts in form controls
dino@apple.com [Fri, 10 May 2013 16:18:31 +0000 (16:18 +0000)]
Don't trust character widths for internal OS X fonts in form controls
https://bugs.webkit.org/show_bug.cgi?id=115883
<rdar://problem/13817757>

Reviewed by Darin Adler.

We ignore the character width for a bunch of fonts when predicting
the width of a form control. Some of the internal fonts in OS X are
not in the ignored list. Rather than add them, simply test for
fonts whose family begins with a period character ".".

* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::hasValidAvgCharWidth): Return false for
    any family that starts with "."

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

6 years ago[GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
carlosgc@webkit.org [Fri, 10 May 2013 16:11:20 +0000 (16:11 +0000)]
[GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
https://bugs.webkit.org/show_bug.cgi?id=115904

Reviewed by Martin Robinson.

Source/WebCore:

* bindings/gobject/WebKitDOMEventTarget.cpp:
* platform/gtk/GtkVersioning.c:
* platform/gtk/GtkVersioning.h:

Source/WebKit2:

* UIProcess/API/gtk/tests/TestInspectorServer.cpp:
(startTestServerMonitor):
* UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
(startTestServerMonitor):

Source/WTF:

* wtf/gobject/GRefPtr.cpp:

Tools:

* ImageDiff/gtk/ImageDiff.cpp:
(main):

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

6 years agoUnreviewed. Fix the ENABLE(SHARED_WORKERS) build after r149864.
zarvai@inf.u-szeged.hu [Fri, 10 May 2013 16:01:35 +0000 (16:01 +0000)]
Unreviewed. Fix the ENABLE(SHARED_WORKERS) build after r149864.

* workers/SharedWorkerThread.cpp: include "SecurityOrigin.h"

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

6 years agoAdd my new address to contributors.json. (Unreviewed)
kbalazs@webkit.org [Fri, 10 May 2013 15:27:25 +0000 (15:27 +0000)]
Add my new address to contributors.json. (Unreviewed)

* Scripts/webkitpy/common/config/contributors.json:

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

6 years agoFix build after r149864.
csaavedra@igalia.com [Fri, 10 May 2013 14:05:17 +0000 (14:05 +0000)]
Fix build after r149864.

Unreviewed build fix.

* loader/ThreadableLoader.h: include <wtf/text/AtomicString.h>
when building with RESOURCE_TIMING enabled.

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

6 years agoUnreviewed. Move myself to the reviewers list.
ch.dumez@sisa.samsung.com [Fri, 10 May 2013 13:19:58 +0000 (13:19 +0000)]
Unreviewed. Move myself to the reviewers list.

* Scripts/webkitpy/common/config/contributors.json:

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

6 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Fri, 10 May 2013 13:16:40 +0000 (13:16 +0000)]
Unreviewed EFL gardening.

Rebaseline fast/dom/Range/getClientRects.html for EFL port.
Skip accessibility/poorly-formed-aria-table.html introduced in
r149858 but failing on EFL port.

* platform/efl/TestExpectations:
* platform/efl/fast/dom/Range/getClientRects-expected.txt:

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

6 years agoFix build.
andersca@apple.com [Fri, 10 May 2013 13:00:02 +0000 (13:00 +0000)]
Fix build.

* bindings/js/ScriptController.cpp:

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

6 years ago[Qt] Unreviewed gardening.
zarvai@inf.u-szeged.hu [Fri, 10 May 2013 12:53:54 +0000 (12:53 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/fast/js/global-constructors-attributes-expected.txt: Rebaselining after r149845.
* platform/qt/inspector/console/command-line-api-expected.txt: Added after r149829.

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

6 years agoRemove ScriptInstance.h
andersca@apple.com [Fri, 10 May 2013 12:51:58 +0000 (12:51 +0000)]
Remove ScriptInstance.h
https://bugs.webkit.org/show_bug.cgi?id=115900

Reviewed by Andreas Kling.

Remove yet another abstraction now that we don't support V8.

* GNUmakefile.list.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptController.h:
(Bindings):
(ScriptController):
* bindings/js/ScriptControllerMac.mm:
(WebCore::ScriptController::createScriptInstanceForWidget):
* bindings/js/ScriptInstance.h: Removed.
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::getInstance):
* html/HTMLPlugInElement.h:
(Bindings):
(HTMLPlugInElement):
* platform/graphics/wince/MediaPlayerProxy.h:
(WebMediaPlayerProxy):
* rendering/RenderEmbeddedObject.cpp:
* rendering/RenderSnapshottedPlugIn.cpp:

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

6 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Fri, 10 May 2013 12:49:22 +0000 (12:49 +0000)]
Unreviewed EFL gardening.

Skip several remaining shadow dom tests and rebaseline a few others.

* platform/efl/TestExpectations:
* platform/efl/fast/images/crossfade-client-not-removed-crash-expected.txt: Added.
* platform/efl/fast/js/dom-static-property-for-in-iteration-expected.txt:
* platform/efl/inspector/console/command-line-api-expected.txt: Added.

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

6 years agoUnreviewed, rolling out r149866.
andersca@apple.com [Fri, 10 May 2013 12:22:43 +0000 (12:22 +0000)]
Unreviewed, rolling out r149866.
http://trac.webkit.org/changeset/149866
https://bugs.webkit.org/show_bug.cgi?id=115898

Broke tests

* dom/Document.cpp:
(WebCore::Document::setDomain):
(WebCore::Document::initSecurityContext):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::isolatedCopy):
(WebCore::SecurityOrigin::setDomainFromDOM):
(WebCore::SecurityOrigin::grantUniversalAccess):
* page/SecurityOrigin.h:
(SecurityOrigin):

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

6 years agoUnreviewed. Add my email to a few watchlists.
ch.dumez@sisa.samsung.com [Fri, 10 May 2013 12:21:02 +0000 (12:21 +0000)]
Unreviewed. Add my email to a few watchlists.

* Scripts/webkitpy/common/config/watchlist:

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

6 years agoRemove overflow dead code
abucur@adobe.com [Fri, 10 May 2013 12:17:14 +0000 (12:17 +0000)]
Remove overflow dead code
https://bugs.webkit.org/show_bug.cgi?id=115893

Reviewed by Antti Koivisto.

The patch removes unused public overflow accesor functions from RenderOverflow and InlineFlowBox.

Tests: no tests, code cleanup.

* rendering/InlineFlowBox.h: Removed logicalLeftLayoutOverflow and logicalRightLayoutOverflow.
* rendering/RenderOverflow.h: Removed setMinYLayoutOverflow, setMaxYLayoutOverflow,
    setMinXLayoutOverflow, setMaxXLayoutOverflow, setMinYVisualOverflow, setMaxYVisualOverflow,
    setMinXVisualOverflow and setMaxXVisualOverflow.

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

6 years agoBegin making SecurityOrigin immutable
andersca@apple.com [Fri, 10 May 2013 11:59:15 +0000 (11:59 +0000)]
Begin making SecurityOrigin immutable
https://bugs.webkit.org/show_bug.cgi?id=115898

Reviewed by Andreas Kling.

Replace SecurityOrigin::setDomainFromDOM and SecurityOrigin::grantUniversalAccess with
member functions that return new SecurityOrigin objects.

* dom/Document.cpp:
(WebCore::Document::setDomain):
Update the security origin to one returned by copyWithDomainSetFromDOM.

(WebCore::Document::initSecurityContext):
Set the security origin to one returned by copyWithUniversalAccessGranted().

* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
Add a new constructor that takes all the member variables as parameters. This is a little unwieldy at the moment,
but all the boolean parameters could be replaced by a bitmask of flags.

(WebCore::SecurityOrigin::isolatedCopy):
Call the new constructor.

(WebCore::SecurityOrigin::copyWithDomainSetFromDOM):
Return a new security origin with m_domainWasSetInDOM set to true and the domain updated.

(WebCore::SecurityOrigin::copyWithUniversalAccessGranted):
Return a new security origin with m_universalAccess set to true.

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

6 years agoRemove ScriptController::updateSecurityOrigin
andersca@apple.com [Fri, 10 May 2013 11:18:10 +0000 (11:18 +0000)]
Remove ScriptController::updateSecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=115895

Reviewed by Antti Koivisto.

ScriptController::updateSecurityOrigin is just dead code now that the V8 bindings are gone.

* bindings/js/ScriptController.cpp:
* bindings/js/ScriptController.h:
* dom/Document.cpp:
(WebCore::Document::setIsViewSource):
(WebCore::Document::setDomain):
* dom/Document.h:
(Document):
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::enforceSandboxFlags):
* dom/SecurityContext.h:
(SecurityContext):

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

6 years agoStop including SecurityOrigin.h where unnecessary
andersca@apple.com [Fri, 10 May 2013 11:12:41 +0000 (11:12 +0000)]
Stop including SecurityOrigin.h where unnecessary
https://bugs.webkit.org/show_bug.cgi?id=115897

Reviewed by Antti Koivisto.

Move rarely called functions out of line so headers don't have to include SecurityOrigin.h

* Modules/indexeddb/IDBFactoryBackendImpl.h:
* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::databaseDebugName):
* Modules/webdatabase/DatabaseBackendBase.h:
(DatabaseBackendBase):
* Modules/webdatabase/DatabaseSync.h:
* bindings/js/JSDOMWindowCustom.h:
* html/parser/XSSAuditor.cpp:
* loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
(WebCore::ThreadableLoaderOptions::~ThreadableLoaderOptions):
(WebCore::ThreadableLoader::create):
* loader/ThreadableLoader.h:
(ThreadableLoaderOptions):
* loader/WorkerThreadableLoader.cpp:
* workers/DedicatedWorkerContext.cpp:
* workers/DedicatedWorkerThread.cpp:
* workers/SharedWorkerContext.cpp:
* workers/WorkerThread.cpp:
* workers/WorkerThread.h:

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

6 years agoUnicode support missing from string representation of Contributors in committers.py
commit-queue@webkit.org [Fri, 10 May 2013 08:45:02 +0000 (08:45 +0000)]
Unicode support missing from string representation of Contributors in committers.py
https://bugs.webkit.org/show_bug.cgi?id=115859

Patch by Simon Pena <simon.pena@samsung.com> on 2013-05-10
Reviewed by Darin Adler.

Contributors, in committers.py, provided a string representation in __str__ which
didn't support unicode characters, so printing a contributor would fail in that case.
This patch implements __unicode__ and makes __str__ use it to represent a contributor.
The unit tests are updated accordingly, so they ensure that a unicode name can be shown.

* Scripts/webkitpy/common/config/committers.py: Move the existing string representation
to the newly implemented method __unicode__, and make __str__ display its utf-8 encoded
representation.
(Contributor.__str__):
(Contributor):
(Contributor.__unicode__):
* Scripts/webkitpy/common/config/committers_unittest.py: Add a new test that checks that
a contributor with unicode characters can be represented as a string.
(CommittersTest):
(CommittersTest.test_contributor_encoding):

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

6 years agoUnreviewed. Fix GTK+ build after r149839.
carlosgc@webkit.org [Fri, 10 May 2013 07:41:23 +0000 (07:41 +0000)]
Unreviewed. Fix GTK+ build after r149839.

* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::gtkStyleChangedCallback):

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

6 years agoUnskipped the webarchive tests for Mac that are not skipped for a reason other than
commit-queue@webkit.org [Fri, 10 May 2013 01:46:32 +0000 (01:46 +0000)]
Unskipped the webarchive tests for Mac that are not skipped for a reason other than
dumpDOMAsWebArchive not being implemented, which was fixed in r149692.
https://bugs.webkit.org/show_bug.cgi?id=115819

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-09
Reviewed by Benjamin Poulain.

* platform/efl-wk2/TestExpectations:
Skip webarchive tests.
* platform/gtk-wk2/TestExpectations:
Skip webarchive tests.
* platform/qt-5.0-mac-wk2/TestExpectations:
Skip webarchive tests.
* platform/qt-5.0-wk2/TestExpectations:
Skip webarchive tests.
* platform/wk2/TestExpectations:
Removed universal skipping of webarchive tests, noted which tests are still skipped with bug numbers.

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

6 years agoAX: VoiceOver is no longer seeing items in poorly formed tables
cfleizach@apple.com [Fri, 10 May 2013 00:57:24 +0000 (00:57 +0000)]
AX: VoiceOver is no longer seeing items in poorly formed tables
https://bugs.webkit.org/show_bug.cgi?id=115837

Reviewed by Darin Adler.

Source/WebCore:

In case the author didn't include the rows of a table as the
direct children, a table needs to dive down its descendant chain
until the rows are found.

I also took the opportunity to clean up a bit around what the different
meanings of table are in the accessibility classes.

Test: accessibility/poorly-formed-aria-table.html

* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addRowDescendant):
(WebCore::AccessibilityARIAGrid::addChildren):
* accessibility/AccessibilityARIAGrid.h:
(AccessibilityARIAGrid):
* accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::parentTable):
(WebCore):
* accessibility/AccessibilityARIAGridRow.h:
(AccessibilityARIAGridRow):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isTable):
* accessibility/AccessibilityTable.h:
(AccessibilityTable):
(WebCore::AccessibilityTable::isTable):
(WebCore::toAccessibilityTable):
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::parentTable):

LayoutTests:

* accessibility/poorly-formed-aria-table-expected.txt: Added.
* accessibility/poorly-formed-aria-table.html: Added.

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

6 years ago[Qt] REGRESSION (r148975) shape-inside-percentage.html and shape-inside-overflow...
zoltan@webkit.org [Fri, 10 May 2013 00:12:25 +0000 (00:12 +0000)]
[Qt] REGRESSION (r148975) shape-inside-percentage.html and shape-inside-overflow-fixed-dimensions.html are failing after r148975
https://bugs.webkit.org/show_bug.cgi?id=115053

Reviewed by Alexandru Chiculita.

I changed the tests to use Ahem font (overflow will be the same on every port) and modify the markup in order to be the similar
for the two tests. The change fixes both tests and make them passing on Qt as well. I removed the tests from the TestExpectations.

* fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-expected.html:
* fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html:
* fast/exclusions/shape-inside/shape-inside-percentage-expected.html:
* fast/exclusions/shape-inside/shape-inside-percentage.html:
* platform/qt/TestExpectations:

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

6 years agoREGRESSION: Disabled multiline select element now responds to (certain) clicks
commit-queue@webkit.org [Thu, 9 May 2013 23:55:24 +0000 (23:55 +0000)]
REGRESSION: Disabled multiline select element now responds to (certain) clicks
https://bugs.webkit.org/show_bug.cgi?id=115710

Patch by Yael Aharon <yael.aharon@intel.com> on 2013-05-09
Reviewed by Kent Tamura.

Source/WebCore:

After http://trac.webkit.org/changeset/140286, select elements can scroll whether they
are disabled or not. While they scroll, they also change the selected item.
This patch allows the select element to scroll, but does not change the selection
if the select element is disabled.

Test: fast/forms/select/listbox-disabled-scroll-no-onchange.html
Test: fast/forms/select/listbox-disabled-no-autoscroll.html

* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::autoscroll):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::stopAutoscroll):

LayoutTests:

Test that a disabled element does not change selection while scrolling.

* fast/forms/select/listbox-disabled-scroll-no-onchange-expected.txt: Added.
* fast/forms/select/listbox-disabled-scroll-no-onchange.html: Added.
* fast/forms/select/listbox-disabled-no-autoscroll.html: Added.
* fast/forms/select/listbox-disabled-no-autoscroll-expected.html: Added.

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

6 years ago[WIN][DRT] Remove duplicated (start|stop)JavaScriptThreads()
paroga@webkit.org [Thu, 9 May 2013 23:47:54 +0000 (23:47 +0000)]
[WIN][DRT] Remove duplicated (start|stop)JavaScriptThreads()
https://bugs.webkit.org/show_bug.cgi?id=92371

Reviewed by Brent Fulgham.

Use JavaScriptThreading.cpp where the same functionality is
implemented too. This reduces the dependency on the pthread
library. Also replace assert() with WebKit ASSERT().

* DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTree.vcxproj:
* DumpRenderTree/win/DumpRenderTree.cpp:
(dumpHistoryItem):
(dumpBackForwardList):
* DumpRenderTree/win/DumpRenderTree.vcproj:

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

6 years agoClean up SecurityOrigin::databaseIdentifier
andersca@apple.com [Thu, 9 May 2013 23:41:26 +0000 (23:41 +0000)]
Clean up SecurityOrigin::databaseIdentifier
https://bugs.webkit.org/show_bug.cgi?id=115882

Reviewed by Beth Dakin.

Remove m_encodedHost and just call encodeHost from databaseIdentifier().
Also, use a StringBuilder when constructing the database identifier to avoid allocating
temporary String objects over and over.

* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore):
(WebCore::SecurityOrigin::createFromDatabaseIdentifier):
(WebCore::SecurityOrigin::databaseIdentifier):
* page/SecurityOrigin.h:
(SecurityOrigin):

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

6 years agoRemove m_securityOrigin from XMLHttpRequest
andersca@apple.com [Thu, 9 May 2013 23:21:25 +0000 (23:21 +0000)]
Remove m_securityOrigin from XMLHttpRequest
https://bugs.webkit.org/show_bug.cgi?id=115881

Reviewed by Alexey Proskuryakov.

The security origin passed to XMLHttpRequest::create was always null, so just get rid of the member variable completely.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::create):
(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::securityOrigin):
* xml/XMLHttpRequest.h:
(XMLHttpRequest):

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

6 years agoFix build.
andersca@apple.com [Thu, 9 May 2013 23:03:06 +0000 (23:03 +0000)]
Fix build.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

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

6 years agoUnreviewed build fix after r149836.
ch.dumez@sisa.samsung.com [Thu, 9 May 2013 22:40:44 +0000 (22:40 +0000)]
Unreviewed build fix after r149836.

It broke at least EFL and GTK builds. Move new static members initialization
outside the class. Those need to have a definition outside the class because
their address is used (e.g. CodeCacheMap::nonGlobalWorkingSetMaxEntries).

* runtime/CodeCache.cpp:
(JSC):
* runtime/CodeCache.h:
(CodeCacheMap):

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

6 years agoEnable UI process storage
andersca@apple.com [Thu, 9 May 2013 22:39:21 +0000 (22:39 +0000)]
Enable UI process storage
https://bugs.webkit.org/show_bug.cgi?id=115879
<rdar://problem/12239765>

Reviewed by Beth Dakin.

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
Flip the switch.

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

6 years agoRemove extra spaces between right angle brackets in template declarations
andersca@apple.com [Thu, 9 May 2013 22:37:49 +0000 (22:37 +0000)]
Remove extra spaces between right angle brackets in template declarations
https://bugs.webkit.org/show_bug.cgi?id=115877

Reviewed by Beth Dakin.

C++11 doesn't require spaces between right angle brackets so remove all of them.

* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::registerBlobURL):
(WebKit::NetworkBlobRegistry::sandboxExtensions):
* NetworkProcess/FileAPI/NetworkBlobRegistry.h:
(NetworkBlobRegistry):
* NetworkProcess/HostRecord.h:
(HostRecord):
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::registerBlobURL):
* NetworkProcess/NetworkConnectionToWebProcess.h:
(NetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::servePendingRequests):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
* NetworkProcess/NetworkResourceLoadScheduler.h:
* NetworkProcess/SchedulableLoader.cpp:
(WebKit::SchedulableLoader::SchedulableLoader):
* NetworkProcess/SchedulableLoader.h:
(SchedulableLoader):
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/Connection.cpp:
(Connection::SyncMessageState):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::processIncomingMessage):
* Platform/CoreIPC/Connection.h:
(Connection):
* Platform/WorkQueue.h:
(WorkQueue):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* Scripts/webkit2/messages_unittest.py:
(CoreIPC):
* Shared/BlockingResponseMap.h:
(BlockingResponseMap):
* Shared/ChildProcessProxy.h:
(ChildProcessProxy):
* Shared/ImmutableArray.cpp:
(WebKit::ImmutableArray::ImmutableArray):
* Shared/ImmutableArray.h:
(WebKit::ImmutableArray::adopt):
(ImmutableArray):
* Shared/ImmutableDictionary.cpp:
(WebKit::ImmutableDictionary::keys):
* Shared/ImmutableDictionary.h:
(ImmutableDictionary):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/SecurityOriginData.cpp:
(WebKit::performAPICallbackWithSecurityOriginDataVector):
* Shared/SessionState.cpp:
* Shared/StatisticsData.h:
(StatisticsData):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebArchive.cpp:
(WebKit::WebArchive::WebArchive):
(WebKit::WebArchive::subresources):
(WebKit::WebArchive::subframeArchives):
* Shared/WebContextMenuItem.cpp:
(WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
* Shared/WebOpenPanelParameters.cpp:
(WebKit::WebOpenPanelParameters::acceptMIMETypes):
(WebKit::WebOpenPanelParameters::selectedFileNames):
* Shared/mac/ArgumentCodersMac.mm:
(CoreIPC::encode):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* UIProcess/API/mac/WKPrintingView.h:
(WebFrameProxy):
* UIProcess/API/mac/WKPrintingView.mm:
(-[WKPrintingView _drawPreview:]):
* UIProcess/API/mac/WKView.mm:
(WebKit):
* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::processDidClose):
* UIProcess/Downloads/DownloadProxyMap.h:
(DownloadProxyMap):
* UIProcess/GeolocationPermissionRequestManagerProxy.h:
(GeolocationPermissionRequestManagerProxy):
* UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
(DynamicLinkerEnvironmentExtractor):
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
(CustomProtocolManagerProxy):
* UIProcess/Network/NetworkProcessProxy.h:
(NetworkProcessProxy):
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
(NotificationPermissionRequestManagerProxy):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
(WebNotificationManagerProxy):
* UIProcess/Plugins/PluginProcessManager.h:
(PluginProcessManager):
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/Plugins/WebPluginSiteDataManager.cpp:
(WebKit::WebPluginSiteDataManager::didGetSitesWithData):
* UIProcess/Plugins/WebPluginSiteDataManager.h:
(WebPluginSiteDataManager):
* UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
(SharedWorkerProcessManager):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
(SharedWorkerProcessProxy):
* UIProcess/StatisticsRequest.cpp:
(WebKit::StatisticsRequest::completedRequest):
* UIProcess/Storage/StorageManager.cpp:
(StorageManager::StorageArea):
(WebKit::StorageManager::StorageArea::dispatchEvents):
(StorageManager::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::SessionStorageNamespace::cloneTo):
(WebKit::StorageManager::createLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::destroyStorageMap):
(WebKit::StorageManager::invalidateConnectionInternal):
(WebKit::StorageManager::findStorageArea):
(WebKit::StorageManager::getOrCreateLocalStorageNamespace):
* UIProcess/Storage/StorageManager.h:
(StorageManager):
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::clear):
* UIProcess/WebBackForwardList.h:
(WebKit):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::enableProcessTermination):
(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebFormClient.cpp:
(WebKit::WebFormClient::willSubmitForm):
* UIProcess/WebFormClient.h:
(WebFormClient):
* UIProcess/WebKeyValueStorageManagerProxy.h:
(WebKeyValueStorageManagerProxy):
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didChangeBackForwardList):
* UIProcess/WebLoaderClient.h:
(WebLoaderClient):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
* UIProcess/WebMediaCacheManagerProxy.h:
(WebMediaCacheManagerProxy):
* UIProcess/WebPageContextMenuClient.cpp:
(WebKit::WebPageContextMenuClient::showContextMenu):
* UIProcess/WebPageProxy.cpp:
(ExceededDatabaseQuotaRecords):
(WebKit::WebPageProxy::relatedPages):
(WebKit::WebPageProxy::didChangeBackForwardList):
(WebKit::WebPageProxy::handleWheelEvent):
(WebKit::WebPageProxy::processNextQueuedWheelEvent):
(WebKit::WebPageProxy::findStringMatches):
(WebKit::WebPageProxy::willSubmitForm):
(WebKit::WebPageProxy::pluginInformationDictionary):
(WebKit::WebPageProxy::didFindStringMatches):
(WebKit::WebPageProxy::didReceiveEvent):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::didBecomeUnresponsive):
(WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
(WebKit::WebProcessProxy::didBecomeResponsive):
(WebKit::WebProcessProxy::disconnectFramesFromPage):
(WebKit::WebProcessProxy::frameCountInPage):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebResourceCacheManagerProxy.h:
(WebResourceCacheManagerProxy):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::populateNSMenu):
(WebKit::nsMenuItemVector):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):
* WebProcess/IconDatabase/WebIconDatabaseProxy.h:
(WebIconDatabaseProxy):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::originsWithApplicationCache):
* WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
(WebKit::InjectedBundleBackForwardListItem::children):
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
(WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
(InjectedBundlePageEditorClient):
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
(WebKit::InjectedBundlePageFormClient::willSubmitForm):
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
(InjectedBundlePageFormClient):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired):
(WebKit::WebResourceLoadScheduler::networkProcessCrashed):
* WebProcess/Network/WebResourceLoadScheduler.h:
(WebResourceLoadScheduler):
* WebProcess/Notifications/NotificationPermissionRequestManager.h:
(NotificationPermissionRequestManager):
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::invalidate):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
(NPRuntimeObjectMap):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::stopAllStreams):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
(NetscapePlugin):
* WebProcess/Plugins/Netscape/NetscapePluginStream.h:
(NetscapePluginStream):
* WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
(getAllScriptsInPDFDocument):
(WebKit::SimplePDFPlugin::runScriptsInPDFDocument):
* WebProcess/Plugins/PluginProcessConnectionManager.h:
(PluginProcessConnectionManager):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::cancelAllStreams):
* WebProcess/Plugins/PluginView.h:
(PluginView):
* WebProcess/Storage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::dispatchSessionStorageEvent):
(WebKit::StorageAreaMap::dispatchLocalStorageEvent):
* WebProcess/Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::storageArea):
* WebProcess/Storage/StorageNamespaceImpl.h:
(StorageNamespaceImpl):
* WebProcess/Storage/WebKeyValueStorageManager.cpp:
(WebKit::keyValueStorageOriginIdentifiers):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::getDatabasesByOrigin):
(WebKit::WebDatabaseManager::getDatabaseOrigins):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::getClientPasteboardDataForRange):
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
* WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::documentFragmentFromAttributedString):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::findStringMatches):
* WebProcess/WebPage/FindController.h:
(FindController):
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::childFrames):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::trackedRepaintRects):
* WebProcess/WebPage/WebPage.h:
(WebKit):
(WebPage):
* WebProcess/WebPage/mac/LayerTreeHostMac.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::visitedLinkStateChanged):
(WebKit::WebProcess::allVisitedLinkStateChanged):
(WebKit::WebProcess::focusedWebPage):
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::webPageGroup):
(WebKit::addCaseFoldedCharacters):
(WebKit::getWebCoreMemoryCacheStatistics):
(WebKit::WebProcess::setTextCheckerState):
* WebProcess/WebProcess.h:
(WebProcess):

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

6 years agoImplement WebPlatformStrategies::transientLocalStorageNamespace
andersca@apple.com [Thu, 9 May 2013 22:26:38 +0000 (22:26 +0000)]
Implement WebPlatformStrategies::transientLocalStorageNamespace
https://bugs.webkit.org/show_bug.cgi?id=115876
<rdar://problem/13852871>

Reviewed by Beth Dakin.

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
Return a session storage namespace for a random page when UI process storage is enabled,
otherwise call the base class implementation.

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

6 years agoUnreviewed mac gardening.
roger_fong@apple.com [Thu, 9 May 2013 22:09:44 +0000 (22:09 +0000)]
Unreviewed mac gardening.

* platform/mac/inspector/command-line-api-expected.txt: Removed.
* platform/mac/inspector/console: Added.
* platform/mac/inspector/console/command-line-api-expected.txt: Added.

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

6 years ago[NoInterfaceObject] extended attribute should be removed for several interfaces
ch.dumez@sisa.samsung.com [Thu, 9 May 2013 21:47:37 +0000 (21:47 +0000)]
[NoInterfaceObject] extended attribute should be removed for several interfaces
https://bugs.webkit.org/show_bug.cgi?id=115852

Reviewed by Benjamin Poulain.

Source/WebCore:

Remove [NoInterfaceObject] extended attribute from the following Web IDL
interfaces: SecurityPolicy, History, Location, Navigator, Performance,
PerformanceEntry, PerformanceMark, PerformanceMeasure, PerformanceNavigation,
PerformanceResourceTiming, PerformanceTiming and Screen.

These interfaces should not have the [NoInterfaceObject] extended attribute
according to their respective specifications:
- http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-history-interface
- http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-location-interface
- https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicy
- http://www.w3.org/html/wg/drafts/html/master/webappapis.html#the-navigator-object
- http://www.w3.org/TR/navigation-timing/#performance
- https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html#sec-PerformanceEntry-interface
- http://www.w3.org/TR/navigation-timing/#performancenavigation
- http://www.w3.org/TR/navigation-timing/#performancetiming
- http://www.w3.org/TR/user-timing/#performancemark
- http://www.w3.org/TR/user-timing/#performancemeasure
- http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming
- http://dev.w3.org/csswg/cssom-view/#the-screen-interface

The new behavior is consistent with the specifications, Firefox and soon Blink.

No new tests, already covered by existing tests.

* page/DOMSecurityPolicy.idl:
* page/History.idl:
* page/Location.idl:
* page/Navigator.idl:
* page/Performance.idl:
* page/PerformanceEntry.idl:
* page/PerformanceMark.idl:
* page/PerformanceMeasure.idl:
* page/PerformanceNavigation.idl:
* page/PerformanceResourceTiming.idl:
* page/PerformanceTiming.idl:
* page/Screen.idl:

LayoutTests:

Rebaseline several layout tests whose output has changed now that a few more
global constructors are exposed.

* fast/dom/dom-constructors-expected.txt:
* fast/js/global-constructors-attributes-expected.txt:
* platform/efl/fast/js/global-constructors-attributes-expected.txt:

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

6 years agoREGRESSION (Safari 3-Safari 4): Replaced element with percent height in table has...
robert@webkit.org [Thu, 9 May 2013 21:45:46 +0000 (21:45 +0000)]
REGRESSION (Safari 3-Safari 4): Replaced element with percent height in table has incorrect height
https://bugs.webkit.org/show_bug.cgi?id=26394

Reviewed by David Hyatt.

Source/WebCore:

Text controls or any object that has scrollable content should not flex inside a table cell.
This makes our behaviour the same as IE, FF and Opera (Presto).

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):

LayoutTests:

* fast/replaced/table-percent-height-text-controls-expected.txt: Renamed from LayoutTests/platform/mac/fast/replaced/table-percent-height-text-controls-expected.txt.
* fast/replaced/table-percent-height-text-controls.html:
* platform/gtk/fast/replaced/table-percent-height-text-controls-expected.txt: Removed.
* platform/qt/fast/replaced/table-percent-height-text-controls-expected.txt: Removed.
* platform/win/fast/replaced/table-percent-height-text-controls-expected.txt: Removed.

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

6 years ago[DRT] Replace JavaScriptThreadingPthreads.cpp with JavaScriptThreading.cpp
paroga@webkit.org [Thu, 9 May 2013 21:35:01 +0000 (21:35 +0000)]
[DRT] Replace JavaScriptThreadingPthreads.cpp with JavaScriptThreading.cpp
https://bugs.webkit.org/show_bug.cgi?id=92505

Reviewed by Brent Fulgham.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/JavaScriptThreading.cpp: Copied from DumpRenderTree/pthreads/JavaScriptThreadingPthreads.cpp.
(javaScriptThreadsMutex):
(javaScriptThreads):
(runJavaScriptThread):
(startJavaScriptThreads):
(stopJavaScriptThreads):
* DumpRenderTree/pthreads: Removed.
* DumpRenderTree/pthreads/JavaScriptThreadingPthreads.cpp: Removed.

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

6 years agoBuild fix.
andersca@apple.com [Thu, 9 May 2013 21:34:45 +0000 (21:34 +0000)]
Build fix.

* WebCore.exp.in:

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

6 years agoUpdate srcipt paths in editing/shadow/rightclick-on-meter-in-shadow-crash.html
commit-queue@webkit.org [Thu, 9 May 2013 21:18:57 +0000 (21:18 +0000)]
Update srcipt paths in editing/shadow/rightclick-on-meter-in-shadow-crash.html
https://bugs.webkit.org/show_bug.cgi?id=96223

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2013-05-09
Reviewed by Rob Buis.

The original paths don't exist at all.

* editing/shadow/rightclick-on-meter-in-shadow-crash.html:

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

6 years agoAdd a StorageStrategy hook for creating transient local storage namespaces
andersca@apple.com [Thu, 9 May 2013 21:03:56 +0000 (21:03 +0000)]
Add a StorageStrategy hook for creating transient local storage namespaces
https://bugs.webkit.org/show_bug.cgi?id=115870

Reviewed by Geoffrey Garen.

* WebCore.exp.in:
Export symbol needed by WebKit2.

* dom/Document.cpp:
(WebCore::Document::topOrigin):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* workers/WorkerContext.h:
Remove const qualifier from topOrigin() to avoid ugly const_casts when assigning into a RefPtr<SecurityOrigin> variable.

* page/PageGroup.cpp:
(WebCore::PageGroup::transientLocalStorage):
Do a single hash lookup instead of three and use the SecurityOrigin itself as the hash key instead of a string representation of it.

* page/PageGroup.h:
Update HashMap declaration.

* storage/StorageNamespace.cpp:
(WebCore::StorageNamespace::transientLocalStorageNamespace):
Add new implementation that will optionally call out to the storage strategy.

* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::transientLocalStorageNamespace):
Move the default implementation here from PageGroup.

* storage/StorageStrategy.cpp:
(WebCore::StorageStrategy::transientLocalStorageNamespace):
Call the default implementation.

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

6 years agoA change in system environment should force all CSS properties to be recomputed.
enrica@apple.com [Thu, 9 May 2013 20:54:16 +0000 (20:54 +0000)]
A change in system environment should force all CSS properties to be recomputed.
https://bugs.webkit.org/show_bug.cgi?id=115872
<rdar://problem/13781171>

Reviewed by Antti Koivisto.

When a change in the global environment occurs, for example system colors,
we need to make sure all the CSS properties are recomputed and not fetched
from the cache. For this reason we invalidate the properties cache.
I've also renamed the function to give it a more meaningful name.

* page/Page.cpp:
(WebCore::Page::updateStyleForAllPagesAfterGlobalChangeInEnvironment):
* page/Page.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::platformColorsDidChange):

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

6 years agoReoptimize free-standing :focus/link/visited/-webkit-any-link selectors.
antti@apple.com [Thu, 9 May 2013 20:35:32 +0000 (20:35 +0000)]
Reoptimize free-standing :focus/link/visited/-webkit-any-link selectors.
<http://webkit.org/b/115590>

Reviewed by Darin Adler.

Common pseudo selectors should go into their respective rule buckets instead of ending up in the universal one.

* css/RuleSet.cpp:
(WebCore::RuleSet::findBestRuleSetAndAdd):

    Check tag selectors with * local name (usually created for namespace) for a suitable narrower bucket too.

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

6 years agoUnreviewed mac port gardening.
roger_fong@apple.com [Thu, 9 May 2013 20:31:21 +0000 (20:31 +0000)]
Unreviewed mac port gardening.

* platform/mac-lion/fast/js: Added.
* platform/mac-lion/fast/js/global-constructors-attributes-expected.txt: Added.
* platform/mac/inspector/command-line-api-expected.txt: Added.

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

6 years agoCode cache stores bogus var references for functions in eval code
oliver@apple.com [Thu, 9 May 2013 20:03:23 +0000 (20:03 +0000)]
Code cache stores bogus var references for functions in eval code
https://bugs.webkit.org/show_bug.cgi?id=115747

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Non-global eval now uses a per-CodeBlock cache, and only use it
when we're at the top of a function's scope.  This means that we
will no longer cache the parsing of a single string across
multiple functions, and we won't cache when we're nested inside
constructs like |with| and |catch| where previously we would, which
is good because caching in those cases is unsound.

* bytecode/EvalCodeCache.h:
(JSC):
(JSC::EvalCodeCache::getSlow):
(JSC::EvalCodeCache::get):
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::codeCacheForEval):
(UnlinkedCodeBlock):
(RareData):
* debugger/Debugger.cpp:
(JSC::evaluateInGlobalCallFrame):
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::evaluate):
* interpreter/Interpreter.cpp:
(JSC::eval):
* runtime/CodeCache.cpp:
(JSC::CodeCache::CodeCache):
(JSC::CodeCache::generateBytecode):
(JSC):
(JSC::CodeCache::getCodeBlock):
* runtime/CodeCache.h:
(JSC::CodeCacheMap::CodeCacheMap):
(CodeCacheMap):
(JSC::CodeCacheMap::canPruneQuickly):
(JSC::CodeCacheMap::prune):
(JSC::CodeCache::create):
(CodeCache):
* runtime/Executable.cpp:
(JSC::EvalExecutable::EvalExecutable):
(JSC::EvalExecutable::compileInternal):
* runtime/Executable.h:
(JSC::EvalExecutable::create):
(EvalExecutable):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::createEvalCodeBlock):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
(VM):

LayoutTests:

Many tests

* fast/js/eval-cache-scoped-lookup-expected.txt: Added.
* fast/js/eval-cache-scoped-lookup.html: Added.
* fast/js/script-tests/eval-cache-scoped-lookup.js: Added.
(first):
(a.string_appeared_here.second):
(third):
(fifth):
(sixth):
(seventh):
(eighth):
(nineth):
(tenth):
(eleventh):

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

6 years agoFixing botched rebase of ChangeLog
mhahnenberg@apple.com [Thu, 9 May 2013 19:41:23 +0000 (19:41 +0000)]
Fixing botched rebase of ChangeLog

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

6 years agoDFGArrayMode::fromObserved is too liberal when it sees different Array and NonArray...
mhahnenberg@apple.com [Thu, 9 May 2013 19:38:23 +0000 (19:38 +0000)]
DFGArrayMode::fromObserved is too liberal when it sees different Array and NonArray shapes
https://bugs.webkit.org/show_bug.cgi?id=115805

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

It checks the observed ArrayModes to see if we have seen any ArrayWith* first. If so, it assumes it's
an Array::Array, even if we've also observed any NonArrayWith* in the ArrayProfile. This leads to the
code generated by jumpSlowForUnwantedArrayMode to check the indexing type against (shape | IsArray)
instead of just shape, which can cause us to exit a lot in the case that we saw a NonArray.

To fix this we need to add a case that checks for both ArrayWith* and NonArrayWith* cases first, which
should then use Array::PossiblyArray, then do the checks we were already doing.

* bytecode/ArrayProfile.h:
(JSC::hasSeenArray):
(JSC::hasSeenNonArray):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::fromObserved):

LayoutTests:

Added regression test for array access over polymorphic array vs. non-array indexing types.
With the fix, we get 3.666x faster on this microbenchmark.

Reviewed by Geoffrey Garen.

* fast/js/regress/array-nonarray-polymorphic-access-expected.txt: Added.
* fast/js/regress/array-nonarray-polymorphic-access.html: Added.
* fast/js/regress/script-tests/array-nonarray-polymorphic-access.js: Added.
(f):
(run):

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

6 years agoRenderQuote has giant function for language to quotes map
darin@apple.com [Thu, 9 May 2013 19:24:05 +0000 (19:24 +0000)]
RenderQuote has giant function for language to quotes map
https://bugs.webkit.org/show_bug.cgi?id=115807

Reviewed by Anders Carlsson.

Source/WebCore:

* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::RenderQuote): Updated for m_isAttached name change.
(WebCore::RenderQuote::~RenderQuote): Updated for name change, and also split
assertion with && in it into two separate assertions.
(WebCore::checkNumberOfDistinctQuoteCharacters): Added. Helper function that is used
to check that the number of distinct quote characters is small enough to fit into
our fixed size array below.
(WebCore::quotesForLanguage): Replaces the old quotesDataLanguageMap function.
Returns a pointer to a struct that contains the four quote characters. This new
function doesn't have the massive amount of code that the old one did. We use the
standard library bsearch function to do a binary search.
(WebCore::stringForQuoteCharacter): Added. This returns a string for a given quote
character; one string for any given character.
(WebCore::quotationMarkString): Added. Returns the string for the quotation mark.
(WebCore::apostropheStringImpl): Added. Returns the string for the apostrophe.
(WebCore::RenderQuote::originalText): Rewrote this to include all the logic that
used to be in the quotesData function.
(WebCore::RenderQuote::attachQuote): Tweak assertions as above. Removed unneeded
special case for the first quote in a RenderView; sharing the code is better and
there is no significant performance difference. Also use m_isAttached directly
when looking at predecessores so there is no need for an isAttached function.
(WebCore::RenderQuote::detachQuote): Updated assertions and for name change.
(WebCore::RenderQuote::updateDepth): Ditto.

* rendering/RenderQuote.h: Removed unneeded includes. Marked the class FINAL since
we call the originalText function in the class and we don't want to do a virtual
function dispatch for that. Removed uneeded const from an argument. Removed a
stray semicolon. Removed the quotesData and isAttached functions, since they are no
longer needed. Renamed m_attached to m_isAttached.

* rendering/style/QuotesData.cpp: Removed the overload of QuotesData::create that
takes four quote strings. This was only used to build up the quotes table.
* rendering/style/QuotesData.h: Ditto.

Source/WTF:

* wtf/unicode/CharacterNames.h: Added a couple of character names.

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

6 years agoUse explicit qualifiers for names in the std:: namespace
andersca@apple.com [Thu, 9 May 2013 19:03:52 +0000 (19:03 +0000)]
Use explicit qualifiers for names in the std:: namespace
https://bugs.webkit.org/show_bug.cgi?id=115868

Reviewed by Andreas Kling.

* Shared/mac/ArgumentCodersMac.mm:
(CoreIPC::encode):
* UIProcess/API/C/WKPluginSiteDataManager.cpp:
(WKPluginSiteDataManagerClearAllSiteData):
* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::findPluginForExtension):
* UIProcess/WebFrameProxy.cpp:
* UIProcess/WebProcessProxy.cpp:
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::parsePostBuffer):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::loadURL):
* WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
(WebKit::NetscapePluginStream::deliverDataToPlugin):
* WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
* WebProcess/WebPage/DrawingAreaImpl.cpp:
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::countStringMatches):
(WebKit::FindController::updateFindUIAfterPageScroll):
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::drawPDFPage):
* WebProcess/mac/WebProcessMac.mm:

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

6 years ago[BlackBerry] Style updates required based on new check-webkit-style
mifenton@rim.com [Thu, 9 May 2013 19:00:22 +0000 (19:00 +0000)]
[BlackBerry] Style updates required based on new check-webkit-style
https://bugs.webkit.org/show_bug.cgi?id=115857

Reviewed by Rob Buis.

Update iInRegionScroller, WebKitTextCodec and WebPageCompositor
to match check-webkit-style updates.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
* Api/InRegionScroller_p.h:
* Api/WebKitTextCodec.cpp:
(BlackBerry::WebKit::transcode):
* Api/WebPageCompositor.cpp:
(BlackBerry::WebKit::WebPageCompositor::render):
* Api/WebPageCompositor.h:
* Api/WebPageCompositor_p.h:
(WebPageCompositorPrivate):
* Api/WebSettings_p.h:

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

6 years agoshouldUsePluginDocument() needs to be respected when a document is created
commit-queue@webkit.org [Thu, 9 May 2013 18:49:03 +0000 (18:49 +0000)]
shouldUsePluginDocument() needs to be respected when a document is created
https://bugs.webkit.org/show_bug.cgi?id=110308

Patch by Max Feil <mfeil@rim.com> on 2013-05-09
Reviewed by Rob Buis.

Source/WebCore:

In DOMImplementation::createDocument() we should create
a PluginDocument for mime types that return "true" for
shouldAlwaysUsePluginDocument(), even if there is no pluginData
for them. This lets a client choose plugins for which the "missing
plugin" text or icon should appear more consistently. Otherwise
plugins referenced by iFrames will be treated as an HTMLDocument,
possibly resulting in binary files rendered as gibberish text.

Layout test platform/blackberry/plugins/swf-as-src-of-iframe.html

* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):

Source/WebKit/blackberry:

This patch implements shouldAlwaysUsePluginDocument() in the
BlackBerry frame loader client. It is called in several places
within WebCore to determine whether a PluginDocument should
be created.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::shouldAlwaysUsePluginDocument):
(WebCore):
(WebCore::FrameLoaderClientBlackBerry::createPlugin):
* WebCoreSupport/FrameLoaderClientBlackBerry.h:
(FrameLoaderClientBlackBerry):

Source/WebKit/win:

Renaming shouldUsePluginDocument() to shouldAlwaysUsePluginDocument()
for clarity.

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::shouldAlwaysUsePluginDocument):
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):

Source/WebKit2:

Renaming shouldUsePluginDocument() to shouldAlwaysUsePluginDocument()
for clarity.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::shouldAlwaysUsePluginDocument):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):

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

6 years agoFix an exception when hovering native functions while paused in the debugger.
timothy@apple.com [Thu, 9 May 2013 18:47:52 +0000 (18:47 +0000)]
Fix an exception when hovering native functions while paused in the debugger.

https://webkit.org/b/115866
rdar://problem/13681982

Reviewed by Darin Adler and Joseph Pecoraro.

* inspector/InjectedScriptSource.js:
(InjectedScript.prototype.getFunctionDetails): Return an error if the details
is null or undefined.

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

6 years ago[Mac] CFError leak under Objective-C garbage collection
darin@apple.com [Thu, 9 May 2013 18:42:49 +0000 (18:42 +0000)]
[Mac] CFError leak under Objective-C garbage collection
https://bugs.webkit.org/show_bug.cgi?id=115862

Reviewed by Benjamin Poulain.

* platform/network/mac/ResourceErrorMac.mm:
(WebCore::ResourceError::nsError): Use adoptCF instead of adoptNS since
the CFError needs a CFRelease, not an -[NSObject release].

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

6 years agoBlackBerry: fix call to PluginLayerWebKitThread::setHolePunchRect()
commit-queue@webkit.org [Thu, 9 May 2013 18:38:37 +0000 (18:38 +0000)]
BlackBerry: fix call to PluginLayerWebKitThread::setHolePunchRect()
https://bugs.webkit.org/show_bug.cgi?id=114953

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-09
Reviewed by Rob Buis.

data->layer needs a cast in order to call setHolePunchRect().

* plugins/blackberry/NPCallbacksBlackBerry.cpp:
(WebCore::npSetHolePunchHandler):

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

6 years ago[BlackBerry] Style updates required based on new check-webkit-style
mifenton@rim.com [Thu, 9 May 2013 18:32:48 +0000 (18:32 +0000)]
[BlackBerry] Style updates required based on new check-webkit-style
https://bugs.webkit.org/show_bug.cgi?id=115857

Reviewed by Rob Buis.

Update SelectionHandler to match check-webkit-style updates.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::shouldExtendSelectionInDirection):
(BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
(BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
(BlackBerry::WebKit::adjustCaretRects):
(BlackBerry::WebKit::SelectionHandler::clipPointToVisibleContainer):
(BlackBerry::WebKit::regionRectListContainsPoint):
* WebKitSupport/SelectionHandler.h:
(SelectionHandler):

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