WebKit.git
8 years ago.: Part of: Building and debugging WebKit in the Xcode IDE requires a lot of setup
mitz@apple.com [Mon, 7 May 2012 01:41:09 +0000 (01:41 +0000)]
.: 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

8 years ago[GTK] Enable WebKit2 build by default (again)
kov@webkit.org [Mon, 7 May 2012 01:31:20 +0000 (01:31 +0000)]
[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

8 years ago[Shadow DOM] Node distribution should be refreshed before style recalc.
morrita@google.com [Mon, 7 May 2012 01:11:15 +0000 (01:11 +0000)]
[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

8 years agoCSP should let sites both enforce one policy and monitor another
abarth@webkit.org [Mon, 7 May 2012 00:53:33 +0000 (00:53 +0000)]
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

8 years agoInlineBox::setHasBadParent should be debug only
commit-queue@webkit.org [Mon, 7 May 2012 00:45:13 +0000 (00:45 +0000)]
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

8 years agoFix the build after r116246.
aestes@apple.com [Mon, 7 May 2012 00:26:43 +0000 (00:26 +0000)]
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

8 years agoUpdate several build-webkit options to match the #defines they toggle
eric@webkit.org [Mon, 7 May 2012 00:14:35 +0000 (00:14 +0000)]
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

8 years ago[EFL] EFL's LayoutTestController setJavaScriptCanAccessClipboard implementation
commit-queue@webkit.org [Sun, 6 May 2012 23:28:20 +0000 (23:28 +0000)]
[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

8 years agoRemove 3D_CANVAS define from vsprops files (it was renamed WEBGL many months ago)
eric@webkit.org [Sun, 6 May 2012 23:26:40 +0000 (23:26 +0000)]
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

8 years agoKURL::isBlankURL would be a nicer idiom than KURL::protocolIs("about")
commit-queue@webkit.org [Sun, 6 May 2012 22:57:29 +0000 (22:57 +0000)]
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

8 years ago[TextureMapper] Layer images is uploaded to the GPU for each sync
commit-queue@webkit.org [Sun, 6 May 2012 22:46:31 +0000 (22:46 +0000)]
[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

8 years agoConvert isPageBoxVisible to use Internals interface.
gyuyoung.kim@samsung.com [Sun, 6 May 2012 22:43:14 +0000 (22:43 +0000)]
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

8 years agosheriffbot isn't reopening patches after it lands rollouts
tomz@codeaurora.org [Sun, 6 May 2012 22:33:19 +0000 (22:33 +0000)]
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

8 years agoWeb Inspector: "Goto Function" filtering should be less restrictive.
commit-queue@webkit.org [Sun, 6 May 2012 22:19:45 +0000 (22:19 +0000)]
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

8 years agoRename ICULocale to LocaleICU, part 2
tkent@chromium.org [Sun, 6 May 2012 22:12:51 +0000 (22:12 +0000)]
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

8 years ago[chromium] Allow WebMediaPlayerClientImpl to switch clients
enne@google.com [Sun, 6 May 2012 22:06:47 +0000 (22:06 +0000)]
[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

8 years ago[BlackBerry] Enable credential persistance and auto fill
commit-queue@webkit.org [Sun, 6 May 2012 22:05:38 +0000 (22:05 +0000)]
[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

8 years agoUnreviewed. Rolled DEPS.
abarth@webkit.org [Sun, 6 May 2012 21:19:04 +0000 (21:19 +0000)]
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

8 years ago[wx] Unreviewed. Build fixes for recent trunk changes.
kevino@webkit.org [Sun, 6 May 2012 20:20:28 +0000 (20:20 +0000)]
[wx] Unreviewed. Build fixes for recent trunk changes.

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

8 years agoWeb Inspector: take timeline frame mode out of experimental
caseq@chromium.org [Sun, 6 May 2012 14:54:10 +0000 (14:54 +0000)]
Web Inspector: take timeline frame mode out of experimental
https://bugs.webkit.org/show_bug.cgi?id=85707

Reviewed by Pavel Feldman.

Source/WebCore:

- remove "Vertical timeline overview" experiment;
- add supportsFrameInstrumentation capability to InspectorTimelineAgent;
- show frame mode selector conditionally on supportsFrameInstrumentation capability.

* inspector/Inspector.json: Add Timeline.supportsFrameInstrumentation capability;
* inspector/InspectorClient.h: Add supportsFrameInstrumentation();
(InspectorClient):
(WebCore::InspectorClient::supportsFrameInstrumentation):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::supportsFrameInstrumentation):
(WebCore):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent): Added FrameInstrumentationSupport parameter.
* inspector/InspectorTimelineAgent.h:
(WebCore):
(WebCore::InspectorTimelineAgent::create): ditto.
(InspectorTimelineAgent):
* inspector/WorkerInspectorController.cpp: Updated call site for InspectorTimelineAgent::create() to indicate frame instrumentation not supported.
(WebCore::WorkerInspectorController::WorkerInspectorController):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings): Removed "Vertical Overview" experiment.
* inspector/front-end/TimelineOverviewPane.js: Expose frame mode conditionally on capability, not the experiment.
(WebInspector.TimelineOverviewPane):
* inspector/front-end/inspector.js: Added initialization for Capabilities.timelineSupportsFrameInstrumentation;
(WebInspector.doLoadedDone):

Source/WebKit/chromium:

- exposed supportFrameInstrumentation method to InspectorClient. Client must return true iff the platform will call
  InspectorInstrumentation::instrumentBeginFrame() upon beginning of frame rendering;

* src/InspectorClientImpl.cpp:
(WebKit::InspectorClientImpl::supportsFrameInstrumentation):
(WebKit):
* src/InspectorClientImpl.h:
(InspectorClientImpl):

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

8 years agoBuild fix.
antti@apple.com [Sun, 6 May 2012 10:51:00 +0000 (10:51 +0000)]
Build fix.

Not reviewed.

* css/PropertySetCSSStyleDeclaration.cpp:

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

8 years agoShare stylesheet data structures between documents
antti@apple.com [Sun, 6 May 2012 10:29:14 +0000 (10:29 +0000)]
Share stylesheet data structures between documents
https://bugs.webkit.org/show_bug.cgi?id=85598

Source/WebCore:

Reviewed by Darin Adler.

We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
the data until someone uses CSSOM to modify the sheet.

The patch implements copy-on-write for the internal style sheet data structures. If any mutation CSSOM API is
invoked, we check if the stylesheet can be safely mutated (we are the only client, it is not cached). If not
then the internal structures are copied and any existing CSSOM objects are re-attached to the new tree.

Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
multiple articles open on wsj.com this saves ~2.6MB per tab.

Test: http/tests/css/shared-stylesheet-mutation.html
      http/tests/css/shared-stylesheet-mutation-preconstruct.html

* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::reattach):
(WebCore):
* css/CSSFontFaceRule.h:
(CSSFontFaceRule):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
(WebCore::CSSMediaRule::reattach):
(WebCore):
* css/CSSMediaRule.h:
(CSSMediaRule):
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::setSelectorText):
(WebCore::CSSPageRule::reattach):
(WebCore):
* css/CSSPageRule.h:
(CSSPageRule):
* css/CSSRule.cpp:
(WebCore::CSSRule::reattach):

    After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.

* css/CSSRule.h:
(WebCore):
(CSSRule):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
(WebCore::CSSStyleRule::reattach):
(WebCore):
* css/CSSStyleRule.h:
(CSSStyleRule):
* css/CSSStyleSheet.cpp:
(WebCore::StyleSheetInternal::StyleSheetInternal):
(WebCore::StyleSheetInternal::isCacheable):
(WebCore::StyleSheetInternal::ruleAt):

    Add ruleAt(), use it for both wrapper creation and reattaching.  Remove createChildRuleCSSOMWrapper .

(WebCore):
(WebCore::StyleSheetInternal::wrapperInsertRule):
(WebCore::StyleSheetInternal::wrapperDeleteRule):

    Invalidation moves to the calling wrapper.

(WebCore::StyleSheetInternal::addedToMemoryCache):
(WebCore::StyleSheetInternal::removedFromMemoryCache):
(WebCore::CSSStyleSheet::willMutateRules):

    This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.

    Usually invoked by CSSStyleSheet::RuleMutation RAII type.

(WebCore::CSSStyleSheet::didMutateRules):

    This is called after the mutation is complete and will trigger the style recalc in the document.

(WebCore::CSSStyleSheet::didMutate):

    This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.

(WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):
* css/CSSStyleSheet.h:
(StyleSheetInternal):
(WebCore::StyleSheetInternal::hasOneClient):
(WebCore::StyleSheetInternal::isMutable):
(WebCore::StyleSheetInternal::setMutable):

    Track mutability. Mutation is allowed only after willMutate call.

(WebCore::StyleSheetInternal::isInMemoryCache):

    Track if the object is in memory cache.

(WebCore::CSSStyleSheet::clearOwnerRule):
(CSSStyleSheet):
* css/MediaList.cpp:
(WebCore::MediaList::setMediaText):
(WebCore::MediaList::deleteMedium):
(WebCore::MediaList::appendMedium):
(WebCore::MediaList::didMutate):
(WebCore):
(WebCore::MediaList::reattach):
* css/MediaList.h:
(MediaList):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore):
(WebCore::StyleRuleCSSStyleDeclaration::willMutate):
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):
(WebCore::StyleRuleCSSStyleDeclaration::reattach):
(WebCore::InlineCSSStyleDeclaration::didMutate):
* css/PropertySetCSSStyleDeclaration.h:
(WebCore::PropertySetCSSStyleDeclaration::willMutate):
(WebCore::PropertySetCSSStyleDeclaration::didMutate):
(StyleRuleCSSStyleDeclaration):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::setName):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
(WebCore::WebKitCSSKeyframesRule::reattach):
(WebCore):
* css/WebKitCSSKeyframesRule.h:
(WebKitCSSKeyframesRule):
* css/WebKitCSSRegionRule.cpp:
(WebCore::WebKitCSSRegionRule::reattach):
* css/WebKitCSSRegionRule.h:
(WebKitCSSRegionRule):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::reparseStyleSheet):
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):

    Don't copy when restoring. It is no longer necessary.
    Set the cache bit on the stylesheet.

(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

LayoutTests:

Reviewed by Darin Adler.

Test that mutations of a shared stylesheet work as expected.

This is an http test due to cross-document security restrictions with file urls
(they can be overriden in DRT but I'd like this to work in browser too).

* http/tests/css/resources/shared.css: Added.
* http/tests/css/resources/shared-stylesheet-mutation.js: Added.
* http/tests/css/shared-stylesheet-mutation-expected.txt: Added.
* http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt: Added.
* http/tests/css/shared-stylesheet-mutation-preconstruct.html: Added.
* http/tests/css/shared-stylesheet-mutation.html: Added.

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

8 years agoFix the GTK+ TextureMapper accelerated compositing build.
mrobinson@webkit.org [Sun, 6 May 2012 07:17:48 +0000 (07:17 +0000)]
Fix the GTK+ TextureMapper accelerated compositing build.

* webkit/webkitwebview.cpp:
(webkit_web_view_realize): Properly access the private data
structure of the WebKitWebView.

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

8 years agoRemove TrustedImm32::m_isPointer
barraclough@apple.com [Sun, 6 May 2012 05:27:29 +0000 (05:27 +0000)]
Remove TrustedImm32::m_isPointer
https://bugs.webkit.org/show_bug.cgi?id=85726

Rubber stamped by Sam Weinig.

We used to rely on being able to generate code with known, fixed offsets – to do so we
would inhibit more optimal code generation for pointers. This is no longer necessary.

* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::TrustedImm32::TrustedImm32):
(TrustedImm32):
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::store32):
(JSC::MacroAssemblerARM::move):
(JSC::MacroAssemblerARM::branch32):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::move):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::add32):
(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::mul32):
(JSC::MacroAssemblerMIPS::or32):
(JSC::MacroAssemblerMIPS::sub32):
(JSC::MacroAssemblerMIPS::store32):
(JSC::MacroAssemblerMIPS::move):

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

8 years agoUnreviewed, rolling out r116221.
commit-queue@webkit.org [Sat, 5 May 2012 23:04:13 +0000 (23:04 +0000)]
Unreviewed, rolling out r116221.
http://trac.webkit.org/changeset/116221
https://bugs.webkit.org/show_bug.cgi?id=85722

broke builds that use -Wshorten-64-to-32 (Requested by pizlo
on #webkit).

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

Source/WebCore:

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
* html/canvas/WebGLRenderingContext.h:
(WebGLRenderingContext):
* html/canvas/WebGLRenderingContext.idl:

LayoutTests:

* fast/canvas/webgl/index-validation-expected.txt:
* fast/canvas/webgl/index-validation.html:

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

8 years ago[GTK] WebKit should properly set the input method context window location
kov@webkit.org [Sat, 5 May 2012 21:41:00 +0000 (21:41 +0000)]
[GTK] WebKit should properly set the input method context window location
https://bugs.webkit.org/show_bug.cgi?id=84981

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-05-05
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

* platform/gtk/GtkInputMethodFilter.cpp:
(WebCore::GtkInputMethodFilter::setCursorRect): Add this method to plumb the
cursor rect through to the input method.
* platform/gtk/GtkInputMethodFilter.h: Add the new method declaration.

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::paint): During painting, update the cursor rectangle
if possible.

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

8 years agoAdd new Setting/Preference to disable requestAnimationFrame
dino@apple.com [Sat, 5 May 2012 21:38:17 +0000 (21:38 +0000)]
Add new Setting/Preference to disable requestAnimationFrame
https://bugs.webkit.org/show_bug.cgi?id=85693

Reviewed by Simon Fraser.

Source/WebCore:

Hook up the new WebPreference for disabling requestAnimationFrame
to Settings. This isn't disabling the feature in the typical
WebKit ENABLE() way - it's still available in the DOM, it's
just that the animations will never be serviced. This allows a client
to disable the machinery without breaking content (other than the
animations).

The new test is currently skipped on all platforms because toggling
the preference interferes with the other tests that are running
at the same time (and expect a working requestAnimationFrame).
https://bugs.webkit.org/show_bug.cgi?id=85689

Test: fast/animation/request-animation-frame-disabled.html

* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore::ScriptedAnimationController::windowScreenDidChange):
(WebCore::ScriptedAnimationController::scheduleAnimation):
Check the setting before deciding to act.
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setRequestAnimationFrameEnabled):
(WebCore::Settings::requestAnimationFrameEnabled):
(Settings):

Source/WebKit/mac:

Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
The default value is true. The majority of applications will leave
it this way.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences requestAnimationFrameEnabled]):
(-[WebPreferences setRequestAnimationFrameEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
The default value is true. The majority of applications will leave
it this way.

* Interfaces/IWebPreferencesPrivate.idl:
* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::setRequestAnimationFrameEnabled):
(WebPreferences::requestAnimationFrameEnabled):
* WebPreferences.h:
(WebPreferences):
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
The default value is true. The majority of applications will leave
it this way.

* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetRequestAnimationFrameEnabled):
(WKPreferencesGetRequestAnimationFrameEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests:

A new test that exercises turning the requestAnimationFrame
preference off. Unfortunately this conflicts with the parallel
tests that expect the preference to be on (as it should by default),
so the test is skipped on all platforms. It can be run in isolation.
https://bugs.webkit.org/show_bug.cgi?id=85689

* fast/animation/request-animation-frame-disabled-expected.txt: Added.
* fast/animation/request-animation-frame-disabled.html: Added.
* fast/animation/script-tests/request-animation-frame-disabled.js: Added.
* platform/chromium/test_expectations.txt:
* platform/efl/test_expectations.txt:
* platform/gtk/test_expectations.txt:
* platform/mac/Skipped:
* platform/mac/test_expectations.txt:
* platform/qt/test_expectations.txt:
* platform/win/Skipped:
* platform/win/test_expectations.txt:

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

8 years agowebkitpy: Use os.pathsep instead of manually finding out the path separator in NRWT.
rakuco@webkit.org [Sat, 5 May 2012 21:08:25 +0000 (21:08 +0000)]
webkitpy: Use os.pathsep instead of manually finding out the path separator in NRWT.
https://bugs.webkit.org/show_bug.cgi?id=85697

Reviewed by Eric Seidel.

* Scripts/new-run-webkit-tests: Instead of manually detecting whether
the path separator should be ':' or ';' by checking sys.platform, rely
on os.pathsep which has exactly the same information (os.pathsep is
':' for Cygwin, from what I could check in Python's sources).

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

8 years agoUnreviewed preparation for 1.9.2.
kov@webkit.org [Sat, 5 May 2012 21:00:14 +0000 (21:00 +0000)]
Unreviewed preparation for 1.9.2.

* configure.ac: bump version to 1.9.2 and bump libtool version.

Source/WebKit/gtk:

* NEWS: changes from 1.9.1.

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

8 years agoUnreviewed, make distcheck fix.
kov@webkit.org [Sat, 5 May 2012 20:59:45 +0000 (20:59 +0000)]
Unreviewed, make distcheck fix.

Source/WebCore:

* GNUmakefile.list.am: Add missing headers to the sources list.

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

8 years ago[WK2] Incoming events may be processed out-of-order
jonlee@apple.com [Sat, 5 May 2012 19:38:46 +0000 (19:38 +0000)]
[WK2] Incoming events may be processed out-of-order
https://bugs.webkit.org/show_bug.cgi?id=85696
<rdar://problem/11386129>

Reviewed by Maciej Stachowiak.

All messages go to a single queue that gets iterated over by dispatchMessages(). If an input
event arrives in the middle of a flood of messages, all of them will be dispatched before the
input event is dispatched.

In other words, the first dispatchMessages() call will process all of the messages in the queue,
and all subsequent dispatchMessages() calls will act as no-ops, since there is nothing in the queue.

To fix this, we rename dispatchMessages to dispatchOneMessage, and only process one message at a
time.

* Platform/CoreIPC/Connection.h: Rename dispatchMessages() to dispatchOneMessage().
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::enqueueIncomingMessage): Dispatch a call to dispatchOneMessage() on the
run loop.
(CoreIPC::Connection::dispatchOneMessage): Remove the while(true) loop.

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

8 years agoWeb Inspector: unreviewed followup fix for the performance test after r116218.
loislo@chromium.org [Sat, 5 May 2012 17:05:00 +0000 (17:05 +0000)]
Web Inspector: unreviewed followup fix for the performance test after r116218.

* inspector/heap-snapshot.html:

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

8 years agoUnreviewed, rolling out r116223.
rakuco@webkit.org [Sat, 5 May 2012 16:54:23 +0000 (16:54 +0000)]
Unreviewed, rolling out r116223.
http://trac.webkit.org/changeset/116223
https://bugs.webkit.org/show_bug.cgi?id=85718

The bots need to set XDG_DATA_DIRS (Requested by rakuco on
#webkit).

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

* efl/jhbuildrc:
* gtk/jhbuildrc:

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

8 years ago[jhbuild] Do not set XDG_DATA_DIRS in jhbuildrc.
rakuco@webkit.org [Sat, 5 May 2012 16:34:24 +0000 (16:34 +0000)]
[jhbuild] Do not set XDG_DATA_DIRS in jhbuildrc.
https://bugs.webkit.org/show_bug.cgi?id=85717

Reviewed by Martin Robinson.

After r116209, the XDG_DATA_DIRS environment variable is now
passed by webkitpy's layout_tests code to run-with-jhbuild, so
instead of setting a few defaults in jhbuildrc we can now rely on
the values set and really used by each system.

* efl/jhbuildrc:
* gtk/jhbuildrc:

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

8 years agoWeb Inspector: convert standalone functions save/append/savedURL/appendedToURL into...
loislo@chromium.org [Sat, 5 May 2012 15:33:10 +0000 (15:33 +0000)]
Web Inspector: convert standalone functions save/append/savedURL/appendedToURL into WebInspector.FileManager object.
https://bugs.webkit.org/show_bug.cgi?id=85710

The idea is to have an object and be able to add/remove event listeners from it.

Reviewed by Yury Semikhatsky.

* English.lproj/localizedStrings.js:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/FileManager.js: Copied from Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js.
(WebInspector.FileManager):
(WebInspector.FileManager.prototype.canSave):
(WebInspector.FileManager.prototype.canAppend):
(WebInspector.FileManager.prototype.append):
(WebInspector.FileManager.prototype.appendedToURL):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapProfileHeader.prototype.canSave):
(WebInspector.HeapProfileHeader.prototype.save):
* inspector/front-end/InspectorFrontendHostStub.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

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

8 years agovertexAttribPointer needs to reject large negative offsets
zmo@google.com [Sat, 5 May 2012 14:51:39 +0000 (14:51 +0000)]
vertexAttribPointer needs to reject large negative offsets
https://bugs.webkit.org/show_bug.cgi?id=85117

Reviewed by Kenneth Russell.

Source/WebCore:

* html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr
(WebCore):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
* html/canvas/WebGLRenderingContext.h: Ditto
(WebGLRenderingContext):
* html/canvas/WebGLRenderingContext.idl: Ditto

LayoutTests:

* fast/canvas/webgl/index-validation-expected.txt:
* fast/canvas/webgl/index-validation.html: Add a test case for large negative offset.

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

8 years agoWeb Inspector: add separate timeline overview item for the frame mode
caseq@chromium.org [Sat, 5 May 2012 12:24:28 +0000 (12:24 +0000)]
Web Inspector: add separate timeline overview item for the frame mode
https://bugs.webkit.org/show_bug.cgi?id=85706

- remove two-buttons horizontal/vertical mode switch from Timelines item of the timeline overview menu;
- rename "Timeline" into "Events";
- add "Frames" item;
- replace overview sidebar icons with smaller, monochrome ones.

* English.lproj/localizedStrings.js: Added "Frames" and "Events".
* inspector/front-end/Images/statusbarButtonGlyphs.png: Added icon for "Memory".
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._showEvents):
(WebInspector.TimelineOverviewPane.prototype._showFrames):
(WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype._setMode):
* inspector/front-end/timelinePanel.css:
(#timeline-overview-sidebar .sidebar-tree-item):
(#timeline-overview-sidebar .sidebar-tree-item .titles.no-subtitle):
(#timeline-overview-sidebar .icon):
(.timeline-overview-sidebar-events .icon):
(.timeline-overview-sidebar-frames .icon):
(.timeline-overview-sidebar-memory .icon):

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

8 years agoNot reviewed: follow up to r116216, fixing the inspector test.
pfeldman@chromium.org [Sat, 5 May 2012 10:25:09 +0000 (10:25 +0000)]
Not reviewed: follow up to r116216, fixing the inspector test.

* inspector/debugger/script-extract-outline.html:
* inspector/debugger/script-extract-outline-expected.txt:

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

8 years agoWeb Inspector: save HeapSnapshot implementation.
loislo@chromium.org [Sat, 5 May 2012 10:23:21 +0000 (10:23 +0000)]
Web Inspector: save HeapSnapshot implementation.
https://bugs.webkit.org/show_bug.cgi?id=85595

HeapSnapshot specific implementation for loading was moved
from ProfilesPanel to HeapProfileHeader class.

Reviewed by Yury Semikhatsky.

Source/WebCore:

* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotView.prototype.get profileWrapper):
(WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
(WebInspector.HeapProfileHeader):
(WebInspector.HeapProfileHeader.prototype.load.setProfileWait):
(WebInspector.HeapProfileHeader.prototype.load.done):
(WebInspector.HeapProfileHeader.prototype.load):
(WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
(WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
(WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
(WebInspector.HeapProfileHeader.prototype.canSave):
(WebInspector.HeapProfileHeader.prototype.save):
* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI.appendedToURL):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype._registerProfileType):
(WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
(WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
(WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
(WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
(WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches):
(WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
* inspector/front-end/inspector.js:
(WebInspector.append):
(WebInspector.appendedToURL):

LayoutTests:

* inspector/profiler/heap-snapshot-inspect-dom-wrapper.html:
* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest):

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

8 years agoWeb Inspector: allow overriding the script mapping on the UI level
pfeldman@chromium.org [Sat, 5 May 2012 10:07:39 +0000 (10:07 +0000)]
Web Inspector: allow overriding the script mapping on the UI level
https://bugs.webkit.org/show_bug.cgi?id=85702

Reviewed by Yury Semikhatsky.

Source/WebCore:

This allows formatting update live locations all over the place automatically.

* inspector/front-end/Script.js:
(WebInspector.Script.prototype.rawLocationToUILocation):
(WebInspector.Script.Location):
(WebInspector.Script.Location.prototype.update):
(WebInspector.Script.Location.prototype.dispose):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode):
(WebInspector.UISourceCode.prototype.addLiveLocation):
(WebInspector.UISourceCode.prototype.removeLiveLocation):
(WebInspector.UISourceCode.prototype.updateLiveLocations):
(WebInspector.UISourceCode.prototype.overrideLocation):

LayoutTests:

* inspector/debugger/breakpoint-manager.html:

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

8 years agoWeb Inspector: simplify the JavaScriptOutline dialog interaction.
pfeldman@chromium.org [Sat, 5 May 2012 09:46:20 +0000 (09:46 +0000)]
Web Inspector: simplify the JavaScriptOutline dialog interaction.
https://bugs.webkit.org/show_bug.cgi?id=85701

Reviewed by Yury Semikhatsky.

Removed bidirectional dependency between scripts panel and outline dialog.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.JavaScriptOutlineDialog):
(WebInspector.JavaScriptOutlineDialog.show):
(WebInspector.JavaScriptOutlineDialog.prototype.requestItems):
(WebInspector.JavaScriptOutlineDialog.prototype._didBuildOutlineChunk):
(WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
* inspector/front-end/ScriptFormatterWorker.js:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.addToWatch):
(WebInspector.ScriptsPanel.prototype._showJavaScriptOutlineDialog):

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

8 years ago[Qt] Buildfix for --minimal build after r116107.
ossy@webkit.org [Sat, 5 May 2012 09:38:41 +0000 (09:38 +0000)]
[Qt] Buildfix for --minimal build after r116107.

Patch by Tor Arne Vestbø <tor.arne.vestbo@nokia.com> on 2012-05-05
Reviewed by Csaba Osztrogonác.

* qmake/mkspecs/features/features.prf:

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

8 years agoUnreviewed Gtk gardening, mark fullscreen/non-ancestor-iframe.html as
zandobersek@gmail.com [Sat, 5 May 2012 07:46:53 +0000 (07:46 +0000)]
Unreviewed Gtk gardening, mark fullscreen/non-ancestor-iframe.html as
failing after it was added in r116165.

* platform/gtk/test_expectations.txt:

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

8 years agoUnreviewed. Rebaseline fast/events/attribute-listener-deletion-crash.html (added...
caseq@chromium.org [Sat, 5 May 2012 07:43:26 +0000 (07:43 +0000)]
Unreviewed. Rebaseline fast/events/attribute-listener-deletion-crash.html (added in r116191).

* platform/chromium/fast/events/attribute-listener-deletion-crash-expected.txt: Added.

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

8 years ago[Gtk] GtkDriver is not required anymore after r116134
zandobersek@gmail.com [Sat, 5 May 2012 07:34:50 +0000 (07:34 +0000)]
[Gtk] GtkDriver is not required anymore after r116134
https://bugs.webkit.org/show_bug.cgi?id=85699

Reviewed by Csaba Osztrogonác.

Remove GtkDriver as it was replaced by the XvfbDriver and is
no longer needed.

* Scripts/webkitpy/layout_tests/port/gtk.py:

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

8 years agoIncrease the display ID for the Xvfb process to use if pixel_tests argument
zandobersek@gmail.com [Sat, 5 May 2012 07:25:08 +0000 (07:25 +0000)]
Increase the display ID for the Xvfb process to use if pixel_tests argument
is true rather than if pixel_tests option is present. This fixes the
XvfbDriver in the same way r115825 fixed the now-redundant GtkDriver.

Rubber-stamped by Csaba Osztrogonác.

* Scripts/webkitpy/layout_tests/port/xvfbdriver.py:
(XvfbDriver._start):

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

8 years agoWeb Inspector: annotate ProfilerAgent.
loislo@chromium.org [Sat, 5 May 2012 06:52:38 +0000 (06:52 +0000)]
Web Inspector: annotate ProfilerAgent.
https://bugs.webkit.org/show_bug.cgi?id=85630

Reviewed by Pavel Feldman.

* inspector/Inspector.json:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::createProfileHeader):
(WebCore::InspectorProfilerAgent::createSnapshotHeader):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore):
(WebCore::InspectorProfilerAgent::getProfile):
* inspector/InspectorProfilerAgent.h:
(InspectorProfilerAgent):
* inspector/front-end/CSSSelectorProfileView.js:
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotProfileType.prototype.createProfile):
* inspector/front-end/ProfileView.js:
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.addProfileHeader):
(WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
(WebInspector.ProfilerDispatcher.prototype.resetProfiles):

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

8 years agowebkitpy: Preserve XDG_DATA_DIRS in the environment passed to ServerProcess.
rakuco@webkit.org [Sat, 5 May 2012 05:48:07 +0000 (05:48 +0000)]
webkitpy: Preserve XDG_DATA_DIRS in the environment passed to ServerProcess.
https://bugs.webkit.org/show_bug.cgi?id=85694

Reviewed by Martin Robinson.

This is sort of a follow-up to r100674: $XDG_DATA_DIRS should be
preserved, as it is particularly useful for Linux/Unix
environments.  As a real use case, if shared-mime-info is
installed into a non-trivial prefix, Glib and other libraries will
have trouble to properly identify mimetypes (in ResourceResponses,
for example) as the base freedesktop.org mimetype file will not be
found.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.to.setup_environ_for_server):

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

8 years ago[EFL] Gardening, unskip test after r116097.
rakuco@webkit.org [Sat, 5 May 2012 04:26:50 +0000 (04:26 +0000)]
[EFL] Gardening, unskip test after r116097.

The test was unskipped from Skipped, but some other commit added it to
test_expectations.txt as well...

* platform/efl/test_expectations.txt:

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

8 years ago[EFL] Gardening; skip tests that depend on beginDragWithFiles.
rakuco@webkit.org [Sat, 5 May 2012 04:26:22 +0000 (04:26 +0000)]
[EFL] Gardening; skip tests that depend on beginDragWithFiles.

* platform/efl/Skipped:

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

8 years ago[EFL] Unreviewed, rebaseline after r116009.
rakuco@webkit.org [Sat, 5 May 2012 03:56:43 +0000 (03:56 +0000)]
[EFL] Unreviewed, rebaseline after r116009.

* platform/efl/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:

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

8 years ago[GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build
kov@webkit.org [Sat, 5 May 2012 03:35:51 +0000 (03:35 +0000)]
[GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build
https://bugs.webkit.org/show_bug.cgi?id=85691

Source/WebCore:

* GNUmakefile.am: link libWebCoreModules into libWebCore.

Source/WebKit/gtk:

* GNUmakefile.am: no longer link libwebkitgtk to libWebCoreModules.

Source/WebKit2:

* GNUmakefile.am: no longer link libWebCoreModules, and remove -no-
fast-install and -no-install from link flags, since we want those
programs installed.

Tools:

* GNUmakefile.am: no longer link libWebCoreModules to DumpRenderTree.

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

8 years agoRename ICULocale to LocaleICU, part 1
tkent@chromium.org [Sat, 5 May 2012 02:54:04 +0000 (02:54 +0000)]
Rename ICULocale to LocaleICU, part 1
https://bugs.webkit.org/show_bug.cgi?id=85688

Reviewed by Kentaro Hara.

Source/WebCore:

Rename it for consistency. Our convention is Foo<Platform>.{cpp,h}.
This patch changes only file names. We'll rename ICULocale class
by a following patch.

No behavior changes.

* WebCore.gypi:
* platform/text/LocaleICU.cpp: Renamed from Source/WebCore/platform/text/ICULocale.cpp.
* platform/text/LocaleICU.h: Renamed from Source/WebCore/platform/text/ICULocale.h.
* platform/text/LocalizedDateICU.cpp: Rename ICULocale.h to LocaleICU.h.
* platform/text/LocalizedNumberICU.cpp: ditto.

Source/WebKit/chromium:

* tests/LocalizedNumberICUTest.cpp: Rename ICULocale.h to LocaleICU.h.

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

8 years agoLeaf non self-painting layers should bail out early in RenderLayer::paintLayer
jchaffraix@webkit.org [Sat, 5 May 2012 02:17:15 +0000 (02:17 +0000)]
Leaf non self-painting layers should bail out early in RenderLayer::paintLayer
https://bugs.webkit.org/show_bug.cgi?id=85678

Reviewed by Darin Adler.

Performance optimization, no expected change in behavior.

The gist of the change is that leaf non self-painting layers don't need to be painted as their
associated RenderBoxModelObject should properly paint itself without any help.

For RenderLayer trees that have a large number of leafs nodes (like a table with a leaf RenderLayer for
each cells), not bailing out is a big overhead as it ends up doing a lot of computation for no real
painting. See http://dglazkov.github.com/performance-tests/biggrid.html for a benchmark for that. On
my machine, it reduces the paint time when scrolling to 70ms from 120ms (45% speedup).

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

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

8 years agoRemove InlineBox::next()
rwlbuis@webkit.org [Sat, 5 May 2012 01:43:28 +0000 (01:43 +0000)]
Remove InlineBox::next()
https://bugs.webkit.org/show_bug.cgi?id=85668

Reviewed by Nikolas Zimmermann.

InlineBox::next() not needed since nextOnLine() does the same.

* rendering/InlineBox.h:
(InlineBox):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::setConstructed):

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

8 years agoOscillator must implement noteOn() and noteOff()
crogers@google.com [Sat, 5 May 2012 01:28:38 +0000 (01:28 +0000)]
Oscillator must implement noteOn() and noteOff()
https://bugs.webkit.org/show_bug.cgi?id=85236

Reviewed by Kenneth Russell.

Source/WebCore:

Test: webaudio/oscillator-scheduling.html
to be landed separately to get proper platform baselines

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::process):
Simplify/remove zeroing-out silence at end of buffer, since it's now handled in the base-class AudioScheduledSourceNode::updateSchedulingInfo().

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createBufferSource):
Improve comment about ownership and dynamic-lifetime of AudioBufferSourceNode.

(WebCore::AudioContext::createOscillator):
AudioContext keeps a reference to the Oscillator and that reference is released in AudioScheduledSourceNode,
when it has finished playing.

* Modules/webaudio/AudioScheduledSourceNode.h:
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
updateSchedulingInfo() is now responsible for zeroing out the very start (before a note starts)
and the very end (after note ends) of the output AudioBus.  We've also simplified the number
of arguments passed to this method, because of this. It now handles playbackState transition to FINISHED_STATE.

* Modules/webaudio/Oscillator.cpp:
(WebCore::Oscillator::Oscillator):
(WebCore::Oscillator::calculateSampleAccuratePhaseIncrements):
The frequency value needs to snap immediately to its correct value the very first time.
This bug needs to be fixed here so that the Oscillator layout scheduling test works correctly.

(WebCore::Oscillator::process):
Since Oscillator in now changing to be a AudioScheduledSourceNode, we need to call AudioScheduledSourceNode::updateSchedulingInfo()
to handle playbackState for us.

(WebCore::Oscillator::propagatesSilence):
Add scheduling logic for propagatesSilence().

(Oscillator):
* Modules/webaudio/Oscillator.idl:
Add noteOn(), noteOff() methods and playbackState according to specification.

LayoutTests:

* webaudio/oscillator-scheduling-expected.wav: Added.
* webaudio/resources/oscillator-testing.js:
(generateExponentialOscillatorSweep):

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

8 years agoFix a leak in WebProcess when it is used to launch the UI process.
mrowe@apple.com [Sat, 5 May 2012 01:17:41 +0000 (01:17 +0000)]
Fix a leak in WebProcess when it is used to launch the UI process.

Rubber-stamped by Anders Carlsson.

* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain): Destory the attributes and file actions after
spawning the subprocess.

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

8 years ago[Blackberry] Implement over-scroll background image
commit-queue@webkit.org [Sat, 5 May 2012 01:12:54 +0000 (01:12 +0000)]
[Blackberry] Implement over-scroll background image
https://bugs.webkit.org/show_bug.cgi?id=85538

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

Use over-scroll image when set instead of the solid colour.
Internal PR146652

* Api/BackingStore.cpp:
(WebKit):
(BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):
(BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
* Api/BackingStore_p.h:
(BackingStorePrivate):
* Api/WebSettings.cpp:
(WebKit):
(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::overScrollImagePath):
(BlackBerry::WebKit::WebSettings::setOverScrollImagePath):
* Api/WebSettings.h:

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

8 years agoRemove uses of ASSERT(false)
aestes@apple.com [Sat, 5 May 2012 00:54:03 +0000 (00:54 +0000)]
Remove uses of ASSERT(false)
https://bugs.webkit.org/show_bug.cgi?id=85686

Reviewed by Dean Jackson.

Replace uses of ASSERT(false) with ASSERT_NOT_REACHED(). Also, in two places, there was code structured like:

if (expr) {
    // do something
} else {
    ASSERT(false);
}

Replace this with:

ASSERT(expr);
if (!expr)
    return;

// do something

* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::doneDeletingDatabase):
(WebCore::DatabaseTracker::deleteDatabase):
* bridge/objc/objc_instance.mm:
(ObjcInstance::invokeObjcMethod):
* bridge/objc/objc_utility.mm:
(JSC::Bindings::convertObjcValueToValue):
(JSC::Bindings::objcValueTypeForType):
* dom/Node.cpp:
(WebCore::Node::createRenderer):
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::setIconURLForPageURLInSQLDatabase):
(WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::doPacking):
* platform/text/BidiResolver.h:
(WebCore::::createBidiRunsForLine):

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

8 years agoRebaseline chromium after r116069 (bug 85031)
commit-queue@webkit.org [Sat, 5 May 2012 00:54:01 +0000 (00:54 +0000)]
Rebaseline chromium after r116069 (bug 85031)
https://bugs.webkit.org/show_bug.cgi?id=85626

Patch by David Barr <davidbarr@chromium.org> on 2012-05-04
Reviewed by Ojan Vafai.

* fast/block/float/016-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/float/016-expected.txt.
* platform/chromium-linux/fast/block/float/016-expected.png:
* platform/chromium-linux/fast/css/border-solid-single-edge-antialias-expected.png: Added.
* platform/chromium-mac-leopard/fast/block/float/016-expected.png:
* platform/chromium-mac-snowleopard/fast/block/float/016-expected.png:
* platform/chromium-mac/fast/block/float/016-expected.png:
* platform/chromium-win/fast/block/float/016-expected.png:
* platform/chromium-win/fast/css/border-solid-single-edge-antialias-expected.png: Added.
* platform/chromium/test_expectations.txt:
* platform/gtk/fast/block/float/016-expected.txt: Removed.

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

8 years ago[CG] Minor refactor of ImageBuffer::CGImageToDataURL and its callers
noel.gordon@gmail.com [Sat, 5 May 2012 00:49:42 +0000 (00:49 +0000)]
[CG] Minor refactor of ImageBuffer::CGImageToDataURL and its callers
https://bugs.webkit.org/show_bug.cgi?id=85280

Reviewed by Kenneth Russell.

This patch means to simplify the diff of an upcoming patch. Refactoring
here in preparation for that patch.

No new tests. No behavioral change. Covered by canvas 2d and 3d tests:
  canvas/philip/tests/*toDataURL*.html
  fast/canvas/webgl/premultiplyalpha-test.html

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::CGImageToDataURL): Move the invalid image (!image) test here.
The comments are about JPEG images; say that. Rename out to base64Data.
(WebCore::ImageBuffer::toDataURL): Remove the !image test.
(WebCore::ImageDataToDataURL): Move and define variables where used and
make the code flow read similarly to toDataURL. Remove the !image test.

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

8 years ago[chromium] Changes to layer tree structure need to be tracked properly
shawnsingh@chromium.org [Sat, 5 May 2012 00:38:03 +0000 (00:38 +0000)]
[chromium] Changes to layer tree structure need to be tracked properly
https://bugs.webkit.org/show_bug.cgi?id=85421

Reviewed by Adrienne Walker.

Unit test added: TreeSynchronizerTest.syncSimpleTreeAndTrackStackingOrderChange

Source/WebCore:

Earlier, we were relying on WebCore behavior that always called
setNeedsDisplay whenever the layer tree structure changed.
However, in general it is more correct to consider layer tree
changes even when things don't need repainting; for example Aura
code is encountring this bug now. This patch corrects the
compositor so that layer tree structural changes are considered
property changes, without requiring that layers needed to be
repainted.

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::insertChild):
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::setStackingOrderChanged):
(WebCore):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):

Source/WebKit/chromium:

* tests/TreeSynchronizerTest.cpp:
(WebKitTests):
(WebKitTests::TEST):

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

8 years agoUnreviewed; build fix after r116191.
jpfau@apple.com [Sat, 5 May 2012 00:10:37 +0000 (00:10 +0000)]
Unreviewed; build fix after r116191.

* bindings/js/JSEventListener.h:

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

8 years agoMake capitalization and descriptions in FeatureList.pm more consistent to make easier...
eric@webkit.org [Sat, 5 May 2012 00:04:28 +0000 (00:04 +0000)]
Make capitalization and descriptions in FeatureList.pm more consistent to make easier to autogenerate
https://bugs.webkit.org/show_bug.cgi?id=85583

Reviewed by Daniel Bates.

* Scripts/webkitperl/FeatureList.pm:

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

8 years agoREGRESSION: Cursor jumps to the first line after deleting the last word.
enrica@apple.com [Fri, 4 May 2012 23:55:40 +0000 (23:55 +0000)]
REGRESSION: Cursor jumps to the first line after deleting the last word.
https://bugs.webkit.org/show_bug.cgi?id=85334
<rdar://problem/11210059>

Reviewed by Ryosuke Niwa.

Source/WebCore:

This regression was introduced with the work to remove redundant divs.
When we decide to remove a DIV, we need to adjust the selection, if it is
expressed in terms of the node being removed. The new position was computed
using updatePositionForNodeRemoval that was not designed for the case where we
remove preserving children.
This patch adds a new method to CompositeEditCommand to do this properly.

Test: editing/deleting/delete-word-from-unstyled-div.html

* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::isRemovableBlock): Code clenup.
(WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren): Added.
 * editing/CompositeEditCommand.h:
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removeRedundantBlocks): Uses updatePositionForNodeRemovalPreservingChildren.

LayoutTests:

* editing/deleting/delete-word-from-unstyled-div-expected.txt: Added.
* editing/deleting/delete-word-from-unstyled-div.html: Added.

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

8 years agoPrevent early EventListener deletion
jpfau@apple.com [Fri, 4 May 2012 23:42:56 +0000 (23:42 +0000)]
Prevent early EventListener deletion
https://bugs.webkit.org/show_bug.cgi?id=73970

Reviewed by Oliver Hunt.

Source/WebCore:

Test: fast/events/attribute-listener-deletion-crash.html

* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction):

LayoutTests:

* fast/events/attribute-listener-deletion-crash-expected.txt: Added.
* fast/events/attribute-listener-deletion-crash.html: Added.

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

8 years ago[chromium] enable msvs_error_on_missing_sources at gyp time
tony@chromium.org [Fri, 4 May 2012 23:42:33 +0000 (23:42 +0000)]
[chromium] enable msvs_error_on_missing_sources at gyp time
https://bugs.webkit.org/show_bug.cgi?id=85683

Reviewed by Adam Barth.

This flag checks for missing files, which cause compile times to be
slow on Windows. Since this flag is on by default for the
build.chromium.org bots, we should add it here too so everyone can fix
these errors.

* DEPS: Roll to a chromium version that has no missing files.
* gyp_webkit: Add the flag.

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

8 years agoAdd "combining short stroke overlay character (u0335)" to lookalike characters blacklist.
joepeck@webkit.org [Fri, 4 May 2012 23:34:25 +0000 (23:34 +0000)]
Add "combining short stroke overlay character (u0335)" to lookalike characters blacklist.
https://bugs.webkit.org/show_bug.cgi?id=85440

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2012-05-04
Reviewed by David Kilzer.

We should add u0335 to the characters blacklist.

* platform/mac/WebCoreNSURLExtras.mm:
(WebCore::isLookalikeCharacter):

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

8 years agoFlash of white when exiting full screen HTML5 video
jer.noble@apple.com [Fri, 4 May 2012 23:31:14 +0000 (23:31 +0000)]
Flash of white when exiting full screen HTML5 video
https://bugs.webkit.org/show_bug.cgi?id=85438

.:

Reviewed by Sam Weinig.

* ManualTests/fullscreen/full-screen-flash.html: Added.

Source/WebKit2:

Reviewed by Maciej Stachowiak.

Force a repaint before displaying the newly exited WebView window.  This gives the window
a chance to seamlessly repaint before enabling screen updates.

Also, send the WebProcess the didExitFullScreen and setAnimatingFullScreen(false) messages
after swapping the WebView back into its original window. Doing otherwise seems to cause
forceRepaint to paint a white frame.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
(completeFinishExitFullScreenAnimationAfterRepaint):

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

8 years agoSort entries in FeaturesList.pm to make them easier to autogenerate
eric@webkit.org [Fri, 4 May 2012 23:11:06 +0000 (23:11 +0000)]
Sort entries in FeaturesList.pm to make them easier to autogenerate
https://bugs.webkit.org/show_bug.cgi?id=85584

Reviewed by Daniel Bates.

No functional changes, only sorting.

* Scripts/webkitperl/FeatureList.pm:

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

8 years ago[chromium] Add plumbing for file display names for drag and drop
commit-queue@webkit.org [Fri, 4 May 2012 22:59:34 +0000 (22:59 +0000)]
[chromium] Add plumbing for file display names for drag and drop
https://bugs.webkit.org/show_bug.cgi?id=85673

Patch by Satoru Takabayashi <satorux@chromium.org> on 2012-05-04
Reviewed by Darin Fisher.

Source/WebCore:

No new tests: this change itself shouldn't change existing behavior.

* platform/chromium/ChromiumDataObject.cpp:
(WebCore::ChromiumDataObject::addFilename):
* platform/chromium/ChromiumDataObject.h:
(ChromiumDataObject):

Source/WebKit/chromium:

* public/platform/WebDragData.h:
* src/WebDragData.cpp:
(WebKit::WebDragData::items):
(WebKit::WebDragData::addItem):

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

8 years agoCorrect pixel snapping in RenderSVGRoot::paintReplaced
leviw@chromium.org [Fri, 4 May 2012 22:55:01 +0000 (22:55 +0000)]
Correct pixel snapping in RenderSVGRoot::paintReplaced
https://bugs.webkit.org/show_bug.cgi?id=85671

Reviewed by Eric Seidel.

SVG root elements are still painted on pixel boundaries, so their children should
apply transforms based on their actual painted location, not their sub-pixel
one. This corrects a clipping and painting issue where these sub-pixel units are
incorrectly applied to the graphics context.

Covered by existing tests when sub-pixel layout is enabled.

* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):

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

8 years agoVersioning.
lforschler@apple.com [Fri, 4 May 2012 22:54:25 +0000 (22:54 +0000)]
Versioning.

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

8 years agoUpdated Spanish translation
kov@webkit.org [Fri, 4 May 2012 22:25:19 +0000 (22:25 +0000)]
Updated Spanish translation
https://bugs.webkit.org/show_bug.cgi?id=83995

Patch by Daniel Mustieles <daniel.mustieles@gmail.com> on 2012-05-04
Reviewed by Gustavo Noronha Silva.

* es.po:

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

8 years agoREGRESSION (r115752): WebKit2.NewFirstVisuallyNonEmptyLayout API test times out
aestes@apple.com [Fri, 4 May 2012 22:19:21 +0000 (22:19 +0000)]
REGRESSION (r115752): WebKit2.NewFirstVisuallyNonEmptyLayout API test times out
https://bugs.webkit.org/show_bug.cgi?id=85675

* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:
(TestWebKitAPI::TEST): Disable the test.

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

8 years agoREGRESSION (r116127-r116165): 6 tests failing on Lion Debug (Tests)
jer.noble@apple.com [Fri, 4 May 2012 22:08:30 +0000 (22:08 +0000)]
REGRESSION (r116127-r116165): 6 tests failing on Lion Debug (Tests)
https://bugs.webkit.org/show_bug.cgi?id=85674

Reviewed by Oliver Hunt.

Null check the results of core([frame DOMDocument]).

* WebView/WebView.mm:
(-[WebView _didStartProvisionalLoadForFrame:]):

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

8 years agoSet the right device scale factor when creating the web page
andersca@apple.com [Fri, 4 May 2012 22:01:07 +0000 (22:01 +0000)]
Set the right device scale factor when creating the web page
https://bugs.webkit.org/show_bug.cgi?id=85667
<rdar://problem/11376611>

Reviewed by Oliver Hunt.

* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:contextRef:pageGroupRef:]):
Set the scale factor before initializing the page, to ensure that the WebPageCreationParameters struct gets the right scale factor.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
This can now be called with a null drawing area. Also, remove the isValid() check since we still want to update the scale factor even if the web process has crashed.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
Set the device scale factor from the creation parameters.

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

8 years agoRefactor CSP state to prepare for having both a ReportOnly and an Enforced policy
abarth@webkit.org [Fri, 4 May 2012 21:40:48 +0000 (21:40 +0000)]
Refactor CSP state to prepare for having both a ReportOnly and an Enforced policy
https://bugs.webkit.org/show_bug.cgi?id=85662

Reviewed by Eric Seidel.

Source/WebCore:

This patch refactors the ContentSecurityPolicy state into a separate
DirectiveList class to prepare for
https://bugs.webkit.org/show_bug.cgi?id=85561, which will cause us to
need two directive lists: one for enforcement and one for monitoring.

This patch shouldn't cause any change in behavior.

* page/ContentSecurityPolicy.cpp:
(CSPDirectiveList):
(WebCore::CSPDirectiveList::header):
(WebCore::CSPDirectiveList::headerType):
(WebCore::CSPDirectiveList::denyIfEnforcingPolicy):
(WebCore):
(WebCore::CSPDirectiveList::CSPDirectiveList):
(WebCore::CSPDirectiveList::create):
(WebCore::CSPDirectiveList::reportViolation):
(WebCore::CSPDirectiveList::logUnrecognizedDirective):
(WebCore::CSPDirectiveList::checkEval):
(WebCore::CSPDirectiveList::operativeDirective):
(WebCore::CSPDirectiveList::checkInlineAndReportViolation):
(WebCore::CSPDirectiveList::checkEvalAndReportViolation):
(WebCore::CSPDirectiveList::checkSourceAndReportViolation):
(WebCore::CSPDirectiveList::allowJavaScriptURLs):
(WebCore::CSPDirectiveList::allowInlineEventHandlers):
(WebCore::CSPDirectiveList::allowInlineScript):
(WebCore::CSPDirectiveList::allowInlineStyle):
(WebCore::CSPDirectiveList::allowEval):
(WebCore::CSPDirectiveList::allowScriptFromSource):
(WebCore::CSPDirectiveList::allowObjectFromSource):
(WebCore::CSPDirectiveList::allowChildFrameFromSource):
(WebCore::CSPDirectiveList::allowImageFromSource):
(WebCore::CSPDirectiveList::allowStyleFromSource):
(WebCore::CSPDirectiveList::allowFontFromSource):
(WebCore::CSPDirectiveList::allowMediaFromSource):
(WebCore::CSPDirectiveList::allowConnectFromSource):
(WebCore::CSPDirectiveList::parse):
(WebCore::CSPDirectiveList::parseDirective):
(WebCore::CSPDirectiveList::parseReportURI):
(WebCore::CSPDirectiveList::createCSPDirective):
(WebCore::CSPDirectiveList::applySandboxPolicy):
(WebCore::CSPDirectiveList::addDirective):
(WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
(WebCore::ContentSecurityPolicy::~ContentSecurityPolicy):
(WebCore::ContentSecurityPolicy::copyStateFrom):
(WebCore::ContentSecurityPolicy::didReceiveHeader):
(WebCore::ContentSecurityPolicy::setOverrideAllowInlineStyle):
(WebCore::ContentSecurityPolicy::header):
(WebCore::ContentSecurityPolicy::headerType):
(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:
(WebCore):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerContext):

Source/WebKit/chromium:

Update callers to the new function name.

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

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

8 years agoUnreviewed, updating expectations.
fpizlo@apple.com [Fri, 4 May 2012 21:38:10 +0000 (21:38 +0000)]
Unreviewed, updating expectations.

* platform/mac/fast/block/float/overhanging-tall-block-expected.txt:

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

8 years agoUnreviewed, checking in new expectation file.
fpizlo@apple.com [Fri, 4 May 2012 21:34:44 +0000 (21:34 +0000)]
Unreviewed, checking in new expectation file.

* platform/mac/fast/images/png-suite/test-expected.txt: Added.

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

8 years agoASSERT(beforeChildAnonymousContainer->isTable()); fails in RenderBlock::addChildIgnor...
inferno@chromium.org [Fri, 4 May 2012 21:33:51 +0000 (21:33 +0000)]
ASSERT(beforeChildAnonymousContainer->isTable()); fails in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
https://bugs.webkit.org/show_bug.cgi?id=84606

Reviewed by Julien Chaffraix.

Source/WebCore:

RenderBlock::removeChild forgot to set display on the anonymous block, causing it
to display as INLINE. To prevent this kind of failure in future, we replace
createAnonymousStyle with createAnonymousStyleWithDisplay to make everyone explictly
pass display as the argument.

Test: fast/block/block-add-child-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild):
(WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
(WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
(WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
* rendering/RenderInline.cpp:
(WebCore::updateStyleOfAnonymousBlockContinuations):
(WebCore::RenderInline::addChildIgnoringContinuation):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::propagateStyleToAnonymousChildren):
* rendering/RenderRuby.cpp:
(WebCore::createAnonymousRubyInlineBlock):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::createRubyBase):
(WebCore::RenderRubyRun::staticCreateRubyRun):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::createAnonymousWithParentRenderer):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::createAnonymousWithParentRenderer):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::createAnonymousWithParentRenderer):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::addChild):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::createAnonymousStyleWithDisplay):
* rendering/style/RenderStyle.h:

LayoutTests:

* fast/block/block-add-child-crash-expected.txt: Added.
* fast/block/block-add-child-crash.html: Added.

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

8 years agoTaking a visibility:hidden element full screen causes full screen window to disappear.
jer.noble@apple.com [Fri, 4 May 2012 21:30:52 +0000 (21:30 +0000)]
Taking a visibility:hidden element full screen causes full screen window to disappear.
https://bugs.webkit.org/show_bug.cgi?id=85432

Reviewed by Maciej Stachowiak.

.:

* ManualTests/fullscreen/full-screen-zero-width.html: Added.

Source/WebKit/mac:

When given an initial or final frame with a zero width or height, return a rect representing
the entire screen, rather than a rect with a zero or infinite size. Doing otherwise will
confuse the window server when it's instructed to scale the full screen window to that size.

* WebView/WebFullScreenController.mm:
(windowFrameFromApparentFrames):

Source/WebKit2:

When given an initial or final frame with a zero width or height, return a rect representing
the entire screen, rather than a rect with a zero or infinite size. Doing otherwise will
confuse the window server when it's instructed to scale the full screen window to that size.

* UIProcess/mac/WKFullScreenWindowController.mm:
(windowFrameFromApparentFrames):

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

8 years agoWebKit IDL does not use exception syntax
arv@chromium.org [Fri, 4 May 2012 21:23:15 +0000 (21:23 +0000)]
WebKit IDL does not use exception syntax
https://bugs.webkit.org/show_bug.cgi?id=85100

Reviewed by Dimitri Glazkov.

This adds support for exception ExceptionName { ... } which currently sets a flag
on the domClass.

Binding tests updated.

* Modules/indexeddb/IDBDatabaseException.idl:
* Modules/webdatabase/SQLException.idl:
* bindings/scripts/IDLParser.pm:
(ParseInterface):
(DetermineParseMode):
(ProcessSection):
* bindings/scripts/IDLStructure.pm:
* bindings/scripts/test/CPP/WebDOMTestException.cpp: Added.
(WebDOMTestException::WebDOMTestExceptionPrivate::WebDOMTestExceptionPrivate):
(WebDOMTestException::WebDOMTestExceptionPrivate):
(WebDOMTestException::WebDOMTestException):
(WebDOMTestException::operator=):
(WebDOMTestException::impl):
(WebDOMTestException::~WebDOMTestException):
(WebDOMTestException::name):
(toWebCore):
(toWebKit):
* bindings/scripts/test/CPP/WebDOMTestException.h: Added.
(WebCore):
(WebDOMTestException):
* bindings/scripts/test/GObject/WebKitDOMTestException.cpp: Added.
(WebKit):
(WebKit::kit):
(WebKit::core):
(WebKit::wrapTestException):
(webkit_dom_test_exception_finalize):
(webkit_dom_test_exception_set_property):
(webkit_dom_test_exception_get_property):
(webkit_dom_test_exception_constructed):
(webkit_dom_test_exception_class_init):
(webkit_dom_test_exception_init):
(webkit_dom_test_exception_get_name):
* bindings/scripts/test/GObject/WebKitDOMTestException.h: Added.
(_WebKitDOMTestException):
(_WebKitDOMTestExceptionClass):
* bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h: Added.
(WebKit):
* bindings/scripts/test/JS/JSTestException.cpp: Added.
(WebCore):
(WebCore::JSTestExceptionConstructor::JSTestExceptionConstructor):
(WebCore::JSTestExceptionConstructor::finishCreation):
(WebCore::JSTestExceptionConstructor::getOwnPropertySlot):
(WebCore::JSTestExceptionConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestExceptionPrototype::self):
(WebCore::JSTestException::JSTestException):
(WebCore::JSTestException::finishCreation):
(WebCore::JSTestException::createPrototype):
(WebCore::JSTestException::destroy):
(WebCore::JSTestException::~JSTestException):
(WebCore::JSTestException::getOwnPropertySlot):
(WebCore::JSTestException::getOwnPropertyDescriptor):
(WebCore::jsTestExceptionName):
(WebCore::jsTestExceptionConstructor):
(WebCore::JSTestException::getConstructor):
(WebCore::isObservable):
(WebCore::JSTestExceptionOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestExceptionOwner::finalize):
(WebCore::toJS):
(WebCore::toTestException):
* bindings/scripts/test/JS/JSTestException.h: Added.
(WebCore):
(JSTestException):
(WebCore::JSTestException::create):
(WebCore::JSTestException::createStructure):
(WebCore::JSTestException::impl):
(WebCore::JSTestException::releaseImpl):
(WebCore::JSTestException::releaseImplIfNotNull):
(JSTestExceptionOwner):
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
(JSTestExceptionPrototype):
(WebCore::JSTestExceptionPrototype::create):
(WebCore::JSTestExceptionPrototype::createStructure):
(WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
(JSTestExceptionConstructor):
(WebCore::JSTestExceptionConstructor::create):
(WebCore::JSTestExceptionConstructor::createStructure):
* bindings/scripts/test/ObjC/DOMTestException.h: Added.
* bindings/scripts/test/ObjC/DOMTestException.mm: Added.
(-[DOMTestException dealloc]):
(-[DOMTestException finalize]):
(-[DOMTestException name]):
(core):
(kit):
* bindings/scripts/test/ObjC/DOMTestExceptionInternal.h: Added.
(WebCore):
* bindings/scripts/test/TestException.idl: Copied from Source/WebCore/xml/XPathException.idl.
* bindings/scripts/test/V8/V8TestException.cpp: Added.
(WebCore):
(TestExceptionV8Internal):
(WebCore::TestExceptionV8Internal::V8_USE):
(WebCore::TestExceptionV8Internal::nameAttrGetter):
(WebCore::ConfigureV8TestExceptionTemplate):
(WebCore::V8TestException::GetRawTemplate):
(WebCore::V8TestException::GetTemplate):
(WebCore::V8TestException::HasInstance):
(WebCore::V8TestException::wrapSlow):
(WebCore::V8TestException::derefObject):
* bindings/scripts/test/V8/V8TestException.h: Added.
(WebCore):
(V8TestException):
(WebCore::V8TestException::toNative):
(WebCore::V8TestException::wrap):
(WebCore::toV8):
* dom/DOMCoreException.idl:
* dom/EventException.idl:
* dom/RangeException.idl:
* fileapi/FileException.idl:
* fileapi/OperationNotAllowedException.idl:
* svg/SVGException.idl:
* xml/XMLHttpRequestException.idl:
* xml/XPathException.idl:

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

8 years agoV8RecursionScope not declared in V8Proxy::newInstance which causes ASSERT() failure...
rafaelw@chromium.org [Fri, 4 May 2012 21:21:52 +0000 (21:21 +0000)]
V8RecursionScope not declared in V8Proxy::newInstance which causes ASSERT() failure from NPAPI
https://bugs.webkit.org/show_bug.cgi?id=85659

Reviewed by Ojan Vafai.

Added a stack-allocted V8RecursionScope to the newInstance call.

No new tests. No change in observable behavior.

* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::newInstance):

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

8 years agoIndexedDB: Remove all index metadata records when deleting an index
jsbell@chromium.org [Fri, 4 May 2012 21:20:23 +0000 (21:20 +0000)]
IndexedDB: Remove all index metadata records when deleting an index
https://bugs.webkit.org/show_bug.cgi?id=85557

Reviewed by Tony Chang.

An assert is hit when re-loading database from backing store due to stale index
metadata entry. Do a range delete to clear all metadata entries when deleting an
index. Define metadata entries as enum and limits as consts instead of hardcoded ints.

No new tests - issue does not repro as layout test. Will land test in Chromium.

* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::getBool): Helper functions; replaces pattern of putInt()/read only lead byte.
(WebCore):
(WebCore::putBool):
(WebCore::IDBLevelDBBackingStore::getObjectStores): Skip stale data. Use enums, helpers.
(WebCore::IDBLevelDBBackingStore::createObjectStore): Use enums.
(WebCore::IDBLevelDBBackingStore::deleteObjectStore): Use enums.
(WebCore::getNewVersionNumber): Use enums.
(WebCore::IDBLevelDBBackingStore::getIndexes): Skip stale data. Use enums, helpers.
(WebCore::getNewIndexId): Use enums.
(WebCore::IDBLevelDBBackingStore::createIndex): Use enums.
(WebCore::IDBLevelDBBackingStore::deleteIndex): Delete metadata by range.
* Modules/indexeddb/IDBLevelDBCoding.cpp:
(IDBLevelDBCoding): Add constants for metadata maximum values.
(WebCore::IDBLevelDBCoding::encodeBool):
(WebCore::IDBLevelDBCoding::decodeBool):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey): Use consts.
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey): Use consts.
* Modules/indexeddb/IDBLevelDBCoding.h:
(IDBLevelDBCoding): Expose enums for metadata types.

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

8 years ago[Mac] IETC flexbox reference tests have pixel differences (due to embedded color...
aestes@apple.com [Fri, 4 May 2012 21:19:17 +0000 (21:19 +0000)]
[Mac] IETC flexbox reference tests have pixel differences (due to embedded color profiles?)
https://bugs.webkit.org/show_bug.cgi?id=85666

* platform/mac/Skipped: Skip the tests.

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

8 years agoDFG should not Flush GetLocal's
fpizlo@apple.com [Fri, 4 May 2012 21:18:25 +0000 (21:18 +0000)]
DFG should not Flush GetLocal's
https://bugs.webkit.org/show_bug.cgi?id=85663
<rdar://problem/11373600>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::flushArgument):
(JSC::DFG::ByteCodeParser::handleCall):

LayoutTests:

* fast/js/dfg-flush-get-local-expected.txt: Added.
* fast/js/dfg-flush-get-local.html: Added.
* fast/js/script-tests/dfg-flush-get-local.js: Added.
(foo):
(fuzz):
(bar):

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

8 years agoMove markPagesForFullStyleRecalc to PageCache
andersca@apple.com [Fri, 4 May 2012 21:16:30 +0000 (21:16 +0000)]
Move markPagesForFullStyleRecalc to PageCache
https://bugs.webkit.org/show_bug.cgi?id=85664

Reviewed by Dan Bernstein.

Instead of going through all the history items in the back/forward list looking for cached pages, just iterate over the cached pages in the page.

* history/BackForwardController.cpp:
* history/BackForwardController.h:
* history/HistoryItem.cpp:
* history/HistoryItem.h:
* history/PageCache.cpp:
(WebCore::PageCache::markPagesForFullStyleRecalc):
(WebCore):
* history/PageCache.h:
(PageCache):
* page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
* page/Page.cpp:
(WebCore::Page::setDeviceScaleFactor):
(WebCore::Page::setPagination):

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

8 years agoThe computed style of flex-item-align should never be auto.
tony@chromium.org [Fri, 4 May 2012 21:15:13 +0000 (21:15 +0000)]
The computed style of flex-item-align should never be auto.
https://bugs.webkit.org/show_bug.cgi?id=85656

Reviewed by Ojan Vafai.

Source/WebCore:

If the node lacks a parent and flex-item-align is auto, we should
return stretch. This was recently clarified in the spec.

New testcase in css3/flexbox/css-properties.html.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

* css3/flexbox/css-properties-expected.txt:
* css3/flexbox/css-properties.html:

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

8 years agoFull screen will exit during a provisional load of a non-ancestor iframe.
jer.noble@apple.com [Fri, 4 May 2012 21:00:37 +0000 (21:00 +0000)]
Full screen will exit during a provisional load of a non-ancestor iframe.
https://bugs.webkit.org/show_bug.cgi?id=85230

Reviewed by Maciej Stachowiak .

Source/WebKit/mac:

Only exit full screen mode if the frame being loaded contains the full
screen element.

* WebView/WebView.mm:
(-[WebView _didStartProvisionalLoadForFrame:]): Give the UIDelegate a first crack at handling the
request to close the full screen window when a provisional load occurs.

Source/WebKit2:

Only exit full screen mode if the frame being loaded contains the full
screen element:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

Move the full screen exiting logic up into WebFrameLoaderClient in the
WebProcess:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):

Add a WebFullScreenManager "close" method & message:
* UIProcess/WebFullScreenManagerProxy.messages.in:
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::close):
* WebProcess/FullScreen/WebFullScreenManager.h:

Add support for this new message to the WKBundlePage and client:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
(WebKit::InjectedBundlePageFullScreenClient::closeFullScreen):
* WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:

Tools:

Add support for the new UIDelegate webView:closeFullScreenWithListener: method:
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:closeFullScreenWithListener:]):

Add support for the new closeFullScreen injected bundle method:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
(WTR::InjectedBundlePage::closeFullScreen):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:

LayoutTests:

* fullscreen/non-ancestor-iframe-expected.txt: Added.
* fullscreen/non-ancestor-iframe.html: Added.
* fullscreen/resources/empty.html: Added.

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

8 years agoMove WebKitFullScreenListener into its own file.
jer.noble@apple.com [Fri, 4 May 2012 20:59:02 +0000 (20:59 +0000)]
Move WebKitFullScreenListener into its own file.
https://bugs.webkit.org/show_bug.cgi?id=85640

Source/WebKit:

Reviewed by Maciej Stachowiak .

Pull WebKitFullScreenListener into its own file.

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Reviewed by Maciej Stachowiak.

Move WebKitFullScreenListener into its own file, so it can be used by multiple classes.

* WebCoreSupport/WebKitFullScreenListener.h: Added.
* WebCoreSupport/WebKitFullScreenListener.mm: Added.
(-[WebKitFullScreenListener webkitWillEnterFullScreen]):
(-[WebKitFullScreenListener webkitDidEnterFullScreen]):
(-[WebKitFullScreenListener webkitWillExitFullScreen]):
(-[WebKitFullScreenListener webkitDidExitFullScreen]):
* WebCoreSupport/WebChromeClient.mm:

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

8 years agoFix test naming to be camel-case like the methods they are testing.
ojan@chromium.org [Fri, 4 May 2012 20:54:50 +0000 (20:54 +0000)]
Fix test naming to be camel-case like the methods they are testing.

* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(test):

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

8 years agoShow the results links in the embedded flakiness dashboard
ojan@chromium.org [Fri, 4 May 2012 20:50:41 +0000 (20:50 +0000)]
Show the results links in the embedded flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=85660

Reviewed by Adam Barth.

Turns out these links don't add much visual noise and it's annoying
to have to go to the dashboard from garden-o-matic just to view the
results for a test.

This is useful for cases where garden-o-matic doesn't properly show the
results (e.g. missing tests). If we address all those cases, then
we could easily hide the results links again if we wanted to.

* TestResultServer/static-dashboards/flakiness_dashboard.js:
(showUpdateInfoForTest):
(htmlForIndividualTestOnAllBuildersWithResultsLinks):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(test):

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

8 years agoRevert to using chromium --test-shell mode on SL in NRWT
dpranke@chromium.org [Fri, 4 May 2012 20:46:17 +0000 (20:46 +0000)]
Revert to using chromium --test-shell mode on SL in NRWT

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

Unreviewed, build fix.

We seem to be seeing a lot more flakiness on the bot since
I switched NRWT to "DRT" mode. We'll try reverting back and
see if this helps things.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumDriver.__init__):

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

8 years ago[soup] URL of the ResourceResponse passed to willSendRequest is incorrect
commit-queue@webkit.org [Fri, 4 May 2012 20:28:16 +0000 (20:28 +0000)]
[soup] URL of the ResourceResponse passed to willSendRequest is incorrect
https://bugs.webkit.org/show_bug.cgi?id=85072

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-04
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Store the response message by catching the "got-headers" signal so
that it can be passed later to willSendRequest() in case of
redirection. This is required because the SoupMessage headers and URL
have already been updated once restartedCallback() is called.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore):
(WebCore::gotHeadersCallback):
(WebCore::restartedCallback):
(WebCore::sendRequestCallback):
(WebCore::startHTTPRequest):

LayoutTests:

Unskip http/tests/misc/will-send-request-returns-null-on-redirect.html
and http/tests/loading/307-after-303-after-post.html now that the
response passed to willSendRequest is correct and now that the right
redirect URL is being printed in EFL port.

Unfortunately, http/tests/loading/redirect-methods.html cannot be
unskipped yet due to bug 66873.

* platform/efl/test_expectations.txt:

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

8 years agoREGRESSION(r116134): It made 3 inspector tests fail
ossy@webkit.org [Fri, 4 May 2012 20:20:04 +0000 (20:20 +0000)]
REGRESSION(r116134): It made 3 inspector tests fail
https://bugs.webkit.org/show_bug.cgi?id=85654

Unreviewed gardening, skip failing tests until proper fix.

* platform/qt/Skipped:

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

8 years ago[EFL] Implement layoutTestController.dumpResourceResponseMIMETypes
commit-queue@webkit.org [Fri, 4 May 2012 20:14:58 +0000 (20:14 +0000)]
[EFL] Implement layoutTestController.dumpResourceResponseMIMETypes
https://bugs.webkit.org/show_bug.cgi?id=84941

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-04
Reviewed by Martin Robinson.

Source/WebKit/efl:

Extend Ewk_Frame_Resource_Response structure to pass resource MIME type
information.

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::dispatchWillSendRequest):
(WebCore::FrameLoaderClientEfl::dispatchDidReceiveResponse):
* ewk/ewk_frame.h:

Tools:

Print MIME type detection messages in EFL's DumpRenderTree if
LayoutTestController's dumpResourceResponseMIMETypes() returns true.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::onResponseReceived):

LayoutTests:

* platform/efl/Skipped: Unskip test cases which require MIME type
detection messages now that is is implemented in EFL port.
* platform/efl/fast/preloader/script-expected.txt: Added. Use same
EFL expectation as in chromium and mac ports (MIME type is
"application/javascript" instead of "application/x-javascript").

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

8 years ago[BlackBerry] Implement numberOfProcessorCores() for QNX
commit-queue@webkit.org [Fri, 4 May 2012 20:13:10 +0000 (20:13 +0000)]
[BlackBerry] Implement numberOfProcessorCores() for QNX
https://bugs.webkit.org/show_bug.cgi?id=85638

Patch by Jeff Rogers <jrogers@rim.com> on 2012-05-04
Reviewed by Antonio Gomes.

* wtf/NumberOfCores.cpp:
(WTF::numberOfProcessorCores):

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

8 years agoFix expectation for test after http://trac.webkit.org/changeset/116143.
ojan@chromium.org [Fri, 4 May 2012 20:12:43 +0000 (20:12 +0000)]
Fix expectation for test after trac.webkit.org/changeset/116143.

* platform/chromium/test_expectations.txt:

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

8 years agoAll the inspector tests are skipped on chromium-mac. We should
ojan@chromium.org [Fri, 4 May 2012 20:10:42 +0000 (20:10 +0000)]
All the inspector tests are skipped on chromium-mac. We should
skip the new ones in platform/chromium as well.

* platform/chromium/test_expectations.txt:

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