WebKit-https.git
7 years ago'class WrapperTypeInfo' should be 'struct WrapperTypeInfo'
haraken@chromium.org [Wed, 8 Aug 2012 10:38:18 +0000 (10:38 +0000)]
'class WrapperTypeInfo' should be 'struct WrapperTypeInfo'

Unreviewed. Build fix for r125015.

* bindings/v8/V8BindingPerIsolateData.h:
(WebCore):

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

7 years agoCrash when inspecting an element with border-image
commit-queue@webkit.org [Wed, 8 Aug 2012 10:22:02 +0000 (10:22 +0000)]
Crash when inspecting an element with border-image
https://bugs.webkit.org/show_bug.cgi?id=93380

Patch by Matt Arsenault <arsenm2@gmail.com> on 2012-08-08
Reviewed by Tim Horton.

Source/WebCore:

The second value in the CSSPair should be the same as the first if
we are in a shorthand and the next value is not a
border-image-repeat keyword.

Test: fast/css/parse-border-image-repeat-null-crash.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseBorderImageRepeat):

LayoutTests:

Add a test that ensures css Text on a border image shorthand with
border-image-repeat does not crash.

* fast/css/parse-border-image-repeat-null-crash-expected.txt: Added.
* fast/css/parse-border-image-repeat-null-crash.html: Added.

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

7 years ago[V8] Factor out V8BindingPerIsolateData from V8Binding to a separate file
haraken@chromium.org [Wed, 8 Aug 2012 10:20:46 +0000 (10:20 +0000)]
[V8] Factor out V8BindingPerIsolateData from V8Binding to a separate file
https://bugs.webkit.org/show_bug.cgi?id=93333

Reviewed by Adam Barth.

This patch moves V8BindingPerIsolateData to V8BindingPerIsolateData.{h,cpp}.

To avoid circular #include dependency, I used OwnPtrs for m_stringCache,
m_integerCache, m_hiddenPropertyName and m_gcEventData.

No tests. No change in behavior.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/ScriptGCEvent.cpp:
(WebCore::isolateGCEventData):
(WebCore::ScriptGCEvent::addEventListener):
(WebCore::ScriptGCEvent::removeEventListener):
(WebCore::ScriptGCEvent::gcPrologueCallback):
(WebCore::ScriptGCEvent::gcEpilogueCallback):
* bindings/v8/V8Binding.cpp:
* bindings/v8/V8Binding.h:
(GCEventData):
(WebCore):
* bindings/v8/V8BindingPerIsolateData.cpp: Added.
(WebCore):
(WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
(WebCore::V8BindingPerIsolateData::~V8BindingPerIsolateData):
(WebCore::V8BindingPerIsolateData::create):
(WebCore::V8BindingPerIsolateData::ensureInitialized):
(WebCore::V8BindingPerIsolateData::dispose):
(WebCore::V8BindingPerIsolateData::reportMemoryUsage):
* bindings/v8/V8BindingPerIsolateData.h: Added.
(WebCore):
(V8BindingPerIsolateData):
(WebCore::V8BindingPerIsolateData::current):
(WebCore::V8BindingPerIsolateData::rawTemplateMap):
(WebCore::V8BindingPerIsolateData::templateMap):
(WebCore::V8BindingPerIsolateData::toStringName):
(WebCore::V8BindingPerIsolateData::toStringTemplate):
(WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
(WebCore::V8BindingPerIsolateData::stringCache):
(WebCore::V8BindingPerIsolateData::integerCache):
(WebCore::V8BindingPerIsolateData::allStores):
(WebCore::V8BindingPerIsolateData::hiddenPropertyName):
(WebCore::V8BindingPerIsolateData::auxiliaryContext):
(WebCore::V8BindingPerIsolateData::registerDOMDataStore):
(WebCore::V8BindingPerIsolateData::unregisterDOMDataStore):
(WebCore::V8BindingPerIsolateData::domDataStore):
(WebCore::V8BindingPerIsolateData::setDOMDataStore):
(WebCore::V8BindingPerIsolateData::recursionLevel):
(WebCore::V8BindingPerIsolateData::incrementRecursionLevel):
(WebCore::V8BindingPerIsolateData::decrementRecursionLevel):
(WebCore::V8BindingPerIsolateData::globalHandleMap):
(WebCore::V8BindingPerIsolateData::internalScriptRecursionLevel):
(WebCore::V8BindingPerIsolateData::incrementInternalScriptRecursionLevel):
(WebCore::V8BindingPerIsolateData::decrementInternalScriptRecursionLevel):
(WebCore::V8BindingPerIsolateData::gcEventData):
(WebCore::V8BindingPerIsolateData::setShouldCollectGarbageSoon):
(WebCore::V8BindingPerIsolateData::clearShouldCollectGarbageSoon):
(WebCore::V8BindingPerIsolateData::shouldCollectGarbageSoon):

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

7 years agoSource/WebCore: Web Inspector: show whitespace nodes if they are the only tag's children.
pfeldman@chromium.org [Wed, 8 Aug 2012 10:16:00 +0000 (10:16 +0000)]
Source/WebCore: Web Inspector: show whitespace nodes if they are the only tag's children.
https://bugs.webkit.org/show_bug.cgi?id=93441

Reviewed by Vsevolod Vlasov.

Pass whitespace node info into the front-end when it is the only element's child.

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):

LayoutTests: Web Inspector: show white space nodes if they are the only tag's children.
https://bugs.webkit.org/show_bug.cgi?id=93441

Reviewed by Vsevolod Vlasov.

* inspector/elements/set-outer-html-2-expected.txt:
* inspector/styles/styles-update-from-js.html:

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

7 years ago[Qt][WK2] Set the fixed layout setting before creating the page
abecsi@webkit.org [Wed, 8 Aug 2012 09:50:54 +0000 (09:50 +0000)]
[Qt][WK2] Set the fixed layout setting before creating the page
https://bugs.webkit.org/show_bug.cgi?id=93374

Reviewed by Noam Rosenthal.

Any page setting should preferrable be set before creating the page
but fixed layout was set after the initialization of the web page.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
(QQuickWebViewFlickablePrivate::initialize):

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

7 years ago[V8] Pass Isolate to ArrayValue and Dictionary
haraken@chromium.org [Wed, 8 Aug 2012 09:45:23 +0000 (09:45 +0000)]
[V8] Pass Isolate to ArrayValue and Dictionary
https://bugs.webkit.org/show_bug.cgi?id=93315

Reviewed by Adam Barth.

This patch passes Isolate to ArrayValue and Dictionary.

Rationale 1: We want to replace V8Proxy::throwError(ExceptionCode)
with setDOMException(ExceptionCode, Isolate*). For the replacement,
we need to pass Isolate to V8Utilities::extractTransferables().
To pass Isolate to V8Utilities::extractTransferables(), ( ...omitted... ),
we need to pass Isolate to ArrayValue and Dictionary.

Rationale 2: JSC already passes ExecState to ArrayValue and Dictionary.

Tests: storage/indexeddb/*
       fast/files/*

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateEventConstructorCallback):
(JSValueToNative):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::constructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::optionsObjectCallback):
* bindings/v8/ArrayValue.cpp:
(WebCore::ArrayValue::operator=):
(WebCore::ArrayValue::get):
* bindings/v8/ArrayValue.h:
(WebCore::ArrayValue::ArrayValue):
(ArrayValue):
* bindings/v8/Dictionary.cpp:
(WebCore::Dictionary::Dictionary):
(WebCore::Dictionary::operator=):
(WebCore::Dictionary::get):
* bindings/v8/Dictionary.h:
(Dictionary):
* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::V8Blob::constructorCallback):
* bindings/v8/custom/V8IntentConstructor.cpp:
(WebCore::V8Intent::constructorCallback):

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

7 years agoWeb Inspector: cached images memory instrumentation regression after r124744
yurys@chromium.org [Wed, 8 Aug 2012 09:16:30 +0000 (09:16 +0000)]
Web Inspector: cached images memory instrumentation regression after r124744
https://bugs.webkit.org/show_bug.cgi?id=93366

Reviewed by Vsevolod Vlasov.

Source/WebCore:

CachedImage memory usage data no includes size of both encoded and
decoded data.

Test: inspector/profiler/memory-instrumentation-cached-images.html

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::reportMemoryUsage):

LayoutTests:

Added a sanity test checking that memory usage data includes decoded image size.

* inspector/profiler/memory-instrumentation-cached-images-expected.txt: Added.
* inspector/profiler/memory-instrumentation-cached-images.html: Added.

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

7 years agoAtomics.h has incorrect GCC test for ext/atomicity.h when using LSB compilers
commit-queue@webkit.org [Wed, 8 Aug 2012 09:10:21 +0000 (09:10 +0000)]
Atomics.h has incorrect GCC test for ext/atomicity.h when using LSB compilers
https://bugs.webkit.org/show_bug.cgi?id=51974

Patch by Alvaro Lopez Ortega <alvaro@alobbs.com> on 2012-08-08
Reviewed by Simon Hausmann.

* wtf/Atomics.h: Inhibits the inclusion of the atomicity.h GNU C++
extension when compiling with a LSB compliant compiler. Thanks to
Craig Scott for the new precompiler check code.

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

7 years agoOptimize Element::hasAttribute() by replacing String with AtomicString
haraken@chromium.org [Wed, 8 Aug 2012 08:43:22 +0000 (08:43 +0000)]
Optimize Element::hasAttribute() by replacing String with AtomicString
https://bugs.webkit.org/show_bug.cgi?id=90273

Reviewed by Adam Barth.

Based on the observation described in this ChangeLog
(http://trac.webkit.org/changeset/121439), this patch optimizes the
performance of Element::hasAttribute() by replacing String with AtomicString.

Performance test: https://bugs.webkit.org/attachment.cgi?id=150144

hasAttribute (Chromium/Linux):
329.60ms => 259.00ms

hasAttributeNS (Chromium/Linux):
549.60ms => 435.80ms

* dom/Element.cpp:
(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):
* dom/Element.h:
(Element):

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

7 years agoOptimize Element::removeAttribute() by replacing String with AtomicString
haraken@chromium.org [Wed, 8 Aug 2012 08:24:44 +0000 (08:24 +0000)]
Optimize Element::removeAttribute() by replacing String with AtomicString
https://bugs.webkit.org/show_bug.cgi?id=90265

Reviewed by Adam Barth.

Based on the observation described in this ChangeLog
(http://trac.webkit.org/changeset/121439), this patch optimizes
Element::removeAttribute() by replacing String with AtomicString.

Performance test: https://bugs.webkit.org/attachment.cgi?id=150140

removeAttribute (Chromium/Linux):
334.20ms => 240.60ms

removeAttributeNS (Chromium/Linux):
552.80ms => 421.60ms

* dom/Element.cpp:
(WebCore::Element::removeAttribute):
(WebCore::Element::removeAttributeNS):
* dom/Element.h:
(Element):

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

7 years agoRemove Element::ensureShadowRoot
shinyak@chromium.org [Wed, 8 Aug 2012 08:13:11 +0000 (08:13 +0000)]
Remove Element::ensureShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=77608

Reviewed by Ryosuke Niwa.

Since Element::ensureShadowRoot is not used anymore, we can remove this safely.

No new tests, no change in behavior.

* WebCore.order:
* dom/Element.cpp:
* dom/Element.h:
(Element):

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

7 years agoRemove an unused member variable.
haraken@chromium.org [Wed, 8 Aug 2012 07:51:42 +0000 (07:51 +0000)]
Remove an unused member variable.

Unreviewed, build fix for r124990.

* dom/ContainerNode.h:
(WebCore::ChildNodesLazySnapshot::ChildNodesLazySnapshot):
(ChildNodesLazySnapshot):

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

7 years agoWeb Inspector: TabbedPane should use floating point width values for measuring.
vsevik@chromium.org [Wed, 8 Aug 2012 07:39:14 +0000 (07:39 +0000)]
Web Inspector: TabbedPane should use floating point width values for measuring.
https://bugs.webkit.org/show_bug.cgi?id=93349

Reviewed by Pavel Feldman.

TabbedPane now uses getBoundingClientRect().width instead of offsetWidth for more precise calculation.

* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane.prototype._totalWidth):
(WebInspector.TabbedPane.prototype._updateTabsDropDown):
(WebInspector.TabbedPane.prototype._measureDropDownButton):
(WebInspector.TabbedPane.prototype._updateWidths):
(WebInspector.TabbedPaneTab.prototype._measure):

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

7 years ago[WIN] Use GetTimeZoneInformation() for getting the timezone name
paroga@webkit.org [Wed, 8 Aug 2012 07:31:12 +0000 (07:31 +0000)]
[WIN] Use GetTimeZoneInformation() for getting the timezone name
https://bugs.webkit.org/show_bug.cgi?id=91936

Reviewed by Ryosuke Niwa.

The MS CRT implementation of strftime calls the same functions in the background.
Using them directly avoids the overhead of parsing the format string and removes
the dependency on strftime() for WinCE where this function does not exist.

* runtime/DateConversion.cpp:
(JSC::formatTime):

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

7 years ago'highlight' should not be parsed for a composite operation
commit-queue@webkit.org [Wed, 8 Aug 2012 07:13:36 +0000 (07:13 +0000)]
'highlight' should not be parsed for a composite operation
https://bugs.webkit.org/show_bug.cgi?id=92615

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-08-08
Reviewed by Ryosuke Niwa.

Source/WebCore:

r88144 removed support for highlight as a composite operation but did
not update the parser.

Test: fast/backgrounds/composite-highlight-is-invalid.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFillProperty):

LayoutTests:

* fast/backgrounds/composite-highlight-is-invalid-expected.txt: Added.
* fast/backgrounds/composite-highlight-is-invalid.html: Added.

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

7 years ago[WK2] Add new C API to generate MHTML data from the UI process
mario@webkit.org [Wed, 8 Aug 2012 07:12:26 +0000 (07:12 +0000)]
[WK2] Add new C API to generate MHTML data from the UI process
https://bugs.webkit.org/show_bug.cgi?id=89872

Reviewed by Anders Carlsson.

Add new C API in the UI Process, using ENABLE(MHTML) guards as needed.

* UIProcess/API/C/WKPage.cpp:
(WKPageGetContentsAsMHTMLData):
* UIProcess/API/C/WKPage.h:

Implementation in the UI Process's WebPage proxy object.

* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::getContentsAsMHTMLData):
* UIProcess/WebPageProxy.h:
(WebPageProxy):

Implementation in the WebProcess, relying in WebCore::MHTMLArchive.

* WebProcess/WebPage/WebPage.cpp:
(WebKit):
(WebKit::WebPage::getContentsAsMHTMLData):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:

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

7 years agoUnreviewed, adding new results for chromium.
toyoshim@chromium.org [Wed, 8 Aug 2012 07:06:28 +0000 (07:06 +0000)]
Unreviewed, adding new results for chromium.

http://trac.webkit.org/changeset/124986 this change added new results
for Mac and it has a high priority. Then, we need to add specific
results for chromium.

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2012-08-08

* platform/chromium/media/video-seek-past-end-paused-expected.txt: Added.

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

7 years agoshowNodePath should show the age of ShadowRoot
commit-queue@webkit.org [Wed, 8 Aug 2012 07:02:52 +0000 (07:02 +0000)]
showNodePath should show the age of ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=93347

Patch by Takashi Sakamoto <tasak@google.com> on 2012-08-08
Reviewed by Ryosuke Niwa.

No new tests, because this patch is for fixing a bug of a method for
debugging. If NDEBUG is defined, the method is not compiled.

* dom/Node.cpp:
(WebCore::Node::showNodePathForThis):
Fixed the bug to obtain the oldest shadow root from a shadow root.
oldestShadowRootFor only works for an element node, not for a shadow root.

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

7 years agoUnreviewed. Remove fail expectations for tests that should not be
mario@webkit.org [Wed, 8 Aug 2012 06:58:16 +0000 (06:58 +0000)]
Unreviewed. Remove fail expectations for tests that should not be
crashing anymore after r124997.

* platform/gtk/TestExpectations: Update test expectations.

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

7 years agoRemove fractionDigits argument of WebCore::convertToLocalizedNumber()
tkent@chromium.org [Wed, 8 Aug 2012 06:49:04 +0000 (06:49 +0000)]
Remove fractionDigits argument of WebCore::convertToLocalizedNumber()
https://bugs.webkit.org/show_bug.cgi?id=93435

Reviewed by Kentaro Hara.

Remove the fractionDigits argument of convertToLocalizedNumber because
we don't use it any more. Also, we can remove
parseToDoubleForNumberTypeWithDecimalPlaces() functions, which are used
to obtain the fractionDigits argument.

No new tests because of no behavior changes.

* platform/text/LocalizedNumber.h:
(WebCore): Remove the fractionDigits argument of convertToLocalizedNumber.
* platform/text/LocalizedNumberICU.cpp:
(WebCore::convertToLocalizedNumber): ditto.
* platform/text/LocalizedNumberNone.cpp:
(WebCore::convertToLocalizedNumber): ditto.
* platform/text/mac/LocalizedNumberMac.mm:
(WebCore::convertToLocalizedNumber): ditto.
* platform/text/win/LocalizedNumberWin.cpp:
(WebCore::convertToLocalizedNumber): ditto.

* html/NumberInputType.cpp:
(WebCore::NumberInputType::localizeValue):
Remove the code to make the decimalPlace value.
* html/parser/HTMLParserIdioms.cpp:
Remove parseToDoubleForNumberTypeWithDecimalPlaces.
* html/parser/HTMLParserIdioms.h: ditto.

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

7 years agoREGRESSION(r65062): out of bound access in TextIterator (5 editing tests) on GTK
mario@webkit.org [Wed, 8 Aug 2012 06:47:46 +0000 (06:47 +0000)]
REGRESSION(r65062): out of bound access in TextIterator (5 editing tests) on GTK
https://bugs.webkit.org/show_bug.cgi?id=63611

Reviewed by Ryosuke Niwa.

Ensure document's layout is up-to-date before using TextIterator
to properly calculate the offset for a text change when emitting
accessibility related signals in GTK.

* accessibility/gtk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification): Call
to document->updateLayout() before using TextIterator.

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

7 years agoUnreviewed, update expectation.
toyoshim@chromium.org [Wed, 8 Aug 2012 06:46:01 +0000 (06:46 +0000)]
Unreviewed, update expectation.
https://bugs.webkit.org/show_bug.cgi?id=93225

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2012-08-07

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed, update expectation.
toyoshim@chromium.org [Wed, 8 Aug 2012 06:31:18 +0000 (06:31 +0000)]
Unreviewed, update expectation.
https://bugs.webkit.org/show_bug.cgi?id=93439

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2012-08-07

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed typo fix after r124988.
ossy@webkit.org [Wed, 8 Aug 2012 06:23:22 +0000 (06:23 +0000)]
Unreviewed typo fix after r124988.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations):

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

7 years agoUnreviewed, rebaseline for chromium Mac10.7
toyoshim@chromium.org [Wed, 8 Aug 2012 06:01:57 +0000 (06:01 +0000)]
Unreviewed, rebaseline for chromium Mac10.7

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2012-08-07

* platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.png:

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

7 years agoUnreviewed build fix after http://trac.webkit.org/changeset/124975
hayato@chromium.org [Wed, 8 Aug 2012 05:51:32 +0000 (05:51 +0000)]
Unreviewed build fix after trac.webkit.org/changeset/124975

Remove assertion introduced in r124975.

* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::EventDispatcher):
(WebCore::EventDispatcher::dispatchEvent):
* dom/EventDispatcher.h:
(EventDispatcher):

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

7 years agoUnreviewed, rolling out r124969.
commit-queue@webkit.org [Wed, 8 Aug 2012 05:43:34 +0000 (05:43 +0000)]
Unreviewed, rolling out r124969.
http://trac.webkit.org/changeset/124969
https://bugs.webkit.org/show_bug.cgi?id=93436

Causes assertion failure in RenderQueue (Requested by toyoshim
on #webkit).

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

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
(WebCore::RenderObjectChildList::appendChildNode):
(WebCore::RenderObjectChildList::insertChildNode):
* rendering/RenderQuote.cpp:
(WebCore::adjustDepth):
(WebCore::RenderQuote::RenderQuote):
(WebCore::RenderQuote::~RenderQuote):
(WebCore::RenderQuote::willBeDestroyed):
(WebCore::RenderQuote::renderName):
(WebCore):
(WebCore::RenderQuote::placeQuote):
(WebCore::RenderQuote::originalText):
(WebCore::RenderQuote::computePreferredLogicalWidths):
(WebCore::RenderQuote::rendererSubtreeAttached):
(WebCore::RenderQuote::rendererRemovedFromTree):
(WebCore::RenderQuote::styleDidChange):
* rendering/RenderQuote.h:
(RenderQuote):
(WebCore::RenderQuote::isQuote):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderView.h:
(WebCore):
(RenderView):
(WebCore::RenderView::addRenderQuote):
(WebCore::RenderView::removeRenderQuote):
(WebCore::RenderView::hasRenderQuotes):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):

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

7 years agoOptimize ChildNode{Insertion,Removal}Notifier::notify() by lazily taking a snapshot...
haraken@chromium.org [Wed, 8 Aug 2012 05:38:33 +0000 (05:38 +0000)]
Optimize ChildNode{Insertion,Removal}Notifier::notify() by lazily taking a snapshot of child nodes
https://bugs.webkit.org/show_bug.cgi?id=92965

Reviewed by Adam Barth.

This patch improves performance of Dromaeo/dom-modify by 8.2% in both Chromium and Safari.

[Mac/Safari]     4590.33 runs/s  =>  4965.79 runs/s  (+8.18%)
[Chromium/Linux] 3970.63 runs/s  =>  4299.65 runs/s  (+8.29%)

notifyDescendantRemovedFromDocument() cannot iterate child nodes in this way:

void notifyDescendantRemovedFromDocument(Node* node) {
    for (Node* child = node->firstChild(); child; child = child->nextSibling()) {
        ...;
        notifyNodeRemovedFromDocument(child);
    }
}

This is because notifyNodeRemovedFromDocument(child) might dispatch events
and the events might change child trees. To avoid security issues, the current
code takes a snapshot of child nodes before starting the iteration.

void notifyDescendantRemovedFromDocument(Node* node) {
    NodeVector children;
    getChildNodes(node, children); // Take a snapshot.
    for (int i = 0; i < children.size(); i++) {
        ...;
        notifyNodeRemovedFromDocument(children[i]);
    }
}

Based on the observation that in almost all cases events won't be dispatched
from inside notifyNodeRemovedFromDocument(), this patch implements
a "lazy" snapshot. The snapshot is taken at the point where
EventDispatcher::dispatchEvent() is invoked. The snapshot is not taken unless
any event is dispatched.

No tests. Confirm that all existing tests pass.
Actually, at present there is (should be) no case where an event is
dispatched from inside notifyNodeRemovedFromDocument(). Even DOMNodeInserted
and DOMNodeRemoved events are not dispatched. Originally the snapshot was
implemented "just in case" to protect the code from future attacks.
I manually confirmed that the lazy snapshot works correctly by inserting
takeChildNodesSnapshot() to notifyDescendantRemovedFromDocument()
in a random manner.

* dom/ContainerNode.cpp:
(WebCore):
* dom/ContainerNode.h:
(ChildNodesLazySnapshot):
(WebCore::ChildNodesLazySnapshot::ChildNodesLazySnapshot):
(WebCore::ChildNodesLazySnapshot::~ChildNodesLazySnapshot):
(WebCore::ChildNodesLazySnapshot::nextNode):
(WebCore::ChildNodesLazySnapshot::takeSnapshot):
(WebCore::ChildNodesLazySnapshot::nextSnapshot):
(WebCore::ChildNodesLazySnapshot::hasSnapshot):
(WebCore::ChildNodesLazySnapshot::takeChildNodesLazySnapshot):
(WebCore):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):

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

7 years ago[WK2][EFL] Implement accelerated compositing on WK2 Efl port
commit-queue@webkit.org [Wed, 8 Aug 2012 05:38:28 +0000 (05:38 +0000)]
[WK2][EFL] Implement accelerated compositing on WK2 Efl port
https://bugs.webkit.org/show_bug.cgi?id=89840

Patch by YoungTaeck Song <youngtaeck.song@samsung.com> on 2012-08-07
Reviewed by Noam Rosenthal.

.:

Implement accelerated composition with TiledBackingStore on WK2 Efl port.
This implementation is based on COORDINATED_GRAPHICS.
Add COORDINATED_GRAPHICS related definitions in OptionsEfl.cmake.

* Source/cmake/OptionsEfl.cmake:

Source/WebKit2:

Implement accelerated composition with TiledBackingStore on WK2 Efl port.
This implementation is based on COORDINATED_GRAPHICS.

* CMakeLists.txt:
* PlatformEfl.cmake:
* Shared/ShareableSurface.cpp:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::didChangeContentsSize):
(WebKit):
* UIProcess/API/efl/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/efl/ViewportProcessor.cpp: Added.
(WebKit):
(WebKit::ViewportProcessor::ViewportProcessor):
(WebKit::ViewportProcessor::~ViewportProcessor):
(WebKit::ViewportProcessor::display):
(WebKit::ViewportProcessor::updateViewportSize):
(WebKit::ViewportProcessor::setVisibleContentsRect):
(WebKit::ViewportProcessor::didChangeContentsSize):
* UIProcess/API/efl/ViewportProcessor.h: Added.
(WebKit):
(ViewportProcessor):
(WebKit::ViewportProcessor::create):
(WebKit::ViewportProcessor::drawingArea):
(WebKit::ViewportProcessor::viewSize):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_smart_calculate):
(ewk_view_base_add):
(ewk_view_display):
(ewk_view_contents_size_changed):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/PageClient.h:
(PageClient):
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::didChangeContentsSize):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
* WebProcess/WebPage/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::create):
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit):
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):

Tools:

Implement accelerated composition with TiledBackingStore on WK2 Efl port.
Add OPENGL_LIBRARIES in CMakeList.txt.

* MiniBrowser/efl/CMakeLists.txt:
* WebKitTestRunner/PlatformEfl.cmake:

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

7 years ago[NRWT] REGRESSION(r124967): New tests without expected results handled as failures
ossy@webkit.org [Wed, 8 Aug 2012 05:34:45 +0000 (05:34 +0000)]
[NRWT] REGRESSION(r124967): New tests without expected results handled as failures
https://bugs.webkit.org/show_bug.cgi?id=93434

Reviewed by Tony Chang.

Change back "missing results" to "no expected result found", because master.cfg's results parser expects it.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations):

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

7 years agopercentage margins + flex incorrectly overflows the flexbox
ojan@chromium.org [Wed, 8 Aug 2012 05:25:34 +0000 (05:25 +0000)]
percentage margins + flex incorrectly overflows the flexbox
https://bugs.webkit.org/show_bug.cgi?id=93411

Reviewed by Tony Chang.

Source/WebCore:

Percent margins should always be computed with respect to the containing
block's width, not it's height. We were getting this wrong in column flows.

Test: css3/flexbox/percent-margins.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeMarginValue):
(WebCore):
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
* rendering/RenderFlexibleBox.h:

LayoutTests:

* css3/flexbox/percent-margins-expected.txt: Added.
* css3/flexbox/percent-margins.html: Added.

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

7 years agoREGRESSION (r124710-r124713): media/video-seek-past-end-paused.html failing on Apple...
eric.carlson@apple.com [Wed, 8 Aug 2012 05:22:46 +0000 (05:22 +0000)]
REGRESSION (r124710-r124713): media/video-seek-past-end-paused.html failing on Apple Lion Debug WK1 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=93394

Unreviewed. Adding new results for failing tests on Mac.

* platform/mac/media/video-seek-past-end-paused-expected.txt: Added.

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

7 years ago[V8] Replace throwError(ExceptionCode, Isolate*) with setDOMException(ExceptionCode...
haraken@chromium.org [Wed, 8 Aug 2012 05:06:32 +0000 (05:06 +0000)]
[V8] Replace throwError(ExceptionCode, Isolate*) with setDOMException(ExceptionCode, Isolate*) in v8/* and v8/custom/*
https://bugs.webkit.org/show_bug.cgi?id=93226

Reviewed by Eric Seidel.

Now throwError(ExceptionCode, Isolate*) is equivalent to
setDOMException(ExceptionCode, Isolate*). We can replace the former with
the latter. After this replacement, the rule becomes simple and sane:
"Use throwError() for throwing JavaScript errors, use setDOMException()
for throwing DOM exceptions".

No tests. No change in behavior.

* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::transferArrayBuffers):
(WebCore::SerializedScriptValue::SerializedScriptValue):
* bindings/v8/custom/V8AudioContextCustom.cpp:
(WebCore::V8AudioContext::constructorCallback):
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::V8CSSStyleDeclaration::namedPropertySetter):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::V8DOMStringMap::namedPropertySetter):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8DirectoryEntryCustom.cpp:
(WebCore::V8DirectoryEntry::getDirectoryCallback):
(WebCore::V8DirectoryEntry::getFileCallback):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::V8Document::evaluateCallback):
* bindings/v8/custom/V8HistoryCustom.cpp:
(WebCore::V8History::pushStateCallback):
(WebCore::V8History::replaceStateCallback):
* bindings/v8/custom/V8IntentConstructor.cpp:
(WebCore::V8Intent::constructorCallback):
* bindings/v8/custom/V8MessagePortCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8MutationObserverCustom.cpp:
(WebCore::V8MutationObserver::constructorCallback):
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
(WebCore::V8NotificationCenter::createHTMLNotificationCallback):
(WebCore::V8NotificationCenter::createNotificationCallback):
(WebCore::V8NotificationCenter::requestPermissionCallback):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::V8SQLTransaction::executeSqlCallback):
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
(WebCore::V8SQLTransactionSync::executeSqlCallback):
* bindings/v8/custom/V8StorageCustom.cpp:
(WebCore::storageSetter):
* bindings/v8/custom/V8WebSocketCustom.cpp:
(WebCore::V8WebSocket::constructorCallback):
(WebCore::V8WebSocket::sendCallback):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::V8WorkerContext::importScriptsCallback):
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
(WebCore::V8XMLHttpRequest::openCallback):
(WebCore::V8XMLHttpRequest::sendCallback):

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

7 years ago[V8] Replace v8::Handle<v8::Value>() in custom bindings with v8Undefined()
haraken@chromium.org [Wed, 8 Aug 2012 05:02:35 +0000 (05:02 +0000)]
[V8] Replace v8::Handle<v8::Value>() in custom bindings with v8Undefined()
https://bugs.webkit.org/show_bug.cgi?id=93215

Reviewed by Eric Seidel.

We should use v8Undefined() everywhere in V8 bindings.

No tests. No change in behavior.

* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
(WebCore::V8CSSStyleDeclaration::namedPropertySetter):
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::traceCallback):
(WebCore::V8Console::assertCallback):
(WebCore::V8Console::profileCallback):
(WebCore::V8Console::profileEndCallback):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::V8DOMStringMap::namedPropertyGetter):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::indexedPropertyGetter):
(WebCore::V8DOMWindow::namedPropertyGetter):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::V8DataView::setInt8Callback):
(WebCore::V8DataView::setUint8Callback):
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
* bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
* bindings/v8/custom/V8DirectoryEntryCustom.cpp:
(WebCore::V8DirectoryEntry::getDirectoryCallback):
(WebCore::V8DirectoryEntry::getFileCallback):
* bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
(WebCore::getNamedItems):
(WebCore::V8HTMLAllCollection::namedPropertyGetter):
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::getNamedItems):
(WebCore::V8HTMLCollection::namedPropertyGetter):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::GetNamedProperty):
* bindings/v8/custom/V8HTMLFormElementCustom.cpp:
(WebCore::V8HTMLFormElement::indexedPropertyGetter):
(WebCore::V8HTMLFormElement::namedPropertyGetter):
* bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
(WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
* bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
(WebCore::npObjectNamedGetter):
(WebCore::npObjectNamedSetter):
(WebCore::npObjectIndexedGetter):
(WebCore::npObjectIndexedSetter):
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
(WebCore::V8HTMLSelectElement::indexedPropertyGetter):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::reloadAccessorGetter):
(WebCore::V8Location::replaceAccessorGetter):
(WebCore::V8Location::assignAccessorGetter):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::V8NamedNodeMap::indexedPropertyGetter):
(WebCore::V8NamedNodeMap::namedPropertyGetter):
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::V8NodeList::namedPropertyGetter):
* bindings/v8/custom/V8SVGLengthCustom.cpp:
(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
* bindings/v8/custom/V8StorageCustom.cpp:
(WebCore::storageGetter):
(WebCore::V8Storage::namedPropertyGetter):
(WebCore::storageSetter):
* bindings/v8/custom/V8StyleSheetListCustom.cpp:
(WebCore::V8StyleSheetList::namedPropertyGetter):

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

7 years ago[Qt] Make it possible to build without QtQuick
ossy@webkit.org [Wed, 8 Aug 2012 04:59:28 +0000 (04:59 +0000)]
[Qt] Make it possible to build without QtQuick

Patch by No'am Rosenthal <noam.rosenthal@nokia.com> on 2012-08-07
Reviewed by Simon Hausmann.

* Source/QtWebKit.pro:
* Source/tests.pri:

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

7 years ago[BlackBerry] always set PolicyAction to PolicyIgnore if the chrome returns false...
charles.wei@torchmobile.com.cn [Wed, 8 Aug 2012 04:55:07 +0000 (04:55 +0000)]
[BlackBerry] always set PolicyAction to PolicyIgnore if the chrome returns false for acceptNavigationRequest
https://bugs.webkit.org/show_bug.cgi?id=93251

Reviewed by George Staikos.

In acceptNavigationRequest(), webkit will ask if the chrome will accept the navigation request.
We will take this chance to see if the request is an internal-webkit protocol, otherwise,
we will try to launch an external application to handle the request, and ask webkit to ignore
the request by returning false in acceptNavigationRequest().

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):

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

7 years ago[V8] Replace v8::Handle<v8::Value>() in bindings/v8/* with v8Undefined()
haraken@chromium.org [Wed, 8 Aug 2012 04:38:20 +0000 (04:38 +0000)]
[V8] Replace v8::Handle<v8::Value>() in bindings/v8/* with v8Undefined()
https://bugs.webkit.org/show_bug.cgi?id=93211

Reviewed by Eric Seidel.

We should use v8Undefined() everywhere in V8 bindings.
Replacing v8::Local<v8::Value>() etc with v8Undefined() can cause build
errors due to type conversion mismatch. I'll do the replacement in follow-up
patches.

No tests. No change in behavior.

* bindings/v8/IDBBindingUtilities.cpp:
(WebCore):
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::pauseOnExceptionsState):
(WebCore::ScriptDebugServer::handleV8DebugEvent):
* bindings/v8/SerializedScriptValue.cpp:
* bindings/v8/V8Binding.cpp:
(WebCore::batchConfigureCallbacks):
* bindings/v8/V8Collection.h:
(WebCore::getV8Object):
(WebCore::collectionNamedPropertyGetter):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
* bindings/v8/V8NPObject.cpp:
(WebCore::npObjectGetProperty):
(WebCore::npObjectSetProperty):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException):
(WebCore::V8Proxy::throwError):
* bindings/v8/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::addListener):

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

7 years agoFix regression in credential storage when using Negotiate auth
commit-queue@webkit.org [Wed, 8 Aug 2012 04:34:26 +0000 (04:34 +0000)]
Fix regression in credential storage when using Negotiate auth
https://bugs.webkit.org/show_bug.cgi?id=93386

Patch by Joe Mason <jmason@rim.com> on 2012-08-07
Reviewed by George Staikos.

r124205 regressed credential storage and lookup.  It added code to update the scheme used in
credential storage if the scheme chosen by the network stack is different from that requested by
webkit (currently this is only used when webkit requests Negotiate auth, but the Negotiate
infrastructure isn't set up correctly, so the network stack falls back to another auth type, usually
NTLM).  But the credentials are saved when a "success" status is received, and the scheme in the
credentials is not updated until notifyAuthReceived is called to report the actual auth scheme used.
The result is that the credentials are stored with the wrong auth scheme and can never be retreived.

Fixed by delaying the credential save until notifyAuthReceived.

RIM PR 166514
Internally reviewed by George Staikos

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::handleNotifyStatusReceived): Stop storing credentials here.
(WebCore::NetworkJob::notifyAuthReceived): Store credentials here instead.

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

7 years ago[Mac] Do not reformat numbers in <input type=number>
tkent@chromium.org [Wed, 8 Aug 2012 04:15:02 +0000 (04:15 +0000)]
[Mac] Do not reformat numbers in <input type=number>
https://bugs.webkit.org/show_bug.cgi?id=93236

Reviewed by Hajime Morita.

Source/WebCore:

We had bugs such as stripping leading zeros, dropping lower digits of
large numbers because we parse a user-input string to a double value,
and generate a string from the double value.

In order to avoid such reformatting, we use
platform/text/NumberLocalizer, which maps ASCII digits to the
corresponding localized digits.

Test: fast/forms/number/number-lossless-localization.html

* WebCore.xcodeproj/project.pbxproj:
Add the following files:
 - platform/text/NumberLocalizer.cpp
 - platform/text/NumberLocalizer.h
 - platform/mac/LocaleMac.h
 - platform/mac/LocaleMac.mm
* platform/text/mac/LocaleMac.h:
(LocaleMac): Inherit NumberLocalizer, and declare
initializeNumberLocalizerData() for it.
Add m_didInitializeNumberData flag.
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::LocaleMac): Initialize m_didInitializeNumberData
(WebCore::LocaleMac::initializeNumberLocalizerData):
Added. Prepare data for number localization, and call
NumberLocalizer::setNumberLocalizerData().
A tricky part is to format 9876543210 for m_locale. It seems OSX doesn't
have API to get localized digits.
* platform/text/mac/LocalizedNumberMac.mm:
Remove many lines, and calls the corresponding functions of LocaleMac.
(WebCore::convertToLocalizedNumber):
(WebCore::convertFromLocalizedNumber):
(WebCore::localizedDecimalSeparator):

LayoutTests:

* fast/forms/number/number-lossless-localization-expected.txt: Added.
* fast/forms/number/number-lossless-localization.html: Added.

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

7 years ago[V8] Move V8BindingMacros.h from bindings/v8/custom/ to bindings/v8/
haraken@chromium.org [Wed, 8 Aug 2012 04:07:13 +0000 (04:07 +0000)]
[V8] Move V8BindingMacros.h from bindings/v8/custom/ to bindings/v8/
https://bugs.webkit.org/show_bug.cgi?id=93254

Reviewed by Eric Seidel.

V8BindingMacros.h should exist in bindings/v8/.
This patch also moves related enums from V8Binding.h to V8BindingMacros.h.

No tests. No change in behavior.

* WebCore.gypi:
* bindings/v8/V8BindingMacros.h: Renamed from Source/WebCore/bindings/v8/custom/V8BindingMacros.h.
(WebCore):

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

7 years ago[V8] StringCache::m_lastStringImpl and StringCache::m_lastV8String should be in sync
haraken@chromium.org [Wed, 8 Aug 2012 04:01:25 +0000 (04:01 +0000)]
[V8] StringCache::m_lastStringImpl and StringCache::m_lastV8String should be in sync
https://bugs.webkit.org/show_bug.cgi?id=93065

Reviewed by Eric Seidel.

StringCache::m_lastStringImpl caches a StringImpl that was accessed most
recently. StringCache::m_lastV8String caches Persistent<String> corresponding
to the StringImpl. Hence m_lastStringImpl and m_lastV8String should be in sync.

However, StringCache::remove() breaks the sync. StringCache::remove() clears
m_lastStringImpl but does not clear m_lastV8String. As far as I analyze the code,
this won't cause any problem, but we should fix it just in case.

No tests. No change in behavior.

* bindings/v8/V8Binding.cpp:
(WebCore::StringCache::remove):

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

7 years ago[WTF] Add using WTF::msPerHour into DateMath.h
yosin@chromium.org [Wed, 8 Aug 2012 03:48:25 +0000 (03:48 +0000)]
[WTF] Add using WTF::msPerHour into DateMath.h
https://bugs.webkit.org/show_bug.cgi?id=93428

Reviewed by Kent Tamura.

This patch adds "using WTF::msPerHour" into DateMath.h for some codes
which will use it, e.g. bug 92960. Note: DateMath.h already has had
using statements for msPerDay, msPerMinute and msPerSecond.

* wtf/DateMath.h: Added "using WTF::msPerHour".

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

7 years agoDon't re-use the same EventDispatcher instance to dispatch events.
hayato@chromium.org [Wed, 8 Aug 2012 03:09:27 +0000 (03:09 +0000)]
Don't re-use the same EventDispatcher instance to dispatch events.
https://bugs.webkit.org/show_bug.cgi?id=93322

Reviewed by Dimitri Glazkov.

It is potentially dangerous to call
EventDispatcher::dispatchEvent(PassRefPtr<Event>) twice for the
same EventDispatcher instance.  Some member functions in
EventDispatcher assume that dispatchEvent(PassRefPtr<Event>) is
never called more than once in its life cycle.

For example, EventDispatcher::ensureEventAncestor never
recalculates ancestors of node even when
dispatchEvent(PassRefPtr<Event)) is called again with a different
event parameter.

A 'dblclick' event violates this rule. A 'dblclick' dispatching
reuses the same dispatcher instance.  So stop re-using the same
dispatcher and add ASSERT to make sure dispatchEvent() is never
called more than once.

No new tests, no change in functionality.

* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::EventDispatcher):
(WebCore::EventDispatcher::dispatchEvent):
* dom/EventDispatcher.h:
(EventDispatcher):
* dom/MouseEvent.cpp:
(WebCore::MouseEventDispatchMediator::dispatchEvent):

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

7 years agoLayout Test storage/indexeddb/intversion-omit-parameter.html is flaky
jsbell@chromium.org [Wed, 8 Aug 2012 03:06:22 +0000 (03:06 +0000)]
Layout Test storage/indexeddb/intversion-omit-parameter.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=92952

Reviewed by Tony Chang.

Source/WebCore:

Account for events being propagated from the back-end to front-end after
front-end context is stopped (i.e. document is being destroyed). The IDBRequest
lifecycle was tightened up in http://trac.webkit.org/changeset/123275 with more
asserts but the stopped state wasn't accounted for.

Test: [chromium] webkit_unit_tests --gtest_filter='IDBRequestTest.EventsAfterStopping'

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::abort):
(WebCore::IDBRequest::onError):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::onSuccessWithContinuation):

Source/WebKit/chromium:

Added test to exercise WebCore::IDBRequest event callbacks after
the script context has stopped and ensure no asserts are hit.

* WebKit.gypi:
* tests/IDBRequestTest.cpp: Added.
(WebCore):
(WebCore::TEST):

LayoutTests:

Remove expectation now that flakiness should be resolved.

* platform/chromium/TestExpectations:

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

7 years agoREGRESSION: PrettyPatchTest.test_pretty_diff_encodings has been failing on Chromium...
dpranke@chromium.org [Wed, 8 Aug 2012 02:52:53 +0000 (02:52 +0000)]
REGRESSION: PrettyPatchTest.test_pretty_diff_encodings has been failing on Chromium Windows
https://bugs.webkit.org/show_bug.cgi?id=93192

Unreviewed, build fix.

Disabling the test for now as PrettyPatch is just broken on win32.

* Scripts/webkitpy/common/prettypatch_unittest.py:
(test_pretty_diff_encodings):

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

7 years agoOptimize Element::getAttributeNode() by replacing String with AtomicString
haraken@chromium.org [Wed, 8 Aug 2012 02:41:20 +0000 (02:41 +0000)]
Optimize Element::getAttributeNode() by replacing String with AtomicString
https://bugs.webkit.org/show_bug.cgi?id=90274

Reviewed by Adam Barth.

Based on the observation described in this ChangeLog
(http://trac.webkit.org/changeset/121439), this patch optimizes
the performance of Element::getAttributeNode() by replacing String
with AtomicString.

Performance test: https://bugs.webkit.org/attachment.cgi?id=150147

getAttributeNode (Chromium/Linux):
375.20ms => 310.80ms

getAttributeNodeNS (Chromium/Linux):
684.40ms => 539.00ms

* dom/Element.cpp:
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
* dom/Element.h:
(Element):

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

7 years agoCSSParser::parseTransform() refactor to accept valueList as argument
michelangelo@webkit.org [Wed, 8 Aug 2012 02:25:52 +0000 (02:25 +0000)]
CSSParser::parseTransform() refactor to accept valueList as argument
https://bugs.webkit.org/show_bug.cgi?id=93295

Reviewed by Darin Adler.

CSS::parseTranform() is now accepting the related CSSParserValueList as
argument. This change will be used by the code to parse the 3d-transforms
within the custom() function, see bug #71443.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseTransform):
* css/CSSParser.h:

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

7 years agoReimplement RenderQuote placement algorithm
commit-queue@webkit.org [Wed, 8 Aug 2012 02:16:14 +0000 (02:16 +0000)]
Reimplement RenderQuote placement algorithm
https://bugs.webkit.org/show_bug.cgi?id=93056

Patch by Elliott Sprehn <esprehn@gmail.com> on 2012-08-07
Reviewed by Eric Seidel.

Greatly simplify the code that maintains the linked list of RenderQuotes. Now RenderQuote
is placed into the linked list in computePreferredLogicalWidths on first access and is
detached when destroyed (or explicitly removed).

The new algorithm doesn't require walking up the tree of renderers when there are no
RenderQuotes in the tree yet, and also removes the need to walk over every subtree
when inserting in rendererSubtreeAttached.

No new tests because this patch doesn't change any behavior.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode): Call detachQuote when removing from a child list.
(WebCore::RenderObjectChildList::appendChildNode):
(WebCore::RenderObjectChildList::insertChildNode):
* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::RenderQuote):
(WebCore::RenderQuote::~RenderQuote):
(WebCore::RenderQuote::willBeDestroyed): Call detachQuote to ensure all destroyed quotes are detached.
(WebCore::RenderQuote::originalText):
(WebCore::RenderQuote::computePreferredLogicalWidths): Attach quote before computing the width.
(WebCore):
(WebCore::RenderQuote::attachQuote): Puts the RenderQuote in the linked list of quotes and computes the depth.
(WebCore::RenderQuote::detachQuote): Removes the quote from the linked list.
(WebCore::RenderQuote::updateDepth):
* rendering/RenderQuote.h:
(RenderQuote):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff): Return StyleDifferenceLayout if quotes change and remove check in styleDidChange in RenderQuote.
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderView.h:
(WebCore):
(WebCore::RenderView::setRenderQuoteHead):
(WebCore::RenderView::renderQuoteHead): Stores the first quote in the document.
(RenderView):

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

7 years ago[V8] Remove a bunch of Persistent::New()s on setJSWrapperForXXXObject()
haraken@chromium.org [Wed, 8 Aug 2012 02:09:04 +0000 (02:09 +0000)]
[V8] Remove a bunch of Persistent::New()s on setJSWrapperForXXXObject()
https://bugs.webkit.org/show_bug.cgi?id=93342

Reviewed by Adam Barth.

There are a lot of custom bindings like this:

    V8DOMWrapper::setJSWrapperForDOMObject(impl.release(), v8::Persistent<v8::Object>::New(args.Holder()));

Manually written Persistent::New() is error-prone. We can remove the
Persistent::New() by allocating the Persistent handle inside
setJSWrapperForDOMObject().

A new setJSWrapperForDOMObject() receives a wrapper object, allocates
the Persistent handle of the wrapper object, and return the Persistent handle.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateToV8Converters):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::constructorCallback):
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore::V8TestException::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::constructorCallback):
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::constructorCallback):
(WebCore::V8TestNode::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::constructorCallback):
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::installDOMWindow):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode):
* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):
(WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
* bindings/v8/custom/V8ArrayBufferCustom.cpp:
(WebCore::V8ArrayBuffer::constructorCallback):
* bindings/v8/custom/V8ArrayBufferViewCustom.h:
(WebCore::wrapArrayBufferView):
(WebCore::constructWebGLArray):
* bindings/v8/custom/V8DOMFormDataCustom.cpp:
(WebCore::V8DOMFormData::constructorCallback):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::V8DataView::constructorCallback):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::v8HTMLImageElementConstructorCallback):
* bindings/v8/custom/V8IntentConstructor.cpp:
(WebCore::V8Intent::constructorCallback):
* bindings/v8/custom/V8MessageChannelConstructor.cpp:
(WebCore::V8MessageChannel::constructorCallback):
* bindings/v8/custom/V8MutationObserverCustom.cpp:
(WebCore::V8MutationObserver::constructorCallback):
* bindings/v8/custom/V8WebKitPointConstructor.cpp:
(WebCore::V8WebKitPoint::constructorCallback):
* bindings/v8/custom/V8WebSocketCustom.cpp:
(WebCore::V8WebSocket::constructorCallback):
* bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
(WebCore::V8XMLHttpRequest::constructorCallback):

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

7 years ago[NRWT] Would like an output mode similar to ORWT verbose one
dpranke@chromium.org [Wed, 8 Aug 2012 01:50:11 +0000 (01:50 +0000)]
[NRWT] Would like an output mode similar to ORWT verbose one
https://bugs.webkit.org/show_bug.cgi?id=88702

Reviewed by Ryosuke Niwa.

Change the --verbose logging for new-run-webkit-tests so that
it matches ORWT more; we just print one line per test. Use
--debug-rwt-logging to get the full debug stream (aka old ORWT
--verbose).

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
(parse_args):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_retrying_and_flaky_tests):
* Scripts/webkitpy/layout_tests/views/printing.py:
(print_options):
(Printer._print_result_summary_entry):
(Printer._print_one_line_summary):
(Printer._print_test_result):
(Printer._print_baseline):
(Printer._print_unexpected_results):

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

7 years agoEvolution, empathy no longer build with webkint 1.9.6: webkit_dom_html_element_set_c...
arv@chromium.org [Wed, 8 Aug 2012 01:46:43 +0000 (01:46 +0000)]
Evolution, empathy no longer build with webkint 1.9.6:  webkit_dom_html_element_set_class_name is gone
https://bugs.webkit.org/show_bug.cgi?id=93384

Reviewed by Adam Barth.

The GObject bindings do not do inheritance so when className was moved from HTMLElement to Element,
webkit_dom_html_element_set_class_name was no longer defined. This patch re-adds the binding for the
GObject bindings to HTMLElement.

No new tests.

* html/HTMLElement.idl:

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

7 years agofix chromium win build after r124945
dpranke@chromium.org [Wed, 8 Aug 2012 01:24:57 +0000 (01:24 +0000)]
fix chromium win build after r124945
https://bugs.webkit.org/show_bug.cgi?id=93421

Unreviewed, build fix.

Two Efl files were removed in r124945 but we forgot to remove
them from WebCore.gypi.

* WebCore.gypi:

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

7 years agoUnreviewed build fix for Mac port after http://trac.webkit.org/changeset/124954
dino@apple.com [Wed, 8 Aug 2012 01:22:11 +0000 (01:22 +0000)]
Unreviewed build fix for Mac port after trac.webkit.org/changeset/124954

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

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

7 years ago[V8] Move setIsolatedWorldSecurityOrigin() from V8Proxy to ScriptController
haraken@chromium.org [Wed, 8 Aug 2012 01:18:04 +0000 (01:18 +0000)]
[V8] Move setIsolatedWorldSecurityOrigin() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=93334

Reviewed by Adam Barth.

The goal is to move factor out V8Proxy methods to ScriptController.
As a starting point, this patch moves setIsolatedWorldSecurityOrigin().

isolatedWorlds() and isolatedWorldSecurityOrigins() are temporary methods.
They will be soon removed after moving all related methods
and m_isolatedWorlds and m_isolatedWorldSecurityOrigins.

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
(WebCore):
(V8Proxy):
(WebCore::V8Proxy::isolatedWorlds):
(WebCore::V8Proxy::isolatedWorldSecurityOrigins):

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

7 years agotranslateZ(0) shifts file name in file input
yosin@chromium.org [Wed, 8 Aug 2012 01:10:54 +0000 (01:10 +0000)]
translateZ(0) shifts file name in file input
https://bugs.webkit.org/show_bug.cgi?id=69248

Reviewed by Simon Fraser.

Source/WebCore:

This patch changes to use relative y-coordinate rather than absolute
y-coordinate for baseline of text of input type "file" what we've already
done for file icon y-coordinate.

Test: file-appearance-transform-no-effects.html

* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject): Changed to use paintOffset
instead of absoluteBoundingBoxRectIgnoringTransforms().

LayoutTests:

This patch introduces a new test for input type "file" with CSS transform
translate(0).

* fast/forms/file/file-appearance-transform-no-effects-expected.html: Added. "-webkit-transform: translate(0)" should not have visual effects.
* fast/forms/file/file-appearance-transform-no-effects.html: Added.

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

7 years agonrwt: handle errors from image diff better
dpranke@chromium.org [Wed, 8 Aug 2012 01:08:48 +0000 (01:08 +0000)]
nrwt: handle errors from image diff better
https://bugs.webkit.org/show_bug.cgi?id=92934

Reviewed by Ojan Vafai.

Re-land the change in r124801 with a fix ... in the case where
the ImageDiff is passed a tolerance and passes the fuzzy check,
we were returning the wrong value (missing an empty error
string) and crashing; this patch fixes that and adds a test for
that case (TestImageDiffer.test_image_diff_passed).

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_image):
(SingleTestRunner._compare_output_with_reference):
* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(write_test_result):
* Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py:
(TestResultWriterTest.test_reftest_diff_image.ImageDiffTestPort.diff_image):
(TestResultWriterTest):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.diff_image):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.diff_image):
* Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py:
(ChromiumPortTestCase.test_diff_image_crashed):
* Scripts/webkitpy/layout_tests/port/image_diff.py:
(ImageDiffer.diff_image):
(ImageDiffer._read):
* Scripts/webkitpy/layout_tests/port/image_diff_unittest.py:
(TestImageDiffer.test_diff_image):
* Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
(MockDRTPortTest.test_diff_image_crashed):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(PortTestCase.test_diff_image):
(PortTestCase.test_diff_image_crashed):
(PortTestCase.test_diff_image_crashed.make_proc):
* Scripts/webkitpy/layout_tests/port/server_process_mock.py:
(MockServerProcess.__init__):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.diff_image):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_tolerance.ImageDiffTestPort.diff_image):

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

7 years agonrwt: --no-build isn't working
dpranke@chromium.org [Wed, 8 Aug 2012 01:06:45 +0000 (01:06 +0000)]
nrwt: --no-build isn't working
https://bugs.webkit.org/show_bug.cgi?id=93415

Reviewed by Ryosuke Niwa.

Turns out our optimization to avoid calling
webkit-build-directory N times for each worker broke --no-build.

Fixing, and adding a test.

Also, the gtk port wasn't using the default check_build() logic,
but I don't know why not. Removing their custom hook and will
verify that this is okay in the review ...

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.__init__):
(Port.check_build):
(Port._build_path):
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort._path_to_image_diff):
* Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
(MockDRTPortTest.test_check_build):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(test_path_to_apache_config_file):
(test_check_build):
(test_check_build.build_driver_called):

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

7 years ago[V8] Replace throwError(ExceptionCode, Isolate*) with
haraken@chromium.org [Wed, 8 Aug 2012 00:56:28 +0000 (00:56 +0000)]
[V8] Replace throwError(ExceptionCode, Isolate*) with
setDOMException(ExceptionCode, Isolate*) in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=93223

Reviewed by Adam Barth.

Now throwError(ExceptionCode, Isolate*) is equivalent to
setDOMException(ExceptionCode, Isolate*). We can replace the former
with the latter. After this replacement, the rule becomes simple
and sane: "Use throwError() for throwing JavaScript errors, use
setDOMException() for throwing DOM exceptions".

Test: bindings/scripts/test/TestObj.idl

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateParametersCheck):
(GenerateConstructorCallback):
(GenerateNamedConstructorCallback):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
(WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
(WebCore::TestObjV8Internal::overloadedMethod5Callback):
(WebCore::V8TestObj::constructorCallback):

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

7 years agoAllow plugins to decide whether they are keyboard focusable
fsamuel@chromium.org [Wed, 8 Aug 2012 00:54:36 +0000 (00:54 +0000)]
Allow plugins to decide whether they are keyboard focusable
https://bugs.webkit.org/show_bug.cgi?id=88958

Reviewed by Anders Carlsson.

Source/WebCore:

* dom/Node.h:
(WebCore::Node::isPluginElement):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
* html/HTMLEmbedElement.h:
(HTMLEmbedElement):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderWidgetForJSBindings):
* html/HTMLObjectElement.h:
(HTMLObjectElement):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::pluginWidget):
(WebCore::HTMLPlugInElement::isKeyboardFocusable):
(WebCore):
(WebCore::HTMLPlugInElement::isPluginElement):
* html/HTMLPlugInElement.h:
(HTMLPlugInElement):
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder):
* plugins/PluginViewBase.h:
(WebCore::PluginViewBase::supportsKeyboardFocus):

Source/WebKit/chromium:

* public/WebPlugin.h:
(WebKit::WebPlugin::supportsKeyboardFocus):
* src/WebInputEventConversion.cpp:
(WebKit::WebKeyboardEventBuilder::WebKeyboardEventBuilder):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::supportsKeyboardFocus):
(WebKit):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):

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

7 years agoCreate a MediaSource object.
annacc@chromium.org [Wed, 8 Aug 2012 00:46:26 +0000 (00:46 +0000)]
Create a MediaSource object.
https://bugs.webkit.org/show_bug.cgi?id=91773

Reviewed by Eric Carlson.

MediaSource object is needed in order to implement the new
object-oriented MediaSource API:
http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html

No new tests - will be able to test after landing:
https://bugs.webkit.org/show_bug.cgi?id=91775

Adding new files to build files:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:

New MediaSource object:
* Modules/mediasource/MediaSource.cpp: Added.
* Modules/mediasource/MediaSource.h: Added.
* Modules/mediasource/MediaSource.idl: Added.

Create a registry for the blob storage and lookup:
* Modules/mediasource/MediaSourceRegistry.cpp: Added.
* Modules/mediasource/MediaSourceRegistry.h: Added.

Connect SourceBuffer to MediaSource:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::buffered): Forward call to MediaSource.
(WebCore::SourceBuffer::append): Ditto.
(WebCore::SourceBuffer::abort): Ditto.
* Modules/mediasource/SourceBuffer.h:
(WebCore::SourceBuffer::create): Add a MediaSource to the constructor.
(WebCore::SourceBuffer::clear): Clear the MediaSource.
(SourceBuffer):
* Modules/mediasource/SourceBufferList.cpp: include SourceBuffer.h
* Modules/mediasource/SourceBufferList.h:

Make MediaSource an EventTarget:
* dom/EventTarget.h:
(WebCore):
* dom/EventTargetFactory.in:

Enable creation of MediaSource object URL from JavaScript:
* html/DOMURL.cpp:
(WebCore):
(WebCore::DOMURL::createObjectURL):
(WebCore::DOMURL::revokeObjectURL):
* html/DOMURL.h:
(WebCore):
(DOMURL):
* html/DOMURL.idl:
* html/PublicURLManager.h: create a new sourceURLs list for storing
    reigstered MediaSource URLS.
(WebCore::PublicURLManager::contextDestroyed): make sure everything is
    removed from the sourceURLs list upon destruction.
(PublicURLManager):
(WebCore::PublicURLManager::sourceURLs): getter for the sourceURLs list.

New MediaSource constructor:
* page/DOMWindow.idl:

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

7 years ago[V8] Implement V8Proxy::registerExtensionIfNeeded() and remove redundant methods
haraken@chromium.org [Wed, 8 Aug 2012 00:44:14 +0000 (00:44 +0000)]
[V8] Implement V8Proxy::registerExtensionIfNeeded() and remove redundant methods
https://bugs.webkit.org/show_bug.cgi?id=93209

Reviewed by Adam Barth.

By implementing V8Proxy::registerExtensionIfNeeded(), we can remove
registeredExtensionWithV8() and registerExtension().

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::createNewContext):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::registerExtensionIfNeeded):
* bindings/v8/V8Proxy.h:
(V8Proxy):

Source/WebKit/chromium:

* src/WebScriptController.cpp:
(WebKit::WebScriptController::registerExtension):

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

7 years ago[chromium] Add new gclient-managed cc directory to Source/WebKit/chromium/.gitignore
commit-queue@webkit.org [Wed, 8 Aug 2012 00:11:29 +0000 (00:11 +0000)]
[chromium] Add new gclient-managed cc directory to Source/WebKit/chromium/.gitignore
https://bugs.webkit.org/show_bug.cgi?id=93403

Patch by James Robinson <jamesr@chromium.org> on 2012-08-07
Reviewed by Eric Seidel.

* .gitignore:

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

7 years agorun-perf-tests should support --no-show-results
rniwa@webkit.org [Wed, 8 Aug 2012 00:08:42 +0000 (00:08 +0000)]
run-perf-tests should support --no-show-results
https://bugs.webkit.org/show_bug.cgi?id=93409

Reviewed by Dirk Pranke.

PerformanceTests:

Add a flot as a separate file and load it as an external resource.

Also include scripts as external resources from both local filesystem and webkit.org
so that it continues to work regardless of where you put it.

It breaks when someone else receives the file and save it somewhere and doesn't have
a network connection but that seems like a scenario we don't care that much.

* resources/jquery.flot.min.js: Added.
* resources/results-template.html:

Tools:

Add the support for --no-show-results.

Also replace only local paths to jquery and flot instead of embedding them.
The results page is still standalone in that it tries to load scripts
from both webkit.org and local filesystem.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
(PerfTestsRunner.run):
(PerfTestsRunner._generate_and_show_results):
(PerfTestsRunner._generate_output_files):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner_and_setup_results_template):
(test_run_generates_and_show_results_page):
(test_run_respects_no_show_results):

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

7 years ago[EFL] Unskip fast/dom/HTMLLinkElement/subresource.html
gyuyoung.kim@samsung.com [Tue, 7 Aug 2012 23:54:25 +0000 (23:54 +0000)]
[EFL] Unskip fast/dom/HTMLLinkElement/subresource.html
https://bugs.webkit.org/show_bug.cgi?id=93345

Reviewed by Eric Seidel.

In subresource.html case, existing expected result is for chromium port. So,
new subresource-expected.txt is needed for EFL port.

* platform/efl/TestExpectations:
* platform/efl/fast/dom/HTMLLinkElement/subresource-expected.txt: Added.

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

7 years ago[EFL] Remove PlatformTouchEventEfl and PlatformTouchPointEfl
ryuan.choi@samsung.com [Tue, 7 Aug 2012 23:52:18 +0000 (23:52 +0000)]
[EFL] Remove PlatformTouchEventEfl and PlatformTouchPointEfl
https://bugs.webkit.org/show_bug.cgi?id=93270

Reviewed by Eric Seidel.

Source/WebCore:

PlatformTouchEventEfl and PlatformTouchPointEfl initialize PlatformTouchEvent
directly from Ewk_TouchEvent which is WebKit1/Efl API and they can not be
shared with WebKit2/Efl.

In order to remove this WebKit dependency from WebCore, this patch removes Efl
specific codes from PlatformTouchXXX and adds the classes which convert
Ewk_Touch_XXX to PlatformTouchXXX.

No new tests. Just a refactoring.

* PlatformEfl.cmake: Removed PlatformTouchEventEfl.cpp and PlatformTouchPointEfl.cpp
* platform/PlatformTouchEvent.h: Removed Efl specific codes.
(PlatformTouchEvent):
* platform/PlatformTouchPoint.h: Ditto.
(PlatformTouchPoint):
* platform/efl/PlatformTouchEventEfl.cpp: Removed.
* platform/efl/PlatformTouchPointEfl.cpp: Removed.

Source/WebKit:

* PlatformEfl.cmake: Added ewk_touch_event.cpp

Source/WebKit/efl:

* ewk/ewk_frame.cpp:
(ewk_frame_feed_touch_event):
* ewk/ewk_touch_event.cpp: Added.
(WebKitPlatformTouchPoint):
(WebKitPlatformTouchPoint::WebKitPlatformTouchPoint):
Added to initialize members of PlatformTouchPoint.
(WebKitPlatformTouchEvent):
(WebKitPlatformTouchEvent::WebKitPlatformTouchEvent):
Added to initialize members of PlatformTouchEvent.
(EWKPrivate):
(EWKPrivate::platformTouchEvent):
Converted Ewk_Touch_Event to PlatformTouchEvent.
* ewk/ewk_touch_event_private.h:
(EWKPrivate):

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

7 years ago[chromium] Avoid dependending on implicit WebString -> String conversion in compositor
jamesr@google.com [Tue, 7 Aug 2012 23:44:36 +0000 (23:44 +0000)]
[chromium] Avoid dependending on implicit WebString -> String conversion in compositor
https://bugs.webkit.org/show_bug.cgi?id=93408

Reviewed by Adrienne Walker.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/cc/CCResourceProvider.cpp:
(WebCore::CCResourceProvider::initialize):

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

7 years ago[V8] Factor out V8Binding methods that configures DOM attributes and methods
haraken@chromium.org [Tue, 7 Aug 2012 23:38:25 +0000 (23:38 +0000)]
[V8] Factor out V8Binding methods that configures DOM attributes and methods
https://bugs.webkit.org/show_bug.cgi?id=93239

Reviewed by Adam Barth.

V8Binding is messy. This patch factors out V8Binding methods that configures
DOM attributes and methods into another file. This patch just moves the methods
from V8Binding.{h,cpp} to V8ConfigureDOMAttributesAndMethods.{h,cpp}.

No tests. No change in behavior.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/V8Binding.cpp:
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8ConfigureDOMAttributesAndMethods.cpp: Added.
(WebCore):
(WebCore::batchConfigureAttributes):
(WebCore::batchConfigureConstants):
(WebCore::batchConfigureCallbacks):
(WebCore::configureTemplate):
* bindings/v8/V8ConfigureDOMAttributesAndMethods.h: Added.
(WebCore):
(BatchedAttribute):
(WebCore::configureAttribute):
(BatchedConstant):
(BatchedCallback):

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

7 years ago[V8] Replace all V8 undefined values in the rest of custom bindings with v8Undefined()
haraken@chromium.org [Tue, 7 Aug 2012 23:31:50 +0000 (23:31 +0000)]
[V8] Replace all V8 undefined values in the rest of custom bindings with v8Undefined()
https://bugs.webkit.org/show_bug.cgi?id=93220

Reviewed by Eric Seidel.

We should use v8Undefined() everywhere in V8 bindings.
This patch replaces all V8 undefined values in the rest of custom bindings
with v8Undefined().

No tests. No change in behavior.

* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::V8DOMStringMap::namedPropertyQuery): Simple refactoring not related to
this patch. Since other bindings are using 0 instead of v8::None, we should use 0 here too.
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
(WebCore::toV8):

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

7 years agoAdd Bruno Abinader's blog feed to Planet WebKit
commit-queue@webkit.org [Tue, 7 Aug 2012 23:24:14 +0000 (23:24 +0000)]
Add Bruno Abinader's blog feed to Planet WebKit
https://bugs.webkit.org/show_bug.cgi?id=92985

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-08-07
Reviewed by Eric Seidel.

* config.ini:

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

7 years ago[V8] Remove #include V8BindingMacros.h
haraken@chromium.org [Tue, 7 Aug 2012 23:13:28 +0000 (23:13 +0000)]
[V8] Remove #include V8BindingMacros.h
https://bugs.webkit.org/show_bug.cgi?id=93312

Reviewed by Eric Seidel.

We are factoring out V8Binding methods to separate files.
After the refactoring, V8Binding.h will include binding related
header files (e.g. V8BindingMacros.h, V8BindingHelper.h, etc), so that
custom V8 binding files just need to include V8Binding.h only.

We can remove '#include V8BindingMacros.h' from V8 binding files.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrSetter):
(GenerateParametersCheck):
(GenerateEventConstructorCallback):
(ConvertToV8Parameter):
* bindings/scripts/test/V8/V8Float64Array.cpp:
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
* bindings/scripts/test/V8/V8TestInterface.cpp:
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
* bindings/scripts/test/V8/V8TestObj.cpp:
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
* bindings/v8/ScriptController.cpp:
* bindings/v8/custom/V8BlobCustom.cpp:
* bindings/v8/custom/V8ConsoleCustom.cpp:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* bindings/v8/custom/V8DataViewCustom.cpp:
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
* bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
* bindings/v8/custom/V8DirectoryEntryCustom.cpp:
* bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
* bindings/v8/custom/V8IntentConstructor.cpp:
* bindings/v8/custom/V8MutationObserverCustom.cpp:
* bindings/v8/custom/V8PerformanceCustom.cpp:
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
* bindings/v8/custom/V8SVGLengthCustom.cpp:
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
* bindings/v8/custom/V8WebKitAnimationCustom.cpp:
* bindings/v8/custom/V8WorkerContextCustom.cpp:

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

7 years ago[Chromium] Clean up WebScriptController.h comments
mihaip@chromium.org [Tue, 7 Aug 2012 22:58:34 +0000 (22:58 +0000)]
[Chromium] Clean up WebScriptController.h comments
https://bugs.webkit.org/show_bug.cgi?id=93399

Reviewed by Adam Barth.

Remove references to overloaded WebScriptController::registerExtension
variants. They were removed in r68666.

* public/WebScriptController.h:
(WebScriptController):

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

7 years ago[V8] Remove #include Frame.h from V8Binding.h
haraken@chromium.org [Tue, 7 Aug 2012 22:56:02 +0000 (22:56 +0000)]
[V8] Remove #include Frame.h from V8Binding.h
https://bugs.webkit.org/show_bug.cgi?id=93326

Reviewed by Adam Barth.

We want to remove unnecessary #include in V8Binding.h
to avoid circular include dependency.

No tests. No change in behavior.

Source/WebCore:

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
(GenerateNormalAttrGetter):
(GenerateReplaceableAttrSetter):
(GenerateFunctionCallback):
(GenerateNamedConstructorCallback):
(GenerateToV8Converters):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
* bindings/scripts/test/V8/V8TestNode.cpp:
* bindings/v8/ScheduledAction.cpp:
* bindings/v8/V8Binding.h:
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/custom/V8DocumentCustom.cpp:
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
* testing/v8/WebCoreTestSupport.cpp:

Source/WebKit/chromium:

* src/WebBindings.cpp:

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

7 years agoRefactor magic numbers in the ARM port of DFG-JIT
commit-queue@webkit.org [Tue, 7 Aug 2012 22:55:04 +0000 (22:55 +0000)]
Refactor magic numbers in the ARM port of DFG-JIT
https://bugs.webkit.org/show_bug.cgi?id=93348

Patch by Gabor Ballabas <gaborb@inf.u-szeged.hu> on 2012-08-07
Reviewed by Eric Seidel.

Introduce new names for hard-coded magic numbers.
Refactor constant with confusing names to more descriptive ones.

* assembler/ARMAssembler.cpp:
(JSC::ARMAssembler::patchConstantPoolLoad):
(JSC::ARMAssembler::getOp2):
(JSC::ARMAssembler::genInt):
(JSC::ARMAssembler::getImm):
(JSC::ARMAssembler::moveImm):
(JSC::ARMAssembler::encodeComplexImm):
(JSC::ARMAssembler::dataTransfer32):
(JSC::ARMAssembler::dataTransfer16):
(JSC::ARMAssembler::dataTransferFloat):
(JSC::ARMAssembler::executableCopy):
* assembler/ARMAssembler.h:
(JSC::ARMAssembler::emitInstruction):
(JSC::ARMAssembler::ands_r):
(JSC::ARMAssembler::eors_r):
(JSC::ARMAssembler::subs_r):
(JSC::ARMAssembler::rsbs_r):
(JSC::ARMAssembler::adds_r):
(JSC::ARMAssembler::adcs_r):
(JSC::ARMAssembler::sbcs_r):
(JSC::ARMAssembler::rscs_r):
(JSC::ARMAssembler::tst_r):
(JSC::ARMAssembler::teq_r):
(JSC::ARMAssembler::cmp_r):
(JSC::ARMAssembler::cmn_r):
(JSC::ARMAssembler::orrs_r):
(JSC::ARMAssembler::movs_r):
(JSC::ARMAssembler::bics_r):
(JSC::ARMAssembler::mvns_r):
(JSC::ARMAssembler::muls_r):
(JSC::ARMAssembler::ldr_imm):
(JSC::ARMAssembler::ldr_un_imm):
(JSC::ARMAssembler::dtr_u):
(JSC::ARMAssembler::dtr_ur):
(JSC::ARMAssembler::dtr_dr):
(JSC::ARMAssembler::dtrh_u):
(JSC::ARMAssembler::dtrh_ur):
(JSC::ARMAssembler::fdtr_u):
(JSC::ARMAssembler::push_r):
(JSC::ARMAssembler::pop_r):
(JSC::ARMAssembler::getLdrImmAddress):
(JSC::ARMAssembler::getLdrImmAddressOnPool):
(JSC::ARMAssembler::patchConstantPoolLoad):
(JSC::ARMAssembler::repatchCompact):
(JSC::ARMAssembler::replaceWithJump):
(JSC::ARMAssembler::replaceWithLoad):
(JSC::ARMAssembler::replaceWithAddressComputation):
(JSC::ARMAssembler::getOp2Byte):
(JSC::ARMAssembler::getOp2Half):
(JSC::ARMAssembler::getImm16Op2):
(JSC::ARMAssembler::placeConstantPoolBarrier):
(JSC::ARMAssembler::getConditionalField):
* assembler/MacroAssemblerARM.cpp:
(JSC::MacroAssemblerARM::load32WithUnalignedHalfWords):
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::and32):
(JSC::MacroAssemblerARM::branch32):
(JSC::MacroAssemblerARM::branchTest32):
(JSC::MacroAssemblerARM::branchTruncateDoubleToInt32):

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

7 years ago[V8] Factor out V8Binding classes that manage V8 value's cache
haraken@chromium.org [Tue, 7 Aug 2012 22:53:23 +0000 (22:53 +0000)]
[V8] Factor out V8Binding classes that manage V8 value's cache
https://bugs.webkit.org/show_bug.cgi?id=93343

Reviewed by Adam Barth.

We are factoring out V8Binding methods to separate files.
This patch moves V8Binding classes that manage V8 value's cache
to V8ValueCache.{h,cpp}.

No tests. No change in behavior.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/V8Binding.cpp:
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8ValueCache.cpp: Added.
(WebCore):
(WebCore::makeExternalString):
(WebCore::cachedStringCallback):
(WebCore::StringCache::remove):
(WebCore::StringCache::v8ExternalStringSlow):
(WebCore::IntegerCache::createSmallIntegers):
(WebCore::IntegerCache::~IntegerCache):
* bindings/v8/V8ValueCache.h: Added.
(WebCore):
(StringCache):
(WebCore::StringCache::StringCache):
(WebCore::StringCache::v8ExternalString):
(WebCore::StringCache::clearOnGC):
(WebCoreStringResource):
(WebCore::WebCoreStringResource::WebCoreStringResource):
(WebCore::WebCoreStringResource::~WebCoreStringResource):
(WebCore::WebCoreStringResource::data):
(WebCore::WebCoreStringResource::length):
(WebCore::WebCoreStringResource::webcoreString):
(WebCore::WebCoreStringResource::atomicString):
(WebCore::WebCoreStringResource::visitStrings): This method is used by inspector
and thus is not performance-critical. To avoid circular #include dependency,
I moved the implementation to cpp.
(WebCore::WebCoreStringResource::toStringResource):
(IntegerCache):
(WebCore::IntegerCache::IntegerCache):
(WebCore::IntegerCache::v8Integer):
(WebCore::IntegerCache::v8UnsignedInteger):

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

7 years agotest-webkitpy hangs in a new checkout on snow leopard
dpranke@chromium.org [Tue, 7 Aug 2012 22:39:26 +0000 (22:39 +0000)]
test-webkitpy hangs in a new checkout on snow leopard
https://bugs.webkit.org/show_bug.cgi?id=93301

Reviewed by Ryosuke Niwa.

This change works around what appears to be a bug in Python
2.6.1 (the version that ships on Mac Snow Leopard) that causes
the multiprocessing module to hang after we use the
autoinstaller; I'm guessing it's some sort of python sockets
issue. I was unable to reproduce this with 2.6.5 or newer
versions of Python.

* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller.install):
* Scripts/webkitpy/test/main.py:
(Tester._run_tests):
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_mechanize):
(AutoinstallImportHook._install_pep8):
(AutoinstallImportHook._install_pylint):
(AutoinstallImportHook._install_buildbot):
(AutoinstallImportHook._install_coverage):
(AutoinstallImportHook._install_eliza):
(AutoinstallImportHook._install_irc):
(AutoinstallImportHook._install_webpagereplay):
(AutoinstallImportHook._install):
(autoinstall_everything):

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

7 years ago[chromium] Switch PlatformLayer typedef to Platform API type for PLATFORM(CHROMIUM)
jamesr@google.com [Tue, 7 Aug 2012 22:30:09 +0000 (22:30 +0000)]
[chromium] Switch PlatformLayer typedef to Platform API type for PLATFORM(CHROMIUM)
https://bugs.webkit.org/show_bug.cgi?id=93335

Reviewed by Adrienne Walker.

Source/Platform:

Add APIs to control scrolling behavior on WebScrollableLayer.

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

Source/WebCore:

This converts the PlatformLayer typedef to WebKit::WebLayer (part of the chromium Platform API) for the
Chromium port. This involves some odd const_cast<>s in places since cross-platform interfaces assume that
PlatformLayer is a potentially heavy implementation class, but WebLayer is a thin smart pointer type.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
* platform/graphics/PlatformLayer.h:
(WebKit):
(WebCore):
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::layer):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBufferPrivate::layer):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::removeFromParent):
(WebCore::GraphicsLayerChromium::setDrawsContent):
(WebCore::GraphicsLayerChromium::setContentsVisible):
(WebCore::GraphicsLayerChromium::setMaskLayer):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::primaryLayer):
(WebCore::GraphicsLayerChromium::platformLayer):
(WebCore::GraphicsLayerChromium::updateChildList):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(GraphicsLayerChromium):

Source/WebKit/chromium:

Update for new PlatformLayer typedef. This removes knowledge of WebCore::LayerChromium from all classes
except for NonCompositedContentHost, which still punches through for a few minor APIs that I'll address
in a separate patch.

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
(WebKit::NonCompositedContentHost::setScrollLayer):
(WebKit::NonCompositedContentHost::scrollLayer):
(WebKit::NonCompositedContentHost::notifySyncRequired):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::platformLayer):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::platformLayer):
* src/WebPluginContainerImpl.h:
(WebCore):
(WebPluginContainerImpl):
* src/WebScrollableLayer.cpp:
(WebKit::WebScrollableLayer::setNonFastScrollableRegion):
(WebKit):
(WebKit::WebScrollableLayer::setIsContainerForFixedPositionLayers):
(WebKit::WebScrollableLayer::setFixedToContainerLayer):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setRootGraphicsLayer):
* tests/Canvas2DLayerBridgeTest.cpp:
* tests/GraphicsLayerChromiumTest.cpp:
(WebKitTests::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
(WebKitTests::TEST_F):

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

7 years ago[chromium] Use WebCompositor interface in Platform API instead of CCProxy to query...
jamesr@google.com [Tue, 7 Aug 2012 22:01:42 +0000 (22:01 +0000)]
[chromium] Use WebCompositor interface in Platform API instead of CCProxy to query threaded compositor status
https://bugs.webkit.org/show_bug.cgi?id=93398

Reviewed by Adam Barth.

Source/Platform:

Adds thread status query interfaces to WebCompositor for WebKit code that wants to know if we are in threaded
mode.

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

Source/WebCore:

Converts non-compositor code that cares about threaded compositing status over to query WebCompositor instead of
CCProxy.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
* platform/chromium/support/WebCompositorImpl.cpp:
(WebKit):
(WebKit::WebCompositor::threadingEnabled):
(WebKit::WebCompositor::onCompositorThread):
(WebKit::WebCompositorImpl::threadingEnabled):
* platform/chromium/support/WebCompositorImpl.h:
(WebCompositorImpl):
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):

Source/WebKit/chromium:

Converts non-compositor code that cares about threaded compositing status over to query WebCompositor instead of
CCProxy.

* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::supportsType):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::composite):
(WebKit::WebViewImpl::scheduleAnimation):
(WebKit::WebViewImpl::scheduleComposite):

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

7 years agoKnob slot animation is flipped
andersca@apple.com [Tue, 7 Aug 2012 21:54:31 +0000 (21:54 +0000)]
Knob slot animation is flipped
https://bugs.webkit.org/show_bug.cgi?id=93396

Reviewed by Beth Dakin.

When painting the scrollbar knob slot, use rectForPart: since it correctly takes the expansion transition state into account.

* platform/mac/ScrollbarThemeMac.mm:
(WebCore::scrollbarPainterPaint):

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

7 years ago [Qt] New API tests introuduced in r119723 marked as fail, but pass
ossy@webkit.org [Tue, 7 Aug 2012 21:53:05 +0000 (21:53 +0000)]
   [Qt] New API tests introuduced in r119723 marked as fail, but pass
       https://bugs.webkit.org/show_bug.cgi?id=88870

Reviewed by Alexis Menard.

Revert r119723, because there are 2 failing tests, and the author and
the reviewer of the original patch ignore the bug report long time ago.

* UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Removed.

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

7 years agoUse the initialization from literal for JSC's Identifiers
benjamin@webkit.org [Tue, 7 Aug 2012 21:46:07 +0000 (21:46 +0000)]
Use the initialization from literal for JSC's Identifiers
https://bugs.webkit.org/show_bug.cgi?id=93193

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patches modify Identifier ot take advantage of the new initialization from literal.

In addition to the memory savings (~600bytes per instance), this gives us a 2% speed
improvement on CommonIdentifiers on average.

* runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::CommonIdentifiers):
Null and empty strings are forbidden for literal initialization. Use the most efficient constructors
instead of a literal.

* runtime/Identifier.cpp:
(IdentifierASCIIStringTranslator):
Rename IdentifierCStringTranslator to IdentifierASCIIStringTranslator to make the text encoding
explicit.
(JSC::IdentifierASCIIStringTranslator::hash):
(JSC::IdentifierASCIIStringTranslator::equal):
(JSC::IdentifierASCIIStringTranslator::translate): Use the fast initialization from literal.
(JSC::Identifier::add):
* runtime/Identifier.h:
(JSC::Identifier::Identifier):

Source/WTF:

* wtf/text/StringImpl.h: Update the names for the HashTranslator used by Identifier.

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

7 years agoShare http/tests/media/video-load-and-stall.cgi for other tests
hclam@chromium.org [Tue, 7 Aug 2012 21:36:49 +0000 (21:36 +0000)]
Share http/tests/media/video-load-and-stall.cgi for other tests
https://bugs.webkit.org/show_bug.cgi?id=93389

Reviewed by Eric Carlson.

Moving http/tests/media/video-laod-and-stall.cgi to
http/tests/resources/load-and-stall.cgi.

Also changes tests that use this file to point to the new location.

* http/tests/media/remove-while-loading.html:
* http/tests/media/video-play-stall-before-meta-data.html:
* http/tests/media/video-play-stall-seek.html:
* http/tests/media/video-play-stall.html:
* http/tests/resources/load-and-stall.cgi: Renamed from LayoutTests/http/tests/media/video-load-and-stall.cgi.
* http/tests/security/contentSecurityPolicy/media-src-allowed.html:
* http/tests/security/contentSecurityPolicy/media-src-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/media-src-blocked.html:
* platform/chromium/http/tests/security/contentSecurityPolicy/media-src-blocked-expected.txt:

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

7 years ago50% fixed position coverage slow scroll heuristic is incorrect when invalidations...
enne@google.com [Tue, 7 Aug 2012 21:33:31 +0000 (21:33 +0000)]
50% fixed position coverage slow scroll heuristic is incorrect when invalidations aren't clipped
https://bugs.webkit.org/show_bug.cgi?id=92011

Reviewed by Simon Fraser.

The heuristic in scrollContentsFastPath to slow scroll by invalidating
the entire frame if fixed position elements cover 50% of the frame
takes away the ability of ports to make their own decisions about how
to best handle invalidations. Therefore, remove this heuristic.

* page/FrameView.cpp:
(WebCore::FrameView::scrollContentsFastPath):

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

7 years ago[BlackBerry] Change how devicePixelRatio is set.
kpiascik@rim.com [Tue, 7 Aug 2012 21:31:32 +0000 (21:31 +0000)]
[BlackBerry] Change how devicePixelRatio is set.
https://bugs.webkit.org/show_bug.cgi?id=93385

Reviewed by Antonio Gomes.

Source/WebCore:

Update the theme to adjust to a constant devicePixelRatio.

Not testable.

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::determineFullScreenMultiplier):

Source/WebKit/blackberry:

Change devicePixelRatio to be set immediately after the page is created based
on the WebSetting.

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

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

7 years agoSource/Platform: [chromium] Move WebCompositor interface into Platform API
jamesr@google.com [Tue, 7 Aug 2012 21:23:37 +0000 (21:23 +0000)]
Source/Platform: [chromium] Move WebCompositor interface into Platform API
https://bugs.webkit.org/show_bug.cgi?id=93391

Reviewed by Adam Barth.

WebCompositor is logically part of the Platform API, along with WebLayerTreeView and the WebLayer types.

* chromium/public/WebCompositor.h: Renamed from Source/WebKit/chromium/public/WebCompositorClient.h.
(WebKit):
(WebCompositor):
(WebKit::WebCompositor::~WebCompositor):

Source/WebCore: [chromium] Move WebCompositor interface into Platform API
https://bugs.webkit.org/show_bug.cgi?id=93391

Reviewed by Adam Barth.

Moves the support files for WebCompositor into WebCore/platform/support/. CCThreadImpl is a helper class used
only by WebCompositorImpl.

Refactor/renaming only, so no new tests.

* WebCore.gypi:
* platform/chromium/support/CCThreadImpl.cpp: Renamed from Source/WebKit/chromium/src/CCThreadImpl.cpp.
(WebKit):
(GetThreadIDTask):
(WebKit::GetThreadIDTask::GetThreadIDTask):
(WebKit::GetThreadIDTask::~GetThreadIDTask):
(WebKit::GetThreadIDTask::run):
(CCThreadTaskAdapter):
(WebKit::CCThreadTaskAdapter::CCThreadTaskAdapter):
(WebKit::CCThreadTaskAdapter::~CCThreadTaskAdapter):
(WebKit::CCThreadTaskAdapter::run):
(WebKit::CCThreadImpl::create):
(WebKit::CCThreadImpl::~CCThreadImpl):
(WebKit::CCThreadImpl::postTask):
(WebKit::CCThreadImpl::postDelayedTask):
(WebKit::CCThreadImpl::threadID):
(WebKit::CCThreadImpl::CCThreadImpl):
* platform/chromium/support/CCThreadImpl.h: Renamed from Source/WebKit/chromium/src/CCThreadImpl.h.
(WebKit):
(CCThreadImpl):
* platform/chromium/support/WebCompositorImpl.cpp: Renamed from Source/WebKit/chromium/src/WebCompositorImpl.cpp.
(WebKit):
(WebKit::WebCompositor::initialize):
(WebKit::WebCompositor::shutdown):
(WebKit::WebCompositor::setPerTilePaintingEnabled):
(WebKit::WebCompositor::setPartialSwapEnabled):
(WebKit::WebCompositor::setAcceleratedAnimationEnabled):
(WebKit::WebCompositorImpl::initialize):
(WebKit::WebCompositorImpl::initialized):
(WebKit::WebCompositorImpl::shutdown):
* platform/chromium/support/WebCompositorImpl.h: Renamed from Source/WebKit/chromium/src/WebCompositorImpl.h.
(WebCore):
(WebKit):
(WebCompositorImpl):

Source/WebKit/chromium: [chromium] Move WebCompositor interface into Platform AP
https://bugs.webkit.org/show_bug.cgi?id=93391

Reviewed by Adam Barth.

* WebKit.gyp:
* public/WebCompositor.h:
* src/WebLayerTreeViewImpl.cpp:

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

7 years agoREGRESSION (r124723-r124741): 5 inspector/debugger tests failing on Apple Lion Debug...
dino@apple.com [Tue, 7 Aug 2012 20:33:59 +0000 (20:33 +0000)]
REGRESSION (r124723-r124741): 5 inspector/debugger tests failing on Apple Lion Debug WK1 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=93387

Unreviewed. Temporarily skipping failing tests on Mac.

* platform/mac/TestExpectations:

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

7 years agoCrash in ContainerNode::cloneChildNodes.
inferno@chromium.org [Tue, 7 Aug 2012 20:21:11 +0000 (20:21 +0000)]
Crash in ContainerNode::cloneChildNodes.
https://bugs.webkit.org/show_bug.cgi?id=93378

Reviewed by Levi Weintraub.

Source/WebCore:

Re-enabling the editing delete button controller in cloneChildNode was causing style changes,
thereby causing load events to fire. The load event can blow our nodes from underneath. This causes
crashes when we are nested inside cloneChildNodes. The patch just skips the delete button controller's
container element from being cloned and removes the hacky enable/disable logic.

Test: fast/dom/clone-node-load-event-crash.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::cloneChildNodes):

LayoutTests:

* fast/dom/clone-node-load-event-crash-expected.txt: Added.
* fast/dom/clone-node-load-event-crash.html: Added.

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

7 years ago[BlackBerry] [FullScreen] No need to scroll 'x' to 0 before entering fullscreen
tonikitoo@webkit.org [Tue, 7 Aug 2012 20:15:57 +0000 (20:15 +0000)]
[BlackBerry] [FullScreen] No need to scroll 'x' to 0 before entering fullscreen
https://bugs.webkit.org/show_bug.cgi?id=91750
PR #178293

Reviewed by Rob Buis.
Patchby Antonio Gomes <agomes@rim.com>

We are not adjusting the 'left' CSS property of the fullscreen wrapper
properly, so no need to scroll 'x' to 0 anymore.

Internally reviewed by Jacky Jiang.

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

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

7 years ago[BlackBerry][FullScreen] Remove the set/reset of touch modes code when entering/leavi...
tonikitoo@webkit.org [Tue, 7 Aug 2012 20:15:26 +0000 (20:15 +0000)]
[BlackBerry][FullScreen] Remove the set/reset of touch modes code when entering/leaving fullscreen
https://bugs.webkit.org/show_bug.cgi?id=92520
PR #184511

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>

Internally reviewed by Gen Mak.

Remove touch mode set/reset when entering/leaving fullscreen
for media elements through the new FULLSCREEN_API code path.
The client now handles it.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
(BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
* Api/WebPage_p.h:
(WebPagePrivate):

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

7 years ago[BlackBerry] Add missing include in FrameLoaderClienBlackBerry after Base64 moved.
kpiascik@rim.com [Tue, 7 Aug 2012 20:06:01 +0000 (20:06 +0000)]
[BlackBerry] Add missing include in FrameLoaderClienBlackBerry after Base64 moved.
https://bugs.webkit.org/show_bug.cgi?id=93383

Reviewed by Rob Buis.

Base64 moved from platform/text to wtf/text, need to add mssing
include.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

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

7 years ago[Chromium-Android][NRWT] Fix 2 FIXMEs in chromium_android.py
wangxianzhu@chromium.org [Tue, 7 Aug 2012 19:52:15 +0000 (19:52 +0000)]
[Chromium-Android][NRWT] Fix 2 FIXMEs in chromium_android.py
https://bugs.webkit.org/show_bug.cgi?id=93381

Reviewed by Adam Barth.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver.__init__):
(ChromiumAndroidDriver._push_executable): Remove temporary lines as the chromium change has been landed: http://src.chromium.org/viewvc/chrome?view=rev&revision=150371
(ChromiumAndroidDriver._setup_performance): Update all scaling governor files.
(ChromiumAndroidDriver._teardown_performance): Update all scaling governor files.

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

7 years agoGraphicsLayerAnimation shouldn't use HashMap<String>
noam.rosenthal@nokia.com [Tue, 7 Aug 2012 19:49:11 +0000 (19:49 +0000)]
GraphicsLayerAnimation shouldn't use HashMap<String>
https://bugs.webkit.org/show_bug.cgi?id=93284

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Use a vector containing all the animations instead of a map of String to Vector.
The HashMap contains very few elements, which makes it inefficient relatively to a vector.
This has been shown to be a bottleneck in valgrind.

Covered by existing animation tests.

* platform/graphics/GraphicsLayerAnimation.cpp:
(WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
(WebCore::GraphicsLayerAnimations::hasActiveAnimationsOfType):
(WebCore::GraphicsLayerAnimations::hasRunningAnimations):
(WebCore::GraphicsLayerAnimations::add):
(WebCore::GraphicsLayerAnimations::pause):
(WebCore::GraphicsLayerAnimations::remove):
(WebCore::GraphicsLayerAnimations::apply):
* platform/graphics/GraphicsLayerAnimation.h:
(GraphicsLayerAnimation):
(WebCore::GraphicsLayerAnimation::name):
(GraphicsLayerAnimations):
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::addAnimation):

Source/WebKit2:

Apply the changes to GraphicsLayerAnimation API.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::addAnimation):

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

7 years ago[Chromium] Unreviewed, TestExpectations update.
dimich@chromium.org [Tue, 7 Aug 2012 19:30:16 +0000 (19:30 +0000)]
[Chromium] Unreviewed, TestExpectations update.
https://bugs.webkit.org/show_bug.cgi?id=72039

* platform/chromium/TestExpectations: Adding back the possible failure that was removed in http://trac.webkit.org/changeset/124734

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

7 years ago[chromium] Add support to DumpRenderTree [EventSender] for GestureTapDown events.
wjmaclean@chromium.org [Tue, 7 Aug 2012 19:25:55 +0000 (19:25 +0000)]
[chromium] Add support to DumpRenderTree [EventSender] for GestureTapDown events.
https://bugs.webkit.org/show_bug.cgi?id=93286

Reviewed by James Robinson.

Tools:

Adds support to generate GestureTapDown events from EventSender, to facilitate
link highlighting layout tests.

Added a GestureTapEvent to one existing test, more tests to follow when LinkHighlight CLs start to land.

* DumpRenderTree/chromium/TestRunner/EventSender.cpp:
(EventSender::EventSender):
(EventSender::gestureTapDown):
(EventSender::gestureEvent):
* DumpRenderTree/chromium/TestRunner/EventSender.h:
(EventSender):

LayoutTests:

Adds support to generate GestureTapDown events from EventSender, to facilitate
link highlighting layout tests.

Added a GestureTapEvent to one existing test, more tests to follow when LinkHighlight CLs start to land.

* platform/chromium/plugins/gesture-events-expected.txt:
* platform/chromium/plugins/gesture-events.html:

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

7 years ago[BlackBerry] InspectorOverlay class duplicated in WebCore
kpiascik@rim.com [Tue, 7 Aug 2012 19:09:34 +0000 (19:09 +0000)]
[BlackBerry] InspectorOverlay class duplicated in WebCore
https://bugs.webkit.org/show_bug.cgi?id=93124

Reviewed by Rob Buis.

Source/WebKit:

Updated InspectorOverlay build path.

* PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

Moved files to better align with namespace names.

* WebKitSupport/InspectorOverlay.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/InspectorOverlay.cpp.
(WebKit):
(BlackBerry::WebKit::InspectorOverlay::create):
(BlackBerry::WebKit::InspectorOverlay::InspectorOverlay):
(BlackBerry::WebKit::InspectorOverlay::notifySyncRequired):
(BlackBerry::WebKit::InspectorOverlay::paintContents):
(BlackBerry::WebKit::InspectorOverlay::showDebugBorders):
(BlackBerry::WebKit::InspectorOverlay::showRepaintCounter):
(BlackBerry::WebKit::InspectorOverlay::~InspectorOverlay):
(BlackBerry::WebKit::InspectorOverlay::clear):
(BlackBerry::WebKit::InspectorOverlay::update):
* WebKitSupport/InspectorOverlay.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/InspectorOverlay.h.
(WebCore):
(WebKit):
(InspectorOverlay):
(InspectorOverlayClient):
(BlackBerry::WebKit::InspectorOverlay::setClient):
(BlackBerry::WebKit::InspectorOverlay::notifyAnimationStarted):

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

7 years ago[Qt] Add support for the Gamepad API
commit-queue@webkit.org [Tue, 7 Aug 2012 19:03:58 +0000 (19:03 +0000)]
[Qt] Add support for the Gamepad API
https://bugs.webkit.org/show_bug.cgi?id=90637

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-08-07
Reviewed by Alexis Menard.

Source/WebCore:

Adds support for Gamepad API on the Qt port.

The implementation of this class relies on the Linux
kernel joystick API.

Gamepad devices are recognized through the GamepadsQt
class, which uses the udev library to watch for connection,
disconnection and other gamepad related events.

Tests for this feature already exist.

* DerivedSources.pri:
* Target.pri:
* WebCore.pri:
* platform/qt/GamepadsQt.cpp: Added.
(WebCore):
(GamepadDeviceLinuxQt):
(WebCore::GamepadDeviceLinuxQt::create):
(WebCore::GamepadDeviceLinuxQt::GamepadDeviceLinuxQt):
(WebCore::GamepadDeviceLinuxQt::~GamepadDeviceLinuxQt):
(WebCore::GamepadDeviceLinuxQt::readCallback):
(GamepadsQt):
(WebCore::GamepadsQt::GamepadsQt):
(WebCore::GamepadsQt::~GamepadsQt):
(WebCore::GamepadsQt::isGamepadDevice):
(WebCore::GamepadsQt::onGamePadChange):
(WebCore::GamepadsQt::registerDevice):
(WebCore::GamepadsQt::unregisterDevice):
(WebCore::GamepadsQt::updateGamepadList):
(WebCore::sampleGamepads):

Tools:

If the libudev library is present, the GAMEPAD flag is
turned on by default for the Qt port.

* Scripts/webkitperl/FeatureList.pm:
* qmake/mkspecs/features/features.prf:

LayoutTests:

This does not unskip the gamepad tests for the Qt port, since the flag is
optional the test would not pass without it. The user may unskip it manually.

On the other hand, the gamepad-polling-access.html test is still expected
to fail because it requires additional test infrastructure.
See https://bugs.webkit.org/show_bug.cgi?id=92873

* platform/qt/TestExpectations:

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

7 years ago[BlackBerry] Turn on CSS Variables
rwlbuis@webkit.org [Tue, 7 Aug 2012 19:01:31 +0000 (19:01 +0000)]
[BlackBerry] Turn on CSS Variables
https://bugs.webkit.org/show_bug.cgi?id=93376

Reviewed by Antonio Gomes.

Turn on CSS Variables for BlackBerry port.

* Scripts/webkitperl/FeatureList.pm:

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

7 years agoREGRESSION(r124865): It broke the ARM Chromium build
ossy@webkit.org [Tue, 7 Aug 2012 18:55:54 +0000 (18:55 +0000)]
REGRESSION(r124865): It broke the ARM Chromium build
https://bugs.webkit.org/show_bug.cgi?id=93364

Patch by Joshua Bell <jsbell@chromium.org> on 2012-08-07
Reviewed by Csaba Osztrogon√°c.

Mark large constant with LL to satisfy a picky compiler.

* tests/IDBLevelDBCodingTest.cpp:
(IDBLevelDBCoding::TEST):

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

7 years agoreimplement fastMod w/o (soon to be) private skia macros
reed@google.com [Tue, 7 Aug 2012 18:44:44 +0000 (18:44 +0000)]
reimplement fastMod w/o (soon to be) private skia macros
https://bugs.webkit.org/show_bug.cgi?id=93370

Reviewed by Adrienne Walker.

fastMod() reimplemented (same functionality) to stop using soon-to-be private macros in
SkMath.h. The new version is functionally identical.

No new tests -- existing layouttests exercise GraphicsContext::strokeArc(), the only caller

* platform/graphics/skia/GraphicsContextSkia.cpp:

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

7 years agoMove test cases related to link prerender to Skipped list except for chromium port
gyuyoung.kim@samsung.com [Tue, 7 Aug 2012 18:44:16 +0000 (18:44 +0000)]
Move test cases related to link prerender to Skipped list except for chromium port
https://bugs.webkit.org/show_bug.cgi?id=93355

Reviewed by Adam Barth.

Below two test cases have tested by each port, which doesn't enable LINK_PRERENDER macro.
These test cases need to be moved to Skipped file until this feature is supported by each port.

fast/dom/HTMLLinkElement/prerender-insert-after-stop.html
fast/dom/HTMLLinkElement/prerender-remove-after-stop.html

* platform/efl/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:

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

7 years agoUnreviewed GTK gardening, adding back platform-specific expectations that
zandobersek@gmail.com [Tue, 7 Aug 2012 18:31:16 +0000 (18:31 +0000)]
Unreviewed GTK gardening, adding back platform-specific expectations that
somehow got removed in r124874.

* platform/gtk/fast/multicol/vertical-rl/nested-columns-expected.png: Added.
* platform/gtk/fast/multicol/vertical-rl/nested-columns-expected.txt: Added.

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