WebKit-https.git
8 years agoPerf-o-matic should store "values" and support array'ed input
rniwa@webkit.org [Tue, 25 Sep 2012 21:22:08 +0000 (21:22 +0000)]
Perf-o-matic should store "values" and support array'ed input
https://bugs.webkit.org/show_bug.cgi?id=97601

Reviewed by Dirk Pranke.

Support new JSON format where the outermost structure is an array instead of a dictionary and results may
contain "values". This change will let us remove some code from run-perf-tests.

Old: {"webkit-revision": 123456, "results": {"test": {"avg": 123}}
New: [{"webkit-revision": 123456, "results": {"test": {"avg": 123, values: [122, 123, 124]}}}]

* Websites/webkit-perf.appspot.com/app.yaml: Incremented the version number.
* Websites/webkit-perf.appspot.com/models.py:
(TestResult): Added values property.
(TestResult.get_or_insert_from_parsed_json): Pass in "values" to the constructor if the value is present.
(ReportLog.get_value): Use the first item in the array if self._parsed uses the new format.
(ReportLog.results_are_well_formed): Verifies that items in "values" are floats convertible. Also verify that
if the JSON uses new format, there is exactly one set of results. In theory, we could support multiple results
but we don't do that now for its complexity.
* Websites/webkit-perf.appspot.com/models_unittest.py:
(TestResultTests.test_get_or_insert_stat_value): Make sure values is present and is an empty list.
(TestResultTests.test_get_or_insert_stat_value_with_values): Added.
(ReportLogTests.test_results_are_well_formed):
(ReportLogTests.test_chromium_revision): Renamed from chromium_revision so that it actually runs.
(ReportLogTests.test_results_in_array):

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

8 years ago[Qt] Unreviewed gardening, skip failing tests.
ossy@webkit.org [Tue, 25 Sep 2012 21:01:14 +0000 (21:01 +0000)]
[Qt] Unreviewed gardening, skip failing tests.

* platform/qt-5.0-wk2/Skipped:

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

8 years agoStructure check hoisting phase doesn't know about the side-effecting nature of Arrayify
fpizlo@apple.com [Tue, 25 Sep 2012 21:01:00 +0000 (21:01 +0000)]
Structure check hoisting phase doesn't know about the side-effecting nature of Arrayify
https://bugs.webkit.org/show_bug.cgi?id=97537

Reviewed by Mark Hahnenberg.

No tests because if we use Arrayify then we also use PutByVal(BlankToXYZ), and the latter is
already known to be side-effecting. So this bug shouldn't have had any symptoms, as far as I
can tell.

* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):

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

8 years ago[BlackBerry] Make COMPUTED_GOTO part of the HAVE section
rwlbuis@webkit.org [Tue, 25 Sep 2012 20:52:00 +0000 (20:52 +0000)]
[BlackBerry] Make COMPUTED_GOTO part of the HAVE section
https://bugs.webkit.org/show_bug.cgi?id=97600

Reviewed by Yong Li.

Also get rid of COMPUTED_GOTO_INTERPRETER and add COMPUTED_GOTO_OPCODES.

* WebCoreSupport/AboutDataEnableFeatures.in:
* WebCoreSupport/AboutDataHaveFeatures.in:

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

8 years agoRemove unused DOMAttrModified from EventsNames and Document::ListenerType
adamk@chromium.org [Tue, 25 Sep 2012 20:47:23 +0000 (20:47 +0000)]
Remove unused DOMAttrModified from EventsNames and Document::ListenerType
https://bugs.webkit.org/show_bug.cgi?id=97591

Reviewed by Ojan Vafai.

WebKit does not, and will never, fire DOMAttrModified events, so
there's no need to create the "DOMAttrModified" event name.

The only use of the name was to set the DOMATTRMODIFIED_LISTENER bit
on Document; with the name gone, the enum value can be removed as well.

* dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded):
* dom/Document.h: Remove DOMATTRMODIFIED_LISTENER, and switch this
enum to use shift-left instead of hex values, so as to be easier to
update in future.
* dom/EventNames.h:
(WebCore):

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

8 years ago[BlackBerry] Suspend the backingstore while adjusting the view on input field focus.
mifenton@rim.com [Tue, 25 Sep 2012 20:44:19 +0000 (20:44 +0000)]
[BlackBerry] Suspend the backingstore while adjusting the view on input field focus.
https://bugs.webkit.org/show_bug.cgi?id=97595

Reviewed by Antonio Gomes.

PR 188751.

Avoid jumpiness when both a scroll and zoom are required to
move an input field into focus by suspending the backingstore.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

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

8 years agoRemove HAVE_SBRK since we never set use_sbrk to true
psolanki@apple.com [Tue, 25 Sep 2012 20:40:30 +0000 (20:40 +0000)]
Remove HAVE_SBRK since we never set use_sbrk to true
https://bugs.webkit.org/show_bug.cgi?id=97525
<rdar://problem/12363601>

Reviewed by Geoffrey Garen.

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataHaveFeatures.in: Remove SBRK from list.

Source/WTF:

The code under HAVE(SBRK) has not been used since 2005. We use mmap not sbrk for FastMalloc
not sbrk. We can just remove the define and move all of this code inside #ifndef
WTF_CHANGES.

* wtf/Platform.h:
* wtf/TCSystemAlloc.cpp:
(TCMalloc_SystemAlloc):

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

8 years agoRegression: put beyond vector length prefers prototype setters to sparse properties
barraclough@apple.com [Tue, 25 Sep 2012 20:18:06 +0000 (20:18 +0000)]
Regression: put beyond vector length prefers prototype setters to sparse properties
https://bugs.webkit.org/show_bug.cgi?id=97593

Reviewed by Geoff Garen & Filip Pizlo.

Source/JavaScriptCore:

* runtime/JSObject.cpp:
(JSC::JSObject::putByIndexBeyondVectorLength):
    - Check for self properties in the sparse map - if present, don't examine the protochain.

LayoutTests:

* fast/js/script-tests/array-defineOwnProperty.js:
(Object.defineProperty):
(set Object.defineProperty):
    - Added test case.

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

8 years agoGraphicsContext3D::compileShader is using incorrect string length in GraphicsContext3...
leoyang@rim.com [Tue, 25 Sep 2012 20:16:11 +0000 (20:16 +0000)]
GraphicsContext3D::compileShader is using incorrect string length in GraphicsContext3DOpenGLCommon.cpp
https://bugs.webkit.org/show_bug.cgi?id=97476

Reviewed by Dean Jackson.

No new tests because it's not testable in webkit test runner.

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::compileShader):
Use translatedShaderCString.length() instead of translatedShaderSource.length()
for the shader source length because we are using translatedShaderCString.data()
for glShaderSource().

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

8 years agoUse USE(3D_GRAPHICS) in CSS SHADERS code when ENABLE(WEBGL) is true.
commit-queue@webkit.org [Tue, 25 Sep 2012 20:11:54 +0000 (20:11 +0000)]
Use USE(3D_GRAPHICS) in CSS SHADERS code when ENABLE(WEBGL) is true.
https://bugs.webkit.org/show_bug.cgi?id=97543

Patch by Huang Dongsung <luxtella@company100.net> on 2012-09-25
Reviewed by Dean Jackson.

This patch cleans remaining ENABLE(WEBGL) guards in CSS SHADERS code after
r122175, which made USE(3D_GRAPHICS) default to true when ENABLE(WEBGL) is true.

No new tests because of no behavior changes.

* rendering/FilterEffectRenderer.cpp:
(WebCore):
(WebCore::FilterEffectRenderer::build):
* rendering/RenderView.cpp:
(WebCore):
* rendering/RenderView.h:
(WebCore):
(RenderView):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=95397
bdakin@apple.com [Tue, 25 Sep 2012 20:01:33 +0000 (20:01 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=95397
Need to merge didFirstVisuallyNonEmptyLayout and
didNewFirstVisuallyNonEmptyLayout
-and corresponding-
<rdar://problem/10791680>

Reviewed by Sam Weinig.

Source/WebCore:

This patch merges didFirstLayout, didFirstVisuallyNonEmptyLayout,
and didNewFirstVisuallyNonEmptyLayout. Page keeps track of which
layout milestones we are interested in with a bit mask, so that
different ports/clients can opt-into different milestones. This
will allow us to safely add more layout milestones in the future
if that seems worthwhile.

Include new file LayoutMilestoneOptions.h
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced
by dispatchDidLayout(LayoutMilestoneOptions)
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::dispatchDidLayout):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didLayout):
* loader/FrameLoader.h:
(FrameLoader):
* loader/FrameLoaderClient.h:
(FrameLoaderClient):
(WebCore::FrameLoaderClient::dispatchDidLayout):
* page/LayoutMilestoneOptions.h: Added.
(WebCore):

Check with Page to find out which layout milestones the client is
interested in, and then dispatch the notifications when
appropriate.
* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):

Remove setRelevantRepaintedObjectsCounterThreshold(). Instead keep
track of the layout milestones bit mask.
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::addLayoutMilestones):
(WebCore):
(WebCore::Page::isCountingRelevantRepaintedObjects):
(WebCore::Page::addRelevantRepaintedObject):
* page/Page.h:
(Page):
(WebCore::Page::layoutMilestones):

Source/WebKit/blackberry:

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality
is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
* WebCoreSupport/FrameLoaderClientBlackBerry.h:
(FrameLoaderClientBlackBerry):

It is now necessary to opt into getting any of the
"layout milestone" notifications.
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init):

Source/WebKit/chromium:

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality
is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::dispatchDidLayout):
* src/FrameLoaderClientImpl.h:
(FrameLoaderClientImpl):

It is now necessary to opt into getting any of the
"layout milestone" notifications.
* src/WebHelperPluginImpl.cpp:
(WebKit::WebHelperPluginImpl::initPage):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::initPage):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):

Source/WebKit/efl:

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality
is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::dispatchDidLayout):
* WebCoreSupport/FrameLoaderClientEfl.h:
(FrameLoaderClientEfl):

It is now necessary to opt into getting any of the
"layout milestone" notifications.
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):

Source/WebKit/gtk:

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality
is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchDidLayout):
* WebCoreSupport/FrameLoaderClientGtk.h:
(FrameLoaderClient):

It is now necessary to opt into getting any of the
"layout milestone" notifications.
* webkit/webkitwebview.cpp:
(webkit_web_view_init):

Source/WebKit/mac:

The new API has two parts. First, the client has to opt into which
layout milestones they are interested in hearing about using
[WebView _layoutMilestones]. Then, WebKit will call
the WebFrameLoader delegate's didLayout(WebLayoutMilestones)
callback when the specified layout milestones have fired.
didLayout takes the WebLayoutMilestones bit mask, which will
indicate which milestones have fired since it is possible for two
to fire at the same time.

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced
by dispatchDidLayout(LayoutMilestones)
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidLayout):

Add new function to the delegate for didLayout.
* WebView/WebDelegateImplementationCaching.h:
(WebFrameLoadDelegateImplementationCache):

We need a delegate template that takes an NSUInteger.
* WebView/WebDelegateImplementationCaching.mm:
(CallDelegate):
(CallFrameLoadDelegate):

Convert between WebCore and WebKit versions of the bit mask.
* WebView/WebView.mm:
(coreLayoutMilestones):
(kitLayoutMilestones):

Add new delegate, and set the appropriate layout milestones in
WebCore based on old delegates having implementations.
(-[WebView _cacheFrameLoadDelegateImplementations]):

Call into WebCore.
(-[WebView _listenForLayoutMilestones:]):
(-[WebView _layoutMilestones]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:

Source/WebKit/qt:

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality
is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::dispatchDidLayout):
* WebCoreSupport/FrameLoaderClientQt.h:
(FrameLoaderClientQt):

It is now necessary to opt into getting any of the
"layout milestone" notifications.
* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):

Source/WebKit/win:

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality
is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDidLayout):
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):

It is now necessary to opt into getting any of the
"layout milestone" notifications.
* WebView.cpp:
(WebView::initWithFrame):

Source/WebKit/wince:

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality
is now replaced by dispatchDidLayout(LayoutMilestones)
* WebCoreSupport/FrameLoaderClientWinCE.cpp:
(WebKit::FrameLoaderClientWinCE::dispatchDidLayout):
* WebCoreSupport/FrameLoaderClientWinCE.h:
(FrameLoaderClientWinCE):

Source/WebKit/wx:

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality
is now replaced by dispatchDidLayout(LayoutMilestones)
* WebKitSupport/FrameLoaderClientWx.cpp:
(WebCore::FrameLoaderClientWx::dispatchDidLayout):
* WebKitSupport/FrameLoaderClientWx.h:
(FrameLoaderClientWx):

Source/WebKit2:

The new API has two parts. First, the client has to opt into which
layout milestones they are interested in hearing about using
WKPageListenForLayoutMilestones or
WKBundlePageListenForLayoutMilestones(). Then, WebKit will call
the didLayout(WKLayoutMilestones) callback on the appropriate
clients when the specified layout milestones have fired. didLayout
takes the WKLayoutMilestones bit mask, which will indicate which
milestones have fired since it is possible for two to fire at the
same time.

Define WKLayoutMilestoneOptions.
* Shared/API/c/WKPageLoadTypes.h:

Define conversions between WKLayoutMilestoneOptions and
WebCore::LayoutMilestoneOptions
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toWKLayoutMilestoneOptions):
(WebKit):
(WebKit::toLayoutMilestoneOptions):

New API.
* UIProcess/API/C/WKPage.cpp:
(WKPageListenForLayoutMilestones):
* UIProcess/API/C/WKPage.h:
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didLayout):
(WebKit):
* UIProcess/WebLoaderClient.h:
(WebLoaderClient):

didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame,
and didNewFirstVisuallyNonEmptyLayout are now implemented with
didLayout under the hood. So if those old callbacks have been
defined, be sure to add the appropriate layout milestones here for
backwards-compatibility.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeLoaderClient):

New API.
(WebKit::WebPageProxy::listenForLayoutMilestones):
(WebKit):
(WebKit::WebPageProxy::didLayout):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:

New API. And remove the now-unnecessary
WKBundlePageSetPaintedObjectsCounterThreshold.
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageListenForLayoutMilestones):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

New API.
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout):
(WebKit):
(WebKit::InjectedBundlePageLoaderClient::didLayout):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
(InjectedBundlePageLoaderClient):

Remove dispatchDidFirstLayout,
dispatchDidFirstVisuallyNonEmptyLayout, and
dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced
by dispatchDidLayout(LayoutMilestoneOptions)
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidLayout):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):

didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame,
and didNewFirstVisuallyNonEmptyLayout are now implemented with
didLayout under the hood. So if those old callbacks have been
defined, be sure to add the appropriate layout milestones here for
backwards-compatibility.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::initializeInjectedBundleLoaderClient):
(WebKit):

Call into WebCore to set the layout milestones.
(WebKit::WebPage::listenForLayoutMilestones):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:

Account for the new member of PageLoadClient.
* WebProcess/qt/QtBuiltinBundlePage.cpp:
(WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):

Tools:

Account for the new member of the PageLoadClient.
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

The NewFirstVisuallyNonEmptyLayoutForImages has existed for a while,
but it did not have the right target membership.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Use new didLayout API instead of old
didNewFirstVisuallyNonEmptyLayout API.
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:
(TestWebKitAPI):
(TestWebKitAPI::didLayout):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp:
(TestWebKitAPI):
(TestWebKitAPI::didLayout):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
(TestWebKitAPI):
(TestWebKitAPI::didLayout):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
(TestWebKitAPI):
(TestWebKitAPI::didLayout):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):

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

8 years ago[BlackBerry] When zooming into an input field take the current zoom level into account.
mifenton@rim.com [Tue, 25 Sep 2012 19:58:11 +0000 (19:58 +0000)]
[BlackBerry] When zooming into an input field take the current zoom level into account.
https://bugs.webkit.org/show_bug.cgi?id=97594

Reviewed by Antonio Gomes.

PR 188751.

Perform the zoom action prior to scroll to avoid breaking scrolling
rules.  Take the current scale into account when calculating the
zoom factor.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

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

8 years agoStylePropertySet: Use subclasses to manage varying object layouts.
kling@webkit.org [Tue, 25 Sep 2012 19:55:15 +0000 (19:55 +0000)]
StylePropertySet: Use subclasses to manage varying object layouts.
<http://webkit.org/b/97470>

Reviewed by Antti Koivisto.

Add two StylePropertySet subclasses:

    - MutableStylePropertySet
    - ImmutableStylePropertySet

The StylePropertySet::m_isMutable bit determines which subclass to cast to when accessing
the property storage. Added mutablePropertyVector() and immutablePropertyArray() helpers
to StylePropertySet (with appropriate assertions.)

This patch removes one heap allocation (and one step of indirection) in the mutable case,
since the Vector<CSSProperty> is no longer heap-allocated, but part of MutableStylePropertySet.

Override RefCounted::deref() in StylePropertySet to make sure that the correct subclass
destructor gets called.

* WebCore.exp.in:
* css/StylePropertySet.cpp:
(WebCore::immutableStylePropertySetSize):
(WebCore::StylePropertySet::createImmutable):
(WebCore::StylePropertySet::immutableCopyIfNeeded):
(WebCore::MutableStylePropertySet::MutableStylePropertySet):
(WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
(WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
(WebCore::StylePropertySet::~StylePropertySet):
(WebCore::StylePropertySet::removeProperty):
(WebCore::StylePropertySet::parseDeclaration):
(WebCore::StylePropertySet::addParsedProperties):
(WebCore::StylePropertySet::removePropertiesInSet):
(WebCore::StylePropertySet::removeEquivalentProperties):
(WebCore::StylePropertySet::copy):
(WebCore::StylePropertySet::reportMemoryUsage):
(WebCore::StylePropertySet::append):
(WebCore::StylePropertySet::create):
* css/StylePropertySet.h:
(StylePropertySet):
(WebCore::StylePropertySet::StylePropertySet):
(ImmutableStylePropertySet):
(MutableStylePropertySet):
(WebCore::MutableStylePropertySet::MutableStylePropertySet):
(WebCore::StylePropertySet::mutablePropertyVector):
(WebCore::StylePropertySet::immutablePropertyArray):
(WebCore::StylePropertySet::propertyAt):
(WebCore::StylePropertySet::propertyCount):
(WebCore::StylePropertySet::deref):

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

8 years ago2012-09-25 David Grogan <dgrogan@chromium.org>
dgrogan@chromium.org [Tue, 25 Sep 2012 19:30:56 +0000 (19:30 +0000)]
2012-09-25  David Grogan  <dgrogan@chromium.org>

Unreviewed. Change some more svn:eol-style properties from native to LF.

* LayoutTests/fast/events/message-port-constructor-for-deleted-document-expected.txt
* LayoutTests/fast/events/message-port-deleted-document-expected.txt
* LayoutTests/fast/events/message-port-deleted-frame-expected.txt
* LayoutTests/fast/events/message-port-expected.txt
* LayoutTests/fast/events/message-port-inactive-document-expected.txt

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

8 years ago[GTK][EFL] Disk cache is never dumped to disk in WebKit2
carlosgc@webkit.org [Tue, 25 Sep 2012 19:30:20 +0000 (19:30 +0000)]
[GTK][EFL] Disk cache is never dumped to disk in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=97583

Reviewed by Martin Robinson.

The problem is that WebProcess::platformTerminate(), where the
cache is currently dumped, is not called when the web process
finishes because the UI process closes the connection. The cache
is created and loaded in the main() so it can also be flushed and
dumped there, so that we also make sure it's always called when
the process finishes normally when the main loop quits.

* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl): Flush and dump the disk cache when
the main loop returns.
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk): Ditto.
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformTerminate): Do not flush and dump
the disk cache.

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

8 years agoUnreviewed gardening. Updating expectations after r129529.
leviw@chromium.org [Tue, 25 Sep 2012 19:21:23 +0000 (19:21 +0000)]
Unreviewed gardening. Updating expectations after r129529.

* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug1318-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug55527-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
* platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
* platform/chromium-mac/tables/mozilla/bugs/bug1318-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug1318-expected.txt:
* platform/chromium-mac/tables/mozilla/bugs/bug55527-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug55527-expected.txt: Removed.
* platform/efl/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt: Removed.
* platform/efl/tables/mozilla/bugs/bug55527-expected.txt: Removed.
* platform/gtk/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt: Removed.
* svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt: Added.

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

8 years ago2012-09-25 David Grogan <dgrogan@chromium.org>
dgrogan@chromium.org [Tue, 25 Sep 2012 19:19:14 +0000 (19:19 +0000)]
2012-09-25  David Grogan  <dgrogan@chromium.org>

        Unreviewed. Change some svn:eol-style properties from native to LF.

        * fast/events/message-channel-gc-2-expected.txt
        * fast/events/message-channel-gc-3-expected.txt
        * fast/events/message-channel-gc-4-expected.txt
        * fast/events/message-channel-gc-expected.txt
        * fast/events/message-channel-listener-circular-ownership-expected.txt

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

8 years ago[Chromium] Rebaseline css1/ tests for Android.
peter@chromium.org [Tue, 25 Sep 2012 19:13:45 +0000 (19:13 +0000)]
[Chromium] Rebaseline css1/ tests for Android.
https://bugs.webkit.org/show_bug.cgi?id=96398

Unreviewed rebaselining.

* platform/chromium-android/css1/: 136 new .txt and .png results.

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

8 years ago[GTK] Webkit 1.8.2 fails to build with MinGW with spellchecking enabled
commit-queue@webkit.org [Tue, 25 Sep 2012 19:11:28 +0000 (19:11 +0000)]
[GTK] Webkit 1.8.2 fails to build with MinGW with spellchecking enabled
https://bugs.webkit.org/show_bug.cgi?id=93255

Patch by Paweł Forysiuk <tuxator@o2.pl> on 2012-09-25
Reviewed by Martin Robinson.

Build dies because of invalid cast. Additionaly word "interface" is in use with MinGW compiler.

* WebCoreSupport/TextCheckerClientGtk.cpp:
(WebKit::TextCheckerClientGtk::checkSpellingOfString): Use String to avoid unneded casting
* webkit/webkitspellcheckerenchant.cpp:
(webkit_spell_checker_enchant_spell_checker_interface_init): rename interface -> checkerInterface

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

8 years agoAdd missing support for Geolocation tests on WebKit2
benjamin@webkit.org [Tue, 25 Sep 2012 19:06:41 +0000 (19:06 +0000)]
Add missing support for Geolocation tests on WebKit2
https://bugs.webkit.org/show_bug.cgi?id=97518

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-25
Reviewed by Sam Weinig.

Source/WebKit2:

The existing API for reporting error does not support passing and error message.

The interface UIProcess<->WebProcess is changed to take an error message, the
existing API now pass a null String, and the new function
WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage() provide
the extended support with error message.

* UIProcess/API/C/WKGeolocationManager.cpp:
(WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage):
* UIProcess/API/C/WKGeolocationManager.h:
* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
* UIProcess/WebGeolocationManagerProxy.h:
(WebGeolocationManagerProxy):
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::didFailToDeterminePosition):
* WebProcess/Geolocation/WebGeolocationManager.h:
(WebGeolocationManager):
* WebProcess/Geolocation/WebGeolocationManager.messages.in:

Tools:

There are two main features added to the tooling to make the test run:
-Add support for error reporting for position errors through setMockGeolocationPositionUnavailableError.
-Support the 3 states permission: undefined-allowed-denied.

* WebKitTestRunner/GeolocationProviderMock.cpp:
(WTR::GeolocationProviderMock::GeolocationProviderMock):
(WTR::GeolocationProviderMock::setPosition):
(WTR::GeolocationProviderMock::setPositionUnavailableError):
(WTR::GeolocationProviderMock::startUpdating):
(WTR::GeolocationProviderMock::sendPositionIfNeeded):
(WTR::GeolocationProviderMock::sendErrorIfNeeded):
* WebKitTestRunner/GeolocationProviderMock.h:
(GeolocationProviderMock):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::setMockGeolocationPositionUnavailableError):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setMockGeolocationPositionUnavailableError):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::decidePolicyForGeolocationPermissionRequest):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::setGeolocationPermission):
(WTR::TestController::setMockGeolocationPosition):
(WTR::TestController::setMockGeolocationPositionUnavailableError):
(WTR::TestController::handleGeolocationPermissionRequest):
(WTR::TestController::decidePolicyForGeolocationPermissionRequestIfPossible):
* WebKitTestRunner/TestController.h:
(TestController):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

Unskip almost all the layout tests.

* platform/wk2/Skipped:

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

8 years agoCrash after clicking in plugin at kauaiexplorer.com
beidson@apple.com [Tue, 25 Sep 2012 18:59:58 +0000 (18:59 +0000)]
Crash after clicking in plugin at kauaiexplorer.com
<rdar://problem/11525987/> and https://bugs.webkit.org/show_bug.cgi?id=90925

Patch by Akash Vaswani <avaswani@apple.com> on 2012-09-25
Reviewed by Sam Weinig.

Source/WebKit2:

Bug: Clicking the plugin to navigate away from the page caused the browser to crash.
     This is because it is possible for a beforeunload handler to destroy the plugin
     while it is still needed. In this case the handler set visibility to "none" and
     then accessed a property on the plugin script object. This forced a layout
     that destroyed the plugin.
Fix: Protecting PluginView objects until they are no longer required.
     This was done by adding a RefPtr at the beginning of performURLRequest()

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performURLRequest):

LayoutTests:

* http/tests/plugins/get-url-beforeunload-destroys-plugin-expected.txt: Added.
* http/tests/plugins/get-url-beforeunload-destroys-plugin.html: Added.
* http/tests/plugins/resources/notify-done.html: Added.

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

8 years agoIndexedDB: One transaction coordinator per database
jsbell@chromium.org [Tue, 25 Sep 2012 18:51:33 +0000 (18:51 +0000)]
IndexedDB: One transaction coordinator per database
https://bugs.webkit.org/show_bug.cgi?id=97501

Reviewed by Tony Chang.

Source/WebCore:

Per the IDB spec, transactions only need to be sequenced within databases.
The implementation was using one coordinator per factory backend (effectively
a singleton), which would prevent parallel execution of transactions in different
databases. Moved ownership of the transaction coordinator to the database backend.

Tests: storage/indexeddb/transaction-coordination-across-databases.html
       storage/indexeddb/transaction-readwrite-exclusive.html

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::create):
(WebCore):
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::deleteDatabase):
(WebCore::IDBFactoryBackendImpl::open):
* Modules/indexeddb/IDBFactoryBackendImpl.h:
(WebCore):
(IDBFactoryBackendImpl):
* Modules/indexeddb/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::create):
(WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
* Modules/indexeddb/IDBTransactionCoordinator.h:
(IDBTransactionCoordinator):

Source/WebKit/chromium:

Remove obsolete argument.

* tests/IDBDatabaseBackendTest.h:

LayoutTests:

Test that transactions can be parallelized across databases, and ensure that
read/write transactions with overlapping scopes are not parallelized within a
database.

* storage/indexeddb/resources/transaction-coordination-across-databases.js: Added.
* storage/indexeddb/resources/transaction-readwrite-exclusive.js: Added.
* storage/indexeddb/transaction-coordination-across-databases-expected.txt: Added.
* storage/indexeddb/transaction-coordination-across-databases.html: Added.
* storage/indexeddb/transaction-readwrite-exclusive-expected.txt: Added.
* storage/indexeddb/transaction-readwrite-exclusive.html: Added.

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

8 years ago[GTK] Don't kill automatically the web process when the ui process finishes
carlosgc@webkit.org [Tue, 25 Sep 2012 18:33:50 +0000 (18:33 +0000)]
[GTK] Don't kill automatically the web process when the ui process finishes
https://bugs.webkit.org/show_bug.cgi?id=97580

Reviewed by Martin Robinson.

We use prctl(PR_SET_PDEATHSIG, SIGKILL); in linux to make sure the
web process is killed when the UI process finishes. This is not
needed any more since now the web process stops the main loop when
the connection with the UI process is closed in
WebProcess::didClose(). This approach is better because it works
for any platform and makes the web process finish normally from
main().

* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::childSetupFunction): Don't call prctl(PR_SET_PDEATHSIG,
SIGKILL) in the child process.

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

8 years agoUnreviewed, rolling out r129517.
commit-queue@webkit.org [Tue, 25 Sep 2012 18:30:34 +0000 (18:30 +0000)]
Unreviewed, rolling out r129517.
http://trac.webkit.org/changeset/129517
https://bugs.webkit.org/show_bug.cgi?id=97582

Link errors in chromium (Requested by alecf on #webkit).

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

Source/Platform:

* chromium/public/WebMediaConstraints.h:
(WebMediaConstraints):

Source/WebCore:

* Modules/mediastream/MediaConstraintsImpl.cpp:
* Modules/mediastream/MediaConstraintsImpl.h:
* Modules/mediastream/NavigatorMediaStream.cpp:
(WebCore::NavigatorMediaStream::webkitGetUserMedia):
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::create):
(WebCore::UserMediaRequest::UserMediaRequest):
* Modules/mediastream/UserMediaRequest.h:
(WebCore):
(UserMediaRequest):
(WebCore::UserMediaRequest::audio):
(WebCore::UserMediaRequest::video):
* platform/chromium/support/WebMediaConstraints.cpp:

Source/WebKit/chromium:

* public/WebUserMediaRequest.h:
(WebUserMediaRequest):
* src/WebUserMediaRequest.cpp:

Tools:

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/MockConstraints.cpp: Removed.
* DumpRenderTree/chromium/MockConstraints.h: Removed.
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(RTCSessionDescriptionRequestSuccededTask::RTCSessionDescriptionRequestSuccededTask):
(RTCSessionDescriptionRequestFailedTask::RTCSessionDescriptionRequestFailedTask):
(RTCVoidRequestTask::RTCVoidRequestTask):
(isSupportedConstraint):
(isValidConstraint):
(MockWebRTCPeerConnectionHandler::initialize):
* DumpRenderTree/chromium/WebUserMediaClientMock.cpp:
(WebKit::WebUserMediaClientMock::requestUserMedia):
* DumpRenderTree/chromium/WebUserMediaClientMock.h:
(WebKit):
(WebUserMediaClientMock):
* DumpRenderTree/chromium/WebViewHost.h:
(WebKit):
(WebViewHost):

LayoutTests:

* fast/mediastream/getusermedia-expected.txt:
* fast/mediastream/getusermedia.html:

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

8 years agoBuild fix, GeolocationClientMock should not be included by WebProcess InjectedBundle
benjamin@webkit.org [Tue, 25 Sep 2012 18:29:06 +0000 (18:29 +0000)]
Build fix, GeolocationClientMock should not be included by WebProcess InjectedBundle

Unreviewed.

The patch r129252 removes the dependencies on GeolocationClientMock, r129444 removes
GeolocationClientMock from the Mac port. The #include breaks new Mac build.

* WebProcess/InjectedBundle/InjectedBundle.cpp:

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

8 years ago[CSS Exclusions] Enable css exclusions for multiple blocks per element
commit-queue@webkit.org [Tue, 25 Sep 2012 18:22:39 +0000 (18:22 +0000)]
[CSS Exclusions] Enable css exclusions for multiple blocks per element
https://bugs.webkit.org/show_bug.cgi?id=89993

Patch by Bear Travis <betravis@adobe.com> on 2012-09-25
Reviewed by Julien Chaffraix.

Source/WebCore:

Similar to multi-column layout, a parent RenderBlock's WrapShapeInfo may affect
the inline content of its children. This patch follows the example of ColumnInfo
and adds WrapShapeInfo to LayoutState, which tracks the current shape-inside that
inline content should respect.

Tests: fast/exclusions/shape-inside/shape-inside-multiple-blocks.html
       fast/exclusions/shape-inside/shape-inside-multiple-blocks-vertical.html

* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
* rendering/LayoutState.h:
(WebCore):
(WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
(LayoutState):
(WebCore::LayoutState::wrapShapeInfo): Getter for m_wrapShapeInfo.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineWidth::LineWidth): Use LayoutState to lookup WrapShapeInfo.
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
* rendering/RenderView.h:
(WebCore::RenderView::pushLayoutState): Push LayoutState if a WrapShapeInfo
is present.

LayoutTests:

Adding tests to cover the case where a shape-inside affects block children's
inline content.

* fast/exclusions/shape-inside/shape-inside-multiple-blocks-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-multiple-blocks-vertical-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-multiple-blocks-vertical.html: Added.
* fast/exclusions/shape-inside/shape-inside-multiple-blocks.html: Added.

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

8 years ago[chromium] REGRESSION: Incorrect preferred width calculation for table cells
eae@chromium.org [Tue, 25 Sep 2012 18:19:45 +0000 (18:19 +0000)]
[chromium] REGRESSION: Incorrect preferred width calculation for table cells
https://bugs.webkit.org/show_bug.cgi?id=97497

Reviewed by Levi Weintraub.

Source/WebCore:

In fixing bug 93911 r125694 caused a problem with the preferred
width calculations for table cells with a fractional padding
where the logic to ensure that the cell is wide enough for the
content returns different results for cells with a fixed width
and cells with an automatic width.

Test: fast/sub-pixel/table-cells-have-stable-width.html

* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computePreferredLogicalWidths):
Move the logic that ensures that a cell is wide enough from AutoTableLayout::recalcColumn to RenderBlock::computePreferredLogicalWidths to. This way it also applies to FixedTableLayout which had the same problem.

LayoutTests:

Added test for cell width calculation and reverted three svg tests to the results prior to r125694.

* fast/sub-pixel/table-cells-have-stable-width-expected.txt: Added.
* fast/sub-pixel/table-cells-have-stable-width.html: Added.
* platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:

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

8 years ago[BlackBerry] Handling required for multiple consecutive whitespace
commit-queue@webkit.org [Tue, 25 Sep 2012 18:12:18 +0000 (18:12 +0000)]
[BlackBerry] Handling required for multiple consecutive whitespace
https://bugs.webkit.org/show_bug.cgi?id=97575

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-09-25
Reviewed by Rob Buis.

PR211670
Need specific handling in the case where we have multiple
consecutive whitespaces which exceeds our character limit. This
breaks some of the functionality employed with the visible_units
methods used here to tranverse the text.

Internally reviewed by Mike Fenton.

* WebKitSupport/DOMSupport.cpp:
(BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
(DOMSupport):
(BlackBerry::WebKit::DOMSupport::isEmptyRangeOrAllSpaces):
* WebKitSupport/DOMSupport.h:
(WebCore):
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::spellCheckBlock):
(BlackBerry::WebKit::InputHandler::getRangeForSpellCheckWithFineGranularity):

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

8 years agoAX: Chromium doesn't pass accessibility text range and line number tests
dmazzoni@google.com [Tue, 25 Sep 2012 17:46:59 +0000 (17:46 +0000)]
AX: Chromium doesn't pass accessibility text range and line number tests
https://bugs.webkit.org/show_bug.cgi?id=97246

Reviewed by Chris Fleizach.

Source/WebCore:

Adds a method to get all line breaks at once, so retrieving all
line breaks isn't an O(n^2) operation for Chromium.

Enables four existing tests to pass on Chromium:
Tests: accessibility/textarea-insertion-point-line-number.html
       accessibility/textarea-line-for-index.html
       accessibility/textarea-selected-text-range.html
       accessibility/textbox-role-reports-selection.html

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::lineBreaks):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::lineBreaks):
(WebCore):
* accessibility/AccessibilityRenderObject.h:
(AccessibilityRenderObject):

Source/WebKit/chromium:

Use improved implementation of AccessibilityRenderObject::lineBreaks
and implement methods to get the line number of the selection and
to set the text range.

Enables four existing tests to pass on Chromium:
Tests: accessibility/textarea-insertion-point-line-number.html
       accessibility/textarea-line-for-index.html
       accessibility/textarea-selected-text-range.html
       accessibility/textbox-role-reports-selection.html

* public/WebAccessibilityObject.h:
(WebAccessibilityObject):
* src/WebAccessibilityObject.cpp:
(WebKit::WebAccessibilityObject::selectionEndLineNumber):
(WebKit):
(WebKit::WebAccessibilityObject::selectionStartLineNumber):
(WebKit::WebAccessibilityObject::setSelectedTextRange):
(WebKit::WebAccessibilityObject::lineBreaks):

Tools:

Provide a chromium implementation of some AccessibilityUIElement
methods needed by accessibility tests.

Enables four existing tests to pass on Chromium:
Tests: accessibility/textarea-insertion-point-line-number.html
       accessibility/textarea-line-for-index.html
       accessibility/textarea-selected-text-range.html
       accessibility/textbox-role-reports-selection.html

* DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp:
(AccessibilityUIElement::insertionPointLineNumberGetterCallback):
(AccessibilityUIElement::selectedTextRangeGetterCallback):
(AccessibilityUIElement::lineForIndexCallback):
(AccessibilityUIElement::setSelectedTextRangeCallback):

LayoutTests:

Enables four tests on chromium:
Tests: accessibility/textarea-insertion-point-line-number.html
       accessibility/textarea-line-for-index.html
       accessibility/textarea-selected-text-range.html
       accessibility/textbox-role-reports-selection.html

* platform/chromium/TestExpectations:

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

8 years ago[Qt] PageViewportController: Consolidate positionRangeForViewportAtScale and boundPos...
jocelyn.turcotte@digia.com [Tue, 25 Sep 2012 17:28:24 +0000 (17:28 +0000)]
[Qt] PageViewportController: Consolidate positionRangeForViewportAtScale and boundPosition
https://bugs.webkit.org/show_bug.cgi?id=97222

Reviewed by Kenneth Rohde Christiansen.

Those methods are used together everywhere, merge them into a single
clampViewportToContents method.

* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::innerBoundedViewportScale):
(WebKit::PageViewportController::outerBoundedViewportScale):
(WebKit::PageViewportController::clampViewportToContents):
(WebKit):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::syncVisibleContents):
* UIProcess/PageViewportController.h:
(PageViewportController):
(WebKit):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::focusEditableArea):
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
(WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):

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

8 years agoCSP paths: Ignore invalid path components, rather than dropping the source completely.
commit-queue@webkit.org [Tue, 25 Sep 2012 17:24:18 +0000 (17:24 +0000)]
CSP paths: Ignore invalid path components, rather than dropping the source completely.
https://bugs.webkit.org/show_bug.cgi?id=97538

Patch by Mike West <mkwst@google.com> on 2012-09-25
Reviewed by Adam Barth.

Source/WebCore:

Content Security Policy directives that accept source lists currently
handle soure URI paths containing '?' or '#' in a draconian fashion by
dropping the entire source expression. We should be slightly friendlier,
and ignore simply the portion of the source expression that we know to
be invalid, just as we previously ignored everything after and including
a '/' in source expressions before we supported paths.

The new behavior is covered by existing tests, and two test-cases added
to http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html.

* page/ContentSecurityPolicy.cpp:
(WebCore::CSPSourceList::parsePath):
    Report an error to the console, rather than ignoring a path that
    contains an invalid fragment or query.
(WebCore::ContentSecurityPolicy::reportInvalidPathCharacter):
(WebCore):
* page/ContentSecurityPolicy.h:
    Add a new warning type to cover this case.

LayoutTests:

* http/tests/security/contentSecurityPolicy/source-list-parsing-05-expected.txt:
* http/tests/security/contentSecurityPolicy/source-list-parsing-06-expected.txt:
    Updating to the new error message.
* http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02-expected.txt:
* http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html:
    Adding new tests to check that valid paths followed by '?' or '#'
    drop the invalid component, but remain valid sources.

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

8 years ago[BlackBerry] Reverting implementation for 407 error pages
commit-queue@webkit.org [Tue, 25 Sep 2012 17:22:28 +0000 (17:22 +0000)]
[BlackBerry] Reverting implementation for 407 error pages
https://bugs.webkit.org/show_bug.cgi?id=97455

Patch by commit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc> on 2012-09-25
Reviewed by Rob Buis.

Adding additional fixes to NetworkJob since BlackBerry::Platform::Client
is no longer avaliable. Using BlackBerryPlatformSettings to get proxy
information instead.

BlackBerryPlatformClient was deleted in PR 170160.

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

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

8 years agoGIFImageReader: fix tautological compare
hans@chromium.org [Tue, 25 Sep 2012 17:12:02 +0000 (17:12 +0000)]
GIFImageReader: fix tautological compare
https://bugs.webkit.org/show_bug.cgi?id=97563

Reviewed by Adam Barth.

The frame_reader->disposal_method field is of type
ImageFrame::FrameDisposalMethod, which has a range of 0--3. Therefore,
recent versions of Clang concludes that the expression
frame_reader->disposal_method == 4
will never be true, and warns about it.

This patch fixes the code by doing the comparison before storing the
value in the enum.

No new functionality, no new tests.

* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::read):

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

8 years ago[Chromium] Android's build archives have grown from 38M to 102M in 11 days
peter@chromium.org [Tue, 25 Sep 2012 17:10:32 +0000 (17:10 +0000)]
[Chromium] Android's build archives have grown from 38M to 102M in 11 days
https://bugs.webkit.org/show_bug.cgi?id=97336

Reviewed by Adam Barth.

Each WebKit target results in four APKs in the out/{Debug,Release}/ directory,
while we really only need one. Ignoring the unsigned APKs removes six from
the archive will make sure that we only archive a single APK per target,
bringing its size back to rougly 40 megabytes.

* BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):

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

8 years agocommitters-autocomplete.js works only with WebKit based browsers
commit-queue@webkit.org [Tue, 25 Sep 2012 17:08:01 +0000 (17:08 +0000)]
committers-autocomplete.js works only with WebKit based browsers
https://bugs.webkit.org/show_bug.cgi?id=66752

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-09-25
Reviewed by Darin Adler.

Modified the code do only add event listeners to the given inputs,
and not to the full document.

* committers-autocomplete.js:

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 25 Sep 2012 16:39:52 +0000 (16:39 +0000)]
Unreviewed GTK gardening.

Removing failure expectations for a few passing reftests and reclassifying
one reftest as flaky.

* platform/gtk/TestExpectations:

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

8 years ago#undef some symbols before redefining them.
mark.lam@apple.com [Tue, 25 Sep 2012 16:39:43 +0000 (16:39 +0000)]
#undef some symbols before redefining them.
https://bugs.webkit.org/show_bug.cgi?id=97568.

Reviewed by Michael Saboff.

* wtf/Platform.h:

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

8 years agoMediaStream API: Update getUserMedia to match the latest specification
tommyw@google.com [Tue, 25 Sep 2012 16:30:09 +0000 (16:30 +0000)]
MediaStream API: Update getUserMedia to match the latest specification
https://bugs.webkit.org/show_bug.cgi?id=97540

Reviewed by Adam Barth.

Source/Platform:

* chromium/public/WebMediaConstraints.h:
(WebMediaConstraints):

Source/WebCore:

http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
Navigator.getUserMedia is changed so that the audio and video members can either
be a bool or a constraints object.

Existing tests expanded to cover the new change.

* Modules/mediastream/MediaConstraintsImpl.cpp:
(WebCore::MediaConstraintsImpl::create):
(WebCore):
* Modules/mediastream/MediaConstraintsImpl.h:
(MediaConstraintsImpl):
* Modules/mediastream/NavigatorMediaStream.cpp:
(WebCore::NavigatorMediaStream::webkitGetUserMedia):
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::parseOptions):
(WebCore):
(WebCore::UserMediaRequest::create):
(WebCore::UserMediaRequest::UserMediaRequest):
(WebCore::UserMediaRequest::audio):
(WebCore::UserMediaRequest::video):
(WebCore::UserMediaRequest::audioConstraints):
(WebCore::UserMediaRequest::videoConstraints):
* Modules/mediastream/UserMediaRequest.h:
(WebCore):
(UserMediaRequest):
* platform/chromium/support/WebMediaConstraints.cpp:
(WebKit::WebMediaConstraints::WebMediaConstraints):
(WebKit):

Source/WebKit/chromium:

http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
Navigator.getUserMedia is changed so that the audio and video members can either
be a bool or a constraints object.

* public/WebUserMediaRequest.h:
(WebKit):
(WebUserMediaRequest):
* src/WebUserMediaRequest.cpp:
(WebKit::WebUserMediaRequest::audioConstraints):
(WebKit):
(WebKit::WebUserMediaRequest::videoConstraints):

Tools:

Adding mock support for the enhanced getUserMedia call.

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/MockConstraints.cpp: Copied from Source/WebCore/platform/chromium/support/WebMediaConstraints.cpp.
(MockConstraints):
(MockConstraints::isSupported):
(MockConstraints::isValid):
(MockConstraints::verify):
* DumpRenderTree/chromium/MockConstraints.h: Copied from Tools/DumpRenderTree/chromium/WebUserMediaClientMock.h.
(WebKit):
(MockConstraints):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(RTCSessionDescriptionRequestSuccededTask::RTCSessionDescriptionRequestSuccededTask):
(RTCSessionDescriptionRequestFailedTask::RTCSessionDescriptionRequestFailedTask):
(RTCVoidRequestTask::RTCVoidRequestTask):
(MockWebRTCPeerConnectionHandler::initialize):
* DumpRenderTree/chromium/WebUserMediaClientMock.cpp:
(UserMediaRequestTask):
(UserMediaRequestTask::UserMediaRequestTask):
(WebUserMediaClientMock::requestUserMedia):
* DumpRenderTree/chromium/WebUserMediaClientMock.h:
(WebUserMediaClientMock):
(WebUserMediaClientMock::taskList):
* DumpRenderTree/chromium/WebViewHost.h:
(WebKit):
(WebViewHost):

LayoutTests:

Expanding tests to cover the new getUserMedia behaviour.

* fast/mediastream/getusermedia-expected.txt:
* fast/mediastream/getusermedia.html:

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

8 years agoWeb Inspector: yellow on-hover pop-up won't go if another pane asynchronously opens
commit-queue@webkit.org [Tue, 25 Sep 2012 16:22:55 +0000 (16:22 +0000)]
Web Inspector: yellow on-hover pop-up won't go if another pane asynchronously opens
https://bugs.webkit.org/show_bug.cgi?id=97120

Patch by mire <mbudaes@adobe.com> on 2012-09-25
Reviewed by Alexander Pavlov.

Add mouseout event listener to popover element so that the pop-up will go when moving to another panel.

No new tests.

* inspector/front-end/Popover.js:
(WebInspector.Popover.prototype.show):
(WebInspector.PopoverHelper.prototype._mouseOut):

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

8 years ago[Qt] Unify the PageViewportController<->Client interface regarding positions
commit-queue@webkit.org [Tue, 25 Sep 2012 16:15:12 +0000 (16:15 +0000)]
[Qt] Unify the PageViewportController<->Client interface regarding positions
https://bugs.webkit.org/show_bug.cgi?id=97220

Patch by Jocelyn Turcotte <jocelyn.turcotte@digia.com> on 2012-09-25
Reviewed by Kenneth Rohde Christiansen.

- Make sure that css units are used for all position arguments
- Make sure that all positions represent the viewport relatively to the contents
  rather than the other way around
- Delay clamping the viewport to the contents size in the controller rather than in the client

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::updateViewportSize):
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::didChangeViewportSize):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::positionRangeForViewportAtScale):
* UIProcess/PageViewportController.h:
(PageViewportController):
* UIProcess/PageViewportControllerClient.h:
(PageViewportControllerClient):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::animateContentRectVisible):
(WebKit::PageViewportControllerClientQt::focusEditableArea):
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
(WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
(WebKit::PageViewportControllerClientQt::setViewportPosition):
(WebKit::PageViewportControllerClientQt::updateViewportController):
* UIProcess/qt/PageViewportControllerClientQt.h:
(PageViewportControllerClientQt):

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

8 years ago[Qt] Make sure that desktop pages honour the devicePixelRatio
commit-queue@webkit.org [Tue, 25 Sep 2012 15:50:14 +0000 (15:50 +0000)]
[Qt] Make sure that desktop pages honour the devicePixelRatio
https://bugs.webkit.org/show_bug.cgi?id=97215

Patch by Jocelyn Turcotte <jocelyn.turcotte@digia.com> on 2012-09-25
Reviewed by Kenneth Rohde Christiansen.

The desktopWidth given to computeViewportAttributes is expected to be pixel-ratio adjusted already.
We need to make sure that the viewport size is divided by the pixel ratio to prevent
the equivalent of a 1.0 devicePixelRatio to be in effect once viewportSize.width() is larger
than layoutFallbackWidth.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):

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

8 years ago[EFL] Gardening.
rakuco@webkit.org [Tue, 25 Sep 2012 15:37:32 +0000 (15:37 +0000)]
[EFL] Gardening.

Use the right bug number related to
fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html.

* platform/efl/TestExpectations:

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

8 years ago[EFL] Gardening, skip test that has started showing some flakiness.
rakuco@webkit.org [Tue, 25 Sep 2012 15:23:15 +0000 (15:23 +0000)]
[EFL] Gardening, skip test that has started showing some flakiness.

* platform/efl-wk2/TestExpectations:

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

8 years ago[chromium] adding a page overlay causes endless update loop when accelerated composit...
caseq@chromium.org [Tue, 25 Sep 2012 15:22:54 +0000 (15:22 +0000)]
[chromium] adding a page overlay causes endless update loop when accelerated compositing is used
https://bugs.webkit.org/show_bug.cgi?id=97466

Reviewed by James Robinson.

Do not update overlays in composite() -- doing so ultimately causes invalidation
of the view, hence another update and another call do composite(). Overlays should be
updated only when their content changes.

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

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

8 years ago[GTK] Add Undo / Redo method to WebKit2 GTK+ API
commit-queue@webkit.org [Tue, 25 Sep 2012 15:18:44 +0000 (15:18 +0000)]
[GTK] Add Undo / Redo method to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=97553

Patch by Simon Pena <spena@igalia.com> on 2012-09-25
Reviewed by Martin Robinson.

Add the macros for Undo / Redo support, and include them
in the documentation.

* UIProcess/API/gtk/WebKitEditingCommands.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:

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

8 years ago[EFL] Skip another test after r129479.
rakuco@webkit.org [Tue, 25 Sep 2012 15:17:43 +0000 (15:17 +0000)]
[EFL] Skip another test after r129479.

* platform/efl-wk2/TestExpectations:

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

8 years ago[Qt] Abstract as much devicePixelRatio logic as possible behind PageViewportController
commit-queue@webkit.org [Tue, 25 Sep 2012 15:05:57 +0000 (15:05 +0000)]
[Qt] Abstract as much devicePixelRatio logic as possible behind PageViewportController
https://bugs.webkit.org/show_bug.cgi?id=97214

Patch by Jocelyn Turcotte <jocelyn.turcotte@digia.com> on 2012-09-25
Reviewed by Kenneth Rohde Christiansen.

Currently the client is required to multiply the scales it receives each bime by the
devicePixelRatio. This shouldn't be required since essentially, the only places that the
devicePixelRatio should be in use, is to adjust the layout size, multiply the base scale
and for scale constants.

Other related changes:
- Make sure that the controller and it's client are only exchanging effective scales
 (cssScale * devicePixelRatio)
- Remove members duplicating m_rawAttributes values
- Use a separate member for the minimum scale to fit the page, separate from the viewport arguments
- Make sure that the minimum scale to fit is adjusted if the contents size isn't
  updated after the viewport attributes changed
- Make the scale conversion functions private to discourage this logic from spreading in the client

* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::innerBoundedViewportScale):
(WebKit::PageViewportController::outerBoundedViewportScale):
(WebKit):
(WebKit::PageViewportController::devicePixelRatio):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::didChangeViewportAttributes):
(WebKit::PageViewportController::resumeContent):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/PageViewportController.h:
(PageViewportController):
(WebKit::PageViewportController::minimumContentsScale):
(WebKit::PageViewportController::maximumContentsScale):
(WebKit::PageViewportController::currentContentsScale):
(WebKit::PageViewportController::fromViewportScale):
(WebKit::PageViewportController::toViewportScale):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::focusEditableArea):
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
(WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
(WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
(WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):

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

8 years ago[GTK] Fix typo in accessing union field in a GdkEvent in a WebKit2 unit test
commit-queue@webkit.org [Tue, 25 Sep 2012 14:56:51 +0000 (14:56 +0000)]
[GTK] Fix typo in accessing union field in a GdkEvent in a WebKit2 unit test
https://bugs.webkit.org/show_bug.cgi?id=97564

Patch by Simon Pena <spena@igalia.com> on 2012-09-25
Reviewed by Martin Robinson.

In the WebViewTest::moveMouseTo method, the wrong field in
a union was being accessed in a GdkEvent: instead of the button
field, we were supposed to act on the motion one. This patch
fixes the typo.

* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::mouseMoveTo):

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

8 years ago[Qt] Fix failing assertion when calling QWebSettings::setIconDatabasePath multiple...
hausmann@webkit.org [Tue, 25 Sep 2012 14:37:05 +0000 (14:37 +0000)]
[Qt] Fix failing assertion when calling QWebSettings::setIconDatabasePath multiple times

Reviewed by Jocelyn Turcotte.

This happens in various auto-tests. We can implement this by closing the database before
opening it with the new path.

* Api/qwebsettings.cpp:
(QWebSettings::setIconDatabasePath):

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

8 years ago[EFL] Skip crashing test after r129479.
rakuco@webkit.org [Tue, 25 Sep 2012 14:36:45 +0000 (14:36 +0000)]
[EFL] Skip crashing test after r129479.

* platform/efl-wk2/TestExpectations:

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

8 years ago[BlackBerry] Reverting implementation for 407 error pages
commit-queue@webkit.org [Tue, 25 Sep 2012 14:23:47 +0000 (14:23 +0000)]
[BlackBerry] Reverting implementation for 407 error pages
https://bugs.webkit.org/show_bug.cgi?id=97455

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-09-25
Reviewed by Rob Buis.

Revert "[BlackBerry] Show custom error page when 407 is received"
This reverts commit f6fe97ec3f1841a151e4ebdde21f710a6185f9d6.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::handleNotifyStatusReceived):
(WebCore::NetworkJob::notifyAuthReceived):
(WebCore::NetworkJob::sendRequestWithCredentials):

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

8 years ago[GTK] Don't use the C API internally in WebKitFindController
carlosgc@webkit.org [Tue, 25 Sep 2012 14:15:19 +0000 (14:15 +0000)]
[GTK] Don't use the C API internally in WebKitFindController
https://bugs.webkit.org/show_bug.cgi?id=96775

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitFindController.cpp:
(getPage):
(webkitFindControllerConstructed):
(webKitFindControllerPerform):
(webkit_find_controller_search_next):
(webkit_find_controller_search_previous):
(webkit_find_controller_search_finish):

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

8 years agoWeb Inspector: Cookie info in Network Resources Cookies tab shows "Invalid Date"
commit-queue@webkit.org [Tue, 25 Sep 2012 14:07:08 +0000 (14:07 +0000)]
Web Inspector: Cookie info in Network Resources Cookies tab shows "Invalid Date"
https://bugs.webkit.org/show_bug.cgi?id=97471

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-09-25
Reviewed by Yury Semikhatsky.

The original implementation is trying to create a new Date object
using another Date object, which is invalid. Also, Date.toGMTString is
deprecated.

The fix replaces toGMTString with toUTCString and fixes cookie.expire
so it won't crash when an empty requestDate is passed in.

Following RFC 6265, Max-age attributes now take precedence over expiresi
attribute in CookieParser.

Manual testing on inspector to make sure the CookiesTable is properly generated.

* inspector/front-end/CookieParser.js:
(WebInspector.Cookie.prototype.expires):
* inspector/front-end/CookiesTable.js:
(WebInspector.CookiesTable.prototype._createGridNode):

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

8 years ago[EFL] Mark some newly-skipped inspector tests as flaky.
rakuco@webkit.org [Tue, 25 Sep 2012 14:00:40 +0000 (14:00 +0000)]
[EFL] Mark some newly-skipped inspector tests as flaky.

I thought they were just timing out, but it turns out they work
after the first run, so they are just flaky like the others on the
list.

* platform/efl-wk2/TestExpectations:

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

8 years ago[Qt] Apply the devicePixelRatio as soon as possible
commit-queue@webkit.org [Tue, 25 Sep 2012 13:58:10 +0000 (13:58 +0000)]
[Qt] Apply the devicePixelRatio as soon as possible
https://bugs.webkit.org/show_bug.cgi?id=97211

Patch by Jocelyn Turcotte <jocelyn.turcotte@digia.com> on 2012-09-25
Reviewed by Kenneth Rohde Christiansen.

Having to wait for the contents size to apply the devicePixelRatio can
be problematic since the devicePixelRatio affects the layout width, which
then affects the contents size.

Fix the initial issue that this was working around by preventing the
early return if useFixedLayout() is true.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewFlickablePrivate::didChangeContentsSize):
(QQuickWebViewExperimental::devicePixelRatio):
(QQuickWebViewExperimental::setDevicePixelRatio):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate::didChangeContentsSize):
(QQuickWebViewPrivate):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):

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

8 years ago[Chromium] Enable datalist UI for input type=date
keishi@webkit.org [Tue, 25 Sep 2012 13:55:30 +0000 (13:55 +0000)]
[Chromium] Enable datalist UI for input type=date
https://bugs.webkit.org/show_bug.cgi?id=97541

Reviewed by Kent Tamura.

Source/WebCore:

This enables datalist UI for input type=date on Chromium.

No new tests. Adding tests in Bug 97551.

* rendering/RenderThemeChromiumCommon.cpp:
(WebCore::RenderThemeChromiumCommon::supportsDataListUI):

LayoutTests:

* platform/chromium/fast/forms/datalist/input-list-expected.txt:

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

8 years ago[EFL] Gardening after r129494.
rakuco@webkit.org [Tue, 25 Sep 2012 13:42:49 +0000 (13:42 +0000)]
[EFL] Gardening after r129494.

* platform/efl/TestExpectations: Skip a few tests which depend on
V8-only features.

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

8 years ago[Qt] Don't render at scale 1.0 when doing a pinch-zoom out
commit-queue@webkit.org [Tue, 25 Sep 2012 13:33:21 +0000 (13:33 +0000)]
[Qt] Don't render at scale 1.0 when doing a pinch-zoom out
https://bugs.webkit.org/show_bug.cgi?id=97212

Patch by Jocelyn Turcotte <jocelyn.turcotte@digia.com> on 2012-09-25
Reviewed by Kenneth Rohde Christiansen.

When the user starts pinching this creates extra rendering that is bound to the
page size and can be considerably big, reducing performance and peaking the tile
memory usage.

Fixing this might require a different approach that we could experiment with.

* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::animateContentRectVisible):
(WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):

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

8 years ago[Qt][WK2] Focus out is not handled properly
commit-queue@webkit.org [Tue, 25 Sep 2012 13:16:23 +0000 (13:16 +0000)]
[Qt][WK2] Focus out is not handled properly
https://bugs.webkit.org/show_bug.cgi?id=96997

Patch by Michael Brüning <michael.bruning@digia.com> on 2012-09-25
Reviewed by Simon Hausmann.

Adds a handler for QQuickWebView::itemChange event that is sent to
QQuickItems when their focus has been changed to replace focusOutEvent.

This fixes the problem because the focus has been updated when
itemChange is called, while it is not yet update when focusOutEvent
is called.

* UIProcess/API/qt/qquickwebview.cpp: Removed focusOutEvent.
(QQuickWebView::itemChange): Added in place of focusOutEvent.
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::handleFocusLost): Renamed from handleFocusOutEvent, parameter removed.
* UIProcess/qt/QtWebPageEventHandler.h:
(QtWebPageEventHandler):

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

8 years ago[EFL] Generate results for test.
rakuco@webkit.org [Tue, 25 Sep 2012 13:14:22 +0000 (13:14 +0000)]
[EFL] Generate results for test.

* platform/efl-wk2/TestExpectations: Add a proper bug number for
this test.
* platform/efl/fast/history/visited-link-background-color-expected.png: Added.
* platform/efl/fast/history/visited-link-background-color-expected.txt: Added.

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

8 years ago[EFL] Do not dump inspector output in DRT
commit-queue@webkit.org [Tue, 25 Sep 2012 12:56:53 +0000 (12:56 +0000)]
[EFL] Do not dump inspector output in DRT
https://bugs.webkit.org/show_bug.cgi?id=97018

Patch by Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> on 2012-09-25
Reviewed by Kenneth Rohde Christiansen.

Tools:

Some inspector-related layout tests expect console output from the
inspector view to be suppressed. Do that by setting a property in
the inspector view that makes the onConsoleMessage callback return
early and not output anything.

Using evas_object_data_{get,set} is not very beautiful, but it is
still better than properly subclassing Ewk_View and having to
implement something similar to drt_view_console_message_enable_set().

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::createWebInspectorView):
* DumpRenderTree/efl/DumpRenderTreeView.cpp:
(onConsoleMessage):

LayoutTests:

* platform/efl-wk2/TestExpectations: Skip some tests which still
fail on WK2.
* platform/efl/Skipped: Unskip a few inspector tests that now
pass.

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

8 years ago[WK2] Supported media MIME types are not included to the list of shown MIME types.
commit-queue@webkit.org [Tue, 25 Sep 2012 12:49:37 +0000 (12:49 +0000)]
[WK2] Supported media MIME types are not included to the list of shown MIME types.
https://bugs.webkit.org/show_bug.cgi?id=97552

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-25
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Exported WebCore::MIMETypeRegistry::isSupportedMediaMIMEType() for MAC.

No new tests. No new functionality.

* WebCore.exp.in:

Source/WebKit2:

Added supported media MIME types to the list of shown MIME types in order to fix
media tests regression after r129479.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::canShowMIMEType):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageCanShowMIMEType):

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

8 years ago[EFL] Partial Skipped file clean up
commit-queue@webkit.org [Tue, 25 Sep 2012 12:31:23 +0000 (12:31 +0000)]
[EFL] Partial Skipped file clean up
https://bugs.webkit.org/show_bug.cgi?id=97554

Unreviewed EFL rebaseline.

Rebaseline several EFL test cases and unskip them.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-25

* platform/efl-wk1/TestExpectations:
* platform/efl/Skipped:
* platform/efl/TestExpectations:
* platform/efl/fast/forms/basic-textareas-expected.png:
* platform/efl/fast/forms/basic-textareas-expected.txt: Added.
* platform/efl/fast/forms/basic-textareas-quirks-expected.png:
* platform/efl/fast/forms/basic-textareas-quirks-expected.txt: Added.
* platform/efl/fast/text/complex-text-opacity-expected.png: Added.
* platform/efl/fast/text/complex-text-opacity-expected.txt: Added.
* platform/efl/fast/text/international/bidi-AN-after-L-expected.png: Added.
* platform/efl/fast/text/international/bidi-AN-after-L-expected.txt: Added.
* platform/efl/fast/text/international/bidi-AN-after-empty-run-expected.png: Added.
* platform/efl/fast/text/international/bidi-AN-after-empty-run-expected.txt: Added.
* platform/efl/fast/text/international/bidi-CS-after-AN-expected.png: Added.
* platform/efl/fast/text/international/bidi-CS-after-AN-expected.txt: Added.
* platform/efl/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.png: Added.
* platform/efl/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt: Added.
* platform/efl/fast/text/international/bidi-listbox-atsui-expected.png: Added.
* platform/efl/fast/text/international/bidi-listbox-atsui-expected.txt: Added.
* platform/efl/fast/text/international/bidi-mirror-he-ar-expected.png: Added.
* platform/efl/fast/text/international/bidi-mirror-he-ar-expected.txt: Added.
* platform/efl/fast/text/international/bidi-neutral-run-expected.png: Added.
* platform/efl/fast/text/international/bidi-neutral-run-expected.txt: Added.
* platform/efl/fast/text/international/hebrew-vowels-expected.png: Added.
* platform/efl/fast/text/international/hebrew-vowels-expected.txt: Added.
* platform/efl/fast/text/international/text-combine-image-test-expected.png: Added.
* platform/efl/fast/text/international/text-combine-image-test-expected.txt: Added.
* platform/efl/fast/text/international/vertical-text-glyph-test-expected.png: Added.
* platform/efl/fast/text/international/vertical-text-glyph-test-expected.txt: Added.
* platform/efl/fast/text/justify-ideograph-complex-expected.png: Added.
* platform/efl/fast/text/justify-ideograph-complex-expected.txt: Added.
* platform/efl/fast/text/large-text-composed-char-expected.png: Added.
* platform/efl/fast/text/large-text-composed-char-expected.txt: Added.
* platform/efl/fast/writing-mode/japanese-rl-selection-expected.png: Added.
* platform/efl/fast/writing-mode/japanese-rl-selection-expected.txt: Added.
* platform/efl/fast/writing-mode/japanese-rl-text-expected.png: Added.
* platform/efl/fast/writing-mode/japanese-rl-text-expected.txt: Added.
* platform/efl/fast/writing-mode/japanese-rl-text-with-broken-font-expected.png: Added.
* platform/efl/fast/writing-mode/japanese-rl-text-with-broken-font-expected.txt: Added.
* platform/efl/fast/writing-mode/japanese-ruby-vertical-rl-expected.png: Added.
* platform/efl/fast/writing-mode/japanese-ruby-vertical-rl-expected.txt: Added.

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

8 years ago[EFL] Gardening.
rakuco@webkit.org [Tue, 25 Sep 2012 12:20:14 +0000 (12:20 +0000)]
[EFL] Gardening.

Move test that is only failing for WK1 to the specific
TestExpectations file.

* platform/efl-wk1/TestExpectations:
* platform/efl/TestExpectations:

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

8 years ago[EFL][WK2] Added hideColorPicker test case
commit-queue@webkit.org [Tue, 25 Sep 2012 12:19:22 +0000 (12:19 +0000)]
[EFL][WK2] Added hideColorPicker test case
https://bugs.webkit.org/show_bug.cgi?id=97522

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-09-25
Reviewed by Kenneth Rohde Christiansen.

Added a test case for removing input element during color picker is shown.

* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(setColorPickerColor):
(showColorPicker):
(hideColorPicker):
(TEST_F):

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

8 years ago[WK2] Unskip several test cases that are now passing
commit-queue@webkit.org [Tue, 25 Sep 2012 11:49:28 +0000 (11:49 +0000)]
[WK2] Unskip several test cases that are now passing
https://bugs.webkit.org/show_bug.cgi?id=97550

Unreviewed gardening.

Unskip several test cases that are now passing for
WebKit2.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-25

* platform/wk2/Skipped:

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

8 years ago[EFL] unskip toDataURL tests
commit-queue@webkit.org [Tue, 25 Sep 2012 11:44:35 +0000 (11:44 +0000)]
[EFL] unskip toDataURL tests
https://bugs.webkit.org/show_bug.cgi?id=97549

Unreviewed EFL gardening.

EFL port only supports "image/png" at the moment but only png is actually required
by spec and not testing required support is bad.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-09-25

* platform/efl/Skipped:
* platform/efl/fast/canvas/canvas-toDataURL-case-insensitive-mimetype-expected.txt: Added.
* platform/efl/fast/canvas/toDataURL-supportedTypes-expected.txt: Added.

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

8 years ago[WK2][WKTR] TestRunner needs support for setWillSendRequestReturnsNullOnRedirect
commit-queue@webkit.org [Tue, 25 Sep 2012 11:23:54 +0000 (11:23 +0000)]
[WK2][WKTR] TestRunner needs support for setWillSendRequestReturnsNullOnRedirect
https://bugs.webkit.org/show_bug.cgi?id=97542

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

Tools:

Implement support for setWillSendRequestReturnsNullOnRedirect
in WebKitTestRunner.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::willSendRequestForFrame):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::TestRunner):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::willSendRequestReturnsNullOnRedirect):
(WTR::TestRunner::setWillSendRequestReturnsNullOnRedirect):
(TestRunner):

LayoutTests:

Unskip http/tests/misc/will-send-request-returns-null-on-redirect.html
for WebKit2 now that WebKitTestRunner supports
setWillSendRequestReturnsNullOnRedirect.

* platform/wk2/Skipped:

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

8 years ago[WK2] Remove passing tests from Skipped list
commit-queue@webkit.org [Tue, 25 Sep 2012 11:06:08 +0000 (11:06 +0000)]
[WK2] Remove passing tests from Skipped list
https://bugs.webkit.org/show_bug.cgi?id=97546

Unreviewed gardening.

Unskip several unclassified test cases as they appear
to now pass for WebKit2. A few remaining failures
were classified as well.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-25

* platform/efl/Skipped:
* platform/wk2/Skipped:

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

8 years agoWeb Inspector: ResourceScriptMapping should no steal scripts from other mappings.
vsevik@chromium.org [Tue, 25 Sep 2012 10:58:51 +0000 (10:58 +0000)]
Web Inspector: ResourceScriptMapping should no steal scripts from other mappings.
https://bugs.webkit.org/show_bug.cgi?id=97453

Reviewed by Pavel Feldman.

Source/WebCore:

Exposed sourceMapping getter on Script so that resource mapping could check it.

* inspector/front-end/ResourceScriptMapping.js:
(WebInspector.ResourceScriptMapping):
(WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
(WebInspector.ResourceScriptMapping.prototype._reset):

LayoutTests:

* http/tests/inspector/compiler-script-mapping.html:

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

8 years ago[EFL] More gardening.
rakuco@webkit.org [Tue, 25 Sep 2012 10:48:57 +0000 (10:48 +0000)]
[EFL] More gardening.

Skip inspector/styles/variables/css-variables.html on WK2, specify
all CSS Sticky-related tests that are currently failing because
some are passing regardless of whether ENABLE_CSS_STICKY_POSITION
is enabled or not and update the way
http/tests/loading/307-after-303-after-post.html is being flaky.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

8 years ago[EFL] Daily gardening. Skip a few failing tests.
rakuco@webkit.org [Tue, 25 Sep 2012 10:01:34 +0000 (10:01 +0000)]
[EFL] Daily gardening. Skip a few failing tests.

* platform/efl/TestExpectations:

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

8 years ago[BlackBerry] [DRT] fast/forms/textarea-live-pseudo-selectors.html failed
commit-queue@webkit.org [Tue, 25 Sep 2012 09:58:41 +0000 (09:58 +0000)]
[BlackBerry] [DRT] fast/forms/textarea-live-pseudo-selectors.html failed
https://bugs.webkit.org/show_bug.cgi?id=97189

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-09-25
Reviewed by Rob Buis.

Translate ASCII key code to BlackBerry key code for BACKSPACE and DELETE key.

* DumpRenderTree/blackberry/EventSender.cpp:
(keyDownCallback):

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

8 years ago[Qt] Unreviewed gardening, skip a new failing test.
ossy@webkit.org [Tue, 25 Sep 2012 09:49:55 +0000 (09:49 +0000)]
[Qt] Unreviewed gardening, skip a new failing test.

* platform/qt/Skipped:

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

8 years agoREGRESSION(r129448): multiple fields time input UI doesn't use system time format...
keishi@webkit.org [Tue, 25 Sep 2012 09:39:31 +0000 (09:39 +0000)]
REGRESSION(r129448): multiple fields time input UI doesn't use system time format settings on Chromium-Mac
https://bugs.webkit.org/show_bug.cgi?id=97517

Reviewed by Kent Tamura.

We need to locale [NSLocale currentLocale] if browser language/@lang equals [[NSLocal currentLocale] localeIdentifier]. Otherwise it won't use the custom time format that the user has set.

No new tests. Unable to test because we need to change system locale settings.

* platform/text/mac/LocaleMac.h:
(LocaleMac):
* platform/text/mac/LocaleMac.mm:
(WebCore::languageFromLocale): Moved to top.
(WebCore):
(WebCore::determineLocale): Modified so it takes a locale as an argument.
(WebCore::Localizer::create):
(WebCore::LocaleMac::LocaleMac): Added checks for invalid locales to this constructor and removed the other one so we don't have duplicated code.
(WebCore::LocaleMac::create):
(WebCore::LocaleMac::currentLocale):

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

8 years ago[WK2][WTR] WTR bundle client loads binary data as text
commit-queue@webkit.org [Tue, 25 Sep 2012 09:19:57 +0000 (09:19 +0000)]
[WK2][WTR] WTR bundle client loads binary data as text
https://bugs.webkit.org/show_bug.cgi?id=97532

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-25
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Added WKBundlePageCanShowMIMEType() function to WKBundlePage private API.
This function is put to WKBundlePage to keep consistency with WebKit::WebPageProxy::canShowMIMEType().
Actually it does not need anything from page.

* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageCanShowMIMEType):
* WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

Tools:

WTR::InjectedBundlePage::decidePolicyForResponse now checks response MIME type
and returns WKBundlePagePolicyActionPassThrough if it cannot be shown.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::decidePolicyForResponse):

LayoutTests:

Unskipped http/tests/loading/text-content-type-with-binary-extension.html for WK2.

* platform/efl-wk1/TestExpectations:
* platform/efl/TestExpectations:
* platform/wk2/Skipped:

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

8 years agoUnreviewed, another test case adjustment after r129459. Python 2.7 doesn't
zandobersek@gmail.com [Tue, 25 Sep 2012 09:09:58 +0000 (09:09 +0000)]
Unreviewed, another test case adjustment after r129459. Python 2.7 doesn't
seem to be a requirement yet so the assertDictEqual method is not yet available
on all builders. Assert that the empty dictionary length equals 0 instead.

* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ResultSummaryTest.test_interpret_test_failures):

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

8 years agoWeb Inspector: Relative URL Link Tooltips do not respect <base>
apavlov@chromium.org [Tue, 25 Sep 2012 09:01:54 +0000 (09:01 +0000)]
Web Inspector: Relative URL Link Tooltips do not respect <base>
https://bugs.webkit.org/show_bug.cgi?id=43434

Reviewed by Pavel Feldman.

Source/WebCore:

New "baseURL" field added into the DOM.Node payload for document nodes and is made use of while resolving and completing URLs.

* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::documentBaseURLString):
(WebCore):
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
(WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
(WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.resolveURL):
(WebInspector.DOMDocument):

LayoutTests:

Added an iframe containing the <base> tag to test DOMNode.prototype.resolveURL() with a non-trivial baseURL.

* inspector/elements/elements-panel-rewrite-href.html:
* inspector/elements/elements-panel-rewrite-href-expected.txt:
* inspector/elements/resources/elements-panel-rewrite-href-iframe.html: Added.

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

8 years agoWeb Inspector: The JS code injected by worker inspector shouldn't be evaluated throu...
commit-queue@webkit.org [Tue, 25 Sep 2012 08:39:41 +0000 (08:39 +0000)]
Web Inspector:  The JS code injected by worker inspector shouldn't be evaluated through JSMainThreadExecState
https://bugs.webkit.org/show_bug.cgi?id=95341

Patch by Peter Wang <peter.wang@torchmobile.com.cn> on 2012-09-25
Reviewed by Yury Semikhatsky.

Add extra code to "JSC::InjectedScriptManager" and "JSC::ScriptFunctionCall" to make sure the
interfaces of JSMainThreadExecState are invoked only in main thread.

No new test case for this bug. Without this patch, opening worker inspector will meet failed assert statements.

* bindings/js/JSInjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptFunctionCall::call):

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

8 years ago[GTK] Don't use the C API internally in WebKitWebView
carlosgc@webkit.org [Tue, 25 Sep 2012 08:34:22 +0000 (08:34 +0000)]
[GTK] Don't use the C API internally in WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=96767

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitContextMenuClient.cpp:
(getContextMenuFromProposedMenu):
* UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
(didInitiateLoadForResource):
* UIProcess/API/gtk/WebKitUIClient.cpp:
(createNewPage):
(runJavaScriptPrompt):
(mouseDidMoveOverElement):
(printFrame):
* UIProcess/API/gtk/WebKitURIRequest.cpp:
(webkitURIRequestCreateForResourceRequest):
(webkitURIRequestGetResourceRequest):
* UIProcess/API/gtk/WebKitURIRequestPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(allowModalDialogsChanged):
(zoomTextOnlyChanged):
(webkitWebViewSetSettings):
(webkitWebViewConstructed):
(webkitWebViewUpdateURI):
(webkitWebViewCreateNewPage):
(webkitWebViewRunJavaScriptPrompt):
(webkitWebViewMouseTargetChanged):
(webkitWebViewPrintFrame):
(webkitWebViewResourceLoadStarted):
(webkitWebViewPopulateContextMenu):
(webkit_web_view_load_uri):
(webkit_web_view_load_html):
(webkit_web_view_load_alternate_html):
(webkit_web_view_load_plain_text):
(webkit_web_view_load_request):
(webkit_web_view_reload):
(webkit_web_view_reload_bypass_cache):
(webkit_web_view_stop_loading):
(webkit_web_view_go_back):
(webkit_web_view_can_go_back):
(webkit_web_view_go_forward):
(webkit_web_view_can_go_forward):
(webkit_web_view_get_custom_charset):
(webkit_web_view_set_custom_charset):
(webkit_web_view_go_to_back_forward_list_item):
(webkit_web_view_set_settings):
(webkit_web_view_set_zoom_level):
(webkit_web_view_get_zoom_level):
(webkit_web_view_can_execute_editing_command):
(webkit_web_view_execute_editing_command):
(webkit_web_view_run_javascript):
(webkit_web_view_get_inspector):
(webkit_web_view_can_show_mime_type):
(ViewSaveAsyncData):
(getContentsAsMHTMLDataCallback):
(webkit_web_view_save):
(webkit_web_view_save_finish):
(webkit_web_view_save_to_file):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreate):
(webkitWebViewBaseCreateWebPage):
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/WebKitWebViewPrivate.h:

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

8 years agoCSSParserString: Avoid pointless String refcount churn in init().
kling@webkit.org [Tue, 25 Sep 2012 08:15:17 +0000 (08:15 +0000)]
CSSParserString: Avoid pointless String refcount churn in init().
<http://webkit.org/b/94748>

Reviewed by Sam Weinig.

Have CSSParserString::init() take a const String& instead of a String.

* css/CSSParserValues.h:
(WebCore::CSSParserString::init):

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

8 years ago[EFL] Update minimal required versions for dependencies
commit-queue@webkit.org [Tue, 25 Sep 2012 08:14:53 +0000 (08:14 +0000)]
[EFL] Update minimal required versions for dependencies
https://bugs.webkit.org/show_bug.cgi?id=97523

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-09-25
Reviewed by Gyuyoung Kim.

Use the same versions numbers for dependencies as in Tools/efl/jhbuild.modules.

* Source/cmake/OptionsEfl.cmake:

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

8 years ago[Qt] Fix build with latest Qt 5
hausmann@webkit.org [Tue, 25 Sep 2012 08:08:17 +0000 (08:08 +0000)]
[Qt] Fix build with latest Qt 5
https://bugs.webkit.org/show_bug.cgi?id=97479

Reviewed by Tor Arne Vestbø.

.:

Define MODULE_BASE_DIR before loading qt_module.prf, which now calls syncqt. MODULE_BASE_DIR is
passed as last parameter (source dir) to syncqt now, so set it to the directory that contains
sync.profile.

* Source/api.pri:

Tools:

The variables for syncqt handling are now set in api.pri, but let's add a comment here that we can
remove them from default_pre.prf once we're past Qt 5 beta2.

* qmake/mkspecs/features/default_pre.prf:

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

8 years agoWeb Inspector: [Styles] For group selectors, transmit their segments with the "matche...
apavlov@chromium.org [Tue, 25 Sep 2012 08:05:18 +0000 (08:05 +0000)]
Web Inspector: [Styles] For group selectors, transmit their segments with the "matches" flag
https://bugs.webkit.org/show_bug.cgi?id=96999

Reviewed by Pavel Feldman.

Source/WebCore:

The CSSRule protocol object has been modified to include a SelectorList object that contains selector-related data.
CSSAgent methods that return CSS rule matches will return RuleMatch objects that encapsulate matching CSSRules
with indices of matching selectors on the associated selector list, so the additional backend roundtrips
from StylesSidebarPane are no longer necessary.

* inspector/Inspector.json:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
* inspector/InspectorCSSAgent.h:
(InspectorCSSAgent):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore):
(WebCore::InspectorStyleSheet::buildObjectForRule):
* inspector/InspectorStyleSheet.h:
(InspectorStyleSheet):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.parseRuleMatchArrayPayload):
(WebInspector.CSSStyleModel.prototype.getMatchedStylesAsync):
(WebInspector.CSSRule):
(WebInspector.CSSRule.parsePayload):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
(WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
(WebInspector.StylePropertiesSection.prototype._markSelectorMatches):
(WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):

LayoutTests:

* inspector/styles/get-set-stylesheet-text.html:
* inspector/styles/styles-new-API.html:
* inspector/styles/styles-source-offsets.html:

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

8 years agoadoptNode() shouldn't reset ownerDocument if the source node failed to remove itself
morrita@google.com [Tue, 25 Sep 2012 08:01:17 +0000 (08:01 +0000)]
adoptNode() shouldn't reset ownerDocument if the source node failed to remove itself
https://bugs.webkit.org/show_bug.cgi?id=97527

Reviewed by Ryosuke Niwa.

Source/WebCore:

Document::adoptNode() overlooked an error which can happen in Node::removeChild().
Which results an assertion failure. This change adds an error check for that code path.

Test: fast/dom/adopt-node-prevented.html

* dom/Document.cpp:
(WebCore::Document::adoptNode):

LayoutTests:

* fast/dom/adopt-node-prevented-expected.txt: Added.
* fast/dom/adopt-node-prevented.html: Added.

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

8 years ago[Qt] Unreviwed gardening. Greening bots.
ossy@webkit.org [Tue, 25 Sep 2012 07:59:27 +0000 (07:59 +0000)]
[Qt] Unreviwed gardening. Greening bots.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-09-25

* platform/qt/Skipped:

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

8 years ago[EFL] Partial Skipped file clean up
commit-queue@webkit.org [Tue, 25 Sep 2012 07:55:00 +0000 (07:55 +0000)]
[EFL] Partial Skipped file clean up
https://bugs.webkit.org/show_bug.cgi?id=97531

Unreviewed EFL gardening.

Move part of the test cases from Skipped file
to TestExpectations since we want to get rid
of the Skipped list soon.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-25

* platform/efl-wk2/TestExpectations:
* platform/efl/Skipped:
* platform/efl/TestExpectations:

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

8 years agoWeb Inspector: extract Vector instrumentation from core NMI code into MemoryInstrumen...
loislo@chromium.org [Tue, 25 Sep 2012 07:54:44 +0000 (07:54 +0000)]
Web Inspector: extract Vector instrumentation from core NMI code into MemoryInstrumentationVector.h header.
https://bugs.webkit.org/show_bug.cgi?id=96650

Reviewed by Vsevolod Vlasov.

Source/WebCore:

addInstrumentedVector and addInstrumentedVectorPtr were replaced with addMember.
The same thing happens with addVector and addVectorPtr.

* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::reportDescendantMemoryUsage):
* css/CSSRuleList.cpp:
(WebCore::StaticCSSRuleList::reportMemoryUsage):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::reportMemoryUsage):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::reportDescendantMemoryUsage):
* css/MediaList.cpp:
(WebCore::MediaQuerySet::reportMemoryUsage):
* css/MediaQuery.cpp:
(WebCore::MediaQuery::reportMemoryUsage):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* css/StyleRule.cpp:
(WebCore::StyleRuleBlock::reportDescendantMemoryUsage):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::reportMemoryUsage):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
(WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
* css/WebKitCSSRegionRule.cpp:
(WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
* dom/Document.cpp:
(WebCore::Document::reportMemoryUsage):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::reportMemoryUsage):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::reportMemoryUsage):

Source/WebKit/chromium:

Test for instrumented vector.

* tests/MemoryInstrumentationTest.cpp:
(WebCore::InstrumentedOwner::InstrumentedOwner):
(WebCore::TEST):
(WebCore):

Source/WTF:

Added reportMemoryUsage free template function with default body to core NMI code
and add custom version of reportMemoryUsage function for Vectors.

* GNUmakefile.list.am:
* WTF.gypi:
* WTF.pro:
* WTF.vcproj/WTF.vcproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/MemoryInstrumentation.h:
(WTF):
(MemoryInstrumentation):
(WTF::MemoryInstrumentation::addObjectImpl):
* wtf/MemoryInstrumentationVector.h: Added.
(WTF):
(WTF::instrumentVectorValues):
(WTF::reportMemoryUsage):

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

8 years agoUnreviewed, adjusting the test cases after r129459. The JSON data
zandobersek@gmail.com [Tue, 25 Sep 2012 07:53:45 +0000 (07:53 +0000)]
Unreviewed, adjusting the test cases after r129459. The JSON data
for reftests now contains the 'reftest_type' key and no more 'is_reftest'
or 'is_mismatch_reftest' keys.

* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(EndToEndTest.test_reftest_with_two_notrefs):

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

8 years agoREGRESSION(r129346): It broke !ENABLE(INSPECTOR) build
ossy@webkit.org [Tue, 25 Sep 2012 07:33:33 +0000 (07:33 +0000)]
REGRESSION(r129346): It broke !ENABLE(INSPECTOR) build
https://bugs.webkit.org/show_bug.cgi?id=97490

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-09-25
Reviewed by Csaba Osztrogonác.

The dummy class implementation must be under the ENABLE(INSPECTOR)
guard. Added them to prevent from braking the build with --minimal
option for build-webkit

No new tests as caused by missing compile guard.

* testing/Internals.cpp:
(WebCore):

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

8 years agoReland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
commit-queue@webkit.org [Tue, 25 Sep 2012 06:51:39 +0000 (06:51 +0000)]
Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
https://bugs.webkit.org/show_bug.cgi?id=97055

Patch by Bo Liu <boliu@chromium.org> on 2012-09-24
Reviewed by Adam Barth.

Relanding 128780, 128676, 128645. Was reverted in 128914 due to
performance regression in Chromium.

New changes in addition to previously reverted patches:

Refactored CachedResource::requestResource, loadResource, and
revalidateResource. Moved CachedResource::load method to end of
requestResource so there is one place where load is called for all
resources.

Added a enum parameter for requestResource and
determineRevalidationPolicy so that FrameLoaderClient::allowImage call
do not need to be called multiple times.

Removed CachedImage::load call in requestImage so it is not called
twice.

Removed unnecessary Frame.h includes in CachedResource and
CachedImage.

Removed dead load() method declaration in CachedImage.

Updated text expectation for two image-permissions tests to reflect
the removed calls to allowImage.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

Tests: fast/loader/display-image-unset-allows-cached-image-load.html
       fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
       fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html

* WebCore.exp.in:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequest):
* loader/cache/CachedImage.cpp:
* loader/cache/CachedImage.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::didAddClient):
* loader/cache/CachedResource.h:
(WebCore):
(WebCore::CachedResource::stillNeedsLoad):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
(WebCore::CachedResourceLoader::setAutoLoadImages):
(WebCore):
(WebCore::CachedResourceLoader::setImagesEnabled):
(WebCore::CachedResourceLoader::clientDefersImage):
(WebCore::CachedResourceLoader::shouldDeferImageLoad):
(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
* loader/cache/CachedResourceLoader.h:
(CachedResourceLoader):
* page/Settings.cpp:
(WebCore::setImageLoadingSettings):
(WebCore::Settings::Settings):
(WebCore::Settings::setLoadsImagesAutomatically):
(WebCore::Settings::imageLoadingSettingsTimerFired):
(WebCore::Settings::setImagesEnabled):
* page/Settings.h:
(Settings):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setImagesEnabled):
(WebCore):
* testing/InternalSettings.h:
(Backup):
(InternalSettings):
* testing/InternalSettings.idl:

Source/WebKit2:

* win/WebKit2.def:

LayoutTests:

* fast/loader/display-image-unset-allows-cached-image-load-expected.txt: Added.
* fast/loader/display-image-unset-allows-cached-image-load.html: Added.
* fast/loader/display-image-unset-can-block-image-and-can-reload-in-place-expected.txt: Added.
* fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html: Added.
* fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place-expected.txt: Added.
* fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html: Added.
* fast/loader/resources/image1.html: Added.
* fast/loader/resources/image2.html: Added.
* platform/chromium/permissionclient/image-permissions-expected.txt:
* platform/chromium/permissionclient/image-permissions.html:
* platform/chromium/permissionclient/resources/image.html:
* platform/wk2/Skipped:

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=97530
barraclough@apple.com [Tue, 25 Sep 2012 06:48:35 +0000 (06:48 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=97530
Regression, freeze applied to numeric properties of non-array objects

Reviewed by Filip Pizlo.

Object.freeze has a fast implementation in JSObject, but this hasn't been updated to take into account numeric properties in butterflies.
For now, just fall back to the generic implementation if the object has numeric properties.

Source/JavaScriptCore:

* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorFreeze):
    - fallback if the object has a non-zero indexed property vector length.

LayoutTests:

* fast/js/preventExtensions-expected.txt:
* fast/js/script-tests/preventExtensions.js:
    - Added a test case for freezing an object with a numeric property.

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 25 Sep 2012 06:32:23 +0000 (06:32 +0000)]
Unreviewed GTK gardening.

Adding failure expectation for http/tests/security/xss-eval.html as the
test started failing after r129456.

* platform/gtk/TestExpectations:

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

8 years agoUnexpected reftest passes are only reported when pixel testing is enabled in results...
zandobersek@gmail.com [Tue, 25 Sep 2012 06:17:58 +0000 (06:17 +0000)]
Unexpected reftest passes are only reported when pixel testing is enabled in results.html as well
https://bugs.webkit.org/show_bug.cgi?id=97426

Reviewed by Ojan Vafai.

Tools:

The 'is_reftest' member of the TestResult class has been replaced by the reftest_type
member which is a set containing either '!=', '==', both or none if the test represented
by the object is not a reftest.

When summarizing results, the test dictionary is updated to contain the 'reftest_type' key
if the test is a reftest. The value of this key is a list of all the reftest types of this test.

The test failure interpretation method has been refactored, it now reports only
missing results of various formats and image diff percent in case of image or
reftest mismatch.

Unit tests have been modified accordingly.

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._update_summary_with_result):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(LayoutTestRunnerTests.test_update_summary_with_result):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(interpret_test_failures):
(summarize_results):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ResultSummaryTest.test_interpret_test_failures):
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner.run):
(SingleTestRunner._run_reftest):
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.__init__):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(EndToEndTest.test_reftest_with_two_notrefs):

LayoutTests:

Report unexpectedly passing reftests as well. Test cases included.

* fast/harness/resources/results-test.js:
* fast/harness/results-expected.txt:
* fast/harness/results.html:

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

8 years agoBug in numeric accessors on global environment
barraclough@apple.com [Tue, 25 Sep 2012 06:12:11 +0000 (06:12 +0000)]
Bug in numeric accessors on global environment
https://bugs.webkit.org/show_bug.cgi?id=97526

Reviewed by Geoff Garen.

I've hit this assert in test262 in browser, but haven't yet worked out how to repro in a test case :-/
The sparsemap is failing to map back from the global object to the window shell.
A test case would need to resolve a numeric property name against the global environment.

(JSC::SparseArrayEntry::get):
(JSC::SparseArrayEntry::put):
    - Add missing toThisObject calls.

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

8 years agoSerializedScriptValue isn't aware of indexed storage, but should be
fpizlo@apple.com [Tue, 25 Sep 2012 05:27:33 +0000 (05:27 +0000)]
SerializedScriptValue isn't aware of indexed storage, but should be
https://bugs.webkit.org/show_bug.cgi?id=97515
<rdar://problem/12361874>

Reviewed by Sam Weinig.

Source/JavaScriptCore:

Export a method that WebCore now uses.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* runtime/JSObject.h:
(JSObject):

Source/WebCore:

New test: fast/js/post-message-numeric-property.html

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::putProperty):

LayoutTests:

* fast/js/post-message-numeric-property-expected.txt: Added.
* fast/js/post-message-numeric-property.html: Added.
* fast/js/script-tests/post-message-numeric-property.js: Added.
(window.onmessage):

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

8 years agoRemove JSObject::unwrappedGlobalObject(), JSObject::unwrappedObject()
barraclough@apple.com [Tue, 25 Sep 2012 04:52:26 +0000 (04:52 +0000)]
Remove JSObject::unwrappedGlobalObject(), JSObject::unwrappedObject()
https://bugs.webkit.org/show_bug.cgi?id=97519

Reviewed by Geoff Garen.

../JavaScriptCore:

unwrappedGlobalObject() was only needed because globalObject() doesn't always return a helpful result -
specifically for WebCore's window shell the structure's globalObject is set to null. We can fix this by
simply keeping the structure up to date as the window navigates, obviating the need for this function.

The only other use of unwrappedObject() came from globalFuncEval(), and this can be trivially removed
by flipping the way we perform this globalObject check (which we may also be able to remove!) - instead
of getting the globalObject from the provided this value & comparing to the expected globalObject, we
can get the this value from the expected globalObject, and compare to that provided.

* runtime/JSGlobalObject.cpp:
    - Call globalObject() instead of unwrappedGlobalObject().
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
    - Changed to compare this object values, instead of globalObjects -
      this means we only need to be able to map globalObject -> this,
      and not vice versa.
* runtime/JSObject.cpp:
(JSC::JSObject::allowsAccessFrom):
(JSC::JSObject::createInheritorID):
    - Call globalObject() instead of unwrappedGlobalObject().
* runtime/JSObject.h:
(JSObject):
    - Removed unwrappedGlobalObject(), unwrappedObject().

../WebCore:

JSDOMWindowShell::setWindow should update the structure's globalObject.

* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::setWindow):
    - Update the JSDOMWindowShell's structure's globalObject when the
      window changes.

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

8 years ago[Forms] We should remove DateTimeEditElement::valueAsDouble()
yosin@chromium.org [Tue, 25 Sep 2012 04:40:48 +0000 (04:40 +0000)]
[Forms] We should remove DateTimeEditElement::valueAsDouble()
https://bugs.webkit.org/show_bug.cgi?id=97327

Reviewed by Kent Tamura.

This patch removes unused function DateTimeEditElement::valueAsDouble()
and related functions in DateTimeFieldElement.

This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

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

* html/shadow/DateTimeEditElement.cpp: Removed valueAsDouble() implementation.
* html/shadow/DateTimeEditElement.h: Removed valueAsDouble() declaration.
(DateTimeEditElement):
* html/shadow/DateTimeFieldElement.cpp: Removed valueAsDouble() implementation.
* html/shadow/DateTimeFieldElement.h: Removed unitInMillisecond() and valueAsDouble() declarations.
(DateTimeFieldElement):
* html/shadow/DateTimeFieldElements.cpp: Removed unitInMillisecond() implementations.
* html/shadow/DateTimeFieldElements.h:
(DateTimeAMPMFieldElement): Removed unitInMillisecond() declaration.
(DateTimeHourFieldElement): ditto.
(DateTimeMillisecondFieldElement): ditto.
(DateTimeMinuteFieldElement): ditto.
(DateTimeSecondFieldElement): ditto.

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

8 years agoWKProcessGroup can't load injected bundle with file URL
weinig@apple.com [Tue, 25 Sep 2012 04:33:25 +0000 (04:33 +0000)]
WKProcessGroup can't load injected bundle with file URL
<rdar://problem/12322774>
https://bugs.webkit.org/show_bug.cgi?id=97520

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKProcessGroup.mm:
(-[WKProcessGroup initWithInjectedBundleURL:]):
Fix typo. We need to pass the string as path, not as a URL.

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

8 years agoDeleting the classic interpreter and cleaning up some build options.
mark.lam@apple.com [Tue, 25 Sep 2012 04:30:20 +0000 (04:30 +0000)]
Deleting the classic interpreter and cleaning up some build options.
https://bugs.webkit.org/show_bug.cgi?id=96969.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC):
* bytecode/Instruction.h:
(JSC::Instruction::Instruction):
* interpreter/AbstractPC.cpp:
(JSC::AbstractPC::AbstractPC):
* interpreter/AbstractPC.h:
(AbstractPC):
* interpreter/CallFrame.h:
(ExecState):
* interpreter/Interpreter.cpp:
(JSC):
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::~Interpreter):
(JSC::Interpreter::initialize):
(JSC::Interpreter::isOpcode):
(JSC::Interpreter::unwindCallFrame):
(JSC::getLineNumberForCallFrame):
(JSC::getCallerInfo):
(JSC::getSourceURLFromCallFrame):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::retrieveArgumentsFromVMCode):
(JSC::Interpreter::retrieveCallerFromVMCode):
(JSC::Interpreter::retrieveLastCaller):
* interpreter/Interpreter.h:
(JSC::Interpreter::getOpcodeID):
(Interpreter):
* jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):
* offlineasm/asm.rb:
* offlineasm/offsets.rb:
* runtime/Executable.cpp:
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):
* runtime/Executable.h:
(JSC::NativeExecutable::create):
(NativeExecutable):
(JSC::NativeExecutable::finishCreation):
* runtime/JSGlobalData.cpp:
(JSC):
(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::getHostFunction):
* runtime/JSGlobalData.h:
(JSGlobalData):
(JSC::JSGlobalData::canUseJIT):
(JSC::JSGlobalData::canUseRegExpJIT):
* runtime/Options.cpp:
(JSC::Options::initialize):

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataEnableFeatures.in:

Source/WTF:

* wtf/OSAllocatorPosix.cpp:
(WTF::OSAllocator::reserveAndCommit):
* wtf/Platform.h:

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