WebKit-https.git
8 years ago[EFL] Gardening for some inspector tests
commit-queue@webkit.org [Fri, 1 Mar 2013 05:41:23 +0000 (05:41 +0000)]
[EFL] Gardening for some inspector tests
https://bugs.webkit.org/show_bug.cgi?id=111131

Unreviewed gardening.

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-02-28

* platform/efl-wk1/TestExpectations:

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

8 years agoUnreviewed, rolling out r144370.
commit-queue@webkit.org [Fri, 1 Mar 2013 05:03:34 +0000 (05:03 +0000)]
Unreviewed, rolling out r144370.
http://trac.webkit.org/changeset/144370
https://bugs.webkit.org/show_bug.cgi?id=111136

Caused 21 assertion failure at DocumentLoader.cpp(436)
(Requested by toyoshim on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-28

Source/WebCore:

* dom/Document.cpp:
(WebCore::Document::decrementActiveParserCount):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::isLoading):
(WebCore::DocumentLoader::checkLoadComplete):

LayoutTests:

* platform/mac/TestExpectations:

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

8 years agoUnreviewed, chromium gardening; update expected image for Snow Leopard
toyoshim@chromium.org [Fri, 1 Mar 2013 04:40:10 +0000 (04:40 +0000)]
Unreviewed, chromium gardening; update expected image for Snow Leopard

* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:
* platform/chromium/TestExpectations:

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

8 years ago[WK2] Refactoring : Fix indentation and braces in WebInspectorClient.h|cpp
commit-queue@webkit.org [Fri, 1 Mar 2013 04:39:52 +0000 (04:39 +0000)]
[WK2] Refactoring : Fix indentation and braces in WebInspectorClient.h|cpp
https://bugs.webkit.org/show_bug.cgi?id=109925

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-02-28
Reviewed by Benjamin Poulain.

The contents of an outermost namespace block should not be indented.
And One-line control clauses should not use braces.

* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::closeInspectorFrontend):
* WebProcess/WebCoreSupport/WebInspectorClient.h:
(WebCore):

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

8 years ago[chromium] Events can't be triggered on MediaStreamTrack
li.yin@intel.com [Fri, 1 Mar 2013 04:37:55 +0000 (04:37 +0000)]
[chromium] Events can't be triggered on MediaStreamTrack
https://bugs.webkit.org/show_bug.cgi?id=110930

Reviewed by Kentaro Hara.

Source/WebCore:

Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack
ended event handler should be triggered, when stop() is called.

No new tests because the test fast/mediastream/MediaStreamTrack.html
had covered it already.

* platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
(WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):

Tools:

Related code was moved to MediaStreamCenterChromium::didStopLocalMediaStream

* DumpRenderTree/chromium/TestRunner/src/MockWebMediaStreamCenter.cpp:
(WebTestRunner::MockWebMediaStreamCenter::didStopLocalMediaStream):

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

8 years agoAdd a pre-bootstrap message for NetworkProcess XPC service
commit-queue@webkit.org [Fri, 1 Mar 2013 04:18:44 +0000 (04:18 +0000)]
Add a pre-bootstrap message for NetworkProcess XPC service
https://bugs.webkit.org/show_bug.cgi?id=111127

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-02-28
Reviewed by Sam Weinig.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(WebKit::XPCServiceEventHandler): Hold on to the pre-bootstrap message.
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler): Ditto.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService): Send a pre-bootstrap message for NetworkProcess
XPC service.

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

8 years agoWebKit API for enabling DOM logging for certain worlds
commit-queue@webkit.org [Fri, 1 Mar 2013 03:35:07 +0000 (03:35 +0000)]
WebKit API for enabling DOM logging for certain worlds
https://bugs.webkit.org/show_bug.cgi?id=110779

Source/WebCore:

Patch by Ankur Taly <ataly@google.com> on 2013-02-28
Reviewed by Adam Barth.

Adds additional static methods to DOMWrapperWorld for managing the
mapping between worldIDs and logger objects (where DOM logging messages
are sent), and also defines a class (V8DOMActivityLogger) for logger
objects.

* WebCore.gypi:
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore):
(WebCore::domActivityLoggers):
(WebCore::DOMWrapperWorld::setDOMActivityLogger):
(WebCore::DOMWrapperWorld::getDOMActivityLogger):
* bindings/v8/DOMWrapperWorld.h:
(DOMWrapperWorld):
* bindings/v8/V8DOMActivityLogger.h: Added.
(WebCore):
(V8DOMActivityLogger):
(WebCore::V8DOMActivityLogger::~V8DOMActivityLogger):
(WebCore::V8DOMActivityLogger::log):

Source/WebKit/chromium:

Patch by Ankur Taly <ataly@google.com> on 2013-02-28
Reviewed by Adam Barth.

This patch adds initial plumbing for enabling logging of DOM
activity by JavaScript code running withing v8, on a
per-world basis. In particular it adds methods to the chromium
WebKit API for associating a logger object with world ids for which
DOM activity logging is enabled.

* WebKit.gyp:
* public/WebDOMActivityLogger.h: Added.
(v8):
(WebKit):
(WebDOMActivityLogger):
(WebKit::WebDOMActivityLogger::~WebDOMActivityLogger):
(WebKit::WebDOMActivityLogger::log):
* src/WebDOMActivityLogger.cpp: Added.
(WebKit):
(DOMActivityLoggerContainer):
(WebKit::DOMActivityLoggerContainer::DOMActivityLoggerContainer):
(WebKit::DOMActivityLoggerContainer::~DOMActivityLoggerContainer):
(WebKit::DOMActivityLoggerContainer::log):
(WebKit::hasDOMActivityLogger):
(WebKit::setDOMActivityLogger):

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

8 years agoThe threaded HTML parser shouldn't need to invalidate the speculation buffer on every...
abarth@webkit.org [Fri, 1 Mar 2013 02:12:54 +0000 (02:12 +0000)]
The threaded HTML parser shouldn't need to invalidate the speculation buffer on every document.write
https://bugs.webkit.org/show_bug.cgi?id=111130

Reviewed by Eric Seidel.

Previously, the threaded HTML parser always invalidated its speculation
buffer when it received a document.write.  That means we performed
poorly on web sites that contained document.write calls early in the
page.

This patch teaches the HTMLDocumentParser that we don't need to discard
the speculation buffer in the common case of starting and ending in the
DataState.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::checkForSpeculationFailure):
(WebCore::HTMLDocumentParser::didFailSpeculation):
* html/parser/HTMLDocumentParser.h:
(WebCore):
(ParsedChunk):

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

8 years ago[Chromium] Rebaselines for Win decorations-with-text-combine.html
schenney@chromium.org [Fri, 1 Mar 2013 02:11:42 +0000 (02:11 +0000)]
[Chromium] Rebaselines for Win decorations-with-text-combine.html

Unreviewed expectations update.

* platform/chromium-win-xp/fast/text/decorations-with-text-combine-expected.png:
* platform/chromium-win/fast/text/decorations-with-text-combine-expected.png:

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

8 years agoWebInspector: Switch hide element shortcut in ElementsPanel to use a selector
commit-queue@webkit.org [Fri, 1 Mar 2013 01:58:44 +0000 (01:58 +0000)]
WebInspector: Switch hide element shortcut in ElementsPanel to use a selector
https://bugs.webkit.org/show_bug.cgi?id=110641

Patch by Eberhard Graether <egraether@google.com> on 2013-02-28
Reviewed by Pavel Feldman.

This change switches the shortcut for adding visibility:hidden to an element's style
to toggling a class name on the element and injecting a style rule into the element's
document instead. This way it is possible to change the visibility of all child
elements as well.

Test: inspector/elements/hide-shortcut.html

Source/WebCore:

* inspector/front-end/CSSStyleModel.js:
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype._onkeydown):
(WebInspector.ElementsTreeOutline.prototype.resolvedNode.toggleClassAndInjectStyleRule):
(WebInspector.ElementsTreeOutline.prototype.):
(WebInspector.ElementsTreeOutline.prototype._toggleHideShortcut):

LayoutTests:

* inspector/elements/hide-shortcut-expected.txt: Added.
* inspector/elements/hide-shortcut.html: Added.
* inspector/elements/resources/hide-shortcut-iframe.html: Added.

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

8 years ago[EFL] Build break with --no-web-audio and --no-video
ryuan.choi@samsung.com [Fri, 1 Mar 2013 01:53:51 +0000 (01:53 +0000)]
[EFL] Build break with --no-web-audio and --no-video
https://bugs.webkit.org/show_bug.cgi?id=111055

Unreviewed build fix.

* platform/graphics/gstreamer/GStreamerUtilities.cpp:

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

8 years ago[EFL] Focus problem in inspector/extensions/extensions-panel.html
commit-queue@webkit.org [Fri, 1 Mar 2013 01:51:26 +0000 (01:51 +0000)]
[EFL] Focus problem in inspector/extensions/extensions-panel.html
https://bugs.webkit.org/show_bug.cgi?id=97077

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-02-28
Reviewed by Laszlo Gombos.

Source/WebKit/efl:

* WebCoreSupport/InspectorClientEfl.cpp:
(WebCore::InspectorFrontendClientEfl::bringToFront): Set focus on inspectorView.

LayoutTests:

Remove inspector/extensions/extensions-panel.html from TestExpectations.

* platform/efl-wk1/TestExpectations:

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

8 years agoImplement the memory report on IPP FFTFrame on Web Audio
xingnan.wang@intel.com [Fri, 1 Mar 2013 01:50:08 +0000 (01:50 +0000)]
Implement the memory report on IPP FFTFrame on Web Audio
https://bugs.webkit.org/show_bug.cgi?id=111039

Reviewed by Yury Semikhatsky.

Covered by existing test.

* platform/audio/FFTFrame.cpp:
(WebCore::FFTFrame::reportMemoryUsage):

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

8 years agoDFG CFA should not do liveness pruning
fpizlo@apple.com [Fri, 1 Mar 2013 01:32:03 +0000 (01:32 +0000)]
DFG CFA should not do liveness pruning
https://bugs.webkit.org/show_bug.cgi?id=111119

Reviewed by Mark Hahnenberg.

It adds complexity and probably buys nothing.  Moreover, I'm transitioning to having
liveness only available at the bitter end of compilation, so this will stop working
after https://bugs.webkit.org/show_bug.cgi?id=109389 anyway.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::mergeStateAtTail):

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

8 years agoStale FrameSelection in removed iframe causes crash
leviw@chromium.org [Fri, 1 Mar 2013 01:24:47 +0000 (01:24 +0000)]
Stale FrameSelection in removed iframe causes crash
https://bugs.webkit.org/show_bug.cgi?id=108696

Reviewed by Ryosuke Niwa.

Source/WebCore:

Catching a specific issue where selectFrameElementInParentIfFullySelected in a nested
iFrame that is removed can leave the outer frame's selection referencing stale nodes.
Instead, in this case, we keep the frame alive long enough to check for this condition
and clear our selection if we hit it.

Test: editing/selection/selection-in-iframe-removed-crash.html

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelection):

LayoutTests:

* editing/selection/selection-in-iframe-removed-crash-expected.txt: Added.
* editing/selection/selection-in-iframe-removed-crash.html: Added.

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

8 years agoUnreviewed. AppleWin VS2010 build fix.
roger_fong@apple.com [Fri, 1 Mar 2013 01:01:31 +0000 (01:01 +0000)]
Unreviewed. AppleWin VS2010 build fix.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:

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

8 years ago[chromium] Use DumpRenderTree-specific interface for DRT's compositor embedding
jamesr@google.com [Fri, 1 Mar 2013 00:50:37 +0000 (00:50 +0000)]
[chromium] Use DumpRenderTree-specific interface for DRT's compositor embedding
https://bugs.webkit.org/show_bug.cgi?id=111017

Reviewed by Adam Barth.

This decouples DumpRenderTree from WebLayerTreeViewClient.

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHostDRTLayerTreeViewClient):
(WebViewHostDRTLayerTreeViewClient::WebViewHostDRTLayerTreeViewClient):
(WebViewHostDRTLayerTreeViewClient::~WebViewHostDRTLayerTreeViewClient):
(WebViewHostDRTLayerTreeViewClient::Layout):
(WebViewHostDRTLayerTreeViewClient::ScheduleComposite):
(WebViewHost::initializeLayerTreeView):
* DumpRenderTree/chromium/WebViewHost.h:
(webkit_support):
(WebViewHost):

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

8 years agoNeed API to control page underlay color
commit-queue@webkit.org [Fri, 1 Mar 2013 00:47:10 +0000 (00:47 +0000)]
Need API to control page underlay color
https://bugs.webkit.org/show_bug.cgi?id=110918

Patch by Conrad Shultz <conrad_shultz@apple.com> on 2013-02-28
Reviewed by Simon Fraser.

Source/WebCore:

* page/ChromeClient.h:
(ChromeClient):
Declare underlayColor().

* platform/ScrollbarTheme.h:
(WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
Have setUpOverhangAreasLayerContents() take a background color parameter.

* platform/mac/ScrollbarThemeMac.h:
(ScrollbarThemeMac):
Ditto.

* platform/mac/ScrollbarThemeMac.mm:
Include ColorMac.h.
(WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
Use the passed-in background color, if valid, for the overhang area layer.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
Get the underlay color from the chrome client and pass it into setUpOverhangAreasLayerContents().

Source/WebKit2:

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
Encode underlayColor.
(WebKit::WebPageCreationParameters::decode):
Decode underlayColor.

* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
Add underlayColor member.

* UIProcess/API/mac/WKView.mm:
(-[WKView underlayColor]):
Accessor; retrieves the WebCore::Color from the WebPageProxy and converts it to an NSColor.
(-[WKView setUnderlayColor:]):
Mutator; converts the NSColor to a WebCore::Color and passes it to the WebPageProxy.

* UIProcess/API/mac/WKViewPrivate.h:
Add underlayColor @property.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setUnderlayColor):
Mutator; dispatches SetUnderlayColor to WebPage.
(WebKit::WebPageProxy::creationParameters):
Set the parameters' underlayColor member appropriately.

* UIProcess/WebPageProxy.h:
Declare new member functions and variable.
(WebKit::WebPageProxy::underlayColor):
Accessor.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::underlayColor):
Return the associated WebPage's underlayColor.

* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
Declare underlayColor().

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
Apply any underlayColor that was supplied as part of the WebPageCreationParameters.

* WebProcess/WebPage/WebPage.h:
Declare new member functions and variable.
(WebKit::WebPage::underlayColor):
Accessor.

* WebProcess/WebPage/WebPage.messages.in:
Add SetUnderlayColor message.

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

8 years ago[Chromium] Rebaselines for Mac decorations-with-text-combine.html
schenney@chromium.org [Fri, 1 Mar 2013 00:46:30 +0000 (00:46 +0000)]
[Chromium] Rebaselines for Mac decorations-with-text-combine.html

Unreviewed expectations update.

* platform/chromium-mac-lion/fast/text/decorations-with-text-combine-expected.png:
* platform/chromium-mac/fast/text/decorations-with-text-combine-expected.png:

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

8 years agoRelevantRepaintedObjects heuristic should ensure there is some coverage in the
bdakin@apple.com [Fri, 1 Mar 2013 00:42:18 +0000 (00:42 +0000)]
RelevantRepaintedObjects heuristic should ensure there is some coverage in the
bottom half of the relevant view rect
https://bugs.webkit.org/show_bug.cgi?id=111124
-and corresponding-
<rdar://problem/12257164>

Reviewed by Simon Fraser.

We need two Regions now -- one for the top and another for the bottom. Make sure
we have at least half of our desired coverage in both.
* page/Page.cpp:
(WebCore::Page::resetRelevantPaintedObjectCounter):
(WebCore::Page::addRelevantRepaintedObject):
(WebCore::Page::reportMemoryUsage):
* page/Page.h:

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

8 years agoUnreviewed gardening. Skip storage tests on Windows.
roger_fong@apple.com [Fri, 1 Mar 2013 00:30:52 +0000 (00:30 +0000)]
Unreviewed gardening. Skip storage tests on Windows.

* platform/win/TestExpectations:

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

8 years agoUnreviewed. Rolled Chromium DEPS to r185341. Requested by
commit-queue@webkit.org [Fri, 1 Mar 2013 00:29:30 +0000 (00:29 +0000)]
Unreviewed.  Rolled Chromium DEPS to r185341.  Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-28

* DEPS:

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

8 years agoWebSpeech: support pitch change
cfleizach@apple.com [Fri, 1 Mar 2013 00:21:46 +0000 (00:21 +0000)]
WebSpeech: support pitch change
https://bugs.webkit.org/show_bug.cgi?id=107348

Reviewed by Beth Dakin.

Implement a policy for the Mac synthesizer to convert from the utterance's pitch rate
to something sensible for the platform.

* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
(-[WebSpeechSynthesisWrapper convertPitchToNSSpeechValue:]):
(-[WebSpeechSynthesisWrapper updateBasePitchForSynthesizer]):
(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):

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

8 years agoUnreviewed, add my secondary email address to the list.
ryuan.choi@samsung.com [Fri, 1 Mar 2013 00:19:39 +0000 (00:19 +0000)]
Unreviewed, add my secondary email address to the list.

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

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

8 years agoAdd the notion of an allowed connection to SessionStorageNamespace
andersca@apple.com [Fri, 1 Mar 2013 00:03:48 +0000 (00:03 +0000)]
Add the notion of an allowed connection to SessionStorageNamespace
https://bugs.webkit.org/show_bug.cgi?id=111122

Reviewed by Sam Weinig.

Group together each session storage namespace with an allowed connection.
This will help ensure that rouge web processes will not be able to access session storage
from pages in other processes.

* UIProcess/Storage/StorageManager.cpp:
(StorageManager::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
Add an m_allowedConnection member variable, as well as setters and getters.

(WebKit::StorageManager::createSessionStorageNamespace):
Take an optional allowed connection. (It can be null if the process has not finished launching).

(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
New function to set the allowed connection for a session storage namespace.

(WebKit::StorageManager::createStorageArea):
Add another FIXME.

(WebKit::StorageManager::createSessionStorageNamespaceInternal):
Pass the connection to the SessionStorageNamespace constructor.

(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
Set the allowed connection.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
Pass the connection to createSessionStorageNamespace.

(WebKit::WebPageProxy::connectionWillOpen):
Call setAllowedSessionStorageNamespaceConnection.

(WebKit::WebPageProxy::connectionWillClose):
Call setAllowedSessionStorageNamespaceConnection with a null connection.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connectionWillOpen):
Call connectionWillOpen on all pages.

(WebKit::WebProcessProxy::connectionWillClose):
Call connectionWillClose on all pages.

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

8 years agoAdd private API to disable WKView window occlusion detection
commit-queue@webkit.org [Thu, 28 Feb 2013 23:59:11 +0000 (23:59 +0000)]
Add private API to disable WKView window occlusion detection
https://bugs.webkit.org/show_bug.cgi?id=111107

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-02-28
Reviewed by Simon Fraser.

* UIProcess/API/mac/WKView.mm:
(-[WKView _enableWindowOcclusionNotifications]): Check if occlusion
detection is enabled before enabling notifications.
(windowBecameOccluded): Ditto before changing window occlusion state.
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
Initialize occlusion detection enabled flag to "YES".
(-[WKView windowOcclusionDetectionEnabled]):
(-[WKView setWindowOcclusionDetectionEnabled:]):
* UIProcess/API/mac/WKViewPrivate.h:

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

8 years agoUnreviewed. Bindings test results update after r144376.
rgf748@motorola.com [Thu, 28 Feb 2013 23:54:17 +0000 (23:54 +0000)]
Unreviewed. Bindings test results update after r144376.

* bindings/scripts/test/JS/JSTestObj.cpp:

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

8 years agoAdd Philip Rogers as a reviewer.
pdr@google.com [Thu, 28 Feb 2013 23:52:10 +0000 (23:52 +0000)]
Add Philip Rogers as a reviewer.

Unreviewed update of committers.py.

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

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

8 years agoAdd the notion of an allowed connection to SessionStorageNamespace
andersca@apple.com [Thu, 28 Feb 2013 23:43:02 +0000 (23:43 +0000)]
Add the notion of an allowed connection to SessionStorageNamespace
https://bugs.webkit.org/show_bug.cgi?id=111122

Reviewed by Sam Weinig.

Group together each session storage namespace with an allowed connection.
This will help ensure that rouge web processes will not be able to access session storage
from pages in other processes.

* UIProcess/Storage/StorageManager.cpp:
(StorageManager::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
Add an m_allowedConnection member variable, as well as setters and getters.

(WebKit::StorageManager::createSessionStorageNamespace):
Take an optional allowed connection. (It can be null if the process has not finished launching).

(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
New function to set the allowed connection for a session storage namespace.

(WebKit::StorageManager::createStorageArea):
Add another FIXME.

(WebKit::StorageManager::createSessionStorageNamespaceInternal):
Pass the connection to the SessionStorageNamespace constructor.

(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
Set the allowed connection.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
Pass the connection to createSessionStorageNamespace.

(WebKit::WebPageProxy::connectionWillOpen):
Call setAllowedSessionStorageNamespaceConnection.

(WebKit::WebPageProxy::connectionWillClose):
Call setAllowedSessionStorageNamespaceConnection with a null connection.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connectionWillOpen):
Call connectionWillOpen on all pages.

(WebKit::WebProcessProxy::connectionWillClose):
Call connectionWillClose on all pages.

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

8 years agoUnreviewed. AppleWin Build fix.
roger_fong@apple.com [Thu, 28 Feb 2013 23:38:48 +0000 (23:38 +0000)]
Unreviewed. AppleWin Build fix.

* WebCore.vcproj/WebCore.vcproj:

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

8 years agoAdd a flaky failure expectation to http/tests/inspector/resource-tree/resource-reques...
rniwa@webkit.org [Thu, 28 Feb 2013 23:37:50 +0000 (23:37 +0000)]
Add a flaky failure expectation to http/tests/inspector/resource-tree/resource-request-content-while-loading.html
on all platforms per bug 111123.

* TestExpectations:

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

8 years agoUnreviewed, rebaselining fast/forms/date-appearance/basic.html for chromium.
dpranke@chromium.org [Thu, 28 Feb 2013 23:33:28 +0000 (23:33 +0000)]
Unreviewed, rebaselining fast/forms/date-appearance/basic.html for chromium.

* platform/chromium-linux/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium/TestExpectations:

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

8 years agoUnreviewed, rebaselining media/track/track-cue-rendering-vertical.html on chromium
dpranke@chromium.org [Thu, 28 Feb 2013 23:30:41 +0000 (23:30 +0000)]
Unreviewed, rebaselining media/track/track-cue-rendering-vertical.html on chromium

* platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt: Removed.
* platform/chromium-mac-lion/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/chromium-mac-lion/media/track/track-cue-rendering-vertical-expected.txt: Added.
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-win-xp/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-win/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-win/media/track/track-cue-rendering-vertical-expected.txt:
* platform/chromium/TestExpectations:

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

8 years ago[V8] Remove the world->isMainWorld() check from minorGCPrologue()
haraken@chromium.org [Thu, 28 Feb 2013 23:25:38 +0000 (23:25 +0000)]
[V8] Remove the world->isMainWorld() check from minorGCPrologue()
https://bugs.webkit.org/show_bug.cgi?id=111114

Reviewed by Adam Barth.

A couple of weeks ago, I introduced the following check to minorGCPrologue() in r142419.

  void minorGCPrologue() {
    // A minor GC can handle the main world only.
    DOMWrapperWorld* world = worldForEnteredContextWithoutContextCheck();
    if (world && world->isMainWorld()) {
      MinorGCWrapperVisitor visitor(isolate);
      v8::V8::VisitHandlesForPartialDependence(isolate, &visitor);
      visitor.notifyFinished();
    }
  }

- The check makes no sense. A GC should not care about what world we are in.
There is no concept of worlds in GC.

- worldForEnteredContextWithoutContextCheck() returns 0 for the main world.
So if a GC runs in the main world, the minor DOM GC is skipped.

- worldForEnteredContextWithoutContextCheck() caused a Chromium crash
(https://code.google.com/p/chromium/issues/detail?id=177587)

We should remove the check.

No tests. No change in behavior.

* bindings/v8/DOMWrapperWorld.h:
(WebCore::DOMWrapperWorld::getWorld):
* bindings/v8/V8Binding.h:
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::minorGCPrologue):

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

8 years agoUnreviewed, updating chromium TestExpectations to remove passing tests.
dpranke@chromium.org [Thu, 28 Feb 2013 23:24:59 +0000 (23:24 +0000)]
Unreviewed, updating chromium TestExpectations to remove passing tests.

* platform/chromium/TestExpectations:

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

8 years agoDon't try to emit profiling if you don't have the DFG JIT.
fpizlo@apple.com [Thu, 28 Feb 2013 23:23:14 +0000 (23:23 +0000)]
Don't try to emit profiling if you don't have the DFG JIT.

Rubber stamped by Mark Hahnenberg.

* jit/JIT.h:
(JSC::JIT::shouldEmitProfiling):

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

8 years agoCreate GraphicsContext3DState to aggregate state objects
bruno.abinader@basyskom.com [Thu, 28 Feb 2013 23:17:36 +0000 (23:17 +0000)]
Create GraphicsContext3DState to aggregate state objects
https://bugs.webkit.org/show_bug.cgi?id=110817

Reviewed by Kenneth Russell.

Aggregate context state-related objects on a GraphicsContext3DState
struct, in a similar fashion as GraphicsContext does. This is useful to
avoid duplicated values for platform-specific initialization lists.

No behavior changes, thus covered by existing tests.

* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::GraphicsContext3DState::GraphicsContext3DState):
(GraphicsContext3DState):
(GraphicsContext3D):
Moved m_boundFBO, m_activeTexture and m_boundTexture0 to GraphicsContext3DState.

* platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::reshapeFBOs):
* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/efl/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::reshapeFBOs):
(WebCore::GraphicsContext3D::readPixels):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::prepareTexture):
(WebCore::GraphicsContext3D::readRenderingResults):
(WebCore::GraphicsContext3D::reshape):
(WebCore::GraphicsContext3D::activeTexture):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::copyTexImage2D):
(WebCore::GraphicsContext3D::copyTexSubImage2D):
(WebCore::GraphicsContext3D::deleteFramebuffer):
(WebCore::GraphicsContext3D::deleteTexture):
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore::GraphicsContext3D::readPixels):
(WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
(WebCore::GraphicsContext3D::reshapeFBOs):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::createOffscreenBuffers):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
(WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
(WebCore::GraphicsContext3D::GraphicsContext3D):
Removed initialization list values not needed anymore and reassigned
calls to m_boundFBO, m_boundTexture0 and m_activeTexture to m_state
respectives.

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

8 years agoUnreviewed build fix. A merge error led to a duplication of a single line.
hyatt@apple.com [Thu, 28 Feb 2013 23:06:44 +0000 (23:06 +0000)]
Unreviewed build fix. A merge error led to a duplication of a single line.
Just removing the duplicate line.

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

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

8 years agoNotification.requestPermission callback should be optional
kaustubh@motorola.com [Thu, 28 Feb 2013 22:57:48 +0000 (22:57 +0000)]
Notification.requestPermission callback should be optional
https://bugs.webkit.org/show_bug.cgi?id=108196

Reviewed by Kentaro Hara.

Spec says it should be optional.
http://notifications.spec.whatwg.org/#notification

Source/WebCore:

Test: fast/notifications/notifications-request-permission-optional.html

* GNUmakefile.list.am:
* Modules/notifications/Notification.h:
(Notification):
* Modules/notifications/Notification.idl:
* Modules/notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
* Modules/notifications/NotificationCenter.h:
(NotificationCenter):
* Modules/notifications/NotificationCenter.idl:
* Target.pri:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDesktopNotificationsCustom.cpp: Removed.
* bindings/js/JSNotificationCustom.cpp: Removed.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
* bindings/v8/custom/V8NotificationCenterCustom.cpp: Removed.
* bindings/v8/custom/V8NotificationCustom.cpp: Removed.

LayoutTests:

* fast/notifications/notifications-request-permission-optional-expected.txt: Added.
* fast/notifications/notifications-request-permission-optional.html: Added.

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

8 years agoUnderline should round to match other content.
commit-queue@webkit.org [Thu, 28 Feb 2013 22:54:13 +0000 (22:54 +0000)]
Underline should round to match other content.
https://bugs.webkit.org/show_bug.cgi?id=111005

Patch by Ben Wagner <bungeman@chromium.org> on 2013-02-28
Reviewed by Stephen White.

Test: fast/text/decorations-with-text-combine.html

* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawLineForText):
Round (instead of floor) underlines to match other content.

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

8 years agoRefine Ryosuke's r144367 fix.
eric.carlson@apple.com [Thu, 28 Feb 2013 22:51:42 +0000 (22:51 +0000)]
Refine Ryosuke's r144367 fix.

Rubber-stamped by Ryosuke Niwa.

* page/PageGroup.cpp:
(WebCore::PageGroup::captionPreferences):

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

8 years agoDFG Phantom node should be honest about the fact that it can exit
fpizlo@apple.com [Thu, 28 Feb 2013 22:48:33 +0000 (22:48 +0000)]
DFG Phantom node should be honest about the fact that it can exit
https://bugs.webkit.org/show_bug.cgi?id=111115

Reviewed by Mark Hahnenberg.

The chances of this having cause serious issues are low, since most clients of the
NodeDoesNotExit flag run after CFA and CFA updates this properly. But one possible
case of badness is if the ByteCodeParser inserted a Phantom with a type check in
between a LogicalNot and a Branch; then that peephole optimization in Fixup might
go slightly wrong.

* dfg/DFGNodeType.h:
(DFG):

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

8 years ago Windows build fix.
ap@apple.com [Thu, 28 Feb 2013 22:46:32 +0000 (22:46 +0000)]
    Windows build fix.

        Removing ENABLE(BLOB) checks that I added in bug 111100. Many, many more are needed
        to cleanly disable blob code.

        * platform/network/BlobData.h:
        * platform/network/BlobRegistryImpl.cpp:
        * platform/network/BlobRegistryImpl.h:
        * platform/network/BlobStorageData.h:

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

8 years agoThreaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
eric@webkit.org [Thu, 28 Feb 2013 22:33:32 +0000 (22:33 +0000)]
Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
https://bugs.webkit.org/show_bug.cgi?id=110937

Reviewed by Adam Barth.

Remove the #ifdef guards added to work around this ASSERT.
This was fixed by https://bugs.webkit.org/show_bug.cgi?id=110951
as now DocumentLoader::checkLoadComplete() will ignore the call
if the DocumentLoader is not the active document loader for the Document.

* dom/Document.cpp:
(WebCore::Document::decrementActiveParserCount):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::isLoading):
(WebCore::DocumentLoader::checkLoadComplete):

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

8 years agoRollout r144366.
lforschler@apple.com [Thu, 28 Feb 2013 22:08:05 +0000 (22:08 +0000)]
Rollout r144366.

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

8 years ago[Chromium] Move html5linb tests to be Slow rather than Timeout
schenney@chromium.org [Thu, 28 Feb 2013 22:06:46 +0000 (22:06 +0000)]
[Chromium] Move html5linb tests to be Slow rather than Timeout

Unreviewed expectations. Requested by Eric Seidel.

* platform/chromium/TestExpectations:

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

8 years agoRevert an erroneous change in r144336.
rniwa@webkit.org [Thu, 28 Feb 2013 22:02:09 +0000 (22:02 +0000)]
Revert an erroneous change in r144336.

Rubber-stamped by Eric Carlson.

* page/PageGroup.cpp:
(WebCore::PageGroup::captionPreferences):

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

8 years agoGive Damian Committer privs.
lforschler@apple.com [Thu, 28 Feb 2013 22:01:27 +0000 (22:01 +0000)]
Give Damian Committer privs.

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

8 years agoAdd casts in DFGGPRInfo.h to suppress warnings
mhahnenberg@apple.com [Thu, 28 Feb 2013 21:57:24 +0000 (21:57 +0000)]
Add casts in DFGGPRInfo.h to suppress warnings
https://bugs.webkit.org/show_bug.cgi?id=111104

Reviewed by Filip Pizlo.

With certain flags on, we get compiler warnings on ARM. We should do the proper casts to make these warnings go away.

* dfg/DFGGPRInfo.h:
(JSC::DFG::GPRInfo::toIndex):
(JSC::DFG::GPRInfo::debugName):

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

8 years agoUnreviewed build fix for Windows. Make sure the new bits are unsigned and not bools.
hyatt@apple.com [Thu, 28 Feb 2013 21:52:56 +0000 (21:52 +0000)]
Unreviewed build fix for Windows. Make sure the new bits are unsigned and not bools.

* rendering/RenderBlock.h:

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

8 years agoMerge more methods on PerfTest
rniwa@webkit.org [Thu, 28 Feb 2013 21:52:22 +0000 (21:52 +0000)]
Merge more methods on PerfTest
https://bugs.webkit.org/show_bug.cgi?id=111030

Reviewed by Dirk Pranke.

Merged parse_output into _run_with_driver as it was the only caller. Also merged _should_ignore_line_in_stderr
and _should_ignore_line_in_parser_test_result into _filter_output since it was their only caller.

This makes the control flow a lot more comprehensible.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest._run_with_driver):
(PerfTest._should_ignore_line):
(PerfTest._filter_output):

* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTest._assert_results_are_correct):
(test_ignored_stderr_lines):

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

8 years agoIt should be easy to determine if a DFG node exits forward or backward when doing...
fpizlo@apple.com [Thu, 28 Feb 2013 21:51:25 +0000 (21:51 +0000)]
It should be easy to determine if a DFG node exits forward or backward when doing type checks
https://bugs.webkit.org/show_bug.cgi?id=111102

Reviewed by Mark Hahnenberg.

This adds a NodeExitsForward flag, which tells you the exit directionality of
type checks performed by the node. Even if you convert the node to a Phantom
and use the Edge UseKind for type checks, you'll still get the same exit
directionality that the original node would have wanted.

* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
* dfg/DFGArrayifySlowPathGenerator.h:
(JSC::DFG::ArrayifySlowPathGenerator::ArrayifySlowPathGenerator):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
* dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::eliminate):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::checkArray):
* dfg/DFGNode.h:
(Node):
(JSC::DFG::Node::setOpAndDefaultNonExitFlags):
(JSC::DFG::Node::convertToPhantom):
* dfg/DFGNodeFlags.cpp:
(JSC::DFG::nodeFlagsAsString):
* dfg/DFGNodeFlags.h:
(DFG):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::backwardSpeculationCheck):
(DFG):
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::backwardTypeCheck):
(JSC::DFG::SpeculativeJIT::typeCheck):
(JSC::DFG::SpeculativeJIT::forwardTypeCheck):
(JSC::DFG::SpeculativeJIT::fillStorage):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
(JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::gpr):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::fpr):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
(JSC::DFG::SpeculateCellOperand::gpr):
(SpeculateCellOperand):
(JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::gpr):
(SpeculateBooleanOperand):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

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

8 years agoUpdate my IRC nick
robert@webkit.org [Thu, 28 Feb 2013 21:48:11 +0000 (21:48 +0000)]
Update my IRC nick

Unreviewed.

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

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

8 years agoMeta referrer isn't honored for window.open
jochen@chromium.org [Thu, 28 Feb 2013 21:45:58 +0000 (21:45 +0000)]
Meta referrer isn't honored for window.open
https://bugs.webkit.org/show_bug.cgi?id=111076

Reviewed by Adam Barth.

Source/WebCore:

Test: http/tests/security/referrer-policy-window-open.html

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::urlSelected): loadFrameRequest() will set the correct referrer
(WebCore::createWindow): This code is required for the inspector which doesn't set the referrer
* page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):

LayoutTests:

* http/tests/security/referrer-policy-window-open-expected.txt: Added.
* http/tests/security/referrer-policy-window-open.html: Added.

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

8 years ago[texmap] Remove redundant defines on TextureMapperGL
bruno.abinader@basyskom.com [Thu, 28 Feb 2013 21:37:47 +0000 (21:37 +0000)]
[texmap] Remove redundant defines on TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=111090

Reviewed by Antonio Gomes.

driverSupportsSubImage() already uses OpenGL ES defines to return
correct support, thus no need for these additional defines.

No behavior changes, thus covered by existing tests.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::updateContentsNoSwizzle):

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

8 years agoEXT_draw_buffers needs implementation
zmo@google.com [Thu, 28 Feb 2013 21:35:15 +0000 (21:35 +0000)]
EXT_draw_buffers needs implementation
https://bugs.webkit.org/show_bug.cgi?id=109331

Reviewed by Kenneth Russell.

Source/Platform:

Add EXT_draw_buffers support for chromium port.

* chromium/public/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::drawBuffersEXT):

Source/WebCore:

This patch adds support for EXT_draw_buffers for WebGL.
mac OpenGL port is passing khronos WebGL conformance test with this patch. OpenGL ES port implementation isn't added in this patch.
Also, it has the WebKit side support for chromium port, but pending command buffer implementation.

Besides the basic extension implementation, we also added drawBuffers() wrapper to work around a mac driver bug: i.e., do not enable a buffer if there is no attachment added.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/v8/V8Binding.h:
(WebCore):
(WebCore::toInt32):
(WebCore::toUInt32):
(WebCore::toFloat):
(WebCore::toInt64):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
* html/canvas/EXTDrawBuffers.cpp: Added.
(WebCore):
(WebCore::EXTDrawBuffers::EXTDrawBuffers):
(WebCore::EXTDrawBuffers::~EXTDrawBuffers):
(WebCore::EXTDrawBuffers::getName):
(WebCore::EXTDrawBuffers::create):
(WebCore::EXTDrawBuffers::supported):
(WebCore::EXTDrawBuffers::drawBuffersEXT):
* html/canvas/EXTDrawBuffers.h: Added.
(WebCore):
(EXTDrawBuffers):
* html/canvas/EXTDrawBuffers.idl: Added.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
(WebCore::WebGLFramebuffer::drawBuffers):
(WebCore):
(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
* html/canvas/WebGLFramebuffer.h:
(WebGLFramebuffer):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::initializeNewContext):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
(WebCore::WebGLRenderingContext::getMaxDrawBuffers):
(WebCore::WebGLRenderingContext::getMaxColorAttachments):
* html/canvas/WebGLRenderingContext.h:
(WebCore):
(WebGLRenderingContext):
* platform/chromium/support/Extensions3DChromium.cpp:
(WebCore::Extensions3DChromium::drawBuffersEXT):
(WebCore):
* platform/graphics/Extensions3D.h:
(Extensions3D):
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::getClearBitsByAttachmentType):
* platform/graphics/chromium/Extensions3DChromium.h:
(Extensions3DChromium):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension):
(WebCore::Extensions3DOpenGL::drawBuffersEXT):
(WebCore):
* platform/graphics/opengl/Extensions3DOpenGL.h:
(Extensions3DOpenGL):
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::ensureEnabled):
* platform/graphics/opengl/Extensions3DOpenGLCommon.h:
(Extensions3DOpenGLCommon):
* platform/graphics/opengl/Extensions3DOpenGLES.cpp:
(WebCore::Extensions3DOpenGLES::drawBuffersEXT):
(WebCore):
(WebCore::Extensions3DOpenGLES::supportsExtension):
* platform/graphics/opengl/Extensions3DOpenGLES.h:
(Extensions3DOpenGLES):

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

8 years ago[EFL][WebGL] Enable compositing/webgl/webgl-reflection.html.
commit-queue@webkit.org [Thu, 28 Feb 2013 21:32:11 +0000 (21:32 +0000)]
[EFL][WebGL] Enable compositing/webgl/webgl-reflection.html.
https://bugs.webkit.org/show_bug.cgi?id=110688

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-02-28
Reviewed by Laszlo Gombos.

This patch adds platform specific test expectation files for the
test and enables it for efl port.

* platform/efl/TestExpectations:
* platform/efl/compositing/webgl/webgl-reflection-expected.png: Added.
* platform/efl/compositing/webgl/webgl-reflection-expected.txt: Added.

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

8 years agoCodeBlock::valueProfile() has a bogus assertion
fpizlo@apple.com [Thu, 28 Feb 2013 21:31:21 +0000 (21:31 +0000)]
CodeBlock::valueProfile() has a bogus assertion
https://bugs.webkit.org/show_bug.cgi?id=111106
<rdar://problem/13131427>

Reviewed by Mark Hahnenberg.

This was just a bad assertion: m_bytecodeOffset == -1 means that the value profile is constructed but not initialized.
ValueProfile constructs itself in a safe way; you can call any method you want on a constructed but not initialized
ValueProfile. CodeBlock first constructs all ValueProfiles (by growing the ValueProfile vector) and then initializes
their m_bytecodeOffset later. This is necessary because the initialization is linking bytecode instructions to their
ValueProfiles, so at that point we don't want the ValueProfile vector to resize, which implies that we want all of
them to already be constructed. A GC can happen during this phase, and the GC may want to walk all ValueProfiles.
This is safe, but one of the ValueProfile getters (CodeBlock::valueProfile()) was asserting that any value profile
you get has had its m_bytecodeOffset initialized. This need not be the case and nothing will go wrong if it isn't.

The solution is to remove the assertion, which I believe was put there to ensure that my m_valueProfiles refactoring
a long time ago was sound: it used to be that a ValueProfile with m_bytecodeOffset == -1 was an argument profile; now
all argument profiles are in m_argumentValueProfiles instead. I think it's safe to say that this refactoring was done
soundly since it was a long time ago. So we should kill the assertion - I don't see an easy way to make the assertion
sound with respect to the GC-during-CodeBlock-construction issue, and I don't believe that the assertion is buying us
anything at this point.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::valueProfile):

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

8 years ago[BlackBerry] Maintain the directionality of the selection after modifying the selecti...
mifenton@rim.com [Thu, 28 Feb 2013 21:30:00 +0000 (21:30 +0000)]
[BlackBerry] Maintain the directionality of the selection after modifying the selection using key events.
https://bugs.webkit.org/show_bug.cgi?id=111078

Reviewed by Yong Li.

PR 295224.

When using the key navigation to modify the selection, reset the
directionality of the selection to the original to prevent
changing the anchor.

Reviewed Internally by Nima Ghanavatian.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):

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

8 years ago Create BlobRegistry through a strategy
ap@apple.com [Thu, 28 Feb 2013 21:08:39 +0000 (21:08 +0000)]
    Create BlobRegistry through a strategy
        https://bugs.webkit.org/show_bug.cgi?id=111100

        Chromium build fix.

        * platform/network/BlobRegistry.cpp: Use destructor for chromium too.

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

8 years ago Create BlobRegistry through a strategy
ap@apple.com [Thu, 28 Feb 2013 21:04:14 +0000 (21:04 +0000)]
    Create BlobRegistry through a strategy
        https://bugs.webkit.org/show_bug.cgi?id=111100

        Reviewed by Sam Weinig.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        Added BlobRegistry.cpp.

        * WebCore.exp.in:
        * loader/LoaderStrategy.cpp:
        (WebCore::LoaderStrategy::createBlobRegistry):
        * loader/LoaderStrategy.h:
        Addxed a function to create BlobRegistry, with default implementation being
        in-process WebKit1 one.

        * platform/network/BlobData.h: Added ENABLE(BLOB).

        * platform/network/BlobRegistry.cpp: Added. Moved singleton to a separate file.
        * platform/network/BlobRegistry.h: Made destructor non-inline. Cleaned up includes.

        * platform/network/BlobRegistryImpl.cpp:
        * platform/network/BlobRegistryImpl.h:
        Cleaned up includes, made functions that are only called through base class private.
        Added ENABLE(BLOB).

        * platform/network/BlobStorageData.h: Added ENABLE(BLOB).

        * platform/network/FormData.cpp:
        (WebCore::appendBlobResolved): Check blob registry type before upcasting. It's a
        public function, and we should not depend on high level understanding of process
        model to prove that the cast is safe.

        * platform/network/ResourceHandle.cpp:
        * platform/network/cf/FormDataStreamCFNet.cpp:
        * platform/network/mac/ResourceHandleMac.mm:
        Cleaned up includes.

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

8 years agoREGRESSION: INPUT_MULTIPLE_FIELDS_UI: Changing CSS display property on input[type...
tkent@chromium.org [Thu, 28 Feb 2013 20:59:15 +0000 (20:59 +0000)]
REGRESSION: INPUT_MULTIPLE_FIELDS_UI: Changing CSS display property on input[type=date] unexpectedly makes another line for ::-webkit-calendar-picker-indicator
https://bugs.webkit.org/show_bug.cgi?id=110974

Reviewed by Kentaro Hara.

Source/WebCore:

Input elements with the multiple fields UI require flexible box
layout.
- If display:inline or display:inline-block is specified, we
  replace it with display:inline-flex.
- If display:block is specified, we replace it with
  display:flex.
- If other display value is specified, we use it as is, but it
  won't wrap inside an input element because we have
  display:inline-block for ::-webkit-calendar-pixker-indicaotor.

r144184 was incomplete. It avoided the wrapping issue, but it
didn't make spin buttons and calendar arrows right-aligned.

Tests: Update fast/forms/date/date-apparance-basic.html

* css/html.css:
(input::-webkit-calendar-picker-indicator):
Add display:inline-block in orde to avoid line-wrapping.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::customStyleForRenderer):
Move the code to BaseMultipleFieldsDateAndTimeInputType::customStyleForRenderer.
* html/InputType.cpp:
(WebCore::InputType::customStyleForRenderer): Added.
* html/InputType.h:
(InputType): Add customStyleForRenderer, and remove
shouldApplyLocaleDirection.
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::customStyleForRenderer):
Moved the code from HTMLInputElement::customStyleForRenderer, and
add display property updatting code.
* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType):
Add customStyleForRenderer, and remove shouldApplyLocaleDirection.

LayoutTests:

* fast/forms/date/date-appearance-basic-expected.txt:
* fast/forms/date/date-appearance-basic.html:
* platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium/TestExpectations:

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

8 years agoImplement more StorageAreaProxy member functions
andersca@apple.com [Thu, 28 Feb 2013 20:51:44 +0000 (20:51 +0000)]
Implement more StorageAreaProxy member functions
https://bugs.webkit.org/show_bug.cgi?id=111103

Reviewed by Sam Weinig.

Source/WebCore:

Export two more StorageMap symbols required by WebKit2.

* WebCore.exp.in:

Source/WebKit2:

* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::securityOrigin):
* Shared/SecurityOriginData.h:
Add helper to create a WebCore::SecurityOrigin from a SecurityOriginData object.

* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::key):
Fill the storage map and call through to StorageMap::key.

(WebKit::StorageAreaProxy::contains):
Fill the storage map and call through to StorageMap::contains.

(WebKit::StorageAreaProxy::memoryBytesUsedByCache):
Return 0; this matches StorageAreaImpl.

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

8 years agoFocus ring for a child layer is incorrectly offset by ancestor composited layer's...
wangxianzhu@chromium.org [Thu, 28 Feb 2013 20:38:23 +0000 (20:38 +0000)]
Focus ring for a child layer is incorrectly offset by ancestor composited layer's position
https://bugs.webkit.org/show_bug.cgi?id=110895

Reviewed by Simon Fraser.

Source/WebCore:

Test: compositing/sub-layer-focus-ring.html

The problem occurs in RenderBlock::addFocusRingRects() where the absolute position of a sub-layer is used to calculate the focus ring rect of the layer.
Should use the relative position to the current paintContainer instead.

To fix the issue:
- RenderLayer passes LayerPaintingInfo.rootLayer to PaintInfo.paintContainer
- Let RenderObject::paintFocusRing() and RenderObject::paintOutline() take PaintInfo instead of GraphicsContext* so that the paintContainer can be passed
- RenderBlock::addFocusRingRects() uses localToContainerPoint(FloatPoint(), paintContainer) instead of localToAbsolute() to calculate the focus ring rect of a sublayer.

* rendering/PaintInfo.h:
(WebCore):
(WebCore::PaintInfo::PaintInfo): Add a field paintContainer (the RenderLayerModelObject which originates the current painting)
(PaintInfo):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::addFocusRingRects): Use the added paintContainer parameter to calculate the relative offset of the child layer.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintBackgroundForFragments): Pass LayerPaintingInfo.rootLayer to PaintInfo.paintContainer.
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase): Ditto.
(WebCore::RenderLayer::paintOutlineForFragments): Ditto.
(WebCore::RenderLayer::paintMaskForFragments): Ditto.
* rendering/RenderLayer.cpp:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintFocusRing): Now takes PaintInfo instead of GraphicsContext*. Pass paintInfo.paintContainer to addFocusRingRects().
(WebCore::RenderObject::paintOutline): Now takes PaintInfo instead of GraphicsContext*.
(WebCore::RenderObject::absoluteFocusRingQuads):
* rendering/RenderObject.h:
(WebCore::RenderObject::addFocusRingRects): Add paintContainer parameter.

LayoutTests:

New ref test for the bug.

* compositing/sub-layer-focus-ring-expected.html: Added.
* compositing/sub-layer-focus-ring.html: Added.

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

8 years agoRe-baselining expected pixels for fast/borders/border-radius-percent.html on linux
junov@google.com [Thu, 28 Feb 2013 20:31:55 +0000 (20:31 +0000)]
Re-baselining expected pixels for fast/borders/border-radius-percent.html on linux
https://bugs.webkit.org/show_bug.cgi?id=110889

Unreviewed

* TestExpectations:
* platform/chromium-linux/fast/borders/border-radius-percent-expected.png:

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

8 years agoCrash in JSC::MarkedBlock::FreeList JSC::MarkedBlock::sweepHelper
oliver@apple.com [Thu, 28 Feb 2013 20:13:18 +0000 (20:13 +0000)]
Crash in JSC::MarkedBlock::FreeList JSC::MarkedBlock::sweepHelper
https://bugs.webkit.org/show_bug.cgi?id=111059

Reviewed by Ryosuke Niwa.

Sometimes C++'s implicit operator conversion rules suck.
Add explicit operator== and !=.

* wtf/FastMalloc.cpp:
(WTF::HardenedSLL::operator!=):
(WTF::HardenedSLL::operator==):
(HardenedSLL):

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

8 years ago[Chromium] Unreviewed gardening, update expectation
schenney@chromium.org [Thu, 28 Feb 2013 20:09:59 +0000 (20:09 +0000)]
[Chromium] Unreviewed gardening, update expectation

* platform/chromium/TestExpectations: Add Win modifier for compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
    and remove modifiers for fast/forms/textarea/textarea-state-restore.html

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

8 years agoRemove the quirk margin bits from RenderObject and put them back in RenderBlock.
hyatt@apple.com [Thu, 28 Feb 2013 19:59:23 +0000 (19:59 +0000)]
Remove the quirk margin bits from RenderObject and put them back in RenderBlock.
https://bugs.webkit.org/show_bug.cgi?id=111089

Reviewed by Dan Bernstein.

This patch removes the marginBeforeQuirk and marginAfterQuirk bits from RenderObject
and puts them into RenderBlock instead. I also did some renaming and clean-up after
moving them, e.g., to hasMarginBeforeQuirk and hasMarginAfterQuirk.

Even though it's pretty irrelevant, I also made the code writing-mode-correct so that
the correct child margin quirk is propagated across differing writing mode
boundaries.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::marginBeforeEstimateForChild):
(WebCore::RenderBlock::setCollapsedBottomMargin):
(WebCore::RenderBlock::handleAfterSideOfBlock):
(WebCore::RenderBlock::hasMarginBeforeQuirk):
(WebCore):
(WebCore::RenderBlock::hasMarginAfterQuirk):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::setHasMarginBeforeQuirk):
(WebCore::RenderBlock::setHasMarginAfterQuirk):
(RenderBlock):
(WebCore::RenderBlock::hasMarginBeforeQuirk):
(WebCore::RenderBlock::hasMarginAfterQuirk):
(MarginInfo):
(WebCore::RenderBlock::MarginInfo::setHasMarginBeforeQuirk):
(WebCore::RenderBlock::MarginInfo::setHasMarginAfterQuirk):
(WebCore::RenderBlock::MarginInfo::hasMarginBeforeQuirk):
(WebCore::RenderBlock::MarginInfo::hasMarginAfterQuirk):
* rendering/RenderObject.h:
(RenderObject):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(RenderObjectBitfields):
* rendering/style/RenderStyle.h:

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

8 years agoRemove these supressions now that we've reverted http://trac.webkit.org/changeset...
abarth@webkit.org [Thu, 28 Feb 2013 19:55:23 +0000 (19:55 +0000)]
Remove these supressions now that we've reverted trac.webkit.org/changeset/144126.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed, rolling out r144126 and r144176.
commit-queue@webkit.org [Thu, 28 Feb 2013 19:46:28 +0000 (19:46 +0000)]
Unreviewed, rolling out r144126 and r144176.
http://trac.webkit.org/changeset/144126
http://trac.webkit.org/changeset/144176
https://bugs.webkit.org/show_bug.cgi?id=111096

Caused fast/notifications/notifications-request-
permission.html to crash (Requested by abarth on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-28

Source/WebCore:

* GNUmakefile.list.am:
* Modules/notifications/Notification.h:
(Notification):
* Modules/notifications/Notification.idl:
* Target.pri:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSNotificationCustom.cpp: Added.
(WebCore):
(WebCore::JSNotification::requestPermission):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/v8/custom/V8NotificationCustom.cpp: Added.
(WebCore):
(WebCore::V8Notification::requestPermissionMethodCustom):

LayoutTests:

* fast/notifications/notifications-request-permission-optional-expected.txt: Removed.
* fast/notifications/notifications-request-permission-optional.html: Removed.

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

8 years agoDFG CFA should leave behind information in Edge that says if the Edge's type check...
fpizlo@apple.com [Thu, 28 Feb 2013 19:45:17 +0000 (19:45 +0000)]
DFG CFA should leave behind information in Edge that says if the Edge's type check is proven to succeed
https://bugs.webkit.org/show_bug.cgi?id=110840

Reviewed by Mark Hahnenberg.

This doesn't add any observable functionality to the compiler, yet. But it does give
every phase that runs after CFA the ability to know, in O(1) time, whether an edge
will need to execute a type check.

* dfg/DFGAbstractState.h:
(JSC::DFG::AbstractState::filterEdgeByUse):
(JSC::DFG::AbstractState::filterByType):
* dfg/DFGCommon.cpp:
(WTF):
(WTF::printInternal):
* dfg/DFGCommon.h:
(JSC::DFG::isProved):
(DFG):
(JSC::DFG::proofStatusForIsProved):
(WTF):
* dfg/DFGEdge.cpp:
(JSC::DFG::Edge::dump):
* dfg/DFGEdge.h:
(JSC::DFG::Edge::Edge):
(JSC::DFG::Edge::setNode):
(JSC::DFG::Edge::useKindUnchecked):
(JSC::DFG::Edge::setUseKind):
(Edge):
(JSC::DFG::Edge::proofStatusUnchecked):
(JSC::DFG::Edge::proofStatus):
(JSC::DFG::Edge::setProofStatus):
(JSC::DFG::Edge::isProved):
(JSC::DFG::Edge::needsCheck):
(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):

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

8 years agoSource/WebCore: Crash in CachedRawResource::responseReceived().
japhet@chromium.org [Thu, 28 Feb 2013 19:40:02 +0000 (19:40 +0000)]
Source/WebCore: Crash in CachedRawResource::responseReceived().
https://bugs.webkit.org/show_bug.cgi?id=110482

Reviewed by Adam Barth.

Test: http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html

* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::responseReceived):

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=110482

Reviewed by Adam Barth.

* http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt: Added.
* http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html: Added.
* platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt: Added.

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

8 years agoEnable DFG JIT for Qt on Mac
zeno.albisser@digia.com [Thu, 28 Feb 2013 19:37:22 +0000 (19:37 +0000)]
Enable DFG JIT for Qt on Mac
https://bugs.webkit.org/show_bug.cgi?id=111095

Rubber-stamped by Simon Hausmann

* wtf/Platform.h:

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

8 years ago[Mac] use HAVE() macro instead of version check
eric.carlson@apple.com [Thu, 28 Feb 2013 19:35:15 +0000 (19:35 +0000)]
[Mac] use HAVE() macro instead of version check
https://bugs.webkit.org/show_bug.cgi?id=111087

Reviewed by Dean Jackson.

Source/WebCore:

No new tests, covered by existing tests.

* page/CaptionUserPreferencesMac.h: Use HAVE(MEDIA_ACCESSIBILITY_FRAMEWORK).
* page/CaptionUserPreferencesMac.mm: Ditto.
(WebCore::CaptionUserPreferencesMac::CaptionUserPreferencesMac): Ditto.
(WebCore::CaptionUserPreferencesMac::~CaptionUserPreferencesMac): Ditto.

* page/PageGroup.cpp:
(WebCore::PageGroup::captionPreferences): Ditto.

Source/WTF:

* wtf/Platform.h: Define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK.

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

8 years agoWebSpeech: support the boundary event
cfleizach@apple.com [Thu, 28 Feb 2013 19:33:48 +0000 (19:33 +0000)]
WebSpeech: support the boundary event
https://bugs.webkit.org/show_bug.cgi?id=107350

Reviewed by Beth Dakin.

Source/WebCore:

Generate boundary events for speech synthesis and have them fire the appropriate events.
This implements for the Mac platform, as well as simulating these events in the mock
synthesizer for testing purposes.

Test: platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html

* Modules/speech/SpeechSynthesis.cpp:
(WebCore):
(WebCore::SpeechSynthesis::boundaryEventOccurred):
* Modules/speech/SpeechSynthesis.h:
(SpeechSynthesis):
* platform/PlatformSpeechSynthesizer.h:
(WebCore):
(PlatformSpeechSynthesizerClient):
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakWord:ofString:]):
* platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::speak):

LayoutTests:

* platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt: Added.
* platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html: Added.

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

8 years agoPDFPlugin: PDF orientation isn't respected when printing or print-previewing
timothy_horton@apple.com [Thu, 28 Feb 2013 19:16:58 +0000 (19:16 +0000)]
PDFPlugin: PDF orientation isn't respected when printing or print-previewing
https://bugs.webkit.org/show_bug.cgi?id=110925
<rdar://problem/13008621>

Reviewed by Alexey Proskuryakov.

* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::drawPDFPage): Teach drawPDFPage about PDFPage's rotation property, and use it
to swap the PDF's cropbox. Painting now matches PDFViewController's historical behavior.

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

8 years agoAdd new webkit API to invoke a context menu.
commit-queue@webkit.org [Thu, 28 Feb 2013 19:11:04 +0000 (19:11 +0000)]
Add new webkit API to invoke a context menu.
https://bugs.webkit.org/show_bug.cgi?id=111040

Patch by Varun Jain <varunjain@chromium.org> on 2013-02-28
Reviewed by Adam Barth.

* public/WebView.h:
(WebView):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::showContextMenu):
(WebKit):
* src/WebViewImpl.h:

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

8 years agoThis timeout also happens in Release.
abarth@webkit.org [Thu, 28 Feb 2013 19:06:02 +0000 (19:06 +0000)]
This timeout also happens in Release.

* platform/chromium/TestExpectations:

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

8 years agoIndexedDB: Histogram all exits from IDBBackingStore::open
dgrogan@chromium.org [Thu, 28 Feb 2013 19:04:08 +0000 (19:04 +0000)]
IndexedDB: Histogram all exits from IDBBackingStore::open
https://bugs.webkit.org/show_bug.cgi?id=110677

Reviewed by Tony Chang.

No tests because this only changes logging code.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::open):

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

8 years agoFactor SourceBuffer methods out of MediaSourcePrivate & WebMediaSource
acolwell@chromium.org [Thu, 28 Feb 2013 19:00:54 +0000 (19:00 +0000)]
Factor SourceBuffer methods out of MediaSourcePrivate & WebMediaSource
into SourceBufferPrivate & WebSourceBuffer respectively.
https://bugs.webkit.org/show_bug.cgi?id=110798

Reviewed by Adam Barth, Jer Noble.

Source/WebCore:

No new tests. No user visible behavior has changed.

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::removeSourceBuffer):
* Modules/mediasource/MediaSource.h:
(MediaSource):
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::create):
(WebCore):
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::buffered):
(WebCore::SourceBuffer::setTimestampOffset):
(WebCore::SourceBuffer::append):
(WebCore::SourceBuffer::abort):
(WebCore::SourceBuffer::removedFromMediaSource):
(WebCore::SourceBuffer::isRemoved):
(WebCore::SourceBuffer::isOpen):
(WebCore::SourceBuffer::isEnded):
* Modules/mediasource/SourceBuffer.h:
(WebCore):
(SourceBuffer):
* Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::SourceBufferList):
(WebCore::SourceBufferList::remove):
(WebCore::SourceBufferList::clear):
* Modules/mediasource/SourceBufferList.h:
(SourceBufferList):
* html/HTMLMediaElement.cpp:
* platform/graphics/MediaSourcePrivate.h:
(WebCore):
(MediaSourcePrivate):
* platform/graphics/SourceBufferPrivate.h:
(WebCore):
(SourceBufferPrivate): Contains methods extracted from MediaPlayerPrivate.
(WebCore::SourceBufferPrivate::SourceBufferPrivate):
(WebCore::SourceBufferPrivate::~SourceBufferPrivate):

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebMediaSourceClient.h:
(WebKit):
(WebMediaSourceClient):
* public/WebSourceBuffer.h:
(WebKit):
(WebSourceBuffer): Contains SourceBuffer methods extracted from WebMediaSource.
(WebKit::WebSourceBuffer::~WebSourceBuffer):
* src/AssertMatchingEnums.cpp:
* src/MediaSourcePrivateImpl.cpp:
(WebKit):
(WebKit::MediaSourcePrivateImpl::MediaSourcePrivateImpl):
(WebKit::MediaSourcePrivateImpl::addSourceBuffer):
(WebKit::MediaSourcePrivateImpl::duration):
(WebKit::MediaSourcePrivateImpl::setDuration):
(WebKit::MediaSourcePrivateImpl::endOfStream):
* src/MediaSourcePrivateImpl.h:
(WebKit):
(MediaSourcePrivateImpl): Adapts MediaSourcePrivate interface to WebMediaSourceClient.
(WebKit::MediaSourcePrivateImpl::~MediaSourcePrivateImpl):
* src/SourceBufferPrivateImpl.cpp:
(WebKit):
(WebKit::SourceBufferPrivateImpl::SourceBufferPrivateImpl):
(WebKit::SourceBufferPrivateImpl::buffered):
(WebKit::SourceBufferPrivateImpl::append):
(WebKit::SourceBufferPrivateImpl::abort):
(WebKit::SourceBufferPrivateImpl::setTimestampOffset):
(WebKit::SourceBufferPrivateImpl::removedFromMediaSource):
* src/SourceBufferPrivateImpl.h:
(WebKit):
(SourceBufferPrivateImpl): Adapts SourceBufferPrivate interface to WebSourceBuffer.
(WebKit::SourceBufferPrivateImpl::~SourceBufferPrivateImpl):
* src/WebMediaPlayerClientImpl.cpp:
(WebMediaSourceClientImpl):
(WebKit):
(WebSourceBufferImpl): Temporary implementation of WebSourceBuffer to keep things working
                       until the Chromium side changes land.
(WebKit::WebMediaSourceClientImpl::addSourceBuffer):
(WebKit::WebMediaSourceClientImpl::duration):
(WebKit::WebMediaSourceClientImpl::setDuration):
(WebKit::WebMediaSourceClientImpl::endOfStream):
(WebKit::WebSourceBufferImpl::WebSourceBufferImpl):
(WebKit::WebSourceBufferImpl::buffered):
(WebKit::WebSourceBufferImpl::append):
(WebKit::WebSourceBufferImpl::abort):
(WebKit::WebSourceBufferImpl::setTimestampOffset):
(WebKit::WebSourceBufferImpl::removedFromMediaSource):
* src/WebMediaSourceImpl.cpp:

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

8 years ago[BlackBerry] Handle Set-Cookie immediately even when loading is deferred
commit-queue@webkit.org [Thu, 28 Feb 2013 18:53:06 +0000 (18:53 +0000)]
[BlackBerry] Handle Set-Cookie immediately even when loading is deferred
https://bugs.webkit.org/show_bug.cgi?id=111083

Patch by Joe Mason <jmason@rim.com> on 2013-02-28
Reviewed by Yong Li.

Internal PR: 298805
Internally Reviewed By: Leo Yang

Handle Set-Cookie headers immediately, even if loading is being deferred, since any request
created while loading is deferred should include all cookies received. (This especially
affects Set-Cookie headers sent with a 401 response - often this causes an auth dialog to be
opened, which defers loading, but the followup request using the credentials from the dialog
needs to include the cookie.)

This is safe because handleSetCookieHeader only updates the cookiejar, it doesn't call back
into the loader.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::notifyHeadersReceived):
(WebCore::NetworkJob::handleNotifyHeaderReceived):

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

8 years agoVersioning.
lforschler@apple.com [Thu, 28 Feb 2013 18:51:46 +0000 (18:51 +0000)]
Versioning.

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

8 years agoDon't install unused XPCServices on Lion
weinig@apple.com [Thu, 28 Feb 2013 18:16:21 +0000 (18:16 +0000)]
Don't install unused XPCServices on Lion
<rdar://problem/13264712>

Rubber-stamped by Anders Carlsson

* Configurations/BaseXPCService.xcconfig:

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

8 years agoIndexedDB: IO error when checking schema should destroy LevelDB directory
dgrogan@chromium.org [Thu, 28 Feb 2013 18:11:23 +0000 (18:11 +0000)]
IndexedDB: IO error when checking schema should destroy LevelDB directory
https://bugs.webkit.org/show_bug.cgi?id=110675

Reviewed by Adam Barth.

Source/WebCore:

Also some refactoring to remove IDBBackingStore's dependence on
static LevelDBDatabase methods. This facilitated the unit test.

New unit test - IDBIOErrorTest.CleanUpTest

* Modules/indexeddb/IDBBackingStore.cpp:
(DefaultLevelDBFactory):
Wraps the previous behavior.
(WebCore::IDBBackingStore::open):
The default parameter provides the previous behavior, which is what
non-tests want.
* Modules/indexeddb/IDBBackingStore.h:
* platform/leveldb/LevelDBDatabase.h:

Source/WebKit/chromium:

* WebKit.gyp:
This was cargo-culted. The component build wouldn't run otherwise.

* WebKit.gypi:
* tests/IDBCleanupOnIOErrorTest.cpp: Added.

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

8 years agoUnreviewed, rolling out r144157.
haraken@chromium.org [Thu, 28 Feb 2013 18:00:51 +0000 (18:00 +0000)]
Unreviewed, rolling out r144157.
http://trac.webkit.org/changeset/144157
https://bugs.webkit.org/show_bug.cgi?id=110794

It broke chromium windows build

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNamedConstructor):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::v8HTMLImageElementConstructorMethodCustom):
(WebCore::V8HTMLImageElementConstructor::GetTemplate):

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

8 years ago[Chromium] Marking one more html5 test as timeout
schenney@chromium.org [Thu, 28 Feb 2013 17:16:56 +0000 (17:16 +0000)]
[Chromium] Marking one more html5 test as timeout

Unreviewed expectations, removing a Debug modifier.

* platform/chromium/TestExpectations:

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

8 years agoBUILD FIX (r144221): SetSmartInsertDeleteEnabled should be wrapped in PLATFORM(MAC)
ddkilzer@apple.com [Thu, 28 Feb 2013 17:16:26 +0000 (17:16 +0000)]
BUILD FIX (r144221): SetSmartInsertDeleteEnabled should be wrapped in PLATFORM(MAC)

* WebProcess/WebPage/WebPage.messages.in: Move
SetSmartInsertDeleteEnabled from USE(APPKIT) to PLATFORM(MAC).

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

8 years ago[New Multicolumn] Rewrite the painting/stacking model to be spec compliant.
hyatt@apple.com [Thu, 28 Feb 2013 17:05:22 +0000 (17:05 +0000)]
[New Multicolumn] Rewrite the painting/stacking model to be spec compliant.
https://bugs.webkit.org/show_bug.cgi?id=110624.

Reviewed by Simon Fraser.

Source/WebCore:

This patch implements a new painting and hit testing model for columns that is
spec-compliant with Section 3.5 of the multicolumn specification, which states:

"All column boxes in a multi-column element are in the same stacking context and
the drawing order of their contents is as specified in CSS 2.1. Column boxes do
not establish new stacking contexts."

What this statement means is that you cannot paint a layer and all its stacking
context descendants in a strip in each column, since some of those descendants
might actually "break out" of the pagination (like fixed positioned descendants)
and overlap multiple columns. In addition clips may apply across pagination
boundaries, and any overlap caused by opacity has to do the right thing and
treat the paginated and unpaginated components together as a single unit.

The solution to this problem is to introduce the concept of a LayerFragment. Now
all layers when painting or hit testing compute a fragment list, and that list
is then walked in order to do painting and hit testing of layers. In the simple
unpaginated case, a layer has one LayerFragment, but in the case of columns the
layer may be broken up into multiple fragments representing boxes in separate
columns.

Much of this patch consists of refactoring all of the painting and hit testing
code to operate on these fragments.

Test: fast/multicol/mixed-positioning-stacking-order.html.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::collectLayerFragments):
This method is called by the RenderLayer code to fetch the layer fragments from
the regions of a flow thread. The flow thread just turns around and calls into
each of its regions one by one to get the fragments from each region.

(WebCore::RenderFlowThread::fragmentsBoundingBox):
A new function that collects LayerFragments and then determines the bounding
box that encloses all of the fragments.

* rendering/RenderFlowThread.h:
Declarations of the new methods for obtaining layer fragments and bounding
box information for fragments.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updatePagination):
RenderLayers now track an enclosing pagination layer. If this is set, then the layer knows it
needs to check with the enclosing pagination layer's flow thread renderer to
obtain layer fragments.

(WebCore::transparencyClipBox):
Modified to obtain a fragments bounding box so that opacity can operate correctly on
column boxes.

(WebCore::accumulateOffsetTowardsAncestor):
This method has been patched to allow for fixed positioned objects to escape
in-flow RenderFlowThreads. Our in-flow RenderFlowThreads behave differently from
CSS Regions flow threads in that they aren't necesssarily acting as the containing
block for all of their descendants. Content is allowed to "escape" from the flow
thread.

(WebCore::RenderLayer::collectFragments):
A new method that collects fragments from the flow thread and sets up the appropriate
clips and translations on each fragment.

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
Refactoring of painting to break all individual painting steps out into methods that walk over
fragment boxes. This actually had the side effect of making the main painting function,
paintLayerContents, much cleaner and easier to read. :)

(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::createLocalTransformState):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestContentsForFragments):
(WebCore::RenderLayer::hitTestResizerInFragments):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::hitTestContents):
(WebCore::RenderLayer::hitTestList):
Refactoring of hit testing to break all individual hit testing steps out into methods that walk over
fragment boxes.

(WebCore::RenderLayer::backgroundClipRect):
Modified to avoid using the clip rects cache when crossing into different pagination contexts,
e.g., from unpaginated to paginated.

(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::boundingBox):
Modified boundingBox to work with fragments. A new flag is used to indicate whether or not
the bounds of fragments or the original unsplit box are being computed.

(WebCore::RenderLayer::collectLayers):
Fix layer collection so that in-flow RenderFlowThreads can still be collected, since in-flow
RenderFlowThreads do not establish stacking contexts.

* rendering/RenderLayer.h:
(WebCore::ClipRect::moveBy):
Added a moveBy method that just wrap the corresponding LayoutRect method.

(LayerFragment):
(WebCore::LayerFragment::LayerFragment):
(WebCore::LayerFragment::setRects):
(WebCore::LayerFragment::moveBy):
(WebCore::LayerFragment::intersect):
(WebCore::RenderLayer::enclosingPaginationLayer):
The new LayerFragment struct. Holds clips and translation information for each fragment box.

(WebCore::RenderLayer::isOutOfFlowRenderFlowThread):
Helper method for determining if the renderer is an out-of-flow RenderFlowThread.

* rendering/RenderMultiColumnBlock.cpp:
(WebCore::createMultiColumnFlowThreadStyle):
Change the flow thread style to no longer establish a stacking context.

(WebCore::RenderMultiColumnBlock::layoutBlock):
Patched to move the flow thread to a position that allows it to be untranslated in the
initial column.

(WebCore):
* rendering/RenderMultiColumnBlock.h:
(RenderMultiColumnBlock):
layoutBlock is subclassed to tweak the flow thread's position.

* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
The flow thread for multi-column blocks implements collectLayerFragments to hand back LayerFragment
information based off its RenderMultiColumnSets.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::paintObject):
Changed to no longer paint column contents, since the layer code is just doing that now.

(WebCore::RenderMultiColumnSet::collectLayerFragments):
The method that figures out what columns are intersected by a layer and hands back
initial fragment information.

* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
Declaration of collectLayerFragments.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::container):
Patch container() to allow fixed positioned objects to escape in-flow RenderFlowThreads.

* rendering/RenderObject.h:
(WebCore::RenderObject::isInFlowRenderFlowThread):
(WebCore::RenderObject::isOutOfFlowRenderFlowThread):
Methods for distinguishing between in-flow and out-of-flow RenderFlowThreads.

(WebCore::RenderObject::canContainFixedPositionObjects):
Patch canContainFixedPositionObjects() to allow fixed positioned objects to escape
in-flow RenderFlowThreads.

* rendering/RenderRegion.h:
(WebCore::RenderRegion::collectLayerFragments):
(RenderRegion):
The virtual functions on Region for fragment collection.

LayoutTests:

* fast/multicol/mixed-positioning-stacking-order-expected.html: Added.
* fast/multicol/mixed-positioning-stacking-order.html: Added.

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

8 years agoWeb Inspector: Adding existing key in DOMStorageItemsView leaves it inconsistent...
vivek.vg@samsung.com [Thu, 28 Feb 2013 16:57:01 +0000 (16:57 +0000)]
Web Inspector: Adding existing key in DOMStorageItemsView leaves it inconsistent state
https://bugs.webkit.org/show_bug.cgi?id=111061

Reviewed by Alexander Pavlov.

The view must be checked for all the rows with the matching keys. Only the first one would be updated
with the new value while the others must be removed from the grid. Also in case there are various key/value
pairs, the changed node should be selected and revealed in the grid.

No new tests as UI related minor change.

* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):

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

8 years ago[BlackBerry] User credentials is not correctly handled
commit-queue@webkit.org [Thu, 28 Feb 2013 16:41:59 +0000 (16:41 +0000)]
[BlackBerry] User credentials is not correctly handled
https://bugs.webkit.org/show_bug.cgi?id=110994

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-02-28
Reviewed by Yong Li.

WTF::String::utf8 no longer receives a bool, see r134173.

* platform/network/blackberry/CredentialBackingStore.cpp:
(WebCore::CredentialBackingStore::encryptedString):

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

8 years ago[Qt] Unreviewed gardening.
kadam@inf.u-szeged.hu [Thu, 28 Feb 2013 15:19:01 +0000 (15:19 +0000)]
[Qt] Unreviewed gardening.
https://bugs.webkit.org/show_bug.cgi?id=111058.

* platform/qt/TestExpectations: Skipped failing test after r144236.

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

8 years ago[BlackBerry] Disable auto-filling password in forms when auto-form-filling is not...
liachen@rim.com [Thu, 28 Feb 2013 15:17:07 +0000 (15:17 +0000)]
[BlackBerry] Disable auto-filling password in forms when auto-form-filling is not enabled.
https://bugs.webkit.org/show_bug.cgi?id=111006

Internal PR: 295181
Internal reviewed by Joe Mason.

Reviewed by Yong Li.

Check WebSettings::isFormAutofillEnabled() before doing user credential form fill stuff.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):

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

8 years ago[BlackBerry] User credentials are not correctly handled for non-browser usage
liachen@rim.com [Thu, 28 Feb 2013 15:14:37 +0000 (15:14 +0000)]
[BlackBerry] User credentials are not correctly handled for non-browser usage
https://bugs.webkit.org/show_bug.cgi?id=111032

Internal PR: 295181
Internal reviewed by Joe Mason.

Reviewed by Yong Li.

Use encrypted password as binary data when calling SQLiteStatement::bindBlob(), in
stead of using it as a normal WTF::String.

No new tests as this causes no expected behaviour change.

* platform/network/blackberry/CredentialBackingStore.cpp:
(WebCore::CredentialBackingStore::addLogin):
(WebCore::CredentialBackingStore::updateLogin):

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

8 years ago[Qt] Enable thin archives before parsing the project files
abecsi@webkit.org [Thu, 28 Feb 2013 15:03:06 +0000 (15:03 +0000)]
[Qt] Enable thin archives before parsing the project files

Rubber-stamped by Simon Hausmann.

The targetSubDir() function can be called before default_post.prf has been
parsed therefore the gnu_thin_archives option has to be set in default_pre.prf
which is parsed before the main project file.
This issue was revealed by r144299 and fixes the clean build.

* qmake/mkspecs/features/default_post.prf:
* qmake/mkspecs/features/default_pre.prf:

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

8 years agoWeb Inspector: "loadScript" function to load scripts via xhr
commit-queue@webkit.org [Thu, 28 Feb 2013 14:53:35 +0000 (14:53 +0000)]
Web Inspector: "loadScript" function to load scripts via xhr
https://bugs.webkit.org/show_bug.cgi?id=110879

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-28
Reviewed by Pavel Feldman.

Create an alias for "importScript" function and use it in those cases
which assume lazy script loading.

No new tests.

* inspector/front-end/Panel.js:
(WebInspector.PanelDescriptor.prototype.panel):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
* inspector/front-end/utilities.js:

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

8 years agoWeb Inspector: Move profiler tools into separate panels
commit-queue@webkit.org [Thu, 28 Feb 2013 14:43:48 +0000 (14:43 +0000)]
Web Inspector: Move profiler tools into separate panels
https://bugs.webkit.org/show_bug.cgi?id=109832

Patch by Alexei Filippov <alph@chromium.org> on 2013-02-28
Reviewed by Yury Semikhatsky.

This is a first part of the fix that puts each profiler tool into a separate panel.
The fix introduces separate panels for each profiler type.
There are now six panel (including experimental):
  1. JS CPU profiler
  2. CSS Selector profiler
  3. JS Heap profiler
  4. Canvas profier
  5. Native memory snapshots
  6. Native memory distribution
The new functionality is put behind experimental flag.

* inspector/front-end/ProfileLauncherView.js:
(WebInspector.ProfileLauncherView):
(WebInspector.ProfileLauncherView.prototype.addProfileType):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfileHeader.prototype.view):
(WebInspector.ProfileHeader.prototype.createView):
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
(WebInspector.ProfilesPanel.prototype._addProfileHeader):
(WebInspector.ProfilesPanel.prototype._removeProfileHeader):
(WebInspector.ProfilesPanel.prototype._showProfile):
(WebInspector.ProfilesPanel.prototype._searchableViews):
(WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
(WebInspector.ProfileGroupSidebarTreeElement):
(WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
(WebInspector.CPUProfilerPanel):
(WebInspector.CSSSelectorProfilerPanel):
(WebInspector.HeapProfilerPanel):
(WebInspector.CanvasProfilerPanel):
(WebInspector.MemoryChartProfilerPanel):
(WebInspector.NativeMemoryProfilerPanel):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/inspector.css:
(.toolbar-item.cpu-profiler .toolbar-icon):
(.toolbar-item.css-profiler .toolbar-icon):
(.toolbar-item.heap-profiler .toolbar-icon):
(.toolbar-item.canvas-profiler .toolbar-icon):
(.toolbar-item.memory-chart-profiler .toolbar-icon):
(.toolbar-item.memory-snapshot-profiler .toolbar-icon):
* inspector/front-end/inspector.js:
(WebInspector._panelDescriptors):

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

8 years agoRenderTableCellDeathTest unit test fails on mac
schenney@chromium.org [Thu, 28 Feb 2013 14:34:17 +0000 (14:34 +0000)]
RenderTableCellDeathTest unit test fails on mac
https://bugs.webkit.org/show_bug.cgi?id=110992

Unreviewed revert of all changes. The problem seems to have resolved.

* tests/RenderTableCellTest.cpp: Remove Mac disable code.

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

8 years agoUnreviewed gardening, update expectation
schenney@chromium.org [Thu, 28 Feb 2013 14:22:04 +0000 (14:22 +0000)]
Unreviewed gardening, update expectation

* platform/chromium/TestExpectations: Add ImageOnlyFailure for compositing/rtl/rtl-iframe-fixed-overflow.html

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

8 years agoUnreviewed, quick test breakage fix for android
toyoshim@chromium.org [Thu, 28 Feb 2013 14:16:35 +0000 (14:16 +0000)]
Unreviewed, quick test breakage fix for android
https://bugs.webkit.org/show_bug.cgi?id=110740

Patch by Seigo Nonaka <nona@chromium.org> on 2013-02-27

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::textInputInfo): Reconstruct condition check order

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

8 years ago[Qt] Enable CANVAS_PATH flag
allan.jensen@digia.com [Thu, 28 Feb 2013 13:57:42 +0000 (13:57 +0000)]
[Qt] Enable CANVAS_PATH flag
https://bugs.webkit.org/show_bug.cgi?id=108508

Reviewed by Simon Hausmann.

Tools:

Also enable CANVAS_PATH flag for Qt.

* qmake/mkspecs/features/features.pri:

LayoutTests:

Unskip CANVAS_PATH tests.

* platform/qt/TestExpectations:

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