3 composited-during-animation/compositied-during-transition test results on Windows now match Mac results.
https://bugs.webkit.org/show_bug.cgi?id=95162

Reviewed by Jessie Berlin.

Failing test results previously checked in here: https://bugs.webkit.org/show_bug.cgi?id=88024.
3 of these tests now match Mac test results. Removing failing test results.

* platform/win/css3/filters/composited-during-animation-expected.txt: Removed.
* platform/win/css3/filters/composited-during-animation-layertree-expected.txt: Removed.
* platform/win/css3/filters/composited-during-transition-layertree-expected.txt: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[webkit-patch] gets stuck into an infinite loop if bugzilla doesn't respond in time.
https://bugs.webkit.org/show_bug.cgi?id=94700

Patch by Szilard Ledan <szledan@inf.u-szeged.hu> on 2012-08-28
Reviewed by Eric Seidel.

Interrupting download with a timeout would be a possible solution.
I imported the socket module and used the setdefaulttimeout() method.
Fixing it is important, because EWS bots need to be restarted regularly
because of this bug.

* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla._get_browser):
(Bugzilla.setdefaulttimeout):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
GCC warning in JSActivation is causing Mac EWS errors
https://bugs.webkit.org/show_bug.cgi?id=95103

Reviewed by Sam Weinig.

Try to fix a strict aliasing violation by using bitwise_cast. The
union in the cast should signal to the compiler that aliasing between
types is happening.

* runtime/JSActivation.cpp:
(JSC::JSActivation::visitChildren):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
OPENTYPE_VERTICAL support for Chromium Win
https://bugs.webkit.org/show_bug.cgi?id=94822

Patch by Koji Ishii <kojiishi@gmail.com> on 2012-08-28
Reviewed by Tony Chang.

To fix bug 51450 - Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Windows,
this patch adds support of OPENTYPE_VERTICAL feature for Chromium Windows.
Since enabling OPENTYPE_VERTICAL feature would require rather a big number of tests to rebaseline,
the actual fix is separated into this patch, and the feature will be enabled in bug 51450,
so that it is easier to revert on any perf regressions, as suggested by Tony in comment #50 of bug 51450.

All changes in this patch are behind #if ENABLE(OPENTYPE_VERTICAL) and therefore no tests are included in this patch.
All tests in fast/writing-modes currently skipped will be enabled in bug 51450.

* WebCore.gyp/WebCore.gyp: Added platform/graphics/opentype/OpenType*.
* WebCore.gypi: Ditto.
* platform/graphics/FontCache.h: SKia uses uint32_t as FontFileKey.
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::fill): Replace vertical alternate glyphs if vertical flow.
* platform/graphics/SimpleFontData.cpp: Added m_verticalData.
(WebCore::SimpleFontData::SimpleFontData):
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::verticalData):
(SimpleFontData):
(WebCore::SimpleFontData::widthForGlyph):
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::drawGlyphs): Draw glyphs verticaly if font->verticalData().
* platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
(WebCore::FontPlatformData::verticalData): Added.
(WebCore):
(WebCore::FontPlatformData::openTypeTable): Added.
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
(WebCore):
(FontPlatformData): Added verticalData() and openTypeTable().

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Should be able to tab to focus a link in a canvas subtree
https://bugs.webkit.org/show_bug.cgi?id=94967

Reviewed by Chris Fleizach.

Source/WebCore:

Skips the hasNonEmptyBoundingBox check in isKeyboardFocusable
when in a canvas subtree.

Test: fast/events/tab-focus-link-in-canvas.html

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isKeyboardFocusable):

LayoutTests:

Adds a test to make sure you can tab to a link inside a canvas
subtree.

* fast/events/tab-focus-link-in-canvas-expected.txt: Added.
* fast/events/tab-focus-link-in-canvas.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: [Mac] Add SPI to WK1 to retrieve internal IDs for web notifications
https://bugs.webkit.org/show_bug.cgi?id=95099
<rdar://problem/12180186>

Reviewed by Jessie Berlin.

This is work toward providing Mac support for web notifications in DRT and WTR (77969).

Expose functions to convert JSValue to Notification, and to get the NotificationController from a page.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj: Promote NotificationController.h and JSNotification.h to private headers.

Source/WebKit/mac: [Mac] Add SPI to WK1 to retrieve internal IDs for web notifications
https://bugs.webkit.org/show_bug.cgi?id=95099
<rdar://problem/12180186>

Reviewed by Jessie Berlin.

This is work toward providing Mac support for web notifications in DRT and WTR (77969).

Add function to retrieve the internal ID for a notification. This is needed by layout tests to support simulating
a user click on a notification.

* WebCoreSupport/WebNotificationClient.h:
(WebNotificationClient):
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::notificationIDForTesting): Converts the JS notification to a WebCore notification, and passes
that to [WebView _notificationIDForTesting:].
* WebView/WebView.mm:
(-[WebView _notificationIDForTesting:]): Retrieves the notification ID based on the WebCore notification instance.
* WebView/WebViewPrivate.h:

Tools: Update TestRunner API for web notifications
https://bugs.webkit.org/show_bug.cgi?id=95093
<rdar://problem/12179649>

Reviewed by Jessie Berlin.

This is work toward providing Mac support for web notifications in DRT and WTR (77969).

Some of the legacy APIs are less than ideal, and not tenable with the WTR infrastructure.
This first patch renames the TestRunner calls to use the term "web notifications" instead of
"desktop notifications", deprecates a couple API calls that are not used by anyone, and adds
additional calls that will be used in the tests that test the standard API.

* DumpRenderTree/TestRunner.h:
(TestRunner): For consistency, rename a couple member variables. Remove unused checkDesktopNotificationPermission()
and areDesktopNotificationPermissionRequestsIgnored(). Remove origin mapping since each port implements its own solution.
* DumpRenderTree/TestRunner.cpp: Push grantWebNotificationPermission() to individual ports.
(TestRunner::TestRunner):
(ignoreLegacyWebNotificationPermissionRequestsCallback): Renamed.
(simulateLegacyWebNotificationClickCallback): Renamed.
(grantWebNotificationPermissionCallback): Renamed.
(denyWebNotificationPermissionCallback): Added.
(removeAllWebNotificationPermissionsCallback): Added.
(simulateWebNotificationClickCallback): Added.
(TestRunner::staticFunctions):
(TestRunner::ignoreLegacyWebNotificationPermissionRequests):

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner): Added bindings for new APIs.
(DRTTestRunner::grantWebNotificationPermission):
(DRTTestRunner::denyWebNotificationPermission): Stub.
(DRTTestRunner::removeAllWebNotificationPermissions): Stub.
(DRTTestRunner::simulateWebNotificationClick): Stub.
(DRTTestRunner::simulateLegacyWebNotificationClick):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):

Added stubs.
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
* DumpRenderTree/efl/TestRunnerEfl.cpp:
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
* DumpRenderTree/mac/TestRunnerMac.mm: Later patch will contain implementation of this API.
* DumpRenderTree/qt/TestRunnerQt.cpp: Added Qt-based stubs.
* DumpRenderTree/win/TestRunnerWin.cpp:

LayoutTests: Update TestRunner API for web notifications
https://bugs.webkit.org/show_bug.cgi?id=95093
<rdar://problem/12179649>

Reviewed by Jessie Berlin.

This is work toward providing Mac support for web notifications in DRT and WTR (77969).

Refactor the tests to use the renamed legacy API calls.

* fast/notifications/notifications-check-permission.html:
* fast/notifications/notifications-click-event-focus.html:
* fast/notifications/notifications-click-event.html:
* fast/notifications/notifications-display-close-events.html:
* fast/notifications/notifications-document-close-crash.html: Also, convert from Windows to UNIX line endings.
* fast/notifications/notifications-double-show.html:
* fast/notifications/notifications-event-stop-propagation.html-disabled:
* fast/notifications/notifications-multi-events.html-disabled:
* fast/notifications/notifications-no-icon.html:
* fast/notifications/notifications-replace.html:
* fast/notifications/notifications-rtl.html:
* fast/notifications/notifications-with-permission.html:
* fast/notifications/notifications-without-permission.html:
* fast/notifications/resources/notifications-cancel-request-permission.html:
* platform/qt-5.0-wk2/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Drastically shorten the link highlight duration.
https://bugs.webkit.org/show_bug.cgi?id=95216

Reviewed by James Robinson.

Parameter change; covered by existing layout tests.

* src/LinkHighlight.cpp:
(WebKit::LinkHighlight::startHighlightAnimation):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r94492): Unstable layout of static block inside text-align: center div
https://bugs.webkit.org/show_bug.cgi?id=77754

Reviewed by David Hyatt.

Source/WebCore:

Text-align of 'center' on an out-of-flow element determines its x-position in the line - it
doesn't mean that the element should be centred in the line as though it were a block of text.

This is a partial revert of http://trac.webkit.org/changeset/113584 and a correction to
http://trac.webkit.org/changeset/94492.

Tests: fast/css/center-align-absolute-position-inline-block.html
       fast/css/center-align-absolute-position.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutPositionedObjects): Remove an update to the static position when
  it depended on the child's width. Reverts code added in r113584.
* rendering/RenderBlock.h:
(RenderBlock): Remove child parameter from startAlignedOffsetForLine()
* rendering/RenderBlockLineLayout.cpp:
(WebCore::setStaticPositions): ditto
(WebCore::RenderBlock::startAlignedOffsetForLine): No need to account for the child's width when calculating
  the offset for the line.

LayoutTests:

* fast/css/align-positioned-object-on-resize-expected.txt: Removed.
* fast/css/align-positioned-object-on-resize.html: Removed.
* fast/css/bug4860-absolute-inline-child-inherits-alignment-expected.png: Removed.
* fast/css/bug4860-absolute-inline-child-inherits-alignment-expected.txt: Removed.
* fast/css/bug4860-absolute-inline-child-inherits-alignment.html: Removed.
    These tests are no longer valid. They expect an out-of-flow block to align with the
    center of their parent. The valid behaviour for an out-of-flow element with a center-align
    parent is take the center of the parent as their start position. The expected behaviour is
    now covered by center-align-absolute-position.html below.

* fast/css/center-align-absolute-position-expected.html: Added.
* fast/css/center-align-absolute-position-inline-block-expected.html: Added.
* fast/css/center-align-absolute-position-inline-block.html: Added.
* fast/css/center-align-absolute-position.html: Added.

* fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks.html:
* platform/chromium-linux/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
* platform/chromium-linux/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.png:
   This isn't a very helpful test - but note that the alignment of LTR-RTL centers on an axis. The behaviour
   now matches FF.
* platform/chromium-mac/fast/css/bug4860-absolute-inline-child-inherits-alignment-expected.png: Removed.
* platform/chromium-win/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.png:
* platform/chromium-win/fast/css/bug4860-absolute-inline-child-inherits-alignment-expected.png: Removed.
* platform/chromium-win/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt:
* platform/chromium-win/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.txt:
* platform/chromium/TestExpectations:
* platform/chromium/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt:
* platform/chromium/fast/css/bug4860-absolute-inline-child-inherits-alignment-expected.txt: Removed.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/qt/fast/css/bug4860-absolute-inline-child-inherits-alignment-expected.png: Removed.
* platform/qt/fast/css/bug4860-absolute-inline-child-inherits-alignment-expected.txt: Removed.
    The rebaselined results on each of these now matches FF.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make shared workers respect third-party storage blocking setting
https://bugs.webkit.org/show_bug.cgi?id=94559

Reviewed by Adam Barth.

Source/WebCore:

Shared workers can fundamentally leak information between pages in
different contexts if the workers can be accessed from a third-party
context. Thus, if third-party storage blocking is enabled, shared
workers should be disallowed in third-party contexts.

Tests: http/tests/security/cross-origin-shared-worker-allowed.html
       http/tests/security/cross-origin-shared-worker.html

* page/SecurityOrigin.h: Add canAccessSharedWorkers function
(WebCore::SecurityOrigin::canAccessSharedWorkers):
* workers/SharedWorker.cpp:
(WebCore::SharedWorker::create): Ensure that we can access shared workers before creating the worker.

LayoutTests:

Created tests for accessing shared workers from a third party and first party when third-party blocking is on and off.

* http/tests/security/cross-origin-shared-worker-allowed-expected.txt: Added.
* http/tests/security/cross-origin-shared-worker-allowed.html: Added.
* http/tests/security/cross-origin-shared-worker-expected.txt: Added.
* http/tests/security/cross-origin-shared-worker.html: Added.
* http/tests/security/resources/cross-origin-iframe-for-shared-worker.html: Added.
* http/tests/security/resources/shared-worker.js: Added.
(self.addEventListener):
* platform/chromium/TestExpectations: Shared workers are not supported in chromium DRT

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline webgl-repaint for slightly different mac results.

Unreviewed rebaseline of test expectations.

The mac results have a slightly different shade of green but
it is still a passing result.

* platform/chromium-mac/compositing/webgl/webgl-repaint-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/threaded/compositing/webgl: Added.
* platform/chromium-mac/platform/chromium/virtual/threaded/compositing/webgl/webgl-repaint-expected.png: Added.


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