WebKit.git
9 years agoREGRESSION (r116203): overflow sections don't have scrollbars
jchaffraix@webkit.org [Wed, 11 Jul 2012 17:50:47 +0000 (17:50 +0000)]
REGRESSION (r116203): overflow sections don't have scrollbars
https://bugs.webkit.org/show_bug.cgi?id=90052

Reviewed by Simon Fraser.

This issue stems from RenderLayers with overlay scrollbars not being considered
self-painting.

After r120395 (follow-up of r116203), we ignore subtrees that have no self-painting layer for
painting. Normal scrollbars are painted by their renderer so they were properly painted. However
overlay scrollbars need to be painted by their RenderLayer as a separate phase (see bug 57057) so
they were not painted anymore. The fix is simple: make RenderLayer with overlay scrollbars
self-painting as they should have been in the first place.

Unfortunately no tests as I don't think we have a good way of testing overlay
scrollbars. Tested manually though on the super simple test case from the bug.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):
Overlay scrollbars make the layer self-painting.

(WebCore::RenderLayer::updateScrollbarsAfterLayout):
Added a call to updateSelfPaintingLayer.

(WebCore::RenderLayer::styleChanged):
Moved the call to updateSelfPaintingLayer after recomputing the scrollbars to ensure proper behavior.
Added a comment underlining the reason.

(WebCore::RenderLayer::updateSelfPaintingLayer):
Renamed as it is now called during layout too.

* rendering/RenderLayer.h:
(RenderLayer): Updated after updateSelfPaintingLayer rename.

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

9 years agojsc: Parse options before creating global data
wingo@igalia.com [Wed, 11 Jul 2012 17:50:15 +0000 (17:50 +0000)]
jsc: Parse options before creating global data
https://bugs.webkit.org/show_bug.cgi?id=90975

Reviewed by Filip Pizlo.

This patch moves the options parsing in "jsc" before the creation
of the JSGlobalData, so that --useJIT=no has a chance to take
effect.

* jsc.cpp:
(CommandLine::parseArguments): Refactor to be a class, and take
argc and argv as constructor arguments.
(jscmain): Move arg parsing before JSGlobalData creation.

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

9 years ago[Qt] QRawWebView should notify when rendering is done, so that pixel results can...
noam.rosenthal@nokia.com [Wed, 11 Jul 2012 17:50:03 +0000 (17:50 +0000)]
[Qt] QRawWebView should notify when rendering is done, so that pixel results can be grabbed at the appropriate moment.
https://bugs.webkit.org/show_bug.cgi?id=90641

Reviewed by Jocelyn Turcotte.

Source/WebKit2:

Implement LayerTreeCoordinator::forceRepaint with logic equivalent to the one in
LayerTreeHostCA. If we flush the layers synchronously when forceRepaint is called,when
WKPageForceRepaint returns we are guaranteed to have an up-to-date image, as the visible
tiles are also synchronously updated.

* UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
(WebView::WebView):
(WebView::viewNeedsDisplay):
(WebView::frameLoaded):
(WebView):
(WebView::onRepaintDone):
(WebView::finishForceRepaint):
(WebView::finishFirstLayoutForFrame):
(tst_qrawwebview::doNoBackground1):
(tst_qrawwebview::doNoBackground2):
(tst_qrawwebview::doNoBackground3):
(tst_qrawwebview::run):
    The test for QRawWebView has been updated to use the WebKit2 ForcePaint API prior to
    generating the pixel results. This has exposed a timing bug in the test - setting the
    transparentBackground property of a page has to be done before it's created. This has
    been fixed in the test.

* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::forceRepaint):
(WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
(WebKit):

Tools:

* MiniBrowser/qt/raw/View.h: Comment used old class name (WKView).
(View):

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

9 years agoNodesFromRect doesn't work on SVG root elements.
allan.jensen@nokia.com [Wed, 11 Jul 2012 17:09:03 +0000 (17:09 +0000)]
NodesFromRect doesn't work on SVG root elements.
https://bugs.webkit.org/show_bug.cgi?id=89990

Reviewed by Antonio Gomes.

Source/WebCore:

Adds support for rect-based hit-testing on the SVG root element.
This means that while rect-based hit-testing is still not supported
within SVG elements, that at least it works on SVG root elements as
it would on any other replaced element.

Test: fast/dom/nodesFromRect-svg.html

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

LayoutTests:

Test nodesFromRect on SVG root elements.

* fast/dom/nodesFromRect-svg-expected.txt: Added.
* fast/dom/nodesFromRect-svg.html: Added.

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

9 years agoDeleting content at the top of prettypatch emails destroys HTML formatting
commit-queue@webkit.org [Wed, 11 Jul 2012 16:56:18 +0000 (16:56 +0000)]
Deleting content at the top of prettypatch emails destroys HTML formatting
https://bugs.webkit.org/show_bug.cgi?id=90700
<rdar://problem/7488232>

Patch by Alice Cheng <alice_cheng@apple.com> on 2012-07-11
Reviewed by David Kilzer.

* PrettyPatch/PrettyPatch.rb:

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

9 years ago[Android] sending an extra to the DRT apk so that DRT can be run in a seperate thread
commit-queue@webkit.org [Wed, 11 Jul 2012 16:50:44 +0000 (16:50 +0000)]
[Android] sending an extra to the DRT apk so that DRT can be run in a seperate thread
https://bugs.webkit.org/show_bug.cgi?id=90831

Patch by Min Qin <qinmin@chromium.org> on 2012-07-11
Reviewed by Adam Barth.

On android, DRT needs to run in a background thread to avoid ANR.
However, the java tests are running on UI thread by default.
We need to send an intent extra to the apk so that it can run on a sub thread.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver._start_once):

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

9 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Wed, 11 Jul 2012 16:46:36 +0000 (16:46 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-5.0-wk2/Skipped: Skip a new crashing test.
* platform/qt/Skipped: Typo fix.

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

9 years ago[Qt] REGRESSION(r107171): Fix --timeout option of Qt's DRT
ossy@webkit.org [Wed, 11 Jul 2012 15:14:16 +0000 (15:14 +0000)]
[Qt] REGRESSION(r107171): Fix --timeout option of Qt's DRT
https://bugs.webkit.org/show_bug.cgi?id=90966

Reviewed by Ryosuke Niwa.

* DumpRenderTree/qt/main.cpp:
(main): Don't remove the argument, because takeOptionValue() did it before.

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

9 years ago[Qt] REGRESSION(r122250): It broke USE(3D_GRAPHICS)=1 and ENABLE(WEBGL)=0 builds
ossy@webkit.org [Wed, 11 Jul 2012 15:08:09 +0000 (15:08 +0000)]
[Qt] REGRESSION(r122250): It broke USE(3D_GRAPHICS)=1 and ENABLE(WEBGL)=0 builds
https://bugs.webkit.org/show_bug.cgi?id=90943

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-07-11
Reviewed by Csaba Osztrogonác.

Uses proper guarding in Extensions3DOpenGLCommon and Extensions3DOpenGLES as per https://bugs.webkit.org/show_bug.cgi?id=90506.

No new tests, becasue there is no new functionality.

* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Use proper guarding.
* platform/graphics/opengl/Extensions3DOpenGLES.cpp: Use proper guarding.

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

9 years ago[Qt] Middle clicking a scrollbar causes text to be pasted.
commit-queue@webkit.org [Wed, 11 Jul 2012 15:05:23 +0000 (15:05 +0000)]
[Qt] Middle clicking a scrollbar causes text to be pasted.
https://bugs.webkit.org/show_bug.cgi?id=78444

Source/WebKit/qt:

Check if the event was already accepted before handling the clipboard.

Patch by Steffen Imhof <steffen.imhof@basyskom.com> on 2012-07-11
Reviewed by Simon Hausmann.

* Api/qwebpage.cpp:
(QWebPagePrivate::mouseReleaseEvent):

LayoutTests:

Updated the scrollbars/scrollbar-middleclick-nopaste.html test to use an
<input> field as target for onpaste events. Using <body> did not work
(at least for Qt), because the onpaste events are not fired, even if
manually middle-clicking into the body. My guess would be that they are
not sent, because the body is non-editable. The changed test should
reflect the common use-case triggering the problem better.

Patch by Steffen Imhof <steffen.imhof@basyskom.com> on 2012-07-11
Reviewed by Simon Hausmann.

* scrollbars/scrollbar-middleclick-nopaste.html:

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

9 years agoWeb Inspector: migrate from background images to CSS for statusbar rendering.
pfeldman@chromium.org [Wed, 11 Jul 2012 14:50:44 +0000 (14:50 +0000)]
Web Inspector: migrate from background images to CSS for statusbar rendering.
https://bugs.webkit.org/show_bug.cgi?id=90902

Reviewed by Vsevolod Vlasov.

Source/WebCore:

This change removes statusbar* images and uses gradients and borders to re-create original inspector look.

* WebCore.gypi:
* inspector/front-end/Images/statusbarBackground.png: Removed.
* inspector/front-end/Images/statusbarBottomBackground.png: Removed.
* inspector/front-end/Images/statusbarButtons.png: Removed.
* inspector/front-end/Images/statusbarMenuButton.png: Removed.
* inspector/front-end/Images/statusbarMenuButtonSelected.png: Removed.
* inspector/front-end/StatusBarButton.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(body.drawer-visible #main-status-bar):
(body.drawer-visible #main-status-bar::after):
(.status-bar-background):
(.status-bar > div):
(.glyph):
(button.status-bar-item):
(.status-bar button.status-bar-item:active):
(select.status-bar-item):
(select.status-bar-item, select.status-bar-item:hover):
(body.detached .alternate-status-bar-buttons-bar):
(.alternate-status-bar-buttons-bar):
(.alternate-status-bar-buttons-bar .status-bar-item):
(.alternate-status-bar-buttons-bar .status-bar-item.emulate-active):
(#drawer):
(body.drawer-visible #drawer-contents):
(#drawer-status-bar):
* inspector/front-end/inspector.html:
* inspector/front-end/scriptsPanel.css:
(button.status-bar-item.scripts-navigator-show-hide-button):
(button.status-bar-item.scripts-navigator-show-hide-button:active):
(button.status-bar-item.scripts-debugger-show-hide-button):
(button.status-bar-item.scripts-debugger-show-hide-button:active):

Source/WebKit/chromium:

* WebKit.gypi:
* src/js/Images/statusbarBackgroundChromium.png: Removed.
* src/js/Images/statusbarBottomBackgroundChromium.png: Removed.
* src/js/Images/statusbarButtonsChromium.png: Removed.
* src/js/Images/statusbarMenuButtonChromium.png: Removed.
* src/js/Images/statusbarMenuButtonSelectedChromium.png: Removed.
* src/js/devTools.css:
(.status-bar-background):

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

9 years ago[Chromium] Unreviewed gardening. fast/forms/textarea/textarea-state-restore.html...
wjmaclean@chromium.org [Wed, 11 Jul 2012 14:35:37 +0000 (14:35 +0000)]
[Chromium] Unreviewed gardening. fast/forms/textarea/textarea-state-restore.html is flaky (timeouts frquently).
https://bugs.webkit.org/show_bug.cgi?id=90980

Marking this test as possible TIMOUT in test expectations.

* platform/chromium/TestExpectations:

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

9 years ago[Qt] Unreviewed gardening. Skip a failing test after r122327.
ossy@webkit.org [Wed, 11 Jul 2012 14:06:50 +0000 (14:06 +0000)]
[Qt] Unreviewed gardening. Skip a failing test after r122327.
https://bugs.webkit.org/show_bug.cgi?id=90979.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-07-11

* platform/qt/Skipped:

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

9 years agoUnreviewed gardening. Mark inspector/extensions/extensions-events.html as TIMEOUT...
wjmaclean@chromium.org [Wed, 11 Jul 2012 13:48:46 +0000 (13:48 +0000)]
Unreviewed gardening. Mark inspector/extensions/extensions-events.html as TIMEOUT on non-debug builds.
https://bugs.webkit.org/show_bug.cgi?id=86439

This test has started timing out on non-debug builds as well, adding comment to existing bug.

* platform/chromium/TestExpectations:

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

9 years ago[BlackBerry] crash in CookieDatabaseBackingStore.
jason.liu@torchmobile.com.cn [Wed, 11 Jul 2012 13:44:48 +0000 (13:44 +0000)]
[BlackBerry] crash in CookieDatabaseBackingStore.
https://bugs.webkit.org/show_bug.cgi?id=90270

Reviewed by George Staikos.

There is one case for this crash.
1. A browser crashes and locks cookies' database for a while.
2. Open a new browser when the old one doesn't finish crashing.
3. The new one writes the cookies' database and receives a SQLITE_BUSY error
   in CookieDatabaseBackingStore's invokeOpen. So this database isn't opened.
4. invokeGetCookiesWithLimit returns 0.
5. Crash happens when using a null pointer.

Add function setBusyTimeout(1000) and a guard for cookies' pointer.
setBusyTimeout will call sqlite3_busy_timeout.

When the SQLite database is accessed for reading it is locked for writing
until the reading access is finished. Another process cannot access the database
while it is locked. The timeout time sets a limit while this process tries to access
the locked database. If the database is unlocked within the timeout time it can be
accessed, otherwise an access fails.

No new tests. This crash is hard to reproduce, and it happens only on our platform.

* platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
(WebCore::CookieDatabaseBackingStore::getCookiesFromDatabase):

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

9 years agoWeb Inspector: Move revisions support to UISourceCode.
vsevik@chromium.org [Wed, 11 Jul 2012 12:30:10 +0000 (12:30 +0000)]
Web Inspector: Move revisions support to UISourceCode.
https://bugs.webkit.org/show_bug.cgi?id=90888

Reviewed by Pavel Feldman.

Source/WebCore:

Moved revisions support to UISourceCode.
Revision management code is moved unchanged where possible and should be refactored later.

* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged): revision is now added to uiSourceCode, not resource.
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._notifyUISourceCodeContentCommitted):
Extension server is now listening for Workspace.UISourceCodeContentCommitted event instead of ResourceTreeModel.ResourceContentCommitted.
* inspector/front-end/Resource.js:
* inspector/front-end/ResourceTreeModel.js: ResourceTreeModel.ResourceContentCommitted renamed to Workspace.UISourceCodeContentCommitted.
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceSourceFrame): ResourceSourceFrame is not update when revisions are added anymore as resource conenten is considered immutable now
* inspector/front-end/RevisionHistoryView.js:
(WebInspector.RevisionHistoryView.populateRevisions):
(WebInspector.RevisionHistoryView):
(WebInspector.RevisionHistoryView.showHistory):
(WebInspector.RevisionHistoryView.prototype._createUISourceCodeItem):
(WebInspector.RevisionHistoryView.prototype._revisionAdded.get if):
(WebInspector.RevisionHistoryView.prototype._revisionAdded):
(WebInspector.RevisionHistoryView.prototype._revealUISourceCode.get if):
(WebInspector.RevisionHistoryView.prototype._revealUISourceCode):
(WebInspector.RevisionHistoryView.prototype._reset):
* inspector/front-end/ScriptSnippetModel.js: Snippets are not loaded before ResourceTreeModel.mainFrame is available anymore.
(WebInspector.ScriptSnippetModel):
(WebInspector.ScriptSnippetModel.prototype._setScriptSnippetContent):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode):
(WebInspector.UISourceCode.prototype.requestOriginalContent):
(WebInspector.UISourceCode.prototype._setContent):
(WebInspector.UISourceCode.prototype.addRevision):
(WebInspector.UISourceCode.prototype._restoreRevisionHistory):
(WebInspector.UISourceCode.prototype._clearRevisionHistory):
(WebInspector.UISourceCode.prototype.revertToOriginal):
(WebInspector.UISourceCode.prototype.revertAndClearHistory):
(WebInspector.UISourceCode.prototype.revertAndClearHistory.clearHistory):
(WebInspector.UISourceCode.prototype.commitWorkingCopy):
(WebInspector.UISourceCode.prototype.canonicalMimeType):
(WebInspector.Revision):
(WebInspector.Revision._revisionHistoryRegistry):
(WebInspector.Revision._ensureStaleRevisionsFileteredOut.persist):
(WebInspector.Revision._ensureStaleRevisionsFileteredOut):
(WebInspector.Revision.prototype.get uiSourceCode):
(WebInspector.Revision.prototype.get timestamp):
(WebInspector.Revision.prototype.get content):
(WebInspector.Revision.prototype.revertToThis):
(WebInspector.Revision.prototype.contentURL):
(WebInspector.Revision.prototype.contentType):
(WebInspector.Revision.prototype.requestContent):
(WebInspector.Revision.prototype.searchInContent):
(WebInspector.Revision.prototype._persist):
* inspector/front-end/UserAgentSupport.js: Drive-by closure compilation fix.
* inspector/front-end/Workspace.js:
* inspector/front-end/inspector.js: ScriptSnippetModel is now created after ResourceTreeModel.

LayoutTests:

* http/tests/inspector/network/network-request-revision-content-expected.txt:
* http/tests/inspector/network/network-request-revision-content.html:
* inspector/debugger/script-snippet-model.html:
* inspector/styles/styles-add-new-rule.html:
* inspector/styles/styles-history.html:

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

9 years agoWebCoreSupport needs objects each of which follows major WebCore objects
morrita@google.com [Wed, 11 Jul 2012 11:26:50 +0000 (11:26 +0000)]
WebCoreSupport needs objects each of which follows major WebCore objects
https://bugs.webkit.org/show_bug.cgi?id=88499

Reviewed by Alexey Proskuryakov.

Source/WebCore:

This change

- Makes Internals rough lifetime to follow Document.
  Note that Internals can survive longer than Document in same case.
  Internals::m_document is cleared when the document destruction is notified.
- Makes InternalSettings rough lifetime to follow the Page.
  This is done by making InternalSettings a supplement of the page.
  Now InternalSettings object is created per Page instead of per Frame.

Per-test setting clearance is done by newly introduced InternalSettings::Backup,
which recovers the modified settings and refreshes it for each time a test starts.

* WebCore.exp.in:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::from):
(WebCore::InternalSettings::~InternalSettings):
(WebCore::InternalSettings::InternalSettings):
(WebCore::InternalSettings::reset):
(WebCore::InternalSettings::settings):
(WebCore::InternalSettings::setFixedElementsLayoutRelativeToFrame):
(WebCore::InternalSettings::setFixedPositionCreatesStackingContext):
(WebCore::InternalSettings::allowRoundingHacks):
(WebCore::InternalSettings::userPreferredLanguages):
(WebCore::InternalSettings::setUserPreferredLanguages):
(WebCore::InternalSettings::setShouldDisplayTrackKind):
(WebCore::InternalSettings::shouldDisplayTrackKind):
(WebCore::InternalSettings::setPagination):
* testing/InternalSettings.h:
(Backup):
(InternalSettings):
(WebCore::InternalSettings::page):
* testing/InternalSettings.idl:
* testing/Internals.cpp:
(WebCore::Internals::Internals):
(WebCore):
(WebCore::Internals::contextDocument):
(WebCore::Internals::frame):
(WebCore::Internals::settings):
(WebCore::Internals::setPagination): Replaced as an alias.
(WebCore::Internals::userPreferredLanguages): Replaced as an alias.
(WebCore::Internals::setUserPreferredLanguages): Replaced as an alias.
(WebCore::Internals::setShouldDisplayTrackKind): Replaced as an alias.
(WebCore::Internals::shouldDisplayTrackKind): Replaced as an alias.
(WebCore::Internals::emitInspectorDidBeginFrame):
(WebCore::Internals::emitInspectorDidCancelFrame):
(WebCore::Internals::allowRoundingHacks): Replaced as an alias.
* testing/Internals.h:
(WebCore):
(Internals):
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):
* testing/v8/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):

Source/WebKit2:

Added exporting symbols.

* win/WebKit2.def:
* win/WebKit2CFLite.def:

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

9 years agoUnreviewed, rolling out r122318.
abecsi@webkit.org [Wed, 11 Jul 2012 10:40:41 +0000 (10:40 +0000)]
Unreviewed, rolling out r122318.
http://trac.webkit.org/changeset/122318
https://bugs.webkit.org/show_bug.cgi?id=90961

It made 11 fast/events/touch fail (Requested by bbandix on
#webkit).

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

* UIProcess/API/qt/qquickwebview.cpp:
* UIProcess/API/qt/qquickwebview_p.h:

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

9 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Wed, 11 Jul 2012 10:35:31 +0000 (10:35 +0000)]
[Qt] Unreviewed gardening.

Mark fast/js/dfg-poison-fuzz.html as slow, because its runtime is 48 secs on 32 bit in debug mode.

* platform/qt/TestExpectations:

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

9 years ago[Qt][ARM] Unreviewed gardening, mark slow tests.
ossy@webkit.org [Wed, 11 Jul 2012 10:08:05 +0000 (10:08 +0000)]
[Qt][ARM] Unreviewed gardening, mark slow tests.

* platform/qt-arm/TestExpectations:

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

9 years ago[EFL][Wk2] WebErrorsEfl.cpp needs to return non-empty errors
commit-queue@webkit.org [Wed, 11 Jul 2012 09:54:23 +0000 (09:54 +0000)]
[EFL][Wk2] WebErrorsEfl.cpp needs to return non-empty errors
https://bugs.webkit.org/show_bug.cgi?id=90688

Patch by Keunsoon Lee <keunsoon.lee@samsung.com> on 2012-07-11
Reviewed by Hajime Morita.

Return meaningful error for each case.

* WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
(WebKit::cancelledError): create ResourceError for "request canceled".
(WebKit::blockedError): create ResourceError for "request blocked".
(WebKit::cannotShowURLError): create ResourceError for "cannot show url".
(WebKit::interruptedForPolicyChangeError): create ResourceError for "Frame load interrupted by policy change".
(WebKit::cannotShowMIMETypeError): create ResourceError for "Cannot show mimetype".
(WebKit::fileDoesNotExistError): create ResourceError for "File does not exist".
(WebKit::pluginWillHandleLoadError): create ResourceError for "Plugin will handle load".

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

9 years ago[Qt][WK2] Fix wheel scrolling for simple pages
abecsi@webkit.org [Wed, 11 Jul 2012 09:49:25 +0000 (09:49 +0000)]
[Qt][WK2] Fix wheel scrolling for simple pages
https://bugs.webkit.org/show_bug.cgi?id=90793

Reviewed by Kenneth Rohde Christiansen.

Call WebPage::setFixedLayoutSize in setResizesToContentsUsingLayoutSize
instead of setting the view size manually and scheduling a relayout.
Since setFixedLayoutSize forces a relayout it also updates the scrollbars
after the visible rect is available.
This fixes scrolling with wheel events for a QML WebView loading a simple
local page which previously ended up in a state where scrolling was disabled
because the scrollbar update happened before the correct visible rect size was
available.

Add a QML test and infrastructure to QWebKitTest to cover this case.

* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::wheelEvent):
* UIProcess/API/qt/qwebkittest_p.h:
* UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/test4.html: Added.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setResizesToContentsUsingLayoutSize):

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

9 years ago[Mac] Expose time format related functions
yosin@chromium.org [Wed, 11 Jul 2012 09:44:03 +0000 (09:44 +0000)]
[Mac] Expose time format related functions
https://bugs.webkit.org/show_bug.cgi?id=90956

Reviewed by Kent Tamura.

This patch introduces localizedTimeFormatText, localizedShortTimeFormatText
and timeAMPMLabels for Mac within feature flag ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

See also:
  ICU version: https://bugs.webkit.org/show_bug.cgi?id=89965
  Win version: https://bugs.webkit.org/show_bug.cgi?id=90236

No new tests. This patch doesn't change behavior.

* platform/text/mac/LocalizedDateMac.cpp:
(WebCore::localizedTimeFormatText): Added.
(WebCore::localizedShortTimeFormatText): Added.
(WebCore::timeAMPMLabels): Added.

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

9 years ago[Qt][ARM] Unreviewed gardening, skip more crashing tests.
ossy@webkit.org [Wed, 11 Jul 2012 09:43:45 +0000 (09:43 +0000)]
[Qt][ARM] Unreviewed gardening, skip more crashing tests.

* platform/qt-arm/TestExpectations:

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

9 years ago[Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded()
abecsi@webkit.org [Wed, 11 Jul 2012 09:40:23 +0000 (09:40 +0000)]
[Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded()
https://bugs.webkit.org/show_bug.cgi?id=90875

Reviewed by Kenneth Rohde Christiansen.

Since MultiPointTouchArea and PinchArea use the childMouseEventFilter
method to filter touch events too, and because Flickable filters child
mouse events the canvas calls this function before propagating the touch
event to the WebView. Since Flickable does not accept touch events the
canvas tries to propagate a synthesized mouse event through the base
class childMouseEventFilter function which is accepted by Flickable and
interferes with the input events we send to Flicakble hence messes up
the internal state of the WebView.
This patch reimplements the virtual childMouseEventFilter method so that all
the mouse and touch events can be processed by WebKit before they arrive to
Flickable.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::childMouseEventFilter):
* UIProcess/API/qt/qquickwebview_p.h:

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

9 years agoFirst commit, moving myself to commiter.
allan.jensen@nokia.com [Wed, 11 Jul 2012 09:28:06 +0000 (09:28 +0000)]
First commit, moving myself to commiter.

Unreviewed

* Scripts/webkitpy/common/config/committers.py:

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

9 years ago[Chromium] Adding HarfBuzz-ng for Linux
allan.jensen@nokia.com [Wed, 11 Jul 2012 09:27:48 +0000 (09:27 +0000)]
[Chromium] Adding HarfBuzz-ng for Linux
https://bugs.webkit.org/show_bug.cgi?id=90362

Reviewed by Tony Chang.

Source/WebCore:

This patch adds harfbuzz-ng support for Chromium Linux port as a part of
transition from old harfbuzz. HarfBuzzFaceSkia.cpp implements harfbuzz-ng
callbacks by using Skia APIs. For now, the feature is enabled only when
WTF_USE_HARFBUZZ_NG is defined.

No new tests. No change in behavior now.

* WebCore.gyp/WebCore.gyp: Added use_harfbuzz_ng variable and related files.
* WebCore.gypi: Added HarfBuzzFaceSkia.cpp
* platform/graphics/harfbuzz/FontHarfBuzz.cpp: Added USE(HARFBUZZ_NG).
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Ditto.
(WebCore):
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Ditto.
(FontPlatformData):
* platform/graphics/harfbuzz/ng/HarfBuzzFaceSkia.cpp: Added.
(WebCore):
(WebCore::SkiaScalarToHarfbuzzPosition):
(WebCore::SkiaGetGlyphWidthAndExtents):
(WebCore::harfbuzzGetGlyph):
(WebCore::harfbuzzGetGlyphHorizontalAdvance):
(WebCore::harfbuzzGetGlyphHorizontalOrigin):
(WebCore::harfbuzzGetGlyphExtents):
(WebCore::harfbuzzSkiaGetFontFuncs):
(WebCore::harfbuzzSkiaGetTable):
(WebCore::destroyPaint):
(WebCore::HarfBuzzFace::createFace):
(WebCore::HarfBuzzFace::createFont):
(WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
* platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added USE(HARFBUZZ_NG).
(WebCore::substituteWithVerticalGlyphs):

Source/WebKit/chromium:

* features.gypi: Added use_harfbuzz_ng variable. If the value is set, USE(HARFBUZZ_NG) is defined.

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

9 years ago[Qt] Unreviewed gardening after r122290.
ossy@webkit.org [Wed, 11 Jul 2012 09:25:41 +0000 (09:25 +0000)]
[Qt] Unreviewed gardening after r122290.

Patch by Balazs Ankes <bank@inf.u-szeged.hu> on 2012-07-11

* platform/qt/Skipped: Skip fast/forms/input-in-table-cell-no-value.html because  ENABLE(INPUT_TYPE_DATE) is disabled

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

9 years ago[EFL] Move tests that require ENABLE_INPUT_TYPE_* to TestExpectations
commit-queue@webkit.org [Wed, 11 Jul 2012 09:06:58 +0000 (09:06 +0000)]
[EFL] Move tests that require ENABLE_INPUT_TYPE_* to TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=90948

Unreviewed EFL gardening. Move tests that require
ENABLE_INPUT_TYPE_* to be enabled from Skipped list to
TestExpectations.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-11

* platform/efl/Skipped:
* platform/efl/TestExpectations:

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

9 years agoWeb Inspector: Clean up FileSystem related code
kinuko@chromium.org [Wed, 11 Jul 2012 09:04:27 +0000 (09:04 +0000)]
Web Inspector: Clean up FileSystem related code
https://bugs.webkit.org/show_bug.cgi?id=90592

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-07-11
Reviewed by Vsevolod Vlasov.

Clean up FileSystem related code in Inspector as follows:
- Clean up layout tests and add test case for error case,
- Fix error handling on request,
- s/GetFileSystemRootTask/FileSystemRootRequest/g
- s/ReadDirectoryTask/DirectoryContentRequest/g
- s/ReadFileTask/FileContentRequest/g

Source/WebCore:

Tests: http/tests/inspector/filesystem/request-directory-content.html
       http/tests/inspector/filesystem/request-file-content.html
       http/tests/inspector/filesystem/request-filesystem-root.html
       http/tests/inspector/filesystem/request-metadata.html

* inspector/InspectorFileSystemAgent.cpp:
(WebCore):
(WebCore::InspectorFileSystemAgent::requestFileSystemRoot): Add early error handling.
(WebCore::InspectorFileSystemAgent::requestDirectoryContent): Add early error handling.
(WebCore::InspectorFileSystemAgent::requestMetadata): Add early error handling.
(WebCore::InspectorFileSystemAgent::requestFileContent): Add early error handling.
* inspector/InspectorFileSystemAgent.h: Remove unused forward declaration and unused header.
(WebCore):
(InspectorFileSystemAgent):
* inspector/front-end/FileSystemModel.js:
(WebInspector.FileSystemRequestManager.prototype.requestFileSystemRoot.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestFileSystemRoot): Add early error handling.
(WebInspector.FileSystemRequestManager.prototype.requestDirectoryContent.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestDirectoryContent): Add early error handling.
(WebInspector.FileSystemRequestManager.prototype.requestMetadata.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestMetadata): Add early error handling.
(WebInspector.FileSystemRequestManager.prototype.requestFileContent.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestFileContent): Add early error handling.

LayoutTests:

* http/tests/inspector/filesystem/filesystem-test.js:
(initialize_FileSystemTest.InspectorTest.dumpFileSystemRootRequestResult):
(initialize_FileSystemTest.InspectorTest.dumpDirectoryContentRequestResult):
(initialize_FileSystemTest.InspectorTest.dumpMetadataRequestResult):
(initialize_FileSystemTest.InspectorTest.dumpFileContentRequestResult):
(initialize_FileSystemTest):
* http/tests/inspector/filesystem/request-directory-content-expected.txt: Renamed from LayoutTests/http/tests/inspector/filesystem/read-directory-expected.txt.
* http/tests/inspector/filesystem/request-directory-content.html: Renamed from LayoutTests/http/tests/inspector/filesystem/read-directory.html. Changed test steps to unnamed function array. Add failcase test.
* http/tests/inspector/filesystem/request-file-content-expected.txt: Renamed from LayoutTests/http/tests/inspector/filesystem/read-file-expected.txt.
* http/tests/inspector/filesystem/request-file-content.html: Renamed from LayoutTests/http/tests/inspector/filesystem/read-file.html. Changed test steps to unnamed function array. Add failcase test.
* http/tests/inspector/filesystem/request-filesystem-root-expected.txt: Renamed from LayoutTests/http/tests/inspector/filesystem/get-filesystem-expected.txt.
* http/tests/inspector/filesystem/request-filesystem-root.html: Renamed from LayoutTests/http/tests/inspector/filesystem/get-filesystem-root.html. Changed test steps to unnamed function array. Add failcase test.
* http/tests/inspector/filesystem/request-metadata-expected.txt: Renamed from LayoutTests/http/tests/inspector/filesystem/get-metadata-expected.txt.
* http/tests/inspector/filesystem/request-metadata.html: Renamed from LayoutTests/http/tests/inspector/filesystem/get-metadata.html. Changed test steps to unnamed function array. Add failcase test.

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

9 years agoWeb Inspector: Forward message loop instrumentation data to frontend.
caseq@chromium.org [Wed, 11 Jul 2012 08:56:35 +0000 (08:56 +0000)]
Web Inspector: Forward message loop instrumentation data to frontend.
https://bugs.webkit.org/show_bug.cgi?id=89584

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-07-09
Reviewed by Yury Semikhatsky.

Transmit collected message loop tasks to inspector frontend.
Now "Program" should be a top-level event on browsers that
support message loop instrumentation.
Frontend was changed so that user will not see any changes.

Source/WebCore:

* inspector/InspectorTimelineAgent.cpp:
(TimelineRecordType):
Added new event type - "Program"
(WebCore::InspectorTimelineAgent::willProcessTask):
Begin "Program" event.
(WebCore::InspectorTimelineAgent::didProcessTask):
Finish "Program" event.
(WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
Do not add counters to "Program" events.
(WebCore):
(WebCore::InspectorTimelineAgent::innerSetHeapSizeStatistic):
Renamed from "setHeapSizeStatistic"
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype._onRecordAdded):
Unwraps "Program" events.
(WebInspector.MemoryStatistics.prototype._innerRecordAdded):
Renamed from "_onRecordAdded"
* inspector/front-end/TimelineFrameController.js:
(WebInspector.TimelineFrameController.prototype._addRecord):
Unwraps "Program" events.
(WebInspector.TimelineFrameController.prototype._innerAddRecord):
Renamed from "_addRecord"
* inspector/front-end/TimelineModel.js:
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
Filter out "Program" category.
(WebInspector.TimelineCategoryStrips.prototype.update):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
Filter out "Program" category.
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
Unwraps "Program" events.
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.categories):
Added "Program" category.
(WebInspector.TimelinePresentationModel.recordStyle):
Ditto.
(WebInspector.TimelinePresentationModel.prototype.addRecord):
Unwraps "Program" events.
(WebInspector.TimelinePresentationModel.prototype._addRecord):
Renamed from "addRecord"

LayoutTests:

* inspector/timeline/timeline-enum-stability-expected.txt:

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

9 years agowebkit-patch land should automatically add svn:mime-type for .png files
ossy@webkit.org [Wed, 11 Jul 2012 08:34:25 +0000 (08:34 +0000)]
webkit-patch land should automatically add svn:mime-type for .png files
https://bugs.webkit.org/show_bug.cgi?id=75825

Patch by Balazs Ankes <bank@inf.u-szeged.hu> on 2012-07-11
Reviewed by Dirk Pranke.

Refactor the png.py to avoid code duplication.

* Scripts/webkitpy/common/checksvnconfigfile.py: Added.
(check):
(config_file_path):
(errorstr_autoprop):
(errorstr_png):
* Scripts/webkitpy/style/checkers/png.py:
(PNGChecker.check):
* Scripts/webkitpy/tool/commands/download.py:
(Land):
* Scripts/webkitpy/tool/steps/__init__.py:
* Scripts/webkitpy/tool/steps/addsvnmimetypeforpng.py: Added.
(AddSvnMimetypeForPng):
(AddSvnMimetypeForPng.__init__):
(AddSvnMimetypeForPng.run):
(AddSvnMimetypeForPng._check_pngs):
* Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py: Added.
(MockSCMDetector):
(MockSCMDetector.__init__):
(MockSCMDetector.display_name):
(AddSvnMimetypeForPngTest):
(AddSvnMimetypeForPngTest.test_run):

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

9 years ago[Chromium] Adding HarfBuzz-ng for Linux
bashi@chromium.org [Wed, 11 Jul 2012 07:46:52 +0000 (07:46 +0000)]
[Chromium] Adding HarfBuzz-ng for Linux
https://bugs.webkit.org/show_bug.cgi?id=90362

Reviewed by Tony Chang.

Source/WebCore:

This patch adds harfbuzz-ng support for Chromium Linux port as a part of
transition from old harfbuzz. HarfBuzzFaceSkia.cpp implements harfbuzz-ng
callbacks by using Skia APIs. For now, the feature is enabled only when
WTF_USE_HARFBUZZ_NG is defined.

No new tests. No change in behavior now.

* WebCore.gyp/WebCore.gyp: Added use_harfbuzz_ng variable and related files.
* WebCore.gypi: Added HarfBuzzFaceSkia.cpp
* platform/graphics/harfbuzz/FontHarfBuzz.cpp: Added USE(HARFBUZZ_NG).
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Ditto.
(WebCore):
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Ditto.
(FontPlatformData):
* platform/graphics/harfbuzz/ng/HarfBuzzFaceSkia.cpp: Added.
(WebCore):
(WebCore::SkiaScalarToHarfbuzzPosition):
(WebCore::SkiaGetGlyphWidthAndExtents):
(WebCore::harfbuzzGetGlyph):
(WebCore::harfbuzzGetGlyphHorizontalAdvance):
(WebCore::harfbuzzGetGlyphHorizontalOrigin):
(WebCore::harfbuzzGetGlyphExtents):
(WebCore::harfbuzzSkiaGetFontFuncs):
(WebCore::harfbuzzSkiaGetTable):
(WebCore::destroyPaint):
(WebCore::HarfBuzzFace::createFace):
(WebCore::HarfBuzzFace::createFont):
(WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
* platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added USE(HARFBUZZ_NG).
(WebCore::substituteWithVerticalGlyphs):

Source/WebKit/chromium:

* features.gypi: Added use_harfbuzz_ng variable. If the value is set, USE(HARFBUZZ_NG) is defined.

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

9 years agoUnreviewed gardening.
hayato@chromium.org [Wed, 11 Jul 2012 07:42:07 +0000 (07:42 +0000)]
Unreviewed gardening.
One more fix for r122292.

* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:

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

9 years agoUnreviewed GTK gardening, adding an image expectation for the
zandobersek@gmail.com [Wed, 11 Jul 2012 07:42:05 +0000 (07:42 +0000)]
Unreviewed GTK gardening, adding an image expectation for the
fast/forms/input-in-table-cell-no-value.html reftest, failing
after it was introduced in r122290 due to <input type='date'>
being used. The ENABLE_INPUT_TYPE_DATE feature is not enabled
on the Gtk port.

* platform/gtk/TestExpectations:

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

9 years agoUnreviewed, rolling out r122301.
commit-queue@webkit.org [Wed, 11 Jul 2012 07:27:32 +0000 (07:27 +0000)]
Unreviewed, rolling out r122301.
http://trac.webkit.org/changeset/122301
https://bugs.webkit.org/show_bug.cgi?id=90947

Android builder started to fail (Requested by hayato on
#webkit).

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

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

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

9 years agocompositing/webgl/webgl-nonpremultiplied-blend.html is flaky on Lion
kbr@google.com [Wed, 11 Jul 2012 07:22:18 +0000 (07:22 +0000)]
compositing/webgl/webgl-nonpremultiplied-blend.html is flaky on Lion
https://bugs.webkit.org/show_bug.cgi?id=82412

Reviewed by Adrienne Walker.

Source/WebCore:

When compositing premultipliedAlpha=false WebGL canvases, use a separate
blend function for the alpha channel to avoid writing alpha < 1. This
makes the behavior more consistent with all other compositing results
and avoids situations where the alpha channel is preserved on some
platforms and discarded on others.

Covered by existing tests.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawTextureQuad):
    Use separate alpha blend function when compositing premultipliedAlpha=false WebGL canvases.

LayoutTests:

Removed Chromium Mac-specific pixel results and failure expectations.

* platform/chromium-mac/compositing/webgl/webgl-nonpremultiplied-blend-expected.png: Removed.
* platform/chromium/TestExpectations:
    Removed expectations of failure.

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

9 years agogc() doesn't exist in svg/animations/dynamic-modify-attributename-crash2.svg
ossy@webkit.org [Wed, 11 Jul 2012 07:06:39 +0000 (07:06 +0000)]
gc() doesn't exist in svg/animations/dynamic-modify-attributename-crash2.svg
https://bugs.webkit.org/show_bug.cgi?id=90945

Reviewed by Abhishek Arya.

* svg/animations/dynamic-modify-attributename-crash2.svg: Include fast/js/resources/js-test-pre.js to have gc().

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

9 years agoUnreviewed gardening.
hayato@chromium.org [Wed, 11 Jul 2012 07:02:09 +0000 (07:02 +0000)]
Unreviewed gardening.

Android builder started to fail after r122292.
My best guess is that '--ant-compile' does not take an argument.

* WebKitUnitTests.gyp:

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

9 years ago[Chromium-Windows] Implement functions for localized time format information
yosin@chromium.org [Wed, 11 Jul 2012 06:52:27 +0000 (06:52 +0000)]
[Chromium-Windows] Implement functions for localized time format information
https://bugs.webkit.org/show_bug.cgi?id=90236

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces following localized time format related
functions:
    - localizedTimeFormatText
    - localizeShortTimeFormatText()
    - timeAMPMLabels
for Windows in feature flag: ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

See also:
  ICU version: https://bugs.webkit.org/show_bug.cgi?id=89965
  Mac version: https://bugs.webkit.org/show_bug.cgi?id=90237

Tests: WebKit/chromium/tests/LocalWinTest.cpp

* platform/text/LocaleWin.cpp:
(WebCore::mapCharacterToDateTimeFieldType): Added.
(WebCore::convertWindowsTimeFormatToLDML): Added.
(WebCore::LocaleWin::timeFormatText): Added.
(WebCore::LocaleWin::shortTimeFormatText): Added.
(WebCore::LocaleWin::timeAMPMLabels): Added.
* platform/text/LocaleWin.h:
(LocaleWin): Added time format related functions and variables.
* platform/text/LocalizedDateWin.cpp:
(WebCore::localizedTimeFormatText): Added.
(WebCore::localizedShortTimeFormatText):  Added.
(WebCore::timeAMPMLabels):  Added.

Source/WebKit/chromium:

This patch introduces test cases for date and time format related
functions in LocaleWin.

* tests/LocaleWinTest.cpp:
(LocaleWinTest):
(LocaleWinTest::dateComponents): Added.
(LocaleWinTest::msForDate): Moved inside class LocaleWinTest.
(LocaleWinTest::formatDate): Added.
(LocaleWinTest::parseDate): Added.
(LocaleWinTest::dateFormatText): Added.
(LocaleWinTest::firstDayOfWeek): Added.
(LocaleWinTest::monthLabel): Added.
(LocaleWinTest::weekDayShortLabel): Added.
(LocaleWinTest::timeFormatText): Added.
(LocaleWinTest::shortTimeFormatText): Added.
(LocaleWinTest::timeAMPMLabel): Added.
(TEST_F):

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

9 years agoStyle not updated for element with display:none becoming first/last-child
commit-queue@webkit.org [Wed, 11 Jul 2012 06:23:02 +0000 (06:23 +0000)]
Style not updated for element with display:none becoming first/last-child
https://bugs.webkit.org/show_bug.cgi?id=90356

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-07-10
Reviewed by Kent Tamura.

Source/WebCore:

Always trigger style recalc when an element without a renderer becomes the first/last-child.

Tests: fast/css/first-child-display-change.html
       fast/css/last-child-display-change.html

* dom/Element.cpp:
(WebCore::checkForSiblingStyleChanges):

LayoutTests:

* fast/css/first-child-display-change-expected.txt: Added.
* fast/css/first-child-display-change-inverse-expected.txt: Added.
* fast/css/first-child-display-change-inverse.html: Added.
* fast/css/first-child-display-change.html: Added.
* fast/css/last-child-display-change-expected.txt: Added.
* fast/css/last-child-display-change-inverse-expected.txt: Added.
* fast/css/last-child-display-change-inverse.html: Added.
* fast/css/last-child-display-change.html: Added.

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

9 years ago[Chromium] Merge final nits to DumpRenderTree.gyp for Android
abarth@webkit.org [Wed, 11 Jul 2012 06:19:09 +0000 (06:19 +0000)]
[Chromium] Merge final nits to DumpRenderTree.gyp for Android
https://bugs.webkit.org/show_bug.cgi?id=90920

Reviewed by Tony Chang.

This patch contains the last few small changes to DumpRenderTree.gyp
from the chromium-android branch. After this change, this file will be
fully merged.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

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

9 years agoUnreviewed gardening.
hayato@chromium.org [Wed, 11 Jul 2012 06:18:36 +0000 (06:18 +0000)]
Unreviewed gardening.

Remove 'true' from testRunner.dumpAsText(true).
NRWT complained that an '-expected.png' file was MISSING.

* animations/animation-shorthand-name-order.html:

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

9 years ago[WK2][EFL] Add Battery Status Provider
commit-queue@webkit.org [Wed, 11 Jul 2012 06:10:43 +0000 (06:10 +0000)]
[WK2][EFL] Add Battery Status Provider
https://bugs.webkit.org/show_bug.cgi?id=90543

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-10
Reviewed by Kenneth Rohde Christiansen.

Define a battery status provider for WebKit2 EFL which
relies on WebCore::BatteryProviderEfl.

* CMakeLists.txt: Add WebCore/Modules/battery to include
paths.
* PlatformEfl.cmake: Add BatteryProvider class to CMake.
* UIProcess/API/efl/BatteryProvider.cpp: Added.
(toBatteryProvider):
(startUpdatingCallback):
(stopUpdatingCallback):
(BatteryProvider::~BatteryProvider):
(BatteryProvider::create):
(BatteryProvider::BatteryProvider):
(BatteryProvider::startUpdating):
(BatteryProvider::stopUpdating):
(BatteryProvider::didChangeBatteryStatus):
* UIProcess/API/efl/BatteryProvider.h: Added.
(BatteryProvider):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context): Add BatteryProvider to Ewk_Context.
(createDefaultEwkContext):
(ewk_context_default_get):

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

9 years agoShadowRoot should know its type in debug build.
shinyak@chromium.org [Wed, 11 Jul 2012 05:43:06 +0000 (05:43 +0000)]
ShadowRoot should know its type in debug build.
https://bugs.webkit.org/show_bug.cgi?id=90933

Reviewed by Hajime Morita.

For assertion, ShadowRoot should know its type is UserAgentShadowRoot or AuthorShadowRoot.

This patch also renames ShadowRootCreationPurpose to ShadowRootType, since it is suitable
name for ShadowRoot to have.

No new tests, since it is used only for assertion.

* dom/Element.cpp:
(WebCore::Element::ensureShadowRoot):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::create):
* dom/ShadowRoot.h:
(ShadowRoot):
(WebCore::ShadowRoot::type):
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::createShadowSubtree):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createShadowSubtree):
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::HTMLKeygenElement):
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::createShadowSubtree):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::createShadowSubtree):
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::createShadowSubtree):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::createShadowSubtree):
* html/InputType.cpp:
(WebCore::InputType::destroyShadowSubtree): Asserts that ShadowRoot type is UserAgentShadowRoot.
* html/shadow/TextFieldDecorationElement.cpp:
(WebCore::getDecorationRootAndDecoratedRoot):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::createShadowSubtree):

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

9 years agoUnreviewed gardening.
hayato@chromium.org [Wed, 11 Jul 2012 05:40:09 +0000 (05:40 +0000)]
Unreviewed gardening.

* fast/css/deprecated-flexbox-auto-min-size-expected.txt: Renamed from LayoutTests/platform/chromium/fast/css/deprecated-flexbox-auto-min-size-expected.txt.

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

9 years ago12012-07-10 Hayato Ito <hayato@chromium.org>
hayato@chromium.org [Wed, 11 Jul 2012 05:14:23 +0000 (05:14 +0000)]
12012-07-10  Hayato Ito  <hayato@chromium.org>

Unreviewed gardening.

* platform/chromium/fast/css/deprecated-flexbox-auto-min-size-expected.txt: Renamed from LayoutTests/platform/chromium-linux/fast/css/deprecated-flexbox-auto-min-size-expected.txt.

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

9 years agoAdd missing binding type String for IndexedDB.
staikos@webkit.org [Wed, 11 Jul 2012 04:45:01 +0000 (04:45 +0000)]
Add missing binding type String for IndexedDB.
https://bugs.webkit.org/show_bug.cgi?id=90351

Reviewed by Nikolas Zimmermann.

No new tests because it's already covered by IDB tests.

* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):

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

9 years ago[chromium] Make full texture updates explicit
commit-queue@webkit.org [Wed, 11 Jul 2012 04:42:12 +0000 (04:42 +0000)]
[chromium] Make full texture updates explicit
https://bugs.webkit.org/show_bug.cgi?id=90507

Patch by Brian Anderson <brianderson@chromium.org> on 2012-07-10
Reviewed by Adrienne Walker.

Covered by existing tests.

* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarLayerChromium::updatePart):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateTiles):
* platform/graphics/chromium/cc/CCTextureUpdater.cpp:
(WebCore::CCTextureUpdater::appendFullUpdate):
(WebCore::CCTextureUpdater::hasMoreUpdates):
(WebCore::CCTextureUpdater::update):
(WebCore::CCTextureUpdater::clear):
* platform/graphics/chromium/cc/CCTextureUpdater.h:
(CCTextureUpdater):

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

9 years agoCrash in nextLinePosition() due to accessing a removed root line box.
shinyak@chromium.org [Wed, 11 Jul 2012 04:34:54 +0000 (04:34 +0000)]
Crash in nextLinePosition() due to accessing a removed root line box.
https://bugs.webkit.org/show_bug.cgi?id=90484

Reviewed by Abhishek Arya.

Source/WebCore:

When <object> element is reattached, the 'content' style is compared to the old style.
If it is not the same, a flag to recalc style is enabled. Because of this, the recalc style flag
is not cleared in updateLayoutIgnorePendingStyleSheets() in nextLinePosition(), and it causes
the second layout in isEditablePosition(p). Then 'RootInlineBox root' is invalidated, but
it's used after that.

When the content of the same <object> elements are compared, they should be the same.
However, operator== for ContentData is not implemented correctly (it compares a pointer instead of
content). So operator== does not hold for the content of the same <object> elements.

Test: editing/execCommand/crash-extend-selection-forward.html

* rendering/style/ContentData.cpp:
(WebCore::operator==): Compares the instance of data instead of pointer.

LayoutTests:

This testcase should not be triggered in ASAN.

* editing/execCommand/crash-extend-selection-forward-expected.txt: Added.
* editing/execCommand/crash-extend-selection-forward.html: Added.

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

9 years ago[Chromium-Android] Add apk test targets for webkit_unit_tests and TestWebKitAPI
abarth@webkit.org [Wed, 11 Jul 2012 04:32:34 +0000 (04:32 +0000)]
[Chromium-Android] Add apk test targets for webkit_unit_tests and TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=90918

Reviewed by Tony Chang.

The rules are similar to what we have added for DumpRenderTree apk.
All references to gtest_target_type can be removed once we enable APK
tests on the all bots.

Source/WebKit/chromium:

* WebKitUnitTests.gyp:

Tools:

* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:

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

9 years agoIndexedDB: Ensure transaction abort events are deterministic in multiprocess ports
jsbell@chromium.org [Wed, 11 Jul 2012 04:24:22 +0000 (04:24 +0000)]
IndexedDB: Ensure transaction abort events are deterministic in multiprocess ports
https://bugs.webkit.org/show_bug.cgi?id=90412

Reviewed by Tony Chang.

In multi-process ports (e.g. Chromium), transaction aborts triggered on the front-end could
be initiated while a "success" event was in-flight from the back end. This would lead to
apparently flaky behavior when requests would sometimes report success and sometimes report
an error. Address this by having front-end triggered aborts do the abort steps immediately,
then send the async abort request to the back end.

No new tests - behavior in single process ports (and DRT) covered by existing
tests. Will enable currently disabled Chromium tests to be enabled (crbug.com/83226).

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest): Initialize a new m_requestAborted flag, used to prevent
dispatching if an in-flight request comes in after the abort.
(WebCore::IDBRequest::abort): Set flag to prevent double dispatching.
(WebCore::IDBRequest::onError): Handle aborted-then-received-event case.
(WebCore::IDBRequest::onSuccess): Ditto.
(WebCore::IDBRequest::onSuccessWithContinuation): Ditto.
(WebCore::IDBRequest::dispatchEvent): On uncaught error, trigger abort on transaction front-end.
* Modules/indexeddb/IDBRequest.h:
(IDBRequest):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::abort): Do abort steps locally first, then notify back-end.
(WebCore::IDBTransaction::onAbort): If abort wasn't triggered locally, clean up is still necessary.

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

9 years agoREGRESSION(r112113): absolutely positioned INPUT boxes with a table cell containing...
jchaffraix@webkit.org [Wed, 11 Jul 2012 03:11:30 +0000 (03:11 +0000)]
REGRESSION(r112113): absolutely positioned INPUT boxes with a table cell containing block have a 0px height
https://bugs.webkit.org/show_bug.cgi?id=89209

Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/forms/input-in-table-cell-no-value.html

The issue comes from the layout code not properly resetting the overriden heigth between layouts.

The test case relies on a table cell as it requires a 2 pass layout. Between the 2 passes, different
code paths would be taken, leading to previous values being used to over-constrain the inner content.

* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
Ensure consistent layout by resetting any overriden conditional height.

LayoutTests:

The 2 tests are very close and differ by the use of min-height. This forces some content to be visible in the expected result
but not in the original test case.

* fast/forms/input-in-table-cell-no-value-expected.html: Added.
* fast/forms/input-in-table-cell-no-value.html: Added.

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

9 years agoAdd --no-build option to perf test runner
kbr@google.com [Wed, 11 Jul 2012 02:26:53 +0000 (02:26 +0000)]
Add --no-build option to perf test runner
https://bugs.webkit.org/show_bug.cgi?id=90916

Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
    Support --no-build option to perf tests, as in layout tests.

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

9 years ago[Qt] Enable antialiasing for TextureMapper
noam.rosenthal@nokia.com [Wed, 11 Jul 2012 02:21:50 +0000 (02:21 +0000)]
[Qt] Enable antialiasing for TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=90915

Reviewed by Martin Robinson.

Enable the new antialiasing functionality for WebLayerTreeRendering.
This will make one-tile layers antialiased when using UI_SIDE_COMPOSITING.

* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::ensureRootLayer):

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

9 years agoEWSTools should be able to build a chromium-ews bot from scratch
abarth@webkit.org [Wed, 11 Jul 2012 02:06:00 +0000 (02:06 +0000)]
EWSTools should be able to build a chromium-ews bot from scratch
https://bugs.webkit.org/show_bug.cgi?id=90912

Reviewed by Eric Seidel.

I've been using this script to kick off the build process for the
chromium-ews bots on Google Compute Engine.

* EWSTools/GoogleComputeEngine: Added.
* EWSTools/GoogleComputeEngine/build-chromium-ews.sh: Added.

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

9 years agoInput elements with type=range do not have default touch handlers.
commit-queue@webkit.org [Wed, 11 Jul 2012 01:47:58 +0000 (01:47 +0000)]
Input elements with type=range do not have default touch handlers.
https://bugs.webkit.org/show_bug.cgi?id=88807

Patch by Kevin Ellis <kevers@chromium.org> on 2012-07-10
Reviewed by Antonio Gomes.

Source/WebCore:

This patch adds support for touch event handling on input elements
and dragging a slider with touch start and move events.  Previously,
manipulating a slider on a touch screen required generation of
synthetic mouse events.

Tests: fast/events/touch/touch-slider-no-js-touch-listener.html
       fast/events/touch/touch-slider.html

* dom/Event.cpp:
(WebCore::Event::isTouchEvent):
(WebCore):
* dom/Event.h:
(Event):
* dom/Touch.cpp:
(WebCore::Touch::Touch):
* dom/Touch.h:
(WebCore::Touch::absoluteLocation):
(Touch):
* dom/TouchEvent.cpp:
(WebCore::TouchEvent::isTouchEvent):
(WebCore):
* dom/TouchEvent.h:
(TouchEvent):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/InputType.cpp:
(WebCore):
(WebCore::InputType::handleTouchEvent):
(WebCore::InputType::hasTouchEventHandler):
* html/InputType.h:
(WebCore):
(ClickHandlingState):
(InputType):
* html/RangeInputType.cpp:
(WebCore):
(WebCore::RangeInputType::handleTouchEvent):
(WebCore::RangeInputType::hasTouchEventHandler):
* html/RangeInputType.h:
(RangeInputType):
* html/shadow/SliderThumbElement.h:
(SliderThumbElement):

Source/WebKit/chromium:

Adds flag to enable native handling of touch events for input elements
with type=range.

* features.gypi:

LayoutTests:

Add automated test for manipulating an input slider via touch
events.

* fast/events/touch/script-tests/touch-slider-no-js-touch-listener.js: Added.
(checkPosition):
* fast/events/touch/script-tests/touch-slider.js: Added.
(onTouchStart):
(onTouchEnd):
(onKeyDown):
(checkPosition):
* fast/events/touch/touch-slider-expected.txt: Added.
* fast/events/touch/touch-slider-no-js-touch-listener-expected.txt: Added.
* fast/events/touch/touch-slider-no-js-touch-listener.html: Added.
* fast/events/touch/touch-slider.html: Added.
* platform/chromium/fast/events/touch/touch-slider-expected.txt: Added.
* platform/chromium/fast/events/touch/touch-slider-no-js-touch-listener-expected.txt: Added.

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

9 years ago[Chromium] REGRESSION(r121909): m_currentInputEvent never set
adamk@chromium.org [Wed, 11 Jul 2012 01:13:16 +0000 (01:13 +0000)]
[Chromium] REGRESSION(r121909): m_currentInputEvent never set
https://bugs.webkit.org/show_bug.cgi?id=90914

Reviewed by Abhishek Arya.

The always-null m_currentInputEvent causes a regression when
middle-clicking on a link that calls window.open('...', '_blank');
that new tab should open in the background, but instead opens in the
foreground (see code in ChromeClientImpl::getNavigationPolicy()).

Fix usage of TemporaryChange to specify a local variable name so that
m_currentInputEvent is actually set for the duration of handleInputEvent.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleInputEvent): Name the TemporaryChange instance.

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

9 years agoRe-factoring recalcColumn in AutoTableLayout.cpp for readability
commit-queue@webkit.org [Wed, 11 Jul 2012 00:41:48 +0000 (00:41 +0000)]
Re-factoring recalcColumn in AutoTableLayout.cpp for readability
https://bugs.webkit.org/show_bug.cgi?id=89636

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-07-10
Reviewed by Julien Chaffraix.

No test case required. Code re-factoring.

* rendering/AutoTableLayout.cpp:
Added a const integer place holder for 32760.

(WebCore::AutoTableLayout::recalcColumn):
 Changes :
 1) Moved the continue statement above the bool cellHasContent for an early return.
 2) Replaced the constant 32760 by a placeholder.
 3) Initialization of columnLayout max and min logical widths is made common for both cells having col span == 1 and span > 1.
 4) Removed redundant check for cell logical width type.

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

9 years agoLine directive test in fast/canvas/webgl/glsl-conformance.html is incorrect
kbr@google.com [Wed, 11 Jul 2012 00:18:35 +0000 (00:18 +0000)]
Line directive test in fast/canvas/webgl/glsl-conformance.html is incorrect
https://bugs.webkit.org/show_bug.cgi?id=90897

Reviewed by Adrienne Walker.

Removed an invalid test and adjusted the test expectations.

* fast/canvas/webgl/glsl-conformance-expected.txt:
* fast/canvas/webgl/glsl-conformance.html:
* platform/chromium/TestExpectations:

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

9 years agoWebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be...
abarth@webkit.org [Tue, 10 Jul 2012 23:53:21 +0000 (23:53 +0000)]
WebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be removed
https://bugs.webkit.org/show_bug.cgi?id=90910

Reviewed by Eric Seidel.

Source/WebCore:

We've already removed the code that implements Hixie76 WebSockets. This
patch just removes the WebCore::Setting that used to control which
WebSocket protocol version we'd use.

I've left the WebKit-layer APIs in place, but they now don't do
anything.  I'll remove all the Chromium callers shortly.

* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(Settings):

Source/WebKit/blackberry:

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

Source/WebKit/chromium:

* public/WebSettings.h:
(WebKit::WebSettings::setHixie76WebSocketProtocolEnabled):
* src/WebSettingsImpl.cpp:
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::initializeLoader):

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):
* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings):

Source/WebKit/mac:

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setHixie76WebSocketProtocolEnabled:]):
(-[WebPreferences isHixie76WebSocketProtocolEnabled]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/qt:

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit/win:

* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::setHixie76WebSocketProtocolEnabled):
(WebPreferences::hixie76WebSocketProtocolEnabled):
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetHixie76WebSocketProtocolEnabled):
(WKPreferencesGetHixie76WebSocketProtocolEnabled):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

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

9 years agoAdd alecflett to the list of committers
commit-queue@webkit.org [Tue, 10 Jul 2012 23:39:33 +0000 (23:39 +0000)]
Add alecflett to the list of committers
https://bugs.webkit.org/show_bug.cgi?id=90903

Patch by Alec Flett <alecflett@chromium.org> on 2012-07-10
Reviewed by Ojan Vafai.

* Scripts/webkitpy/common/config/committers.py:

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

9 years agoCrash due to SVG animation element not removed from target (before reset)
pdr@google.com [Tue, 10 Jul 2012 23:36:07 +0000 (23:36 +0000)]
Crash due to SVG animation element not removed from target (before reset)
https://bugs.webkit.org/show_bug.cgi?id=90750

Reviewed by Abhishek Arya.

Source/WebCore:

Previously we were not removing an animation element from
SVGDocumentExtensions::m_animatedElements which led to a crash.
This change properly removes animation elements in resetTargetElement
which both fixes this bug and will prevent others from hitting it in
the future.

Test: svg/animations/dynamic-modify-attributename-crash2.svg

* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):

removeAllAnimationElementsFromTarget now adds all the animation elements
to a vector and iterates over it because the changes to resetTargetElement
would have caused us to modify the underlying hashset as we iterated. Note that
before we deleted animationElementsForTarget in removeAllAnimationElementsFromTarget
but that logic is now handled in removeAnimationElementFromTarget which is called
during resetTargetElement.

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::removedFrom):

Because of the changes in resetTargetElement, removedFrom was able to be
refactored. This patch changes removedFrom to call resetTargetElement rather
than have duplicated logic. There is a very small change in logic here:
animationAttributeChanged() is now called in removedFrom().

(WebCore::SVGSMILElement::resetTargetElement):

resetTargetElement now fully resets the target, including removing it from
m_animatedElements. This will prevent future instances of this bug.

LayoutTests:

* svg/animations/dynamic-modify-attributename-crash2-expected.txt: Added.
* svg/animations/dynamic-modify-attributename-crash2.svg: Added.

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

9 years agoAdd the test files that I forgot to commit (AGAIN!) in r122271
dino@apple.com [Tue, 10 Jul 2012 23:22:32 +0000 (23:22 +0000)]
Add the test files that I forgot to commit (AGAIN!) in r122271

        * animations/animation-shorthand-name-order-expected.txt: Added.
        * animations/animation-shorthand-name-order.html: Added.

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

9 years agobugs.webkit.org has mixed content
abarth@webkit.org [Tue, 10 Jul 2012 23:10:48 +0000 (23:10 +0000)]
bugs.webkit.org has mixed content
https://bugs.webkit.org/show_bug.cgi?id=90907

Reviewed by Eric Seidel.

Now that we detect http XMLHttpRequests as mixed content, I've noticed
that we're loading committers.py over http instead of https.  For
better security, we should use https.

* committers-autocomplete.js:

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

9 years ago[Qt] Repaint counter for accelerated compositing
commit-queue@webkit.org [Tue, 10 Jul 2012 23:06:16 +0000 (23:06 +0000)]
[Qt] Repaint counter for accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=90116

Patch by Helder Correia <helder.correia@nokia.com> on 2012-07-10
Reviewed by Noam Rosenthal.

No new tests, just introducing a debug feature.

For this feature to be enabled, the environment variable
QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
both repaint counters and tile borders will be painted.

Important notes:
- Only WebKit2 is targetted for now.
- There is no integration with Preferences. That aproach was
taken initially but revealed complex and overkill for such a
debugging-only functionality. Thus, to disable it simply restart with
the environment variable unset or set to some other value.

A Qt-specific drawRepaintCounter() function was added to
TextureMapperGL. A QImage is used as scratch buffer to paint borders and
counters. It is then uploaded to a BitmapTexture acquired from the pool
and finally draw by TextureMapper. The actual compositing happens inside
LayerBackingStore::paintToTextureMapper(). Each LayerBackingStoreTile
now has a repaint counter which gets incremented in
LayerBackingStore::updateTile().

Source/WebCore:

* platform/graphics/texmap/TextureMapper.h:
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore):
(WebCore::TextureMapperGL::drawRepaintCounter):
* platform/graphics/texmap/TextureMapperGL.h:
* platform/graphics/texmap/TextureMapperImageBuffer.h:

Source/WebKit2:

* UIProcess/texmap/LayerBackingStore.cpp:
(WebKit::LayerBackingStore::updateTile):
(WebKit):
(WebKit::shouldShowTileDebugVisuals):
(WebKit::LayerBackingStore::paintToTextureMapper):
* UIProcess/texmap/LayerBackingStore.h:
(WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
(LayerBackingStoreTile):
(WebKit::LayerBackingStoreTile::incrementRepaintCount):
(WebKit::LayerBackingStoreTile::repaintCount):

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

9 years ago[CMAKE] Add missing feature macros
gyuyoung.kim@samsung.com [Tue, 10 Jul 2012 22:53:58 +0000 (22:53 +0000)]
[CMAKE] Add missing feature macros
https://bugs.webkit.org/show_bug.cgi?id=90890

Reviewed by Eric Seidel.

ENABLE_CSS_EXCLUSIONS, ENABLE_CSS_REGIONS, ENABLE_TEXT_AUTOSIZING macros
haven't defined in cmake feature list.

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

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

9 years agotry
wangxianzhu@chromium.org [Tue, 10 Jul 2012 22:49:55 +0000 (22:49 +0000)]
try

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

9 years ago[chromium] Replace use of ManagedTexture with CCScopedTexture for impl thread and...
danakj@chromium.org [Tue, 10 Jul 2012 22:48:37 +0000 (22:48 +0000)]
[chromium] Replace use of ManagedTexture with CCScopedTexture for impl thread and remove implTextureManager from LayerRendererChromium
https://bugs.webkit.org/show_bug.cgi?id=90841

Reviewed by Adrienne Walker.

Source/WebCore:

Remove the TextureManager from LayerRendererChromium, which was the last
instance of the class in the compositor. Instead of using ManagedTexture
objects for RenderPass textures, use instances of CCScopedTexture, which
manage the lifetime of the allocated texture ids. TextureManager will be
removed entirely once all callers of memoryUseBytes() have been removed.

No new tests. No change in behaviour.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::releaseRenderPassTextures):
(WebCore):
(WebCore::LayerRendererChromium::renderPassTextureSize):
(WebCore::LayerRendererChromium::renderPassTextureFormat):
(WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):
(WebCore::LayerRendererChromium::haveCachedResourcesForRenderPassId):
(WebCore::LayerRendererChromium::drawQuad):
(WebCore::applyFilters):
(WebCore::LayerRendererChromium::drawBackgroundFilters):
(WebCore::LayerRendererChromium::drawRenderPassQuad):
(WebCore::LayerRendererChromium::drawHeadsUpDisplay):
(WebCore::LayerRendererChromium::getFramebufferTexture):
(WebCore::LayerRendererChromium::isCurrentRenderPass):
(WebCore::LayerRendererChromium::useRenderPass):
(WebCore::LayerRendererChromium::useScopedTexture):
(WebCore::LayerRendererChromium::bindFramebufferToTexture):
(WebCore::LayerRendererChromium::initializeSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore):
(LayerRendererChromium):
* platform/graphics/chromium/TrackingTextureAllocator.cpp:
(WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
(WebCore::TrackingTextureAllocator::createTexture):
* platform/graphics/chromium/TrackingTextureAllocator.h:
(WebCore::TrackingTextureAllocator::create):
(TrackingTextureAllocator):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::draw):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
(WebCore):
(CCHeadsUpDisplay):
* platform/graphics/chromium/cc/CCRenderer.h:
(WebCore):
(CCRenderer):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:

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

9 years agoREGRESSION (r109610): Order of values in shorthand animation makes a difference
dino@apple.com [Tue, 10 Jul 2012 22:45:34 +0000 (22:45 +0000)]
REGRESSION (r109610): Order of values in shorthand animation makes a difference
https://bugs.webkit.org/show_bug.cgi?id=84533
<rdar://problem/11831924>
<rdar://problem/11815787>

Reviewed by Simon Fraser.

Source/WebCore:

A previous revision (r109610) updated the parsing of the animation shorthand
to make sure that animation-name wouldn't clobber other styles. The side effect
of this was that we'd no longer find animation-name if it wasn't first in the
list. This commit reverts the change and fixes it in a different way, by always
parsing animation-name as the last property in the shorthand. This means that
keywords for timing functions, fill modes and iteration will match before
animation name. In other words, if you want an animation called "forwards"
you should use the longhand property, because the shorthand will first match
that against animation-fill-mode.

Test: animations/animation-shorthand-name-order.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseAnimationShorthand): make a new array of longhand
properties to check for, with name as the last entry rather than the first.
Use this array to test the properties in the shorthand.

LayoutTests:

A new test that exercises many different variants of the animation shorthand
property, putting the animation name in different spots in the list of values.

* animations/animation-shorthand-name-order-expected.txt: Added.
* animations/animation-shorthand-name-order.html: Added.

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

9 years ago[WK2] Add Vibration API support for WebKit2
commit-queue@webkit.org [Tue, 10 Jul 2012 22:14:34 +0000 (22:14 +0000)]
[WK2] Add Vibration API support for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=90058

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-07-10
Reviewed by Anders Carlsson.

Add support for Vibration API to WebKit2.

* CMakeLists.txt:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Platform/CoreIPC/MessageID.h:
* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKVibration.cpp: Added.
(WKVibrationGetTypeID):
(WKVibrationSetProvider):
* UIProcess/API/C/WKVibration.h: Added.
* UIProcess/WebVibrationProvider.cpp: Added.
(WebKit):
(WebKit::WebVibrationProvider::vibrate):
(WebKit::WebVibrationProvider::cancelVibration):
* UIProcess/WebVibrationProvider.h: Added.
(WebKit):
(WebVibrationProvider):
* UIProcess/WebVibrationProxy.cpp: Added.
(WebKit):
(WebKit::WebVibrationProxy::create):
(WebKit::WebVibrationProxy::WebVibrationProxy):
(WebKit::WebVibrationProxy::~WebVibrationProxy):
(WebKit::WebVibrationProxy::invalidate):
(WebKit::WebVibrationProxy::initializeProvider):
(WebKit::WebVibrationProxy::didReceiveMessage):
(WebKit::WebVibrationProxy::vibrate):
(WebKit::WebVibrationProxy::cancelVibration):
* UIProcess/WebVibrationProxy.h: Added.
(CoreIPC):
(WebKit):
(WebVibrationProxy):
(WebKit::WebVibrationProxy::clearContext):
(WebKit::WebVibrationProxy::type):
* UIProcess/WebVibrationProxy.messages.in: Added.
* WebProcess/WebCoreSupport/WebVibrationClient.cpp: Added.
(WebKit):
(WebKit::WebVibrationClient::vibrate):
(WebKit::WebVibrationClient::cancelVibration):
(WebKit::WebVibrationClient::vibrationDestroyed):
* WebProcess/WebCoreSupport/WebVibrationClient.h: Added.
(WebKit):
(WebVibrationClient):
(WebKit::WebVibrationClient::WebVibrationClient):
(WebKit::WebVibrationClient::~WebVibrationClient):

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

9 years agoFix a potential bug of BitmapImage::frameCount().
kseo@webkit.org [Tue, 10 Jul 2012 22:11:54 +0000 (22:11 +0000)]
Fix a potential bug of BitmapImage::frameCount().
https://bugs.webkit.org/show_bug.cgi?id=90756

Patch by Huang Dongsung <luxtella@company100.net> on 2012-07-10
Reviewed by Simon Fraser.

If an ImageDecoder is not yet initialized, m_source.frameCount() returns 0. This
does not mean that the frame count is actually 0. So we must set
m_haveFrameCount to true only when m_frameCount is not 0.

The current code is okay because BitmapImage::frameCount() is never called
before the decoder is initialized. However, this no longer holds true once we
introduce parallel image decoders.

No new tests, no behavior change.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::frameCount):

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

9 years agoBuild fix. Removing unused variable from http://trac.webkit.org/changeset/122264.
ojan@chromium.org [Tue, 10 Jul 2012 22:08:14 +0000 (22:08 +0000)]
Build fix. Removing unused variable from trac.webkit.org/changeset/122264.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeContentLogicalHeightUsing):

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

9 years agoHTMLPropertiesCollection should share more code with HTMLCollection
rniwa@webkit.org [Tue, 10 Jul 2012 22:03:01 +0000 (22:03 +0000)]
HTMLPropertiesCollection should share more code with HTMLCollection
https://bugs.webkit.org/show_bug.cgi?id=90842

Reviewed by Anders Carlsson.

Got rid of HTMLPropertiesCollection::m_cache, and added m_itemRefElements, m_propertyNames, m_propertyCache,
m_hasPropertyNameCache, and m_hasItemRefElements to HTMLPropertiesCollection itself. These are caches specific
to HTMLPropertiesCollection. Note that hasNameCache has been renamed to m_hasPropertyNameCache and itemRefElementPosition
has been replaced by cachedElementsArrayOffset() in HTMLCollectionCacheBase (also used in HTMLFormCollection).

Also deleted all methods on m_cache except updatePropertyCache since caches can be accessed directly from
HTMLPropertiesCollection.

* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::invalidateCacheIfNeeded):
(WebCore::HTMLCollection::invalidateCache):
* html/HTMLCollection.h:
(HTMLCollection):
* html/HTMLPropertiesCollection.cpp:
(WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
(WebCore):
(WebCore::HTMLPropertiesCollection::updateRefElements):
(WebCore::HTMLPropertiesCollection::itemAfter):
(WebCore::HTMLPropertiesCollection::calcLength):
(WebCore::HTMLPropertiesCollection::cacheFirstItem):
(WebCore::HTMLPropertiesCollection::item):
(WebCore::HTMLPropertiesCollection::findProperties):
(WebCore::HTMLPropertiesCollection::updateNameCache):
(WebCore::HTMLPropertiesCollection::names):
(WebCore::HTMLPropertiesCollection::namedItem):
(WebCore::HTMLPropertiesCollection::hasNamedItem):
* html/HTMLPropertiesCollection.h:
(HTMLPropertiesCollection):
(WebCore::HTMLPropertiesCollection::clearCache):
(WebCore::HTMLPropertiesCollection::updatePropertyCache):

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

9 years agoUnreviewed gardening. Removing duplicated line from TestExpectations.
rafaelw@chromium.org [Tue, 10 Jul 2012 21:58:28 +0000 (21:58 +0000)]
Unreviewed gardening. Removing duplicated line from TestExpectations.

* platform/chromium/TestExpectations:

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

9 years agoAdd support for min-height:auto and min-width:auto
ojan@chromium.org [Tue, 10 Jul 2012 21:45:27 +0000 (21:45 +0000)]
Add support for min-height:auto and min-width:auto
https://bugs.webkit.org/show_bug.cgi?id=88437

Reviewed by Tony Chang.

Source/WebCore:

Right now auto does the same thing as min-height/min-width:0.
For flex-items it should be the same as min-content (followup patch).
http://dev.w3.org/csswg/css3-flexbox/#min-size-auto

Tests: fast/css/auto-min-size.html
       fast/css/deprecated-flexbox-auto-min-size.html

* WebCore.order:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
Return 0px for the computed value of auto.

* css/CSSParser.cpp:
(WebCore::CSSParser::validWidth):
(WebCore):
(WebCore::CSSParser::validHeight):
(WebCore::CSSParser::parseValue):
* css/CSSParser.h:
(CSSParser):
Restructure width/height parsing to reduce code duplication and make it easier
to add auto as a valid min value.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::adjustSizeConstraints):
This code was unnecessarily checking intrinsicOrAuto since auto was previously
not an allowed value for minWidth/minHeight.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
(WebCore::RenderBox::sizesLogicalWidthToFitContent):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computeContentLogicalHeightUsing):
(WebCore::RenderBox::computeReplacedLogicalWidth):
(WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalHeight):
(WebCore::RenderBox::computePositionedLogicalHeightUsing):
Need to pass a SizeType to all these methods so that we know if the Length
we're working with is a min length since auto has a different meaning now
for min lengths.

* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
(WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
(WebCore::RenderFlexibleBox::lineBreakLength):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):
* rendering/RenderScrollbarPart.cpp:
(WebCore::calcScrollbarThicknessUsing):
(WebCore::RenderScrollbarPart::computeScrollbarWidth):
(WebCore::RenderScrollbarPart::computeScrollbarHeight):
* rendering/style/RenderStyle.h:
Default minHeight/minWidth to auto instead of 0px.

LayoutTests:

* fast/css/auto-min-size-expected.txt: Added.
* fast/css/auto-min-size.html: Added.
* fast/css/deprecated-flexbox-auto-min-size.html: Added.
* platform/chromium-linux/fast/css/deprecated-flexbox-auto-min-size-expected.txt: Added.

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

9 years ago[Chromium] IndexedDB: Need test of Typed Arrays
jsbell@chromium.org [Tue, 10 Jul 2012 21:21:34 +0000 (21:21 +0000)]
[Chromium] IndexedDB: Need test of Typed Arrays
https://bugs.webkit.org/show_bug.cgi?id=81979

Reviewed by Tony Chang.

Verify storage of Typed Arrays (Uint8Array and friends). Checks that
these types are stored and read back with types and data intact. Also
add an index to the object store, so that key paths are evaluated
against each type on every write operation.

* storage/indexeddb/structured-clone-expected.txt:
* storage/indexeddb/structured-clone.html:

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

9 years ago[Chromium-Android] Fix typos in chromium_android.py in r151492
wangxianzhu@chromium.org [Tue, 10 Jul 2012 21:13:28 +0000 (21:13 +0000)]
[Chromium-Android] Fix typos in chromium_android.py in r151492
https://bugs.webkit.org/show_bug.cgi?id=90904

Reviewed by Ojan Vafai.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.setup_test_run):

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

9 years agowebkit-patch rebaseline doesn't work for audio/pixel tests
ojan@chromium.org [Tue, 10 Jul 2012 20:54:21 +0000 (20:54 +0000)]
webkit-patch rebaseline doesn't work for audio/pixel tests
https://bugs.webkit.org/show_bug.cgi?id=90905

Reviewed by Adam Barth.

We just need to pass the correct suffix list to rebaseline-test-internal
and optimize-baselines. By default, pass all suffixes.

* Scripts/webkitpy/tool/commands/rebaseline.py:
(Rebaseline):
(Rebaseline.__init__):
(Rebaseline._suffixes_to_update):
(Rebaseline.execute):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(test_rebaseline_multiple_builders_and_tests_command_line):

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

9 years agoRemove LayoutTestController and WebKitTestRunner support for Hixie76 WebSockets
abarth@webkit.org [Tue, 10 Jul 2012 20:39:46 +0000 (20:39 +0000)]
Remove LayoutTestController and WebKitTestRunner support for Hixie76 WebSockets
https://bugs.webkit.org/show_bug.cgi?id=90853

Reviewed by Eric Seidel.

Tools:

WebKit no longer implements the Hixie76 version of the WebSocket
protocol. We don't need to support it in our test framework.

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::overridePreference):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:
(WebPreferences):
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::overridePreference):
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::overridePreference):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):

LayoutTests:

There's no need to explicitly disable the Hixie76 protocol because it
no longer exists in WebKit.

* http/tests/websocket/tests/hybi/alert-in-event-handler.html:
* http/tests/websocket/tests/hybi/bad-handshake-crash.html:
* http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars.html:
* http/tests/websocket/tests/hybi/bad-sub-protocol-empty.html:
* http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii.html:
* http/tests/websocket/tests/hybi/binary-type.html:
* http/tests/websocket/tests/hybi/broken-utf8.html:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close.html:
* http/tests/websocket/tests/hybi/client-close.html:
* http/tests/websocket/tests/hybi/close-before-open.html:
* http/tests/websocket/tests/hybi/close-code-and-reason.html:
* http/tests/websocket/tests/hybi/close-event.html:
* http/tests/websocket/tests/hybi/close-on-navigate-new-location.html:
* http/tests/websocket/tests/hybi/close-on-unload-and-force-gc.html:
* http/tests/websocket/tests/hybi/close-on-unload-reference-in-parent.html:
* http/tests/websocket/tests/hybi/close-on-unload.html:
* http/tests/websocket/tests/hybi/close-unref-websocket.html:
* http/tests/websocket/tests/hybi/close.html:
* http/tests/websocket/tests/hybi/compressed-control-frame.html:
* http/tests/websocket/tests/hybi/cross-origin.html:
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html:
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html:
* http/tests/websocket/tests/hybi/deflate-frame-parameter.html:
* http/tests/websocket/tests/hybi/echo-with-no-extension.html:
* http/tests/websocket/tests/hybi/extensions.html:
* http/tests/websocket/tests/hybi/fragmented-binary-frames.html:
* http/tests/websocket/tests/hybi/fragmented-control-frame.html:
* http/tests/websocket/tests/hybi/fragmented-frames.html:
* http/tests/websocket/tests/hybi/frame-lengths.html:
* http/tests/websocket/tests/hybi/handshake-challenge-randomness.html:
* http/tests/websocket/tests/hybi/handshake-error.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-maxlength.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-connection-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-cr.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-upgrade-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-prepended-null.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html:
* http/tests/websocket/tests/hybi/httponly-cookie.pl:
* http/tests/websocket/tests/hybi/interleaved-fragments.html:
* http/tests/websocket/tests/hybi/invalid-continuation.html:
* http/tests/websocket/tests/hybi/invalid-encode-length.html:
* http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html:
* http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html:
* http/tests/websocket/tests/hybi/invalid-subprotocols.html:
* http/tests/websocket/tests/hybi/long-control-frame.html:
* http/tests/websocket/tests/hybi/long-invalid-header.html:
* http/tests/websocket/tests/hybi/multiple-connections.html:
* http/tests/websocket/tests/hybi/multiple-subprotocols.html:
* http/tests/websocket/tests/hybi/no-subprotocol.html:
* http/tests/websocket/tests/hybi/null-character.html:
* http/tests/websocket/tests/hybi/pong.html:
* http/tests/websocket/tests/hybi/receive-arraybuffer.html:
* http/tests/websocket/tests/hybi/receive-blob.html:
* http/tests/websocket/tests/hybi/reload-crash.html:
* http/tests/websocket/tests/hybi/reserved-bits.html:
* http/tests/websocket/tests/hybi/reserved-opcodes.html:
* http/tests/websocket/tests/hybi/send-after-close-on-unload.html:
* http/tests/websocket/tests/hybi/send-arraybuffer.html:
* http/tests/websocket/tests/hybi/send-blob.html:
* http/tests/websocket/tests/hybi/send-empty.html:
* http/tests/websocket/tests/hybi/send-file-blob-fail.html:
* http/tests/websocket/tests/hybi/send-file-blob.html:
* http/tests/websocket/tests/hybi/send-object-tostring-check.html:
* http/tests/websocket/tests/hybi/send-throw.html:
* http/tests/websocket/tests/hybi/send.html:
* http/tests/websocket/tests/hybi/server-close.html:
* http/tests/websocket/tests/hybi/set-protocol.html:
* http/tests/websocket/tests/hybi/simple-stress.html:
* http/tests/websocket/tests/hybi/simple.html:
* http/tests/websocket/tests/hybi/sub-protocol.html:
* http/tests/websocket/tests/hybi/too-long-payload.html:
* http/tests/websocket/tests/hybi/unicode.html:
* http/tests/websocket/tests/hybi/unmasked-frames.html:
* http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html:
* http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html:
* http/tests/websocket/tests/hybi/url-attribute.html:
* http/tests/websocket/tests/hybi/url-no-trailing-slash.html:
* http/tests/websocket/tests/hybi/url-parsing.html:
* http/tests/websocket/tests/hybi/url-with-credential.html:
* http/tests/websocket/tests/hybi/url-with-empty-query.html:
* http/tests/websocket/tests/hybi/url-with-query.html:
* http/tests/websocket/tests/hybi/websocket-event-target.html:
* http/tests/websocket/tests/hybi/websocket-pending-activity.html:
* http/tests/websocket/tests/hybi/workers/close-code-and-reason.html:
* http/tests/websocket/tests/hybi/workers/close-in-onmessage-crash.html:
* http/tests/websocket/tests/hybi/workers/close-in-shared-worker.html:
* http/tests/websocket/tests/hybi/workers/close-in-worker.html:
* http/tests/websocket/tests/hybi/workers/close.html:
* http/tests/websocket/tests/hybi/workers/multiple-subprotocols.html:
* http/tests/websocket/tests/hybi/workers/no-onmessage-in-sync-op.html:
* http/tests/websocket/tests/hybi/workers/no-subprotocol.html:
* http/tests/websocket/tests/hybi/workers/receive-arraybuffer.html:
* http/tests/websocket/tests/hybi/workers/receive-blob.html:
* http/tests/websocket/tests/hybi/workers/send-arraybuffer.html:
* http/tests/websocket/tests/hybi/workers/send-blob.html:
* http/tests/websocket/tests/hybi/workers/shared-worker-simple.html:
* http/tests/websocket/tests/hybi/workers/worker-handshake-challenge-randomness.html:
* http/tests/websocket/tests/hybi/workers/worker-reload.html:
* http/tests/websocket/tests/hybi/workers/worker-simple.html:
* http/tests/websocket/tests/hybi/zero-length-text.html:

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

9 years ago[Chromium-Android] Use default font rendering styles in FontPlatformData::querySystem...
wangxianzhu@chromium.org [Tue, 10 Jul 2012 20:30:01 +0000 (20:30 +0000)]
[Chromium-Android] Use default font rendering styles in FontPlatformData::querySystemForRenderStyle()
https://bugs.webkit.org/show_bug.cgi?id=90826

Reviewed by Adam Barth.

Source/WebCore:

No new tests. The change to this file is refactoring only.

* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore::FontPlatformData::querySystemForRenderStyle): Moved the "NoPreference" initialization into PlatformSupport::PlatformSupport::getRenderStyleForStrike().

Source/WebKit/chromium:

* WebKit.gyp:
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::getRenderStyleForStrike): Call style.setDefault() on Android or when the font is not specified.

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

9 years agoUnreviewed gardening. Adding the majority of the remaining indexeddb/mozilla tests...
rafaelw@chromium.org [Tue, 10 Jul 2012 20:23:51 +0000 (20:23 +0000)]
Unreviewed gardening. Adding the majority of the remaining indexeddb/mozilla tests which are all flaky and crashing.

* platform/chromium/TestExpectations:

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

9 years agoAudioFIFO not correctly wrapping the write index on push
commit-queue@webkit.org [Tue, 10 Jul 2012 20:21:02 +0000 (20:21 +0000)]
AudioFIFO not correctly wrapping the write index on push
https://bugs.webkit.org/show_bug.cgi?id=90901

Patch by Raymond Toy <rtoy@google.com> on 2012-07-10
Reviewed by Chris Rogers.

No new tests

* platform/audio/AudioFIFO.cpp:
(WebCore::AudioFIFO::push): Wrap the write index, not read index!

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

9 years ago[chromium] Avoid allocating render pass textures that have no content
danakj@chromium.org [Tue, 10 Jul 2012 20:14:36 +0000 (20:14 +0000)]
[chromium] Avoid allocating render pass textures that have no content
https://bugs.webkit.org/show_bug.cgi?id=90702

Reviewed by Adrienne Walker.

Source/WebCore:

When OOM conditions are hit, textures are not allocated for some layers
which can prevent any quads from being present for a render surface.
This is used as a signal to prevent the RenderPass from allocating a
texture.

Replace the CCLayerTreeHostImpl::removePassesWithCachedTextures() method
with a general removeRenderPasses() which takes a culling control object
and will remove passes based on the inputs from the control object.

This new method is used for the old purpose of removing passes with cached
textures, as well as to remove passes that do not have any quad inputs.

Test: CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawRenderPassQuad):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::shouldRemoveRenderPass):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::shouldRemoveRenderPass):
(WebCore::CCLayerTreeHostImpl::removeRenderPasses):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore):
(CullRenderPassesWithCachedTextures):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::renderPassListBegin):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::renderPassListEnd):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::renderPassListNext):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::CullRenderPassesWithCachedTextures):
(CCLayerTreeHostImpl):
(CullRenderPassesWithNoQuads):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::renderPassListBegin):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::renderPassListEnd):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::renderPassListNext):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCLayerTreeHostTest.cpp:
(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
(CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit):
(WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit):
(WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::beginTest):
(WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::didCommit):
(WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::afterTest):
(WTF):

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

9 years ago[Chromium-Android] Use setup_test_runner() instead of start_helper() to setup test...
wangxianzhu@chromium.org [Tue, 10 Jul 2012 19:56:37 +0000 (19:56 +0000)]
[Chromium-Android] Use setup_test_runner() instead of start_helper() to setup test environment
https://bugs.webkit.org/show_bug.cgi?id=90894

Reviewed by Adam Barth.

start_helper() is actually start_pixel_test_helper() since r115601 (bug 81729).
Should use setup_test_runner() to setup test environment for chromium-android.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.setup_test_run): Renamed from start_helper(). Added cache cleanup code.
(ChromiumAndroidPort.clean_up_test_run): Renamed from stop_helper().
(ChromiumAndroidPort._path_to_helper): Returns None as we don't have a helper now.
(ChromiumAndroidPort):
(ChromiumAndroidPort._path_to_forwarder): Original _path_to_helper().
(ChromiumAndroidPort._push_executable):
(ChromiumAndroidDriver.__init__):
(ChromiumAndroidDriver.cmd_line):

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

9 years agoMake GC3D and E3D more maintainable for GLES platforms
commit-queue@webkit.org [Tue, 10 Jul 2012 19:52:36 +0000 (19:52 +0000)]
Make GC3D and E3D more maintainable for GLES platforms
https://bugs.webkit.org/show_bug.cgi?id=90567

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-07-10
Reviewed by Rob Buis.

This patch cleans up code for WebGL on OpenGLES platforms which use
GraphicsContext3DOpenGL* and Extensions3DOpenGL*. Although
GraphicsContext3DOpenGL was already split into GraphicsContext3DOpenGL,
GraphicsContext3DOpenGLCommon, and  GraphicsContext3DOpenGLES, this patch
is an attempt to refactor this code in a way that will help BlackBerry and
other teams support WebGL on mobile platforms with as little use of
"#IF USE(OPENGL_ES_2)" in common code as possible. Also included is the
separation of Extensions3DOpenGL into Extensions3DOpenGLCommon,
Extensions3DOpenGL, and Extensions3DOpenGLES as well as the introduction
of OpenGLESShims.

This patch is created in large part by Jonathan Feldstein.

No new tests: no new behaviour.

* PlatformBlackBerry.cmake: Recognize BlackBerry as OPENGL ES, add new files to build
* Target.pri: Add new Extensions3DOpenGL* to WebGL builds
* platform/graphics/GraphicsContext3D.h: Add validateDepthStencil, make systemAllowsMultisamplingOnATICards a a member function.
(WebCore):
* platform/graphics/OpenGLESShims.h: Added.
* platform/graphics/opengl/Extensions3DOpenGL.cpp: Move code to Extensions3DOpenGLCommon where possible
(WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Reflect that it is now inherits Extensions3DCommon
(WebCore::Extensions3DOpenGL::supportsExtension): Contains OpenGL specific code from supports
(WebCore):
(WebCore::Extensions3DOpenGL::getExtensions): Returns a list of extensions
* platform/graphics/opengl/Extensions3DOpenGL.h: Remove functions now in Extensions3DOpenGLCommon
(WebCore):
(Extensions3DOpenGL):
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Added.
(WebCore):
(WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
(WebCore::Extensions3DOpenGLCommon::~Extensions3DOpenGLCommon):
(WebCore::Extensions3DOpenGLCommon::supports):
(WebCore::Extensions3DOpenGLCommon::ensureEnabled):
(WebCore::Extensions3DOpenGLCommon::isEnabled):
(WebCore::Extensions3DOpenGLCommon::getGraphicsResetStatusARB):
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Existed before, but did nothing. Now does what is says it does.
(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions): Moved from Extensions3DOpenGL::supports
* platform/graphics/opengl/Extensions3DOpenGLCommon.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
(WebCore):
(Extensions3DOpenGLCommon):
* platform/graphics/opengl/Extensions3DOpenGLES.cpp: Added.
(WebCore):
(WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
(WebCore::Extensions3DOpenGLES::~Extensions3DOpenGLES):
(WebCore::Extensions3DOpenGLES::framebufferTexture2DMultisampleIMG):
(WebCore::Extensions3DOpenGLES::renderbufferStorageMultisampleIMG):
(WebCore::Extensions3DOpenGLES::createVertexArrayOES):
(WebCore::Extensions3DOpenGLES::deleteVertexArrayOES):
(WebCore::Extensions3DOpenGLES::isVertexArrayOES):
(WebCore::Extensions3DOpenGLES::bindVertexArrayOES):
(WebCore::Extensions3DOpenGLES::supportsExtension): Contains OpenGLES specific code from supports
(WebCore::Extensions3DOpenGLES::getExtensions):
* platform/graphics/opengl/Extensions3DOpenGLES.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
(WebCore):
(Extensions3DOpenGLES):
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::validateAttributes):
(WebCore):
(WebCore::GraphicsContext3D::renderbufferStorage):
(WebCore::GraphicsContext3D::texImage2D):
(WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
(WebCore::GraphicsContext3D::getExtensions):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::validateDepthStencil):
(WebCore::GraphicsContext3D::clear):
(WebCore::GraphicsContext3D::isTexture):
(WebCore):
(WebCore::GraphicsContext3D::lineWidth):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::pixelStorei):
(WebCore::GraphicsContext3D::polygonOffset):
(WebCore::GraphicsContext3D::readPixels):
(WebCore::GraphicsContext3D::deleteBuffer):
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore::GraphicsContext3D::releaseShaderCompiler):
(WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
(WebCore::GraphicsContext3D::validateAttributes):
(WebCore):
(WebCore::GraphicsContext3D::getExtensions):
(WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore):
(WebCore::GraphicsContext3D::releaseShaderCompiler):

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

9 years agoUnreviewed gardening. Added resource-request-content-while-loading.html to flaky...
rafaelw@chromium.org [Tue, 10 Jul 2012 19:21:19 +0000 (19:21 +0000)]
Unreviewed gardening. Added resource-request-content-while-loading.html to flaky wkbug 83890.

* platform/chromium/TestExpectations:

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

9 years agoSource/WebCore: https://bugs.webkit.org/show_bug.cgi?id=90646
hyatt@apple.com [Tue, 10 Jul 2012 19:14:25 +0000 (19:14 +0000)]
Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=90646
<rdar://problem/11648478> 3-pass pagination slows down pagination

Improve the logical top estimate function for margin collapsing to be more accurate. In particular
make the basic case of <body><p> or <body><h1> no longer be wrong. This estimate being incorrect
is not a big deal most of the time, but when paginating it is a very big deal, since you have to
relayout everything whenever your vertical placement is wrong.

Improving the estimation exposed a bug in an existing layout test. I had to clean up the buggy
code written for negative margin-related float detection and fix an invalid layout test to
actually be correct.

Reviewed by Simon Fraser.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::marginBeforeEstimateForChild):
(WebCore):
(WebCore::RenderBlock::estimateLogicalTopPosition):
(WebCore::RenderBlock::marginValuesForChild):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):

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

Fix invalid layout test exposed by my changes to logical top estimation.

Reviewed by Simon Fraser.

* fast/block/float/previous-sibling-float-002-expected.html:
* fast/block/float/previous-sibling-float-002.html:

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

9 years agoWeb Inspector: Count inspector memory used to traverse DOM in native memory snapshots.
commit-queue@webkit.org [Tue, 10 Jul 2012 19:10:43 +0000 (19:10 +0000)]
Web Inspector: Count inspector memory used to traverse DOM in native memory snapshots.
https://bugs.webkit.org/show_bug.cgi?id=90456

Inspector may take significant amount of memory when traversing DOM structure.
Take it into account and report under inspector memory.

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-07-10
Reviewed by Pavel Feldman.

* dom/MemoryInstrumentation.h:
(MemoryInstrumentation):
(WebCore::MemoryInstrumentation::calculateContainerSize):
(WebCore::MemoryInstrumentation::reportHashMap):
(WebCore::MemoryInstrumentation::reportHashSet):
(WebCore::MemoryInstrumentation::reportVector):
* inspector/InspectorMemoryAgent.cpp:
(MemoryBlockName):
(WebCore):
(WebCore::domTreeInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

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

9 years agoUnreviewed gardening. tables/mozilla_expected_failures/other/empty_cells.html marked...
rafaelw@chromium.org [Tue, 10 Jul 2012 18:48:43 +0000 (18:48 +0000)]
Unreviewed gardening. tables/mozilla_expected_failures/other/empty_cells.html marked as flaky.

* platform/chromium/TestExpectations:

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

9 years agoUnreviewed gardening. platform/chromium/inspector/styles/device-metrics-fit-window...
rafaelw@chromium.org [Tue, 10 Jul 2012 18:27:17 +0000 (18:27 +0000)]
Unreviewed gardening. platform/chromium/inspector/styles/device-metrics-fit-window.html is timing out in debug and now marked as slow.

* platform/chromium/TestExpectations:

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

9 years agoUnreviewed gardening. fast/js/dfg-cross-global-object-inline-array-literal.html is...
rafaelw@chromium.org [Tue, 10 Jul 2012 18:15:23 +0000 (18:15 +0000)]
Unreviewed gardening. fast/js/dfg-cross-global-object-inline-array-literal.html is racey (and thus flaky).

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

9 years agoUnreviewed gardening. Adding another flaky test to bug 90469 (storage tests).
rafaelw@chromium.org [Tue, 10 Jul 2012 17:33:49 +0000 (17:33 +0000)]
Unreviewed gardening. Adding another flaky test to bug 90469 (storage tests).

* platform/chromium/TestExpectations:

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

9 years agoImprove webkit-patch rebaseline to work for more cases
ojan@chromium.org [Tue, 10 Jul 2012 17:33:41 +0000 (17:33 +0000)]
Improve webkit-patch rebaseline to work for more cases
https://bugs.webkit.org/show_bug.cgi?id=90504

Reviewed by Adam Barth.

-Makes it work for the build.chromium.org bots.
-Lets you rebaseline all builders instead of just one.
-Lets you pass in the builders or tests to rebaseline.

* Scripts/webkitpy/common/host.py:
(Host.buildbot_for_builder_name):
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
(Builder.__init__):
(Builder.latest_layout_test_results):
Provide a way to get to the LayoutTestResults of the latest build.
Most of the time we only need to get the latest one and the Chromium bots
only expose the full_results.json file for the latest build.

(Builder):
(Builder._fetch_file_from_results):
(Builder.fetch_layout_test_results):
Move these functions into Builder so that Builder and Build can both
fetch layout test results.

(Build.results_zip_url):
(Build.layout_test_results):
* Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
(BuilderTest.test_latest_layout_test_results):
(BuildTest.test_layout_test_results):
* Scripts/webkitpy/common/system/user.py:
(User.prompt_with_multiple_lists):
Prompt with multiple sublists, but still have a global numbering.
This lets the build.chromium.org bots be clearly separated from the
build.webkit.org bots, which helps understand the builder names.

(User):
(User._wait_on_list_response):
(User.prompt_with_list):
* Scripts/webkitpy/common/system/user_unittest.py:
(UserTest.test_prompt_with_multiple_lists):
(UserTest.test_prompt_with_multiple_lists.run_prompt_test):
(UserTest.test_prompt_with_multiple_lists.run_prompt_test.mock_raw_input):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.is_chromium):
Provide a way to tell if a port is a Chromium port that doesn't involve string
manipulation on the port name or builder name.

* Scripts/webkitpy/layout_tests/port/builders.py:
(builder_path_from_name):
(all_builder_names):
Memoizing here is incorrect because the test override _exact_matches,
so these can return different values. In either case, I'm pretty sure these
are not remotely hot codepaths. I manually inspected all call sites and they're
all in high-level calls (e.g. execute calls for webkit-patch commands) and not
called in a loop.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.is_chromium):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineTest._results_url):
(AbstractParallelRebaselineCommand.__init__):
(Rebaseline.__init__):
(Rebaseline):
(Rebaseline._builders_to_pull_from):
(Rebaseline._tests_to_update):
(Rebaseline.execute):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(test_rebaseline.mock_builders_to_pull_from):
(test_rebaseline):
(test_rebaseline_command_line_flags):
(test_rebaseline_multiple_builders):
(test_rebaseline_multiple_builders.mock_builders_to_pull_from):
(test_rebaseline_multiple_builders.mock_tests_to_update):
(test_rebaseline_multiple_builders_and_tests_command_line):
* Scripts/webkitpy/tool/mocktool.py:
(MockTool.irc):
(MockTool):
(MockTool.buildbot_for_builder_name):

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

9 years ago[GTK] Fix memory leaks by adopting allocation of GdkPixbuf
commit-queue@webkit.org [Tue, 10 Jul 2012 17:05:24 +0000 (17:05 +0000)]
[GTK] Fix memory leaks by adopting allocation of GdkPixbuf
https://bugs.webkit.org/show_bug.cgi?id=90790

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-07-10
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Fixed a memory leak in paintGdkPixbuf by adopting an allocation
of GdkPixbuf.

No new tests. No change in behavior.

* platform/gtk/RenderThemeGtk.cpp:
(WebCore::paintGdkPixbuf):

Source/WebKit/gtk:

Fixed a memory leak in WebKitFaviconDatabase by adopting an
allocation of GdkPixbuf.

* webkit/webkitfavicondatabase.cpp:
(getIconPixbufSynchronously):

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

9 years agoWeb Inspector: Geolocation override
kpiascik@rim.com [Tue, 10 Jul 2012 17:03:51 +0000 (17:03 +0000)]
Web Inspector: Geolocation override
https://bugs.webkit.org/show_bug.cgi?id=89365

Reviewed by Yong Li.

Source/WebCore:

Added a way to override the geoloation of a client using Web
Inspector.

New tests added.
* LayoutTests/inspector/geolocation-success.html:
* LayoutTests/inspector/getlocation-error.html:

* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController): Now store and
save the Page in m_page.
(WebCore::GeolocationController::positionChanged): Check if position
is overriden in Web Inspector.
* Modules/geolocation/GeolocationController.h:
(GeolocationController): Add member variable m_page for Page*.
* inspector/Inspector.json: Add new methods for setting and clearing
the GeoloationPosition and GeolocationError objects in InspectorPageAgent.
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::checkGeolocationPositionOrErrorImpl):
Add methods to check whether GeolocationPosition or GeolocationError
are set in InspectorPageAgent.
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::checkGeolocationPositionOrError):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent): Initialize new
member variables of GeolocationPosition and GeolocationError.
(WebCore::InspectorPageAgent::setGeolocationData): Set Position and
Error data and call appropriate GeolocaitonController methods.
(WebCore):
(WebCore::InspectorPageAgent::clearGeolocationData):
(WebCore::InspectorPageAgent::sendGeolocationError):
* inspector/InspectorPageAgent.h:
(WebCore::InspectorPageAgent::geolocationPosition): Getter for
GeolocationPosition.
(InspectorPageAgent):
* inspector/front-end/Settings.js: Added new settings for
GeolocationPosition and GeolocationError
* inspector/front-end/SettingsScreen.js: Added new control for
Geolocaiton.
(WebInspector.UserAgentSettingsTab):
(WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
(WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
(WebInspector.UserAgentSettingsTab.prototype._applyGeolocationUserInput):
(WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition.set if):
(WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition):
(WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement.createInput):
(WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement):
* inspector/front-end/UserAgentSupport.js: New GeolocationPosition
Object added along with setting helper methods.  Added new setting
changed handlers for Position and Error.
(WebInspector.UserAgentSupport.GeolocationPosition):
(WebInspector.UserAgentSupport.GeolocationPosition.prototype.toSetting):
(WebInspector.UserAgentSupport.GeolocationPosition.parseSetting):
(WebInspector.UserAgentSupport.GeolocationPosition.parseUserInput):
(WebInspector.UserAgentSupport.prototype.get _onGeolocationErrorChanged):

LayoutTests:

Added new tests for Web Inspector overriding geolocation.

* inspector/geolocation-error-expected.txt: Added.
* inspector/geolocation-error.html: Added.
* inspector/geolocation-success-expected.txt: Added.
* inspector/geolocation-success.html: Added.

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

9 years agoDelayNode test should cover relate attribute
commit-queue@webkit.org [Tue, 10 Jul 2012 16:56:19 +0000 (16:56 +0000)]
DelayNode test should cover relate attribute
https://bugs.webkit.org/show_bug.cgi?id=90876

Patch by Li Yin <li.yin@intel.com> on 2012-07-10
Reviewed by Chris Rogers.

Let the test cover attributes of DelayNode.

* webaudio/delaynode-expected.txt:
* webaudio/delaynode.html:

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

9 years agoUnreviewed Chromium build fix for mac-release.
leandrogracia@chromium.org [Tue, 10 Jul 2012 16:37:02 +0000 (16:37 +0000)]
Unreviewed Chromium build fix for mac-release.

Fixing clang build after https://bugs.webkit.org/show_bug.cgi?id=90807

* public/WebSurroundingText.h:
(WebKit):

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

9 years agoWeb Inspector: Refactor resource revisions before moving to UISourceCode.
vsevik@chromium.org [Tue, 10 Jul 2012 16:23:09 +0000 (16:23 +0000)]
Web Inspector: Refactor resource revisions before moving to UISourceCode.
https://bugs.webkit.org/show_bug.cgi?id=90855

Reviewed by Pavel Feldman.

Revisions are now persisted based on mainFrame.loaderId, not resource.loaderId which makes filtering out stale persisted revisions easier.
Restoring revisions from local storage is separated from filtering out stale persisted revisions.
Resource._clearRevisionHistory and Resource._restoreRevisions are not static anymore.
Renamed localStorage field for persisting revisions: "resource-history" -> "revision-history"

* inspector/front-end/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.addRevision):
(WebInspector.Resource.prototype._restoreRevisionHistory):
(WebInspector.Resource.prototype._clearRevisionHistory):
(WebInspector.Resource.prototype.revertAndClearHistory.clearHistory):
(WebInspector.Resource.prototype.revertAndClearHistory):
(WebInspector.Revision):
(WebInspector.Revision._revisionHistoryRegistry):
(WebInspector.Revision._ensureStaleRevisionsFileteredOut.persist):
(WebInspector.Revision._ensureStaleRevisionsFileteredOut):
(WebInspector.Revision.prototype._persist):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._processCachedResources):
(WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
* inspector/front-end/RevisionHistoryView.js:
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype._revisionAdded):

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

9 years agoEditing: Reproducible crasher when pasting a 0x0 image into Mail
commit-queue@webkit.org [Tue, 10 Jul 2012 16:18:40 +0000 (16:18 +0000)]
Editing: Reproducible crasher when pasting a 0x0 image into Mail
https://bugs.webkit.org/show_bug.cgi?id=90640
<rdar://problem/11141920>

Patch by Alice Cheng <alice_cheng@apple.com> on 2012-07-10
Reviewed by Brady Eidson.

Source/WebCore:

0x0 images don't get a resource representation in the WebArchive, so we need a null check

Test: TestWebKitAPI/Tests/mac/0.png
      TestWebKitAPI/Tests/mac/WebViewCanPasteZeroPng.mm

* platform/mac/PasteboardMac.mm:
(WebCore::documentFragmentWithImageResource):

Tools:

Test cases for the patch. 0x0 images don't get a resource representation in the WebArchive, so we need a null check.

* TestWebKitAPI/Tests/mac/0.png: Added.
* TestWebKitAPI/Tests/mac/WebViewCanPasteZeroPng.mm: Added.
(TestWebKitAPI):
(TestWebKitAPI::TEST):

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