Unreviewed gardening.

* platform/chromium-linux/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.png: Added.
Added missing baseline for this test.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[New Multicolumn] Implement column contents painting.
https://bugs.webkit.org/show_bug.cgi?id=95251

Reviewed by Simon Fraser.

This patch implements paintColumnContents for the new multicolumn blocks. There are a number of
improvements made over the current multi-column implementation. They include the fact that left
and right columns will now be unclipped, so contents of columns can actually spill out of the block now.
Outlines now also work properly. The contents of the first column and last column can also now overflow
visually out of the top and bottom of those columns respectively.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::flowThreadPortionRectAt):
This method returns the exact portion of the flow thread that matches the column dimensions.
The width and height are the column width and height. It is equivalent to RenderRegion::flowThreadPortionRect,
but is applied only for a specific column in the set.

(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
This method expands the flowThreadPortionRect to unclip the edges of left and right columns, the top and
bottom edges of first and last columns, and it also expands the painting to go into half of the column
gap. It is analogous to RenderRegion::flowThreadPortionOverflowRect, but it's doing the right thing
for each individual column.

(WebCore::RenderMultiColumnSet::paintColumnContents):
The implementation of column contents painting. Each column is iterated over, and the two rects above
are computed and passed in to RenderFlowThread::paintFlowThreadPortionInRegion. This code does the right
thing with offsets and clipping when handed these two rects and handles all of the rest.

* rendering/RenderMultiColumnSet.h:
Declare the new functions that return the flow thread portion rects.

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore):
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
* rendering/RenderRegion.h:
(RenderRegion):
* rendering/RenderRegionSet.cpp:
Refactor this so that it can be invoked by column sets and operate on the first and last columns instead
of only being tied to the first and last regions.

(WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded):
Fix a bug here where the flowThread.y() should not have been subtracted. We're in local flow thread
coordinates.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127008 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] Add iconURL to WebNotification
https://bugs.webkit.org/show_bug.cgi?id=95249
<rdar://problem/12192060>

Reviewed by Jessie Berlin.

* WebView/WebNotification.h: Expose iconURL.
* WebView/WebNotification.mm: Remove unnecessary ASSERTs.
(-[WebNotification title]):
(-[WebNotification body]):
(-[WebNotification tag]):
(-[WebNotification iconURL]): Added.
(-[WebNotification origin]):
(-[WebNotification notificationID]):
(-[WebNotification dispatchShowEvent]):
(-[WebNotification dispatchCloseEvent]):
(-[WebNotification dispatchClickEvent]):
(-[WebNotification dispatchErrorEvent]):

Reviewed by Jessie Berlin.

* WebView/WebNotification.h: Expose iconURL.
* WebView/WebNotification.mm:
(-[WebNotification iconURL]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduced JSWithScope, making all scope objects subclasses of JSScope
https://bugs.webkit.org/show_bug.cgi?id=95295

Reviewed by Filip Pizlo.

This is a step toward removing ScopeChainNode. With a uniform representation
for objects in the scope chain, we can move data from ScopeChainNode
into JSScope.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri: Build!

* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL): Use an explicit JSWithScope object
for 'with' statements. Since 'with' can put any object in the scope
chain, we'll need an adapter object to hold the data ScopeChainNode
currently holds.

* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSGlobalData): Support for JSWithScope.

* runtime/JSScope.cpp:
(JSC::JSScope::objectAtScope):
* runtime/JSScope.h: Check for and unwrap JSWithScope.

* runtime/JSType.h: Support for JSWithScope.

* runtime/StrictEvalActivation.cpp:
(JSC::StrictEvalActivation::StrictEvalActivation):
* runtime/StrictEvalActivation.h:
(StrictEvalActivation): Inherit from JSScope, to make the scope chain uniform.

* runtime/JSWithScope.cpp: Added.
(JSC::JSWithScope::visitChildren):
* runtime/JSWithScope.h: Added.
(JSWithScope):
(JSC::JSWithScope::create):
(JSC::JSWithScope::object):
(JSC::JSWithScope::createStructure):
(JSC::JSWithScope::JSWithScope): New adapter object. Since this object
is never exposed to scripts, it doesn't need any meaningful implementation
of property access or other callbacks.


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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
'\r's in test expectations files confuse chromium-android layout test driver
https://bugs.webkit.org/show_bug.cgi?id=95353

Reviewed by Adam Barth.

Modified the test cases not to output '\r's.
Removed the '\r's from expectation files.

* fast/dom/Window/window-property-clearing-expected.txt:
* fast/dom/Window/window-property-clearing.html:
* fast/dom/simultaneouslyRegsiteredTimerFireOrder-expected.txt:
* fast/dom/simultaneouslyRegsiteredTimerFireOrder.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127012 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] CCLayerTreeHostTestScrollChildLayer makes the wrong assumptions
https://bugs.webkit.org/show_bug.cgi?id=95358

Unreviewed gardening.

* tests/CCLayerTreeHostTest.cpp:
Disabled the test until it is fixed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Unskip 2 willSendRequest tests that are passing consistently
https://bugs.webkit.org/show_bug.cgi?id=95289

Unreviewed EFL gardening.

Unskip the following tests are EFL port:
fast/loader/onload-willSendRequest-null-for-script.html
fast/loader/willSendRequest-null-for-preload.html

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-29

* platform/efl/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-29  Geoffrey Garen  <ggaren@apple.com>

        Try to fix the Windows build.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export!



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Remove unused tapGesture in WebPage.cpp
https://bugs.webkit.org/show_bug.cgi?id=95357

Reviewed by Rob Buis.
Patch by Jacky Jiang <zhajiang@rim.com>

Remove unused variable tapGesture in WebPage.cpp.
Internally reviewed by Gen Mak.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::touchEvent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Do not clip root layer's subtree to viewport
https://bugs.webkit.org/show_bug.cgi?id=95235

Reviewed by Adrienne Walker.

Source/WebCore:

The root layer's renderSurface already correctly clips everything
to the viewport's bounds.  There are some useful reasons that we
should not cause the root layer itself to clip the subtree any
further, in particular so that surfaces can remain more cacheable,
and to make root layer semantics more homogeneous.

Existing tests updated, and otherwise this change is already
covered by layout and unit tests.

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsInternal):

Source/WebKit/chromium:

Existing tests updated, and otherwise this change is already
covered by layout and unit tests.

* tests/CCLayerTreeHostCommonTest.cpp:
* tests/CCOcclusionTrackerTest.cpp:
(WebKitTests::CCOcclusionTrackerTestChildInRotatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestVisitTargetTwoTimes::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceWithTwoOpaqueChildren::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblings::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblingsWithTwoTransforms::runMyTest):
(WebKitTests::CCOcclusionTrackerTestFilters::runMyTest):
(WebKitTests::CCOcclusionTrackerTestReplicaWithClipping::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceOcclusionTranslatesWithClipping::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceChildOfClippingSurface::runMyTest):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update TestRunner API for web notifications
https://bugs.webkit.org/show_bug.cgi?id=95093
<rdar://problem/12179649>

Reviewed by Alexey Proskuryakov.

As it turns out the patch for this accidentally got squashed into the commit for
bug 95099 (r126909). This amendment patch adds some comments about the renaming
of the older TestRunner API for web notifications.

* DumpRenderTree/TestRunner.h:
(TestRunner):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Add SPI to retrieve internal IDs for web notifications
https://bugs.webkit.org/show_bug.cgi?id=95100
<rdar://problem/12180208>

Reviewed by Alexey Proskuryakov.

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 tests to support simulating
a user click on a notification.

* DerivedSources.pri: Expose JSNotification.h as private header.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleGetWebNotificationID): Calls into notification manager to get internal ID.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Add WKBundleGetWebNotificationID() to be able
retrieve notification ID.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::webNotificationID):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::notificationIDForTesting):
(WebKit):
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] CCThreadImpl / WebCompositorImpl shouldn't compile from webkit when use_libcc_for_compositor=1
https://bugs.webkit.org/show_bug.cgi?id=94995

Reviewed by Adam Barth.

* WebKit.gyp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) : WebCore::FloatRect WebCore::RenderGeometryMap::absoluteRect(const WebCore::FloatRect &) const
https://bugs.webkit.org/show_bug.cgi?id=92464

Skip fast/events/tabindex-focus-blur-all.html since it is manifesting as a crash on the WK2
Debug Testers.

* platform/mac-wk2/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Link highlight should clear on page navigation.
https://bugs.webkit.org/show_bug.cgi?id=95129

Reviewed by James Robinson.

Modified WebViewImpl to clear link highlight when navigating to new url.

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::didCommitLoad):

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-navigate.html: Added.
* platform/chromium-linux/compositing/gestures/resources/gesture-tapHighlight-simple-navigate-destination.html: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-navigate-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-navigate-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Add setting API for allow universal/file access from file URLs.
https://bugs.webkit.org/show_bug.cgi?id=83121

Patch by Kamil Blank <k.blank@samsung.com> on 2012-08-29
Reviewed by Eric Seidel.

Source/WebKit/efl:

Make it possible to enable allow universal/file access from file URLs.
Default value for both settings is true.

* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(ewk_view_setting_allow_universal_access_from_file_urls_set): Function sets if locally loaded documents
are allowed to access remote urls.
(ewk_view_setting_allow_universal_access_from_file_urls_get):
(ewk_view_setting_allow_file_access_from_file_urls_set): Function sets if locally loaded documents
are allowed to access other local urls.
(ewk_view_setting_allow_file_access_from_file_urls_get):
* ewk/ewk_view.h:

Tools:

Implementation of setAllowUniversalAccessFromFileURLs and setAllowFileAccessFromFileURLs.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
(TestRunner::setAllowUniversalAccessFromFileURLs):
(TestRunner::setAllowFileAccessFromFileURLs):

LayoutTests:

Enable test connected with setAllowUniversalAccessFromFileURLs and setAllowFileAccessFromFileURLs.

* platform/efl/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tell git-archive to not export .gitattributes and .gitignore

Patch by Thiago Macieira <thiago.macieira@intel.com> on 2012-08-29
Reviewed by Simon Hausmann.

Exclude git specific files from archives created via git-archive.

* .gitattributes:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Basic WTR support for web notifications
https://bugs.webkit.org/show_bug.cgi?id=95154
<rdar://problem/12184492>

Reviewed by Alexey Proskuryakov.

Implement WTR support, without platform event output (bug 95233).

Legacy APIs will not be supported, since many of the tests are skipped
on ports that do test notifications, and the issue with using file:// as the origin means a lot of the permissions
tests won't work. Bugs 81048 and 81697 will track migrating the existing tests to use the new testRunner API, and move
the tests to http/tests/notifications.

Permissions will be handled only in the injected bundle. This allows tests to set permission synchronously, and not
require a chain of setTimeout()'s when writing a notification test. Clicking a notification, however, should
be invoked from the UIProcess.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessage): When told to "Reset", clear out all of the permissions.
(WTR::InjectedBundle::postSimulateWebNotificationClick): Tell the bundle client to simulate a click based on the
notification's internal ID.
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::grantWebNotificationPermission): Manually set the permission using WKBundle SPI.
(WTR::TestRunner::denyWebNotificationPermission): Manually set the permission using WKBundle SPI.
(WTR::TestRunner::removeAllWebNotificationPermissions):
(WTR::TestRunner::simulateWebNotificationClick): Post a message through the injected bundle.
* WebKitTestRunner/InjectedBundle/TestRunner.h:

Because supporting web notifications goes beyond a couple functions, move all of the logic into a WebNotificationProvider
class.
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle): When the injected bundle sends a message to simulate a click,
TestInvocation forwards that request to the TestController.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Set the provider.
(WTR::TestController::resetStateToConsistentValues): Tell the provider to reset.
(WTR::TestController::simulateWebNotificationClick): Tell the provider to simulate a user clicking on a platform notification.
* WebKitTestRunner/TestController.h: Holds an instance to the provider.

The provider maintains a pointer to one notification manager (presumably the web process associated with WTR), and a set
of notification IDs that have been "shown" by the platform. This allows us to simulate a click on a notification.
* WebKitTestRunner/WebNotificationProvider.h: Added.
* WebKitTestRunner/WebNotificationProvider.cpp: Added.
(WTR::WebNotificationProvider::showWebNotification): Adds the notification to set of shown notifications. Notifies provider that
the notification got shown.
(WTR::WebNotificationProvider::closeWebNotification): Removes the notification from the set. Notifies provider that the notification
got closed.
(WTR::WebNotificationProvider::addNotificationManager): Maintains one manager, which is fine for testing purposes.
(WTR::WebNotificationProvider::removeNotificationManager): Maintains one manager.
(WTR::WebNotificationProvider::notificationPermissions): When the web process starts, it maintains an initial set of known
permissions. For testing purposes, we always want this set to be empty.
(WTR::WebNotificationProvider::simulateWebNotificationClick): Notifies provider that the notification got "clicked".
(WTR::WebNotificationProvider::reset): To reset the state, we pretend that we closed all of the platform notifications.

* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Add WebNotificationProvider.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Windows build fix.

* win/WebKit2Generated.make: Export WKNotificationManager.h.

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