Unreviewed.  Rolled DEPS.

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

* DEPS:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Enable credential persistance and auto fill
https://bugs.webkit.org/show_bug.cgi?id=85572

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-05-06
Reviewed by Rob Buis.

.:

Enable credential persistance and auto fill feature by adding
ENABLE_BLACKBERRY_CREDENTIAL_PERSIST=1.

* Source/cmake/OptionsBlackBerry.cmake:

Source/WebKit/blackberry:

Set autofilled status of credential input fields when credential
information is auto filled by CredentialManager.
By doing this the input element will get painted with yellow background
which can notify user this input field is auto filled by the browser.

No behavior changes, so no new test.

* WebCoreSupport/CredentialTransformData.cpp:
(WebCore::CredentialTransformData::setCredential):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Allow WebMediaPlayerClientImpl to switch clients
https://bugs.webkit.org/show_bug.cgi?id=85093

Reviewed by James Robinson.

WebVideoFrameProviderClient has a 1:1 relationship with a
WebVideoFrameProvider. The client here is CCVideoLayerImpl and the
provider is WebMediaPlayerClientImpl.  If the provider gets a new
client, then the old client needs to be informed to stop using the
provider.

If this doesn't happen, then the old client will have an unsafe
pointer to the provider, will not get informed if the provider gets
deleted, and the client will crash when it dereferences the provider
pointer trying to tell the provider that its client is going away.

Test: WebMediaPlayerClientImplTest.InitialNullVideoClient
      WebMediaPlayerClientImplTest.SetAndUnsetVideoClient
      WebMediaPlayerClientImplTest.DestroyProvider
      WebMediaPlayerClientImplTest.SetMultipleVideoClients

* WebKit.gypi:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* tests/WebMediaPlayerClientImplTest.cpp: Added.
(WebKit):
(FakeWebMediaPlayerClientImpl):
(WebKit::FakeWebMediaPlayerClientImpl::create):
(WebKit::FakeWebMediaPlayerClientImpl::FakeWebMediaPlayerClientImpl):
(FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::create):
(WebKit::FakeVideoFrameProviderClient::~FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::didReceiveFrame):
(WebKit::FakeVideoFrameProviderClient::didUpdateMatrix):
(WebKit::FakeVideoFrameProviderClient::stopUsingProvider):
(WebKit::FakeVideoFrameProviderClient::provider):
(WebKit::FakeVideoFrameProviderClient::FakeVideoFrameProviderClient):
(WebKit::TEST):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename ICULocale to LocaleICU, part 2
https://bugs.webkit.org/show_bug.cgi?id=85695

Reviewed by Kentaro Hara.

Source/WebCore:

No behavior change

* platform/text/LocaleICU.cpp: Rename ICULocale to LocaleICU.
* platform/text/LocaleICU.h: ditto.
Also, update obsolete comments.
* platform/text/LocalizedDateICU.cpp: Rename ICULocale to LocaleICU.
(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):
(WebCore::localizedDateFormatText):
(WebCore::monthLabels):
(WebCore::weekDayShortLabels):
(WebCore::firstDayOfWeek):
* platform/text/LocalizedNumberICU.cpp: ditto.
(WebCore::convertToLocalizedNumber):
(WebCore::convertFromLocalizedNumber):

Source/WebKit/chromium:

* tests/LocalizedNumberICUTest.cpp:
(testNumberIsReversible): Rename ICULocale to LocaleICU.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: "Goto Function" filtering should be less restrictive.
https://bugs.webkit.org/show_bug.cgi?id=85586

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-05-06
Reviewed by Pavel Feldman.

Added tests for generated regex.

Changes:
1) Avoid asterisks in filtering queue.
2) Optimization: do not create regexp for each item.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
Applied new filtering workflow.
(WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt):
Removed.
(WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
Removed unused "suffix" logic; changed the way regexp is composed from query.
(WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
Applied new filtering workflow.
(WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
Removed unused var.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
sheriffbot isn't reopening patches after it lands rollouts
https://bugs.webkit.org/show_bug.cgi?id=64418

Reviewed by Adam Barth.

* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/steps/createbug.py:
(CreateBug.run):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Convert isPageBoxVisible to use Internals interface.
https://bugs.webkit.org/show_bug.cgi?id=85692

Reviewed by Darin Adler.

.:

* Source/autotools/symbols.filter: Add isPageBoxVisible symbol filter.

Source/WebCore:

Add isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

No new tests, since we are improving here the infra-structure for testing
a specific method.

* testing/Internals.cpp:
(WebCore):
(WebCore::Internals::isPageBoxVisible):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/efl:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):

Source/WebKit/qt:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit2:

* win/WebKit2.def: Add isPageBoxVisible symbol filter.

Tools:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

* DumpRenderTree/LayoutTestController.cpp:
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
* DumpRenderTree/chromium/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
* DumpRenderTree/qt/LayoutTestControllerQt.h:
(LayoutTestController):
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:

LayoutTests:

Call isPageBoxVisible functions from internals, because it is able to work in the
cross-port way through the Internals interface.

* printing/page-format-data-expected.txt:
* printing/page-format-data.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116246 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[TextureMapper] Layer images is uploaded to the GPU for each sync
https://bugs.webkit.org/show_bug.cgi?id=85727

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-05-06
Reviewed by Noam Rosenthal.

No new tests. This does not change functionality,
it only improves performance.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::updateBackingStore): Reset the needsDisplay
and needsDisplayRect variables after uploading the layer image.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
KURL::isBlankURL would be a nicer idiom than KURL::protocolIs("about")
https://bugs.webkit.org/show_bug.cgi?id=85641

Patch by Mike West <mkwst@chromium.org> on 2012-05-06
Reviewed by Adam Barth.

* dom/Document.cpp:
(WebCore::shouldInheritSecurityOriginFromOwner):
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::allowObjectFromSource):
(WebCore::CSPDirectiveList::allowChildFrameFromSource):
* page/PageSerializer.cpp:
(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
(WebCore::PageSerializer::serializeFrame):
* platform/KURL.cpp:
(WebCore::KURL::isBlankURL):
(WebCore):
* platform/KURL.h:
(KURL):
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove 3D_CANVAS define from vsprops files (it was renamed WEBGL many months ago)
https://bugs.webkit.org/show_bug.cgi?id=85743

Reviewed by Adam Barth.

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] EFL's LayoutTestController setJavaScriptCanAccessClipboard implementation
https://bugs.webkit.org/show_bug.cgi?id=83687

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-06
Reviewed by Antonio Gomes.

Source/WebKit/efl:

* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(ewk_view_setting_scripts_can_access_clipboard_get):
(ewk_view_setting_scripts_can_access_clipboard_set):
* ewk/ewk_view.h:

Tools:

* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::setJavaScriptCanAccessClipboard):

LayoutTests:

* platform/efl/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update several build-webkit options to match the #defines they toggle
https://bugs.webkit.org/show_bug.cgi?id=85744

Reviewed by Adam Barth.

Most notable here is fixing --3d-canvas to be --webgl these days --
the define was renamed 15 months ago!

* Scripts/webkitperl/FeatureList.pm:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the build after r116246.

* DumpRenderTree/LayoutTestController.cpp: Remove an unused function.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
InlineBox::setHasBadParent should be debug only
https://bugs.webkit.org/show_bug.cgi?id=85748

Patch by Rob Buis <rbuis@rim.com> on 2012-05-06
Reviewed by Eric Seidel.

Do not provide InlineBox::setHasBadParent in release builds.

* rendering/InlineBox.h:
(InlineBox):
(WebCore):
(WebCore::InlineBox::setHasBadParent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSP should let sites both enforce one policy and monitor another
https://bugs.webkit.org/show_bug.cgi?id=85561

Reviewed by Eric Seidel.

Source/WebCore:

This patch lets us enforce and/or monitor multiple CSP policies.
Rather than having a single directive list, we now have a vector of
directive lists.

Tests: http/tests/security/contentSecurityPolicy/combine-multiple-policies.html
       http/tests/security/contentSecurityPolicy/report-and-enforce.html

* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::copyStateFrom):
(WebCore::ContentSecurityPolicy::didReceiveHeader):
(WebCore::ContentSecurityPolicy::deprecatedHeader):
(WebCore::ContentSecurityPolicy::deprecatedHeaderType):
    - Even after this patch, workers aren't smart enough to enforce
      multiple policies.  They just use the first header, like they did
      before.  We'll need to teach workers how to enforce multiple
      policies in a future patch.
(WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
(WebCore::ContentSecurityPolicy::allowInlineScript):
(WebCore::ContentSecurityPolicy::allowInlineStyle):
(WebCore::ContentSecurityPolicy::allowEval):
(WebCore::ContentSecurityPolicy::allowScriptFromSource):
(WebCore::ContentSecurityPolicy::allowObjectFromSource):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
(WebCore::ContentSecurityPolicy::allowImageFromSource):
(WebCore::ContentSecurityPolicy::allowStyleFromSource):
(WebCore::ContentSecurityPolicy::allowFontFromSource):
(WebCore::ContentSecurityPolicy::allowMediaFromSource):
(WebCore::ContentSecurityPolicy::allowConnectFromSource):
* page/ContentSecurityPolicy.h:
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerScriptLoader::notifyFinished):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerContext):

Source/WebKit/chromium:

* src/SharedWorkerRepository.cpp:
(WebCore::SharedWorkerScriptLoader::notifyFinished):
* src/WebWorkerClientImpl.cpp:
(WebKit::WebWorkerClientImpl::startWorkerContext):

LayoutTests:

Test that we can enforce multiple policies and that we can enforce one
policy while monitoring another.

* http/tests/security/contentSecurityPolicy/combine-multiple-policies-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/combine-multiple-policies.html: Added.
* http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-and-enforce.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Shadow DOM] Node distribution should be refreshed before style recalc.
https://bugs.webkit.org/show_bug.cgi?id=85259

Reviewed by Dimitri Glazkov.

Source/WebCore:

Element::recalcStyle() calls child element's recalcStyle()
recursively, following ShadowTree::recalcShadowTreeStyle(). But
recalcShadowTreeStyle() should be called before such recursion if
necessary.

This is because style calculation and following renderer attachment
of each child element depends on up-to-date node distribution result
which is computed during the recalcShadowTreeStyle().

Test: fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector.html

* dom/Element.cpp: Moved recalcShadowTreeStyle() before child traversals.
(WebCore::Element::recalcStyle):

LayoutTests:

* fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector-expected.txt: Added.
* fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Enable WebKit2 build by default (again)
https://bugs.webkit.org/show_bug.cgi?id=85750

* configure.ac: enable wk2 build by default.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
.: Part of: Building and debugging WebKit in the Xcode IDE requires a lot of setup
https://bugs.webkit.org/show_bug.cgi?id=85739

Reviewed by Daniel Bates.

* WebKit.xcworkspace: Added.
* WebKit.xcworkspace/contents.xcworkspacedata: Added.
* WebKit.xcworkspace/xcshareddata: Added.
* WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: Added.
* WebKit.xcworkspace/xcshareddata/xcschemes: Added.
* WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme: Added
this scheme, which builds all source projects and runs WebProcess with
Safari as the client executable.
* WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme: Added
this scheme, which builds all source projects and runs Safari.
* WebKit.xcworkspace/xcshareddata/xcschemes/All Tools.xcscheme: Added
this scheme, which builds all tools projects and runs DumpRenderTree.

Tools: Tools part of: Building and debugging WebKit in the Xcode IDE requires a lot of setup
https://bugs.webkit.org/show_bug.cgi?id=85739

Reviewed by Daniel Bates.

* Scripts/build-webkit: Moved code that copies from WebKitLibraries to the product directory
from here...
* Scripts/copy-webkitlibraries-to-product-directory: ...to this new script.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116257 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Autofill backing store implementation upstream
https://bugs.webkit.org/show_bug.cgi?id=85575

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-05-06
Reviewed by Rob Buis.

Source/WebCore:

Implemented class AutofillBackingStore which is responsible
for handling interaction with autofill database.

Replaced static function
CredentialBackingStore* CredentialBackingStore::instance()
with a helper function
CredentialBackingStore& credentialBackingStore(),
and used DEFINE_STATIC_LOCAL to construct the singleton
object.
Also removed unnecessary function close() and combined with
the destructor of class CredentialBackingStore.

Initial upstream, No new tests.

* PlatformBlackBerry.cmake:
* platform/network/blackberry/AutofillBackingStore.cpp: Added.
(WebCore):
(WebCore::autofillBackingStore):
(WebCore::AutofillBackingStore::AutofillBackingStore):
(WebCore::AutofillBackingStore::~AutofillBackingStore):
(WebCore::AutofillBackingStore::open):
(WebCore::AutofillBackingStore::add):
(WebCore::AutofillBackingStore::update):
(WebCore::AutofillBackingStore::contains):
(WebCore::AutofillBackingStore::get):
(WebCore::AutofillBackingStore::clear):
* platform/network/blackberry/AutofillBackingStore.h: Added.
(WebCore):
(AutofillBackingStore):
* platform/network/blackberry/CredentialBackingStore.cpp:
(WebCore::credentialBackingStore):
(WebCore::CredentialBackingStore::~CredentialBackingStore):
* platform/network/blackberry/CredentialBackingStore.h:
(CredentialBackingStore):
(WebCore):
* platform/network/blackberry/CredentialStorageBlackBerry.cpp:
(WebCore::CredentialStorage::getFromPersistentStorage):

Source/WebKit/blackberry:

Replaced calling static function CredentialBackingStore::instance()
with calling the helper function credentialBackingStore().

* WebCoreSupport/CredentialManager.cpp:
(WebCore::CredentialManager::autofillAuthenticationChallenge):
(WebCore::CredentialManager::autofillPasswordForms):
(WebCore::CredentialManager::saveCredentialIfConfirmed):
(WebCore::CredentialManager::clearCredentials):
(WebCore::CredentialManager::clearNeverRememberSites):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add WebKit API to access multiple attribute of input element
https://bugs.webkit.org/show_bug.cgi?id=85355

Reviewed by Kent Tamura.

We need this to implement the datalist UI for <input type=email multiple>.

* public/WebInputElement.h:
(WebInputElement):
* src/WebInputElement.cpp:
(WebKit::WebInputElement::isMultiple):
(WebKit):


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