WebKit-https.git
7 years agoBUILD FIX (r146558): Call [super dealloc] from -[TinyDOMNode dealloc]
ddkilzer@apple.com [Fri, 22 Mar 2013 13:35:00 +0000 (13:35 +0000)]
BUILD FIX (r146558): Call [super dealloc] from -[TinyDOMNode dealloc]
<http://webkit.org/b/112608>

Fixes the following build failure:

    Source/JavaScriptCore/API/tests/testapi.mm:205:1: error: method possibly missing a [super dealloc] call [-Werror,-Wobjc-missing-super-calls]
    }
    ^
    1 error generated.

* API/tests/testapi.mm:
(-[TinyDOMNode dealloc]): Call [super dealloc].

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

7 years agoBUILD FIX (r146208): Export shouldPrintExceptions methods for iOS
ddkilzer@apple.com [Fri, 22 Mar 2013 13:27:23 +0000 (13:27 +0000)]
BUILD FIX (r146208): Export shouldPrintExceptions methods for iOS

Fixes the following build failure:

    Undefined symbols for architecture i386:
      "__ZN7WebCore11PageConsole24setShouldPrintExceptionsEb", referenced from:
            +[WebCoreStatistics setShouldPrintExceptions:] in WebCoreStatistics.o
      "__ZN7WebCore11PageConsole21shouldPrintExceptionsEv", referenced from:
            +[WebCoreStatistics shouldPrintExceptions] in WebCoreStatistics.o
    ld: symbol(s) not found for architecture i386
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

* WebCore.exp.in: Move symbols so they're exported for iOS as
well.

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

7 years ago[BlackBerry] Add custom BackForwardList client implementation
commit-queue@webkit.org [Fri, 22 Mar 2013 13:18:22 +0000 (13:18 +0000)]
[BlackBerry] Add custom BackForwardList client implementation
https://bugs.webkit.org/show_bug.cgi?id=113024

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-22
Reviewed by Rob Buis.

PR 310030
Internally reviewed by Joe Mason.

Source/WebKit:

* PlatformBlackBerry.cmake: Add new files to compilation.

Source/WebKit/blackberry:

Adds a new class BackForwardListBlackBerry that implements
BackForwardList client and wraps the BackForwardListImpl including
the BlackBerry specific changes to notify the API layer when the
BackForwardList changes.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init): Create a
BackForwardListBlackBerry.
(BlackBerry::WebKit::WebPage::getBackForwardList): Use
BackForwardListBlackBerry instead of BackForwardListImpl.
(BlackBerry::WebKit::WebPage::clearBackForwardList): Ditto.
* WebCoreSupport/BackForwardListBlackBerry.cpp: Added.
(WebCore):
(WebCore::BackForwardListBlackBerry::BackForwardListBlackBerry):
(WebCore::BackForwardListBlackBerry::~BackForwardListBlackBerry):
(WebCore::BackForwardListBlackBerry::current):
(WebCore::BackForwardListBlackBerry::notifyBackForwardListChanged):
(WebCore::BackForwardListBlackBerry::addItem):
(WebCore::BackForwardListBlackBerry::goToItem):
(WebCore::BackForwardListBlackBerry::itemAtIndex):
(WebCore::BackForwardListBlackBerry::backListCount):
(WebCore::BackForwardListBlackBerry::forwardListCount):
(WebCore::BackForwardListBlackBerry::isActive):
(WebCore::BackForwardListBlackBerry::close):
(WebCore::BackForwardListBlackBerry::clear):
(WebCore::BackForwardListBlackBerry::entries):
(WebCore::BackForwardListBlackBerry::currentItem):
* WebCoreSupport/BackForwardListBlackBerry.h: Added.
(WebKit):
(WebCore):
(BackForwardListBlackBerry):
(WebCore::BackForwardListBlackBerry::create):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
* WebCoreSupport/FrameLoaderClientBlackBerry.h:
(FrameLoaderClientBlackBerry):

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

7 years ago[kn] Kannada Translation for webkit
kov@webkit.org [Fri, 22 Mar 2013 12:29:21 +0000 (12:29 +0000)]
[kn] Kannada Translation for webkit
https://bugs.webkit.org/show_bug.cgi?id=106301

Patch by Shankar Prasad <svenkate@redhat.com> on 2013-03-22
Reviewed by Gustavo Noronha Silva (kov).

* kn.po: Added.

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

7 years ago[Qt] Fix the TestWebKitAPI build
jocelyn.turcotte@digia.com [Fri, 22 Mar 2013 12:24:48 +0000 (12:24 +0000)]
[Qt] Fix the TestWebKitAPI build
https://bugs.webkit.org/show_bug.cgi?id=113044

Reviewed by Tor Arne Vestbø.

The generate-forwarding-headers script would only be run
after the targets in InjectedBundle.pri since the second
addStrictSubdirOrderBetween call in
Tools/TestWebKitAPI/TestWebKitAPI.pro would overwrite
the derived_sources -> injected_bundle order in SUBDIRS.

Fix it by only moving the dependent target at the end of
SUBDIRS, don't touch its dependency.

* qmake/mkspecs/features/functions.prf:

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

7 years agoUnreviewed. Fix Chromium Win compilation after r146583.
yurys@chromium.org [Fri, 22 Mar 2013 12:14:09 +0000 (12:14 +0000)]
Unreviewed. Fix Chromium Win compilation after r146583.

* bindings/v8/CustomElementHelpers.cpp:
(WebCore::CustomElementHelpers::invokeReadyCallbackIfNeeded):

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

7 years agoWeb Inspector: Flame Chart. Chart has to be zoomed around the mouse pointer.
loislo@chromium.org [Fri, 22 Mar 2013 12:04:53 +0000 (12:04 +0000)]
Web Inspector: Flame Chart. Chart has to be zoomed around the mouse pointer.
https://bugs.webkit.org/show_bug.cgi?id=113031

Reviewed by Yury Semikhatsky.

Overview grid is able to zoom around the mouse pointer.
So the simplest way is to translate x coordinate of the mouse pointer hovered over the chart
to x coordinate in term of overview window and pass it to the zoom function.

Minor unrelated fix: draw small border at bottom of the overview grid.

* inspector/front-end/FlameChart.js:
(WebInspector.FlameChart.prototype._onMouseWheel):
* inspector/front-end/OverviewGrid.js:
(WebInspector.OverviewGrid.prototype.zoom):
* inspector/front-end/flameChart.css:
(#flame-chart-overview-container):

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

7 years ago[Texmap] TextureMapperImageBuffer should not use rendering code for filters.
commit-queue@webkit.org [Fri, 22 Mar 2013 11:58:21 +0000 (11:58 +0000)]
[Texmap] TextureMapperImageBuffer should not use rendering code for filters.
https://bugs.webkit.org/show_bug.cgi?id=113040

Patch by No'am Rosenthal <noam@webkit.org> on 2013-03-22
Reviewed by Kenneth Rohde Christiansen.

Disable TextureMapperImageBuffer filters, until they can be done the right way.
This should only disrupt accelerated filters in fallback mode, which is a very rare
use case.

No new testable functionality.

* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::applyFilters):

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

7 years ago[Qt] Unreviewed gardening. Rebaselining after r146469 and r146531. Cleaning up duplic...
zarvai@inf.u-szeged.hu [Fri, 22 Mar 2013 11:54:23 +0000 (11:54 +0000)]
[Qt] Unreviewed gardening. Rebaselining after r146469 and r146531. Cleaning up duplicated expecteds.

* platform/qt-5.0-wk1/compositing/iframes/iframe-size-from-zero-expected.txt:
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt: Removed.
* platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-absolute-overflow-expected.png: Removed.
* platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.png: Removed.
* platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-fixed-overflow-expected.png: Removed.
* platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.png: Removed.
* platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt: Removed.
* platform/qt/compositing/rtl/rtl-iframe-absolute-overflow-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-absolute-overflow-expected.png.
* platform/qt/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt: Renamed from LayoutTests/platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt.
* platform/qt/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.png.
* platform/qt/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt: Renamed from LayoutTests/platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt.
* platform/qt/compositing/rtl/rtl-iframe-fixed-overflow-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-fixed-overflow-expected.png.
* platform/qt/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt: Renamed from LayoutTests/platform/qt-5.0-wk2/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt.
* platform/qt/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.png.
* platform/qt/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt: Renamed from LayoutTests/platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt.
* platform/qt/css3/filters/effect-reference-expected.txt:

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

7 years agoWeb Inspector: Report more CSS errors
commit-queue@webkit.org [Fri, 22 Mar 2013 11:26:57 +0000 (11:26 +0000)]
Web Inspector: Report more CSS errors
https://bugs.webkit.org/show_bug.cgi?id=113022

Patch by Sergey Ryazanov <serya@chromium.org> on 2013-03-22
Reviewed by Pavel Feldman.

Source/WebCore:

Reporting next few CSS syntax errors in declaration_list.

* css/CSSGrammar.y.in:

LayoutTests:

* inspector/console/console-css-warnings-expected.txt:
* inspector/console/console-css-warnings.html:

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

7 years agoWeb Inspector: use individual samples to construct CPU profile flame chart
yurys@chromium.org [Fri, 22 Mar 2013 11:00:50 +0000 (11:00 +0000)]
Web Inspector: use individual samples to construct CPU profile flame chart
https://bugs.webkit.org/show_bug.cgi?id=112569

Reviewed by Pavel Feldman.

Added an optional array of samples to the CPU profile returned over the
protocol. Each sample is id of the profile node corresponding to the top frame
of the sample's stack trace. The array of samples if present is used to draw
the flame chart on the CPU profile panel, otherwise flame chart is drawn based
on the aggregated profile data.

* bindings/js/ScriptProfile.cpp:
(WebCore::ScriptProfile::buildInspectorObjectForSamples):
* bindings/js/ScriptProfile.h:
(ScriptProfile):
* bindings/v8/ScriptProfile.cpp:
(WebCore::buildInspectorObjectFor):
(WebCore):
(WebCore::ScriptProfile::buildInspectorObjectForSamples):
* bindings/v8/ScriptProfile.h:
(ScriptProfile):
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::start):
* inspector/Inspector.json:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::getCPUProfile):
* inspector/front-end/CPUProfileView.js:
(WebInspector.CPUProfileView.prototype._getCPUProfileCallback):
(WebInspector.CPUProfileView.prototype._buildIdToNodeMap):
* inspector/front-end/FlameChart.js:
(WebInspector.FlameChart.prototype._calculateTimelineData):

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

7 years agoCannot run All Source (target WebProcess) on Xcode.
commit-queue@webkit.org [Fri, 22 Mar 2013 10:34:33 +0000 (10:34 +0000)]
Cannot run All Source (target WebProcess) on Xcode.
https://bugs.webkit.org/show_bug.cgi?id=111042

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2013-03-22
Reviewed by Alexey Proskuryakov.

WebProcessShim is renamed by r139066.
However, WebProcessShim is not renamed to SecItemShim in WebKit.xcworkspace.
This make WebProcess.app load WebProcessShim.dylib, and it cause dyld loading error.

* WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme: Renamed WebProcessShim to SecItemShim.

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

7 years agoUse generated bindings for the Coordinates type used by Geolocation
commit-queue@webkit.org [Fri, 22 Mar 2013 10:08:55 +0000 (10:08 +0000)]
Use generated bindings for the Coordinates type used by Geolocation
https://bugs.webkit.org/show_bug.cgi?id=112975

Patch by Steve Block <steveblock@chromium.org> on 2013-03-22
Reviewed by Kentaro Hara.

No new tests, refactoring only.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/geolocation/Coordinates.cpp: Renamed from Source/WebCore/bindings/js/JSCoordinatesCustom.cpp.
(WebCore):
(WebCore::Coordinates::altitude):
(WebCore::Coordinates::altitudeAccuracy):
(WebCore::Coordinates::heading):
(WebCore::Coordinates::speed):
* Modules/geolocation/Coordinates.h:
(Coordinates):
* Modules/geolocation/Coordinates.idl:
* Target.pri:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/v8/custom/V8CoordinatesCustom.cpp: Removed.

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

7 years agoINPUT_MULTIPLE_FIELDS_UI: Incomplete datetime format should fallback to default
commit-queue@webkit.org [Fri, 22 Mar 2013 10:04:16 +0000 (10:04 +0000)]
INPUT_MULTIPLE_FIELDS_UI: Incomplete datetime format should fallback to default
https://bugs.webkit.org/show_bug.cgi?id=113005

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2013-03-22
Reviewed by Kent Tamura.

Source/WebCore:

Use fallback format when datetime format from locale is not complete.

Tests: fast/forms/date-multiple-fields/date-multiple-fields-fallback-format.html
       fast/forms/datetime-multiple-fields/datetime-multiple-fields-fallback-format.html
       fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-fallback-format.html
       fast/forms/month-multiple-fields/month-multiple-fields-fallback-format.html
       fast/forms/time-multiple-fields/time-multiple-fields-fallback-format.html
       fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html

* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(DateTimeFormatValidator): A helper class that parses datetime format and tests existence of fields.
(WebCore::DateTimeFormatValidator::DateTimeFormatValidator):
(WebCore::DateTimeFormatValidator::visitField):
(WebCore::DateTimeFormatValidator::validateFormat): Parses datetime format and validates by calling BaseMultipleFieldsDateAndTimeInputType::isValidFormat.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Checks if dateTimeFormat is valid, and uses fallback format if not.
* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType): Declare isValidFormat.
* html/DateInputType.cpp:
(WebCore::DateInputType::isValidFormat): Added.
* html/DateInputType.h:
(DateInputType):
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::isValidFormat): Added.
* html/DateTimeInputType.h:
(DateTimeInputType):
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::isValidFormat): Added.
* html/DateTimeLocalInputType.h:
(DateTimeLocalInputType):
* html/MonthInputType.cpp:
(WebCore::MonthInputType::isValidFormat): Added.
* html/MonthInputType.h:
(MonthInputType):
* html/TimeInputType.cpp:
(WebCore::TimeInputType::isValidFormat): Added.
* html/TimeInputType.h:
(TimeInputType):
* html/WeekInputType.cpp:
(WebCore::WeekInputType::isValidFormat): Added.
* html/WeekInputType.h:
(WeekInputType):

LayoutTests:

* fast/forms/date-multiple-fields/date-multiple-fields-fallback-format-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-fallback-format.html: Added.
* fast/forms/datetime-multiple-fields/datetime-multiple-fields-fallback-format-expected.txt: Added.
* fast/forms/datetime-multiple-fields/datetime-multiple-fields-fallback-format.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-fallback-format-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-fallback-format.html: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-fallback-format-expected.txt: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-fallback-format.html: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-fallback-format-expected.txt: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-fallback-format.html: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-fallback-format-expected.txt: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html: Added.

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

7 years agoCustom Elements: "readyCallback" lifecycle callback should be called.
morrita@google.com [Fri, 22 Mar 2013 09:54:06 +0000 (09:54 +0000)]
Custom Elements: "readyCallback" lifecycle callback should be called.
https://bugs.webkit.org/show_bug.cgi?id=112538

Reviewed by Elliott Sprehn.

Source/WebCore:

This change allows each custom element definition to hook up its instantiation,
namely "readyCallback" lifecycle callback.

The change has two parts:
- 1. Tracking which Element objects to be created.
- 2. Invoking appropriate JavaScript functions, which are readyCallback(),
  before the Element object is visible from page script.

For 1, CustomElementRegistry maintains list of "callback
invocaions".  Each list item ("invocation") tracks the element
which has a lifecycle callback to be invoked. Each invocation is
registered when - Any custom element C++ object is instantiated.
See changes on CustomElementConstructor.cpp.

This also happens when @is attribute is set by the parser or node
cloning routine, which can turn a non-custom element into a
type-extended custom element. See changes on Element.cpp.

For 2, CustomElementRegistry basically follows what
MutationObserver is doing, and introduces a method called
deliverLifecycleCallbacks(). This function flushes all pending
callback invocations. You can think it as a dual of
MutationObserver::deliverAllMutations().

The delivery function is called places where MutationObserver's
deliverAllMutations() is called. In addition, it is also called
just before returning from a set of DOM APIs. For example, it is
called just before createElement() returns, so that possibly
created custom element becomes ready through its readyCallback().
Such APIs get "V8DeliverCustomElementCallbacks" IDL attribute. In
principle, APIs which can create new custom element instnaces are
marked. See CustomElementRegistry::CallbackDeliveryScope and
changes on CodeGeneratorV8.pm.

We need this extra work because the readyCallback() needs to give
an illusion so that JavaScript programmers feel like the
readyCallback() callback being called just after it is created,
instead of called on arbitrary late timing like MutationObserver
notifications.

Tests: fast/dom/custom/lifecycle-ready-createElement-recursion.html
       fast/dom/custom/lifecycle-ready-createElement-reentrancy.html
       fast/dom/custom/lifecycle-ready-creation-api.html
       fast/dom/custom/lifecycle-ready-innerHTML.html
       fast/dom/custom/lifecycle-ready-parser-only.html
       fast/dom/custom/lifecycle-ready-parser-script.html
       fast/dom/custom/lifecycle-ready-paste.html

* bindings/scripts/CodeGeneratorV8.pm:
- Hooked up CallbackDeliveryScope through V8DeliverCustomElementCallbacks attriute.
(GenerateCustomElementInvocationScopeIfNeeded):
(GenerateNormalAttrSetter):
(GenerateFunction):
* bindings/scripts/IDLAttributes.txt:
* bindings/v8/CustomElementHelpers.cpp:
(WebCore::CustomElementHelpers::invokeReadyCallbackIfNeeded):
(WebCore::CustomElementHelpers::invokeReadyCallbacksIfNeeded):
* bindings/v8/CustomElementHelpers.h:
(CustomElementHelpers):
* bindings/v8/V8RecursionScope.cpp: Added deliverAllLifecycleCallbacks()
(WebCore::V8RecursionScope::didLeaveScriptContext):
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::createElement):
(WebCore::CustomElementConstructor::createElementInternal):
* dom/CustomElementConstructor.h:
(WebCore::CustomElementConstructor::isExtended):
(CustomElementConstructor):
* dom/CustomElementRegistry.cpp: Adding element tracking and invocation execution.
(WebCore::CustomElementInvocation::CustomElementInvocation):
(WebCore::CustomElementInvocation::~CustomElementInvocation):
(WebCore::activeCustomElementRegistries):
(WebCore::CustomElementRegistry::~CustomElementRegistry):
(WebCore::CustomElementRegistry::didGiveTypeExtension):
(WebCore::CustomElementRegistry::didCreateElement):
(WebCore::CustomElementRegistry::activate):
(WebCore::CustomElementRegistry::deactivate):
(WebCore::CustomElementRegistry::deliverLifecycleCallbacks):
(WebCore::CustomElementRegistry::deliverAllLifecycleCallbacks):
* dom/CustomElementRegistry.h:
(CustomElementInvocation):
(WebCore::CustomElementInvocation::element):
(CallbackDeliveryScope):
(WebCore::CustomElementRegistry::CallbackDeliveryScope::CallbackDeliveryScope):
(WebCore::CustomElementRegistry::CallbackDeliveryScope::~CallbackDeliveryScope):
(CustomElementRegistry):
(WebCore::CustomElementRegistry::deliverAllLifecycleCallbacksIfNeeded):
* dom/Document.cpp:
(WebCore::Document::createElement):
(WebCore::Document::didCreateCustomElement):
* dom/Document.h:
(Document):
* dom/Document.idl:
* dom/Element.cpp:
(WebCore::Element::attributeChangedFromParserOrByCloning): Added to catch @is attribute
(WebCore::Element::parserSetAttributes):
(WebCore::Element::cloneAttributesFromElement):
* dom/Element.h:
* dom/Node.idl:
* dom/ShadowRoot.idl:
* html/HTMLElement.idl:
* html/parser/HTMLScriptRunner.cpp: Added deliverAllLifecycleCallbacks()
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::runScript):

Source/WebKit/chromium:

* src/WebKit.cpp: Added deliverAllLifecycleCallbacks()

Source/WTF:

* wtf/HashSet.h:
(WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.

LayoutTests:

* fast/dom/custom/lifecycle-ready-createElement-recursion-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-createElement-recursion.html: Added.
* fast/dom/custom/lifecycle-ready-createElement-reentrancy-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-createElement-reentrancy.html: Added.
* fast/dom/custom/lifecycle-ready-creation-api-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-creation-api.html: Added.
* fast/dom/custom/lifecycle-ready-innerHTML-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-innerHTML.html: Added.
* fast/dom/custom/lifecycle-ready-parser-only-expected.html: Added.
* fast/dom/custom/lifecycle-ready-parser-only.html: Added.
* fast/dom/custom/lifecycle-ready-parser-script-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-parser-script.html: Added.
* fast/dom/custom/lifecycle-ready-paste-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-paste.html: Added.

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

7 years agoMediaStream API: Finalize the RTCPeerConnection states
tommyw@google.com [Fri, 22 Mar 2013 09:29:37 +0000 (09:29 +0000)]
MediaStream API: Finalize the RTCPeerConnection states
https://bugs.webkit.org/show_bug.cgi?id=112792

Reviewed by Adam Barth.

Source/Platform:

* chromium/public/WebRTCPeerConnectionHandlerClient.h:

Source/WebCore:

This patch finalized the RTCPeerConnection state and events. These changes
have not yet pushed out to the editors draft; but they are uncontroversial
and agreed upon.

readyState will be deleted; please use the replacement signalingState which is already available.
onstatechange -> onsignalingstatechange
onicechange -> oniceconnectionstatechange
ongatheringchange will be deleted since oniceconnectionstatechange can be used for the same purpose.
RTCIceConnectionState::"starting" -> RTCIceConnectionState::"new"

Patch covered by modified tests.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::iceConnectionState):
(WebCore::RTCPeerConnection::changeSignalingState):
(WebCore::RTCPeerConnection::changeIceGatheringState):
(WebCore::RTCPeerConnection::changeIceConnectionState):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.idl:
* dom/EventNames.h:
(WebCore):
* platform/mediastream/RTCPeerConnectionHandlerClient.h:

Source/WebKit/chromium:

* src/AssertMatchingEnums.cpp:

LayoutTests:

* fast/mediastream/RTCPeerConnection-datachannel.html:
* fast/mediastream/RTCPeerConnection-dtmf.html:
* fast/mediastream/RTCPeerConnection-events-expected.txt:
* fast/mediastream/RTCPeerConnection-events.html:
* fast/mediastream/RTCPeerConnection-ice.html:
* fast/mediastream/RTCPeerConnection-state-expected.txt:
* fast/mediastream/RTCPeerConnection-state.html:

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

7 years ago[EFL][WK2] View is not focused when fullscreen mode toggled
commit-queue@webkit.org [Fri, 22 Mar 2013 09:23:41 +0000 (09:23 +0000)]
[EFL][WK2] View is not focused when fullscreen mode toggled
https://bugs.webkit.org/show_bug.cgi?id=113009

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-03-22
Reviewed by Laszlo Gombos.

Set focus on view when fullscreen mode enabled/disabled
by FullScreen API.

* MiniBrowser/efl/main.c:
(on_fullscreen_accept):
(on_fullscreen_deny):

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

7 years agoPrefer 'KURL(ParsedURLString, String)' when dealing with known-good data.
mkwst@chromium.org [Fri, 22 Mar 2013 09:20:46 +0000 (09:20 +0000)]
Prefer 'KURL(ParsedURLString, String)' when dealing with known-good data.
https://bugs.webkit.org/show_bug.cgi?id=112965

Reviewed by Alexey Proskuryakov.

In https://bugs.webkit.org/show_bug.cgi?id=112783#c6, Adam noted that
it would be possible to use 'KURL(ParsedURLString, [url])' rather than
'KURL(KURL(), [url])', since we knew that the URL in question is a
value and absolute URL. This patch fixes the obvious instances of this
pattern; there are several more 'KURL(KURL(), String)' calls in
WebCore but these were the only places I was reasonably sure that bad
data couldn't creep in.

* dom/Document.cpp:
(WebCore::Document::updateBaseURL):
    'documentURI' is pulled from 'url()->string()'. It's safe.
* page/ContentSecurityPolicy.cpp:
(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
    'CallFrame::sourceURL()' is a known valid/absolute URL.
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::createFromDatabaseIdentifier):
(WebCore::SecurityOrigin::create):
    The strings constructed here are certainly valid.

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

7 years ago[Qt] Unreviewed gardening. Unskip a now passing test after r146393.
kadam@inf.u-szeged.hu [Fri, 22 Mar 2013 09:17:20 +0000 (09:17 +0000)]
[Qt] Unreviewed gardening. Unskip a now passing test after r146393.
https://bugs.webkit.org/show_bug.cgi?id=112904.

* platform/qt/TestExpectations:

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

7 years ago[EFL] New baseline for accessibility/platform-name.html
commit-queue@webkit.org [Fri, 22 Mar 2013 09:09:56 +0000 (09:09 +0000)]
[EFL] New baseline for accessibility/platform-name.html
https://bugs.webkit.org/show_bug.cgi?id=113018

Unreviewed EFL gardening

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-03-22

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:
* platform/efl/accessibility/platform-name-expected.txt: Added.

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

7 years agoWeb Inspector: Flame Chart. move overview window when user scrolls the chart.
loislo@chromium.org [Fri, 22 Mar 2013 09:00:08 +0000 (09:00 +0000)]
Web Inspector: Flame Chart. move overview window when user scrolls the chart.
https://bugs.webkit.org/show_bug.cgi?id=113014

Reviewed by Yury Semikhatsky.

I found that I could use scaling mechanics in OverviewGrid for scaling the chart.
But the dragging part was not so simple due to the different approaches in
OverviewGrid and FlameChart. OverviewGrid used _windowLeft and _windowRight
when FlameChart used _xOffset and _xScaleFactor and width.
It was not practical and I rewrote the FlameChart mechanics
and now it also uses _windowLeft _windowRight.

* inspector/front-end/FlameChart.js:
(WebInspector.FlameChart):
(WebInspector.FlameChart.Calculator.prototype._updateBoundaries):
(WebInspector.FlameChart.Calculator.prototype.computePosition):
(WebInspector.FlameChart.prototype._onWindowChanged):
(WebInspector.FlameChart.prototype._startCanvasDragging):
(WebInspector.FlameChart.prototype._canvasDragging):
(WebInspector.FlameChart.prototype._onMouseMove):
(WebInspector.FlameChart.prototype._onMouseWheel):
(WebInspector.FlameChart.prototype._coordinatesToNodeIndex):
(WebInspector.FlameChart.prototype._drawOverviewCanvas):
(WebInspector.FlameChart.prototype.draw):
(WebInspector.FlameChart.prototype._updateBoundaries):
(WebInspector.FlameChart.prototype.update):
* inspector/front-end/OverviewGrid.js:
(WebInspector.OverviewGrid.prototype.setWindowPosition):
(WebInspector.OverviewGrid.prototype.setWindow):
(WebInspector.OverviewGrid.prototype.addEventListener):
(WebInspector.OverviewGrid.prototype.zoom):
(WebInspector.OverviewGrid.Window.prototype._zoom):
* inspector/front-end/inspectorCommon.css:
(.overview-grid-window-rulers):

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

7 years agoMove GeolocationClient.h to Modules/geolocation/
commit-queue@webkit.org [Fri, 22 Mar 2013 08:38:27 +0000 (08:38 +0000)]
Move GeolocationClient.h to Modules/geolocation/
https://bugs.webkit.org/show_bug.cgi?id=112997

Patch by Steve Block <steveblock@chromium.org> on 2013-03-22
Reviewed by Kentaro Hara.

No new tests, no functional change.

* GNUmakefile.list.am:
* Modules/geolocation/GeolocationClient.h: Renamed from Source/WebCore/page/GeolocationClient.h.
(WebCore):
(GeolocationClient):
(WebCore::GeolocationClient::~GeolocationClient):
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

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

7 years agoAdd a flaky crash test expectations on Mac WebKit2 per bug 113020.
rniwa@webkit.org [Fri, 22 Mar 2013 08:29:59 +0000 (08:29 +0000)]
Add a flaky crash test expectations on Mac WebKit2 per bug 113020.

* platform/mac-wk2/TestExpectations:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 22 Mar 2013 08:24:05 +0000 (08:24 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Skipping fast/dom/custom tests as the custom elements support is not yet enabled
on the GTK port. Adding crashing expectations for two IDB tests that regressed with r146540.

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

7 years agoUnreviewed, rolling out r146534 and r146565.
commit-queue@webkit.org [Fri, 22 Mar 2013 08:12:05 +0000 (08:12 +0000)]
Unreviewed, rolling out r146534 and r146565.
http://trac.webkit.org/changeset/146534
http://trac.webkit.org/changeset/146565
https://bugs.webkit.org/show_bug.cgi?id=113017

"r146534 caused perf regression on Chromium Linux x64"
(Requested by yurys on #webkit).

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

Source/WebCore:

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrSetter):
(GenerateOverloadedFunction):
(GenerateFunctionCallback):
(GenerateFunction):
(GenerateParametersCheck):
(GenerateSingleConstructorCallback):
(GenerateNonStandardFunction):
(GenerateImplementation):
(GenerateFunctionCallString):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore):
* bindings/v8/CustomElementHelpers.cpp:
* bindings/v8/CustomElementHelpers.h:
(WebCore):
(CustomElementHelpers):
* bindings/v8/V8DOMConfiguration.cpp:
(WebCore::V8DOMConfiguration::batchConfigureCallbacks):
(WebCore::V8DOMConfiguration::configureTemplate):
* bindings/v8/V8DOMConfiguration.h:
(BatchedMethod):
(V8DOMConfiguration):
* bindings/v8/V8RecursionScope.cpp:
(WebCore::V8RecursionScope::didLeaveScriptContext):
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::createElement):
* dom/CustomElementConstructor.h:
(CustomElementConstructor):
* dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::~CustomElementRegistry):
* dom/CustomElementRegistry.h:
(WebCore):
(CustomElementRegistry):
* dom/Document.cpp:
(WebCore::Document::createElement):
(WebCore::Document::registerElement):
* dom/Document.h:
* dom/Document.idl:
* dom/Element.cpp:
(WebCore::Element::parserSetAttributes):
(WebCore::Element::cloneAttributesFromElement):
* dom/Element.h:
* dom/Element.idl:
* dom/Node.idl:
* dom/ShadowRoot.idl:
* html/HTMLElement.idl:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::runScript):

Source/WebKit/chromium:

* src/WebKit.cpp:

Source/WTF:

* wtf/HashSet.h:
(WTF):
(WTF::copyToVector):

LayoutTests:

* fast/dom/custom/lifecycle-ready-createElement-recursion-expected.txt: Removed.
* fast/dom/custom/lifecycle-ready-createElement-recursion.html: Removed.
* fast/dom/custom/lifecycle-ready-createElement-reentrancy-expected.txt: Removed.
* fast/dom/custom/lifecycle-ready-createElement-reentrancy.html: Removed.
* fast/dom/custom/lifecycle-ready-creation-api-expected.txt: Removed.
* fast/dom/custom/lifecycle-ready-creation-api.html: Removed.
* fast/dom/custom/lifecycle-ready-innerHTML-expected.txt: Removed.
* fast/dom/custom/lifecycle-ready-innerHTML.html: Removed.
* fast/dom/custom/lifecycle-ready-parser-only-expected.html: Removed.
* fast/dom/custom/lifecycle-ready-parser-only.html: Removed.
* fast/dom/custom/lifecycle-ready-parser-script-expected.txt: Removed.
* fast/dom/custom/lifecycle-ready-parser-script.html: Removed.
* fast/dom/custom/lifecycle-ready-paste-expected.txt: Removed.
* fast/dom/custom/lifecycle-ready-paste.html: Removed.

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

7 years ago[GStreamer] Memory leak in AudioFileReader::createBus()
commit-queue@webkit.org [Fri, 22 Mar 2013 08:07:38 +0000 (08:07 +0000)]
[GStreamer] Memory leak in AudioFileReader::createBus()
https://bugs.webkit.org/show_bug.cgi?id=112925

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-03-22
Reviewed by Martin Robinson.

Adopt the reference returned by g_timeout_source_new()
to fix a memory leak.

No new tests. No change in behavior.

* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::createBus):

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

7 years agoMove page/Coordinates.[h|idl] to Modules/geolocation/
commit-queue@webkit.org [Fri, 22 Mar 2013 07:52:09 +0000 (07:52 +0000)]
Move page/Coordinates.[h|idl] to Modules/geolocation/
https://bugs.webkit.org/show_bug.cgi?id=112945

Patch by Steve Block <steveblock@chromium.org> on 2013-03-22
Reviewed by Kentaro Hara.

No new tests, no functional change.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Modules/geolocation/Coordinates.h: Renamed from Source/WebCore/page/Coordinates.h.
(WebCore):
(Coordinates):
(WebCore::Coordinates::create):
(WebCore::Coordinates::isolatedCopy):
(WebCore::Coordinates::latitude):
(WebCore::Coordinates::longitude):
(WebCore::Coordinates::altitude):
(WebCore::Coordinates::accuracy):
(WebCore::Coordinates::altitudeAccuracy):
(WebCore::Coordinates::heading):
(WebCore::Coordinates::speed):
(WebCore::Coordinates::canProvideAltitude):
(WebCore::Coordinates::canProvideAltitudeAccuracy):
(WebCore::Coordinates::canProvideHeading):
(WebCore::Coordinates::canProvideSpeed):
(WebCore::Coordinates::Coordinates):
* Modules/geolocation/Coordinates.idl: Renamed from Source/WebCore/page/Coordinates.idl.
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

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

7 years agoAdd a flaky test failure expectation per bug 113012.
rniwa@webkit.org [Fri, 22 Mar 2013 07:41:27 +0000 (07:41 +0000)]
Add a flaky test failure expectation per bug 113012.

* platform/win/TestExpectations:

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

7 years agoLeak bots erroneously report JSC::WatchpointSet as leaking
rniwa@webkit.org [Fri, 22 Mar 2013 07:36:58 +0000 (07:36 +0000)]
Leak bots erroneously report JSC::WatchpointSet as leaking
https://bugs.webkit.org/show_bug.cgi?id=107781

Reviewed by Filip Pizlo.

Since leaks doesn't support tagged pointers, avoid using it by flipping the bit flag to indicate
the entry is "fat". We set the flag when the entry is NOT fat; i.e. slim.

Replaced FatFlag by SlimFlag and initialized m_bits with this flag to indicate that the entry is
initially "slim".

* runtime/SymbolTable.cpp:
(JSC::SymbolTableEntry::copySlow): Don't set FatFlag since it has been replaced by SlimFlag.
(JSC::SymbolTableEntry::inflateSlow): Ditto.

* runtime/SymbolTable.h:
(JSC::SymbolTableEntry::Fast::Fast): Set SlimFlag by default.
(JSC::SymbolTableEntry::Fast::isNull): Ignore SlimFlag.
(JSC::SymbolTableEntry::Fast::isFat): An entry is fat when m_bits is not entirely zero and SlimFlag
is not set.

(JSC::SymbolTableEntry::SymbolTableEntry): Set SlimFlag by default.
(JSC::SymbolTableEntry::SymbolTableEntry::getFast): Set SlimFlag when creating Fast from a fat entry.
(JSC::SymbolTableEntry::isNull): Ignore SlimFlag.
(JSC::SymbolTableEntry::FatEntry::FatEntry): Strip SlimFlag.
(JSC::SymbolTableEntry::isFat): An entry is fat when m_bits is not entirely zero and SlimFlag is unset.
(JSC::SymbolTableEntry::fatEntry): Don't strip FatFlag as this flag doesn't exist anymore.
(JSC::SymbolTableEntry::pack): Preserve SlimFlag.

(JSC::SymbolTableIndexHashTraits): empty value is no longer zero so don't set emptyValueIsZero true.

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

7 years agoFinal Mac rebaseline attempt for r146531 since r146564 wasn't enough.
rniwa@webkit.org [Fri, 22 Mar 2013 07:19:45 +0000 (07:19 +0000)]
Final Mac rebaseline attempt for r146531 since r146564 wasn't enough.

I'm sorry I made a huge mess here.

* platform/mac/compositing/rtl/rtl-fixed-expected.txt:

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

7 years ago[chromium] Mark virtual/gpu/fast/canvas/canvas-toDataURL-webp.html as flaky
commit-queue@webkit.org [Fri, 22 Mar 2013 07:09:58 +0000 (07:09 +0000)]
[chromium] Mark virtual/gpu/fast/canvas/canvas-toDataURL-webp.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=93310

Unreviewed test expectations update.

libwebp will be updated to 0.3.0 in chrome changing the encoder
output after which this test will need to be rebaselined.

Patch by James Zern <jzern@chromium.org> on 2013-03-22

* platform/chromium/TestExpectations:

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

7 years agoCustom Elements: "readyCallback" lifecycle callback should be called.
morrita@google.com [Fri, 22 Mar 2013 06:16:07 +0000 (06:16 +0000)]
Custom Elements: "readyCallback" lifecycle callback should be called.
https://bugs.webkit.org/show_bug.cgi?id=112538

Reviewed by Elliott Sprehn.

Source/WebCore:

This change allows each custom element definition to hook up its instantiation,
namely "readyCallback" lifecycle callback.

The change has two parts:
- 1. Tracking which Element objects to be created.
- 2. Invoking appropriate JavaScript functions, which are readyCallback(),
  before the Element object is visible from page script.

For 1, CustomElementRegistry maintains list of "callback
invocaions".  Each list item ("invocation") tracks the element
which has a lifecycle callback to be invoked. Each invocation is
registered when - Any custom element C++ object is instantiated.
See changes on CustomElementConstructor.cpp.

This also happens when @is attribute is set by the parser or node
cloning routine, which can turn a non-custom element into a
type-extended custom element. See changes on Element.cpp.

For 2, CustomElementRegistry basically follows what
MutationObserver is doing, and introduces a method called
deliverLifecycleCallbacks(). This function flushes all pending
callback invocations. You can think it as a dual of
MutationObserver::deliverAllMutations().

The delivery function is called places where MutationObserver's
deliverAllMutations() is called. In addition, it is also called
just before returning from a set of DOM APIs. For example, it is
called just before createElement() returns, so that possibly
created custom element becomes ready through its readyCallback().
Such APIs get "V8DeliverCustomElementCallbacks" IDL attribute. In
principle, APIs which can create new custom element instnaces are
marked. See CustomElementRegistry::CallbackDeliveryScope and
changes on CodeGeneratorV8.pm.

We need this extra work because the readyCallback() needs to give
an illusion so that JavaScript programmers feel like the
readyCallback() callback being called just after it is created,
instead of called on arbitrary late timing like MutationObserver
notifications.

Tests: fast/dom/custom/lifecycle-ready-createElement-recursion.html
       fast/dom/custom/lifecycle-ready-createElement-reentrancy.html
       fast/dom/custom/lifecycle-ready-creation-api.html
       fast/dom/custom/lifecycle-ready-innerHTML.html
       fast/dom/custom/lifecycle-ready-parser-only.html
       fast/dom/custom/lifecycle-ready-parser-script.html
       fast/dom/custom/lifecycle-ready-paste.html

* bindings/scripts/CodeGeneratorV8.pm:
- Hooked up CallbackDeliveryScope through V8DeliverCustomElementCallbacks attriute.
(GenerateCustomElementInvocationScopeIfNeeded):
(GenerateNormalAttrSetter):
(GenerateFunction):
* bindings/scripts/IDLAttributes.txt:
* bindings/v8/CustomElementHelpers.cpp:
(WebCore::CustomElementHelpers::invokeReadyCallbackIfNeeded):
(WebCore::CustomElementHelpers::invokeReadyCallbacksIfNeeded):
* bindings/v8/CustomElementHelpers.h:
(CustomElementHelpers):
* bindings/v8/V8RecursionScope.cpp: Added deliverAllLifecycleCallbacks()
(WebCore::V8RecursionScope::didLeaveScriptContext):
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::createElement):
(WebCore::CustomElementConstructor::createElementInternal):
* dom/CustomElementConstructor.h:
(WebCore::CustomElementConstructor::isExtended):
(CustomElementConstructor):
* dom/CustomElementRegistry.cpp: Adding element tracking and invocation execution.
(WebCore::CustomElementInvocation::CustomElementInvocation):
(WebCore::CustomElementInvocation::~CustomElementInvocation):
(WebCore::activeCustomElementRegistries):
(WebCore::CustomElementRegistry::~CustomElementRegistry):
(WebCore::CustomElementRegistry::didGiveTypeExtension):
(WebCore::CustomElementRegistry::didCreateElement):
(WebCore::CustomElementRegistry::activate):
(WebCore::CustomElementRegistry::deactivate):
(WebCore::CustomElementRegistry::deliverLifecycleCallbacks):
(WebCore::CustomElementRegistry::deliverAllLifecycleCallbacks):
* dom/CustomElementRegistry.h:
(CustomElementInvocation):
(WebCore::CustomElementInvocation::element):
(CallbackDeliveryScope):
(WebCore::CustomElementRegistry::CallbackDeliveryScope::CallbackDeliveryScope):
(WebCore::CustomElementRegistry::CallbackDeliveryScope::~CallbackDeliveryScope):
(CustomElementRegistry):
(WebCore::CustomElementRegistry::deliverAllLifecycleCallbacksIfNeeded):
* dom/Document.cpp:
(WebCore::Document::createElement):
(WebCore::Document::didCreateCustomElement):
* dom/Document.h:
(Document):
* dom/Document.idl:
* dom/Element.cpp:
(WebCore::Element::attributeChangedFromParserOrByCloning): Added to catch @is attribute
(WebCore::Element::parserSetAttributes):
(WebCore::Element::cloneAttributesFromElement):
* dom/Element.h:
* dom/Node.idl:
* dom/ShadowRoot.idl:
* html/HTMLElement.idl:
* html/parser/HTMLScriptRunner.cpp: Added deliverAllLifecycleCallbacks()
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::runScript):

Source/WebKit/chromium:

* src/WebKit.cpp: Added deliverAllLifecycleCallbacks()

Source/WTF:

* wtf/HashSet.h:
(WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.

LayoutTests:

* fast/dom/custom/lifecycle-ready-createElement-recursion-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-createElement-recursion.html: Added.
* fast/dom/custom/lifecycle-ready-createElement-reentrancy-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-createElement-reentrancy.html: Added.
* fast/dom/custom/lifecycle-ready-creation-api-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-creation-api.html: Added.
* fast/dom/custom/lifecycle-ready-innerHTML-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-innerHTML.html: Added.
* fast/dom/custom/lifecycle-ready-parser-only-expected.html: Added.
* fast/dom/custom/lifecycle-ready-parser-only.html: Added.
* fast/dom/custom/lifecycle-ready-parser-script-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-parser-script.html: Added.
* fast/dom/custom/lifecycle-ready-paste-expected.txt: Added.
* fast/dom/custom/lifecycle-ready-paste.html: Added.

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

7 years agoYet another Mac rebaseline attempt for r146531 since r146538 and r146554 didn't work.
rniwa@webkit.org [Fri, 22 Mar 2013 06:05:21 +0000 (06:05 +0000)]
Yet another Mac rebaseline attempt for r146531 since r146538 and r146554 didn't work.

* platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/mac/compositing/rtl/rtl-fixed-expected.txt:
* platform/mac/compositing/rtl/rtl-fixed-overflow-expected.txt:

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

7 years agoCrash in WebCore::MediaPlayer::cachedResourceLoader + 4
jer.noble@apple.com [Fri, 22 Mar 2013 05:50:28 +0000 (05:50 +0000)]
Crash in WebCore::MediaPlayer::cachedResourceLoader + 4
https://bugs.webkit.org/show_bug.cgi?id=112977

Reviewed by Geoffrey Garen.

Speculative fix for a NULL-dereference crash. MediaPlayerPrivateAVFoundationObjC is the
sole owner of a WebCoreAVFLoaderDelegate instance. It releases this instance in its destructor,
but it is possible that, on another thread, the AVAssetResourceLoader has already begun
using the delegate and in so doing has retained it. By the time the delegate method is fired
on the main thread, the MediaPlayerPrivateAVFoundationObjC owner of the delegate has already
been deleted, and the delegate's m_callback pointer is now pointing at freed memory.

In addition to calling -[AVAssetResourceLoader setDelegate:queue:] to avoid any not-yet-started
delegate callbacks, MediaPlayerPrivateAVFoundationObjC should clear the WebCoreAVFLoaderDelegate
m_callback ivar, to avoid calling into freed memory for already queued delegate callbacks.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Clear the m_loaderDelegate's callback pointer.
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]): Check the value of m_callback before continuing.
(-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]): Ditto.
(-[WebCoreAVFLoaderDelegate setCallback:]): Added simple setter.

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

7 years agoXMLDocumentParser doesn't parse <template> correctly.
tasak@google.com [Fri, 22 Mar 2013 05:22:14 +0000 (05:22 +0000)]
XMLDocumentParser doesn't parse <template> correctly.
https://bugs.webkit.org/show_bug.cgi?id=112328

Reviewed by Hajime Morrita.

Source/WebCore:

XMLDocumentParser should check whether a parent node is attached or not
when a new element is appended.

Test: fast/dom/HTMLTemplateElement/xhtml-with-titleElement-parsing-crash.xhtml

* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
m_currentNode is a parent node of newElement, but it is updated by
pushCurrentNode. So firstly stored copied m_curretNode's value into
local currentNode and used the currentNode to check whether
newElement's parent is attached or not.

LayoutTests:

* fast/dom/HTMLTemplateElement/xhtml-with-titleElement-parsing-crash-expected.txt: Added.
* fast/dom/HTMLTemplateElement/xhtml-with-titleElement-parsing-crash.xhtml: Added.

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

7 years agoUnreviewed, rolling out r146560.
dgrogan@chromium.org [Fri, 22 Mar 2013 04:58:15 +0000 (04:58 +0000)]
Unreviewed, rolling out r146560.
http://trac.webkit.org/changeset/146560
https://bugs.webkit.org/show_bug.cgi?id=112862

invalid parameter to histogram

Source/Platform:

* chromium/public/Platform.h:

Source/WebCore:

* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::open):

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

7 years agoIndexedDB: Histogram available disk space on attempt to open database
dgrogan@chromium.org [Fri, 22 Mar 2013 04:03:27 +0000 (04:03 +0000)]
IndexedDB: Histogram available disk space on attempt to open database
https://bugs.webkit.org/show_bug.cgi?id=112862

Reviewed by Adam Barth.

Source/Platform:

* chromium/public/Platform.h:
(WebKit::Platform::availableDiskSpaceInBytes):
(Platform):

Source/WebCore:

ChromeOS suspects they might be hitting disk corruption when the disks
are nearly full. This patch logs the available space to either the
"success" or the "fail" histogram as appropriate so that the
distributions can be compared.

No new tests - I don't know of a good way to test histograms. Local
printf testing didn't turn up any bugs.

* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::HistogramFreeSpace):
(WebCore):
(WebCore::LevelDBDatabase::open):

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

7 years agonrwt is no longer saving retry results in the retries/ subdirectory
dpranke@chromium.org [Fri, 22 Mar 2013 03:48:06 +0000 (03:48 +0000)]
nrwt is no longer saving retry results in the retries/ subdirectory
https://bugs.webkit.org/show_bug.cgi?id=112995

Reviewed by Ojan Vafai.

I think this has been broken a long time, unfortunately. This
patch should fix that.

In order to do so, I had to pass the directory to use from
the Worker object through the SingleTestWriter to the
TestResultWriter. While I was plumbing that through, I rationalized
the order of the parameter arguments a bit ...

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(Worker._run_single_test):
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(run_single_test):
(SingleTestRunner.__init__):
(SingleTestRunner._run_compare_test):
(SingleTestRunner._run_rebaseline):
(SingleTestRunner._run_reftest):
* 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):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.test_retrying_uses_retries_directory):

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

7 years agoObjective-C API: Need a good way to preserve custom properties on JS wrappers
mhahnenberg@apple.com [Fri, 22 Mar 2013 03:12:49 +0000 (03:12 +0000)]
Objective-C API: Need a good way to preserve custom properties on JS wrappers
https://bugs.webkit.org/show_bug.cgi?id=112608

Reviewed by Geoffrey Garen.

Currently, we just use a weak map, which means that garbage collection can cause a wrapper to
disappear if it isn't directly exported to JavaScript.

The most straightforward and safe way (with respect to garbage collection and concurrency) is to have
clients add and remove their external references along with their owners. Effectively, the client is
recording the structure of the external object graph so that the garbage collector can make sure to
mark any wrappers that are reachable through either the JS object graph of the external Obj-C object
graph. By keeping these wrappers alive, this has the effect that custom properties on these wrappers
will also remain alive.

The rule for if an object needs to be tracked by the runtime (and therefore whether the client should report it) is as follows:
For a particular object, its references to its children should be added if:
1. The child is referenced from JavaScript.
2. The child contains references to other objects for which (1) or (2) are true.

* API/JSAPIWrapperObject.mm:
(JSAPIWrapperObjectHandleOwner::finalize):
(JSAPIWrapperObjectHandleOwner::isReachableFromOpaqueRoots): A wrapper object is kept alive only if its JSGlobalObject
is marked and its corresponding Objective-C object was added to the set of opaque roots.
(JSC::JSAPIWrapperObject::visitChildren): We now call out to scanExternalObjectGraph, which handles adding all Objective-C
objects to the set of opaque roots.
* API/JSAPIWrapperObject.h:
(JSAPIWrapperObject):
* API/JSContext.mm: Moved dealloc to its proper place in the main implementation.
(-[JSContext dealloc]):
* API/JSVirtualMachine.h:
* API/JSVirtualMachine.mm:
(-[JSVirtualMachine initWithContextGroupRef:]):
(-[JSVirtualMachine dealloc]):
(getInternalObjcObject): Helper funciton to get the Objective-C object out of JSManagedValues or JSValues if there is one.
(-[JSVirtualMachine addManagedReference:withOwner:]): Adds the Objective-C object to the set of objects
owned by the owner object in that particular virtual machine.
(-[JSVirtualMachine removeManagedReference:withOwner:]): Removes the relationship between the two objects.
(-[JSVirtualMachine externalObjectGraph]):
(scanExternalObjectGraph): Does a depth-first search of the external object graph in a particular virtual machine starting at
the specified root. Each new object it encounters it adds to the set of opaque roots. These opaque roots will keep their
corresponding wrapper objects alive if they have them.
* API/JSManagedReferenceInternal.h: Added.
* API/JSVirtualMachine.mm: Added the per-JSVirtualMachine map between objects and the objects they own, which is more formally
known as that virtual machine's external object graph.
* API/JSWrapperMap.mm:
(-[JSWrapperMap dealloc]): We were leaking this before :-(
(-[JSVirtualMachine initWithContextGroupRef:]):
(-[JSVirtualMachine dealloc]):
(-[JSVirtualMachine externalObjectGraph]):
* API/JSVirtualMachineInternal.h:
* API/tests/testapi.mm: Added two new tests using the TinyDOMNode class. The first tests that a custom property added to a wrapper
doesn't vanish after GC, even though that wrapper isn't directly accessible to the JS garbage collector but is accessible through
the external Objective-C object graph. The second test makes sure that adding an object to the external object graph with the same
owner doesn't cause any sort of problems.
(+[TinyDOMNode sharedVirtualMachine]):
(-[TinyDOMNode init]):
(-[TinyDOMNode dealloc]):
(-[TinyDOMNode appendChild:]):
(-[TinyDOMNode numberOfChildren]):
(-[TinyDOMNode childAtIndex:]):
(-[TinyDOMNode removeChildAtIndex:]):
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/SlotVisitor.h:
(SlotVisitor):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::containsOpaqueRootTriState): Added a new method to SlotVisitor to allow scanExternalObjectGraph to have a
thread-safe view of opaque roots during parallel marking. The set of opaque roots available to any one SlotVisitor isn't guaranteed
to be 100% correct, but that just results in a small duplication of work in scanExternalObjectGraph. To indicate this change for
false negatives we return a TriState that's either true or mixed, but never false.

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

7 years agoFileAPI: Remove deprecation warning when ArrayBuffer is in Blob constructor.
li.yin@intel.com [Fri, 22 Mar 2013 03:11:39 +0000 (03:11 +0000)]
FileAPI: Remove deprecation warning when ArrayBuffer is in Blob constructor.
https://bugs.webkit.org/show_bug.cgi?id=88389

Reviewed by Kenneth Russell.

Source/WebCore:

Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob
Both ArrayBuffer and ArrayBufferView should be supported for Blob constructor.

Test: fast/files/blob-constructor.html.

* bindings/js/JSBlobCustom.cpp:
(WebCore::JSBlobConstructor::constructJSBlob):
* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::V8Blob::constructorCustom):
* fileapi/WebKitBlobBuilder.cpp:
(WebCore::BlobBuilder::append): Remove the deprecated warning.
* fileapi/WebKitBlobBuilder.h:
(WebCore):
(BlobBuilder):

LayoutTests:

* fast/files/blob-constructor-expected.txt:
* fast/files/script-tests/blob-constructor.js:

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

7 years ago[Shadow]: @host styles are not applied dynamically
tasak@google.com [Fri, 22 Mar 2013 03:02:18 +0000 (03:02 +0000)]
[Shadow]: @host styles are not applied dynamically
https://bugs.webkit.org/show_bug.cgi?id=112869

Reviewed by Elliott Sprehn.

Source/WebCore:

Need to add features of @host @-rules to rule feature set.

Test: fast/dom/shadow/athost-apply-dynamically.html

* css/StyleScopeResolver.cpp:
(WebCore::StyleScopeResolver::collectFeaturesTo):

LayoutTests:

* fast/dom/shadow/athost-apply-dynamically-expected.html: Added.
* fast/dom/shadow/athost-apply-dynamically.html: Added.

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

7 years ago[Shadow] Provide an api of insertionParent().
hayato@chromium.org [Fri, 22 Mar 2013 03:00:00 +0000 (03:00 +0000)]
[Shadow] Provide an api of insertionParent().
https://bugs.webkit.org/show_bug.cgi?id=112866

Source/WebCore:

Add insertinParent binding to Element and Text.
It's prefixed (webkitInsertionParent) and guarded by SHADOW_DOM flag.

The bug in the Shadow DOM spec is here:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=21067

Reviewed by Dimitri Glazkov.

Test: fast/dom/shadow/insertion-parent.html

* dom/Element.idl:
* dom/Node.cpp:
(WebCore::Node::insertionParentForBinding):
(WebCore):
* dom/Node.h:
(Node):
* dom/Text.idl:

LayoutTests:

Reviewed by Dimitri Glazkov.

* fast/dom/shadow/insertion-parent-expected.txt: Added.
* fast/dom/shadow/insertion-parent.html: Added.

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

7 years agoAnother Mac rebaseline attempt for r146531 since r146538 didn't work.
rniwa@webkit.org [Fri, 22 Mar 2013 02:23:13 +0000 (02:23 +0000)]
Another Mac rebaseline attempt for r146531 since r146538 didn't work.

* platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/mac/compositing/rtl/rtl-fixed-expected.txt:
* platform/mac/compositing/rtl/rtl-fixed-overflow-expected.txt:

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

7 years ago[chromium] Test expectations updates.
pkasting@chromium.org [Fri, 22 Mar 2013 02:02:09 +0000 (02:02 +0000)]
[chromium] Test expectations updates.
https://bugs.webkit.org/show_bug.cgi?id=88833
https://bugs.webkit.org/show_bug.cgi?id=107935
https://bugs.webkit.org/show_bug.cgi?id=109507

Unreviewed, test expectations updates.

* platform/chromium/TestExpectations:

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

7 years agoSource/JavaScriptCore: Fix O(n^2) op_debug bytecode charPosition to column computation.
mark.lam@apple.com [Fri, 22 Mar 2013 01:56:17 +0000 (01:56 +0000)]
Source/JavaScriptCore: Fix O(n^2) op_debug bytecode charPosition to column computation.
https://bugs.webkit.org/show_bug.cgi?id=112957.

Reviewed by Geoffrey Garen.

The previous algorithm does a linear reverse scan of the source string
to find the line start for any given char position. This results in a
O(n^2) algortithm when the source string has no line breaks.

The new algorithm computes a line start column table for a
SourceProvider on first use. This line start table is used to fix up
op_debug's charPosition operand into a column operand when an
UnlinkedCodeBlock is linked into a CodeBlock. The initialization of
the line start table is O(n), and the CodeBlock column fix up is
O(log(n)).

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock): - do column fix up.
* interpreter/Interpreter.cpp:
(JSC::Interpreter::debug): - no need to do column fixup anymore.
* interpreter/Interpreter.h:
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* parser/SourceProvider.cpp:
(JSC::SourceProvider::lineStarts):
(JSC::charPositionExtractor):
(JSC::SourceProvider::charPositionToColumnNumber):
- initialize line start column table if needed.
- look up line start for the given char position.
* parser/SourceProvider.h:

Source/WTF: Introducing String::findNextLineStart().
https://bugs.webkit.org/show_bug.cgi?id=112957.

Reviewed by Geoffrey Garen.

This is replaces String::reverseFindLineTerminator() in the JSC
debugger's code for computing column numbers.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::findNextLineStart):
* wtf/text/StringImpl.h:
(WTF::findNextLineStart):
* wtf/text/WTFString.h:
(WTF::String::findNextLineStart):

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

7 years ago[wk2] Page Overlays: Don't create backing store until the client asks us to paint
timothy_horton@apple.com [Fri, 22 Mar 2013 01:39:28 +0000 (01:39 +0000)]
[wk2] Page Overlays: Don't create backing store until the client asks us to paint
https://bugs.webkit.org/show_bug.cgi?id=112989
<rdar://problem/13355759>

Reviewed by Anders Carlsson.

* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::highlight):
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindUIAfterPageScroll):
Invalidate the entire overlay on installation, to maintain existing behavior
on platforms where the fade-in animation is not performed by invalidating the overlay.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::installPageOverlay):
Don't invalidate the overlay upon installation.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
Create backing store for the page overlay layer the first time it is painted into.
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
Don't update the size of the page overlay layer unless we intend for it to have backing store.
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
Don't create backing store when we create the page overlay layer.

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

7 years agoWinCairo build fails to link.
commit-queue@webkit.org [Fri, 22 Mar 2013 01:32:28 +0000 (01:32 +0000)]
WinCairo build fails to link.
https://bugs.webkit.org/show_bug.cgi?id=112892

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-03-21
Reviewed by Kentaro Hara.

* WebKit.vcproj/WebKitExports.def.in: Added ENABLE(VIDEO_TRACK) guard.

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

7 years agoBypass XSSAuditor for asp.net servers.
tsepez@chromium.org [Fri, 22 Mar 2013 01:26:32 +0000 (01:26 +0000)]
Bypass XSSAuditor for asp.net servers.
https://bugs.webkit.org/show_bug.cgi?id=112235

Reviewed by Adam Barth.

Source/WebCore:

Similar to https://bugs.webkit.org/show_bug.cgi?id=81283, but the
fix to that bug failed to cover this particular comma-splicing case.

Test: http/tests/security/xssAuditor/img-tag-with-comma.html

* html/parser/XSSAuditor.cpp:
(WebCore::isTerminatingCharacter):
Beware of comma-splicing tricks by stopping at commas.

LayoutTests:

* http/tests/security/xssAuditor/img-tag-with-comma-expected.txt: Added.
* http/tests/security/xssAuditor/img-tag-with-comma.html: Added.

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

7 years agoJSC profiler should have an at-a-glance report of the success of DFG optimization
fpizlo@apple.com [Fri, 22 Mar 2013 01:17:09 +0000 (01:17 +0000)]
JSC profiler should have an at-a-glance report of the success of DFG optimization
https://bugs.webkit.org/show_bug.cgi?id=112988

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):
* profiler/ProfilerCompilation.cpp:
(JSC::Profiler::Compilation::Compilation):
(JSC::Profiler::Compilation::toJS):
* profiler/ProfilerCompilation.h:
(JSC::Profiler::Compilation::noticeInlinedGetById):
(JSC::Profiler::Compilation::noticeInlinedPutById):
(JSC::Profiler::Compilation::noticeInlinedCall):
(Compilation):
* runtime/CommonIdentifiers.h:

Tools:

* Scripts/display-profiler-output:

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

7 years ago[chromium] Test expectations updates: mark flaky tests; fix overlapping expectations...
pkasting@chromium.org [Fri, 22 Mar 2013 00:58:57 +0000 (00:58 +0000)]
[chromium] Test expectations updates: mark flaky tests; fix overlapping expectations; convert [ Pass Slow ] to [ Slow ].
https://bugs.webkit.org/show_bug.cgi?id=88833
https://bugs.webkit.org/show_bug.cgi?id=93569
https://bugs.webkit.org/show_bug.cgi?id=109507
https://bugs.webkit.org/show_bug.cgi?id=112980
https://bugs.webkit.org/show_bug.cgi?id=112981
https://bugs.webkit.org/show_bug.cgi?id=112984
https://bugs.webkit.org/show_bug.cgi?id=112987
http://crbug.com/24182

Unreviewed, test expectations updates.

* platform/chromium/TestExpectations:

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

7 years ago[chromium] Linux ASAN WebKit canary is running out of memory
dpranke@chromium.org [Fri, 22 Mar 2013 00:25:11 +0000 (00:25 +0000)]
[chromium] Linux ASAN WebKit canary is running out of memory
https://bugs.webkit.org/show_bug.cgi?id=112978

Reviewed by Tony Chang.

Running the AddressSanitizer on a crash takes a lot of
memory, so we should serialize access to it to avoid running
out of memory on a machine.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort._get_crash_log):
* Scripts/webkitpy/layout_tests/port/http_lock.py:
(HttpLock.__init__):
(HttpLock.wait_for_httpd_lock):

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

7 years agoAdd Mac baseline after r146510.
rniwa@webkit.org [Fri, 22 Mar 2013 00:14:43 +0000 (00:14 +0000)]
Add Mac baseline after r146510.

* platform/mac/svg/custom/marker-orient-auto-expected.png: Added.
* platform/mac/svg/custom/marker-orient-auto-expected.txt: Added.

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

7 years agoIf a previously loaded resource is later stored to the disk cache, replace the buffer...
beidson@apple.com [Fri, 22 Mar 2013 00:14:03 +0000 (00:14 +0000)]
If a previously loaded resource is later stored to the disk cache, replace the buffer with MMAP'ed memory.
<rdar://problem/13414154> and https://bugs.webkit.org/show_bug.cgi?id=112943

Reviewed by Geoff Garen.

Source/WebCore:

No new tests (No change in behavior.)

Give SharedBuffer the ability to replace its contents from another SharedBuffer:
* platform/SharedBuffer.h:
* platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer:: tryReplaceContentsWithPlatformBuffer):

Forward along SharedBuffer's new ability to ResourceBuffer:
* loader/mac/ResourceBuffer.mm:
(WebCore::ResourceBuffer:: tryReplaceSharedBufferContents):
* loader/ResourceBuffer.h:

Give CachedResource the ability to replace its encoded data buffer if appropriate:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource:: tryReplaceEncodedData):
* loader/cache/CachedResource.h:

* WebCore.exp.in:

Source/WebKit2:

Add a timer that will try to look up the disk cached buffer for the resource a few seconds after the load
completes and - if the resource is disk backed - send it to the WebProcess for sharing:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::diskCacheTimerFired):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveData):
(WebKit::NetworkResourceLoader::didFinishLoading):
* NetworkProcess/NetworkResourceLoader.h:

* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::tryGetShareableHandleForResource):

Refactor SharedMemory to remove the unnecessary vm_copy and only vm_allocate when an appropriate buffer
doesn't already exist:
* Platform/SharedMemory.h:
* Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::create):
(WebKit::SharedMemory::createFromVMBuffer):
(WebKit::SharedMemory::~SharedMemory):

Give ShareableResource the ability to create a CFDataRef that wraps "this", and return it in a SharedBuffer:
* Shared/ShareableResource.cpp:
(WebKit::shareableResourceDeallocate):
(WebKit::createShareableResourceDeallocator):
(WebKit::ShareableResource::Handle::tryWrapInSharedBuffer):
* Shared/ShareableResource.h:

* Shared/WebCoreArgumentCoders.cpp: Encode/decode the cache partition for ResourceRequest.

* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didCacheResource): Lookup the CachedResource in the WebCore memory cache
  and try to replace its encoded data with the shared mmap'ed buffer.
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:

* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResource):

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

7 years ago[Mac] Add baselines for css3/filters/effect-reference*.html
rniwa@webkit.org [Fri, 22 Mar 2013 00:08:00 +0000 (00:08 +0000)]
[Mac] Add baselines for css3/filters/effect-reference*.html
https://bugs.webkit.org/show_bug.cgi?id=112962

Reviewed by Dean Jackson.

Add Mac rebaselines for the following tests and removed the corresponding entries in TestExpectations.

* platform/mac/TestExpectations:
* platform/mac/css3/filters/effect-reference-expected.png: Added.
* platform/mac/css3/filters/effect-reference-expected.txt:
* platform/mac/css3/filters/effect-reference-external-expected.png: Added.
* platform/mac/css3/filters/effect-reference-hw-expected.png: Added.
* platform/mac/css3/filters/effect-reference-hw-expected.txt:
* platform/mac/css3/filters/effect-reference-ordering-expected.png: Added.
* platform/mac/css3/filters/effect-reference-ordering-hw-expected.png: Added.

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

7 years agoUnreviewed build fix, forgot to stage one file.
timothy_horton@apple.com [Fri, 22 Mar 2013 00:04:02 +0000 (00:04 +0000)]
Unreviewed build fix, forgot to stage one file.

* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::didChangeScrollOffsetForAnyFrame):
(DrawingArea):

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

7 years agoUnreviewed gardening.
alokp@chromium.org [Thu, 21 Mar 2013 23:58:22 +0000 (23:58 +0000)]
Unreviewed gardening.
Suppressed text failures due to r146531.

* platform/chromium/TestExpectations:

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

7 years agoIndexedDB: Ensure script wrappers can be collected after context is stopped
jsbell@chromium.org [Thu, 21 Mar 2013 23:52:16 +0000 (23:52 +0000)]
IndexedDB: Ensure script wrappers can be collected after context is stopped
https://bugs.webkit.org/show_bug.cgi?id=112976

Reviewed by Adam Barth.

ActiveDOMObject::hasPendingActivity is called to see if script wrappers
can be disposed of. Once the script execution context has stopped they
should be free to go - include this in the checks.

No new tests - suggestions welcome.

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::hasPendingActivity): Return false if stopped.
(WebCore::IDBDatabase::stop): Don't bother calling empty super impl.
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::hasPendingActivity): Return false if stopped.
(WebCore::IDBRequest::stop): Don't bother calling empty super impl.
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::hasPendingActivity): Return false if stopped.
(WebCore::IDBTransaction::stop): Don't bother calling empty super impl.

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

7 years ago[wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame...
timothy_horton@apple.com [Thu, 21 Mar 2013 23:47:56 +0000 (23:47 +0000)]
[wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame can't scroll
https://bugs.webkit.org/show_bug.cgi?id=111662
<rdar://problem/13355808>

Reviewed by Dean Jackson.

Instead of setNeedsDisplay()ing the whole page overlay layer every time through
TCADA::flushLayers, do it at scroll time instead. Repainting on scroll is
necessary to keep things painted in the right place when we scroll (the overlay
is fixed to the size of the view), but is quite wasteful in apps that don’t scroll.

This works with threaded scrolling because overlay installation forces us
into main-thread scrolling mode.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didChangeScrollOffset):
Plumb scroll offset changes through to the drawing area, so it can invalidate the page overlay.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
Add didChangeScrollOffsetForAnyFrame, for WebFrameLoaderClient to call us back when any frame scrolls.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::didChangeScrollOffsetForAnyFrame):
Invalidate the page overlay when any frame scrolls, so that find indicators in subframes are kept in the right place.
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
Stop unconditionally invalidating the page overlay when we flush layers.

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

7 years agoMac rebaseline r146531.
rniwa@webkit.org [Thu, 21 Mar 2013 23:41:04 +0000 (23:41 +0000)]
Mac rebaseline r146531.

* platform/mac/compositing/rtl/rtl-fixed-expected.txt: Added.
* platform/mac/compositing/rtl/rtl-fixed-overflow-expected.txt: Added.

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

7 years agoRemove upcastPointer from ActiveDOMObject constructor
commit-queue@webkit.org [Thu, 21 Mar 2013 23:28:38 +0000 (23:28 +0000)]
Remove upcastPointer from ActiveDOMObject constructor
https://bugs.webkit.org/show_bug.cgi?id=112858

Patch by Russell McClellan <russell.mcclellan@gmail.com> on 2013-03-21
Reviewed by Alexey Proskuryakov.

Removed pesky argument to ActiveDOMObject constructor that is no longer
used.

No new tests (no change in behavior).

* Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::BatteryManager):
* Modules/filesystem/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::DOMFileSystem):
* Modules/filesystem/FileWriter.cpp:
(WebCore::FileWriter::FileWriter):
* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::Geolocation):
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::IDBDatabase):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction):
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::MediaSource):
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack):
* Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::RTCDTMFSender):
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
* Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
(WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
* Modules/mediastream/RTCStatsRequestImpl.cpp:
(WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
* Modules/mediastream/RTCVoidRequestImpl.cpp:
(WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
* Modules/networkinfo/NetworkInfoConnection.cpp:
(WebCore::NetworkInfoConnection::NetworkInfoConnection):
* Modules/notifications/Notification.cpp:
(WebCore::Notification::Notification):
* Modules/notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::NotificationCenter):
* Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::SpeechRecognition):
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
* Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::DatabaseContext):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::WebSocket):
* css/FontLoader.cpp:
(WebCore::FontLoader::FontLoader):
* dom/ActiveDOMObject.cpp:
(WebCore::ActiveDOMObject::ActiveDOMObject):
* dom/ActiveDOMObject.h:
(ActiveDOMObject):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
(WebCore::ScriptExecutionContext::stopActiveDOMObjects):
(WebCore::ScriptExecutionContext::didCreateActiveDOMObject):
* dom/ScriptExecutionContext.h:
(ScriptExecutionContext):
(WebCore::ScriptExecutionContext::activeDOMObjects):
* fileapi/FileReader.cpp:
(WebCore::FileReader::FileReader):
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
* loader/Prerenderer.cpp:
(WebCore::Prerenderer::Prerenderer):
* page/EventSource.cpp:
(WebCore::EventSource::EventSource):
* page/SuspendableTimer.cpp:
(WebCore::SuspendableTimer::SuspendableTimer):
* workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::AbstractWorker):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::hasPendingActivity):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::XMLHttpRequest):

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

7 years ago [Mac] Move NSOperationQueue out of NetworkingContext
ap@apple.com [Thu, 21 Mar 2013 22:54:44 +0000 (22:54 +0000)]
    [Mac] Move NSOperationQueue out of NetworkingContext
        https://bugs.webkit.org/show_bug.cgi?id=112970

        Reviewed by Brady Eidson.

        WebCore clients do not need explicit control over what queue ResourceHandle works on,
        they just want to avoid blocking main thread.

        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::usesAsyncCallbacks): Added. The name doesn't quite
        match what ResourceHandleMac currently does, but it will very soon.

        * platform/network/NetworkingContext.h:
        (WebCore::NetworkingContext::scheduledRunLoopPairs):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::operationQueueForAsyncClients):
        (WebCore::ResourceHandle::start):

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

7 years agoRevert bad change to resize-corner-tracking-transformed-expected.txt
commit-queue@webkit.org [Thu, 21 Mar 2013 22:53:11 +0000 (22:53 +0000)]
Revert bad change to resize-corner-tracking-transformed-expected.txt
https://bugs.webkit.org/show_bug.cgi?id=112974

In bug 9221, I accidentally overwrite
resize-corner-tracking-transformed-expected.txt with a win/linux
version, which broke Mac. Unfortunately, the gardener didn't realize
this and just added the test to TestExpectations. This change restores
the original expectation to fix mac and removes the test from
TestExpectations.

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-21
Reviewed by Tony Chang.

* platform/chromium/TestExpectations:
* platform/chromium/fast/css/resize-corner-tracking-transformed-expected.txt:

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

7 years ago[V8] Generate specialized callbacks for the main world
commit-queue@webkit.org [Thu, 21 Mar 2013 22:52:24 +0000 (22:52 +0000)]
[V8] Generate specialized callbacks for the main world
https://bugs.webkit.org/show_bug.cgi?id=112430

Patch by Marja Hölttä <marja@chromium.org> on 2013-03-21
Reviewed by Jochen Eisinger.

The new specialized bindings will be faster, because they don't need to
do the "main world, isolated world or a worker" check, but can right
away assume that we're in the main world.

This patch generates main world bindings for getters and setters of Node,
Element and Document.

No new tests (updated existing binding tests).

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateOverloadedFunction):
(GenerateFunctionCallback):
(GenerateFunction):
(GenerateParametersCheck):
(GenerateSingleConstructorCallback):
(GenerateNonStandardFunction):
(GenerateImplementation):
(GenerateFunctionCallString):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore):
* bindings/v8/V8DOMConfiguration.cpp:
(WebCore::V8DOMConfiguration::batchConfigureCallbacks):
(WebCore::V8DOMConfiguration::configureTemplate):
* bindings/v8/V8DOMConfiguration.h:
(BatchedMethod):
(V8DOMConfiguration):
* dom/Document.idl:
* dom/Element.idl:
* dom/Node.idl:

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

7 years agoRemove RenderObject::canHaveRegionStyle since nothing uses it
esprehn@chromium.org [Thu, 21 Mar 2013 22:50:08 +0000 (22:50 +0000)]
Remove RenderObject::canHaveRegionStyle since nothing uses it
https://bugs.webkit.org/show_bug.cgi?id=112973

Reviewed by Eric Seidel.

Nothing uses canHaveRegionStyle so we can remove it.

* rendering/RenderObject.h:

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

7 years ago[chromium] Minor test expectations updates and some Skia rebaselines.
pkasting@chromium.org [Thu, 21 Mar 2013 22:35:29 +0000 (22:35 +0000)]
[chromium] Minor test expectations updates and some Skia rebaselines.
https://bugs.webkit.org/show_bug.cgi?id=94240
https://bugs.webkit.org/show_bug.cgi?id=104595
https://code.google.com/p/chromium/issues/detail?id=181700
https://code.google.com/p/chromium/issues/detail?id=222382

Unreviewed, gardening.

* platform/chromium-linux-x86/platform/chromium/virtual/gpu: Removed.
* platform/chromium-linux-x86/platform/chromium/virtual/gpu/fast: Removed.
* platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-expected.png:
* platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-transformclip-expected.png:
* platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png:
* platform/chromium-mac-lion/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-expected.png:
* platform/chromium-mac-lion/platform/chromium/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png:
* platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-expected.png:
* platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-transformclip-expected.png:
* platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png:
* platform/chromium-win-xp/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
* platform/chromium-win/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
* platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-expected.png:
* platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-transformclip-expected.png:
* platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoMark GraphicsLayers as opaque when possible
alokp@chromium.org [Thu, 21 Mar 2013 22:29:30 +0000 (22:29 +0000)]
Mark GraphicsLayers as opaque when possible
https://bugs.webkit.org/show_bug.cgi?id=70634

Reviewed by Simon Fraser.

Source/WebCore:

Mark layers as opaque in a very simple case - any child renderer has an opaque background and covers the entire composited bounds. It is important to note that since we only consider the background, the only layer that can be marked opaque is the primary GraphicsLayer of a RenderLayer.

Tests: compositing/contents-opaque/background-clip.html
       compositing/contents-opaque/background-color.html
       compositing/contents-opaque/body-background-painted.html
       compositing/contents-opaque/body-background-skipped.html
       compositing/contents-opaque/layer-opacity.html
       compositing/contents-opaque/layer-transform.html

* rendering/RenderBox.cpp:
(WebCore::skipBodyBackground):
(WebCore):
(WebCore::RenderBox::paintBackground):
(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
(WebCore):
(WebCore::RenderLayer::listBackgroundIsKnownToBeOpaqueInRect):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerModelObject.h:
(RenderLayerModelObject):
(WebCore::RenderLayerModelObject::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

* compositing/absolute-inside-out-of-view-fixed-expected.txt:
* compositing/backing/no-backing-for-clip-expected.txt:
* compositing/backing/no-backing-for-clip-overlap-expected.txt:
* compositing/backing/no-backing-for-perspective-expected.txt:
* compositing/clip-child-by-non-stacking-ancestor-expected.txt:
* compositing/columns/composited-in-paginated-expected.txt:
* compositing/contents-opaque/background-clip-expected.txt: Copied from LayoutTests/platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt.
* compositing/contents-opaque/background-clip.html: Added.
* compositing/contents-opaque/background-color-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-positioned-expected.txt.
* compositing/contents-opaque/background-color.html: Added.
* compositing/contents-opaque/body-background-painted-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt.
* compositing/contents-opaque/body-background-painted.html: Added.
* compositing/contents-opaque/body-background-skipped-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt.
* compositing/contents-opaque/body-background-skipped.html: Added.
* compositing/contents-opaque/layer-opacity-expected.txt: Copied from LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt.
* compositing/contents-opaque/layer-opacity.html: Added.
* compositing/contents-opaque/layer-transform-expected.txt: Copied from LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt.
* compositing/contents-opaque/layer-transform.html: Added.
* compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
* compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
* compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
* compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* compositing/geometry/bounds-ignores-hidden-expected.txt:
* compositing/geometry/clip-expected.txt:
* compositing/geometry/clip-inside-expected.txt:
* compositing/geometry/fixed-position-composited-switch-expected.txt:
* compositing/geometry/flipped-writing-mode-expected.txt:
* compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
* compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
* compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* compositing/geometry/limit-layer-bounds-positioned-expected.txt:
* compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
* compositing/geometry/limit-layer-bounds-transformed-expected.txt:
* compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
* compositing/geometry/preserve-3d-switching-expected.txt:
* compositing/iframes/become-composited-nested-iframes-expected.txt:
* compositing/iframes/become-overlapped-iframe-expected.txt:
* compositing/iframes/composited-parent-iframe-expected.txt:
* compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* compositing/iframes/connect-compositing-iframe-expected.txt:
* compositing/iframes/connect-compositing-iframe2-expected.txt:
* compositing/iframes/connect-compositing-iframe3-expected.txt:
* compositing/iframes/enter-compositing-iframe-expected.txt:
* compositing/iframes/iframe-resize-expected.txt:
* compositing/iframes/invisible-nested-iframe-hide-expected.txt:
* compositing/iframes/invisible-nested-iframe-show-expected.txt:
* compositing/iframes/overlapped-iframe-expected.txt:
* compositing/iframes/overlapped-iframe-iframe-expected.txt:
* compositing/iframes/overlapped-nested-iframes-expected.txt:
* compositing/iframes/page-cache-layer-tree-expected.txt:
* compositing/iframes/scrolling-iframe-expected.txt:
* compositing/layer-creation/animation-overlap-with-children-expected.txt:
* compositing/layer-creation/fixed-position-and-transform-expected.txt:
* compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* compositing/layer-creation/fixed-position-under-transform-expected.txt:
* compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* compositing/layer-creation/overlap-animation-clipping-expected.txt:
* compositing/layer-creation/overlap-animation-expected.txt:
* compositing/layer-creation/overlap-child-layer-expected.txt:
* compositing/layer-creation/overlap-clipping-expected.txt:
* compositing/layer-creation/overlap-transformed-3d-expected.txt:
* compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
* compositing/layer-creation/overlap-transformed-layer-expected.txt:
* compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
* compositing/layer-creation/overlap-transforms-expected.txt:
* compositing/layer-creation/spanOverlapsCanvas-expected.txt:
* compositing/layer-creation/stacking-context-overlap-expected.txt:
* compositing/layer-creation/translatez-overlap-expected.txt:
* compositing/masks/mask-layer-size-expected.txt:
* compositing/overflow-trumps-transform-style-expected.txt:
* compositing/overflow/clip-descendents-expected.txt:
* compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* compositing/overflow/textarea-scroll-touch-expected.txt:
* compositing/plugins/no-backing-store-expected.txt:
* compositing/repaint/invalidations-on-composited-layers-expected.txt:
* compositing/rtl/rtl-absolute-expected.txt:
* compositing/rtl/rtl-absolute-overflow-expected.txt:
* compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-fixed-expected.txt:
* compositing/rtl/rtl-fixed-overflow-expected.txt:
* compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-iframe-absolute-expected.txt:
* compositing/rtl/rtl-iframe-fixed-expected.txt:
* compositing/rtl/rtl-iframe-relative-expected.txt:
* compositing/rtl/rtl-relative-expected.txt:
* compositing/tiled-layers-hidpi-expected.txt:
* compositing/tiling/backface-preserve-3d-tiled-expected.txt:
* compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* compositing/tiling/huge-layer-add-remove-child-expected.txt:
* compositing/tiling/huge-layer-with-layer-children-expected.txt:
* compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* compositing/tiling/rotated-tiled-clamped-expected.txt:
* compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* compositing/tiling/tile-cache-zoomed-expected.txt:
* compositing/tiling/tiled-layer-resize-expected.txt:
* compositing/visible-rect/2d-transformed-expected.txt:
* compositing/visible-rect/3d-transform-style-expected.txt:
* compositing/visible-rect/3d-transformed-expected.txt:
* compositing/visible-rect/animated-expected.txt:
* compositing/visible-rect/animated-from-none-expected.txt:
* compositing/visible-rect/clipped-by-viewport-expected.txt:
* compositing/visible-rect/clipped-visible-rect-expected.txt:
* compositing/visible-rect/iframe-and-layers-expected.txt:
* compositing/visible-rect/iframe-no-layers-expected.txt:
* compositing/visible-rect/nested-transform-expected.txt:
* compositing/visible-rect/scrolled-expected.txt:
* css3/filters/filtered-compositing-descendant-expected.txt:
* platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-linux/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-linux/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-linux/compositing/iframes/become-overlapped-iframe-expected.txt:
* platform/chromium-linux/compositing/iframes/composited-parent-iframe-expected.txt:
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe-expected.txt:
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/chromium-linux/compositing/iframes/enter-compositing-iframe-expected.txt:
* platform/chromium-linux/compositing/iframes/iframe-resize-expected.txt:
* platform/chromium-linux/compositing/iframes/iframe-size-from-zero-expected.txt:
* platform/chromium-linux/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/chromium-linux/compositing/iframes/overlapped-iframe-expected.txt:
* platform/chromium-linux/compositing/iframes/resizer-expected.txt:
* platform/chromium-linux/compositing/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/become-overlapped-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/composited-parent-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/enter-compositing-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/iframe-resize-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/iframe-size-from-zero-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/overlapped-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/resizer-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/scrolling-iframe-expected.txt: Removed.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/chromium-mac/compositing/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/chromium-mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/chromium-mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/chromium-mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/chromium-mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-win-xp/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-win-xp/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-win/compositing/backing/no-backing-for-clip-expected.txt:
* platform/chromium-win/compositing/backing/no-backing-for-clip-overlap-expected.txt:
* platform/chromium-win/compositing/backing/no-backing-for-perspective-expected.txt:
* platform/chromium-win/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-win/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-win/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* platform/chromium-win/compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
* platform/chromium-win/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* platform/chromium-win/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/chromium-win/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/chromium-win/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/chromium-win/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/chromium-win/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/chromium-win/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/chromium-win/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/chromium/TestExpectations:
* platform/chromium/compositing/backing/no-backing-for-clip-expected.txt:
* platform/chromium/compositing/backing/no-backing-for-clip-overlap-expected.txt:
* platform/chromium/compositing/backing/no-backing-for-perspective-expected.txt:
* platform/chromium/compositing/columns/composited-in-paginated-expected.txt:
* platform/chromium/compositing/contents-opaque/background-color-expected.txt: Copied from LayoutTests/platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt.
* platform/chromium/compositing/contents-opaque/body-background-painted-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt.
* platform/chromium/compositing/contents-opaque/body-background-skipped-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt.
* platform/chromium/compositing/contents-opaque/layer-opacity-expected.txt: Copied from LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt.
* platform/chromium/compositing/contents-opaque/layer-transform-expected.txt: Copied from LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt.
* platform/chromium/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
* platform/chromium/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
* platform/chromium/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium/compositing/geometry/clip-expected.txt:
* platform/chromium/compositing/geometry/clip-inside-expected.txt:
* platform/chromium/compositing/geometry/fixed-position-composited-switch-expected.txt:
* platform/chromium/compositing/geometry/flipped-writing-mode-expected.txt:
* platform/chromium/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-transformed-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
* platform/chromium/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/chromium/compositing/iframes/become-composited-nested-iframes-expected.txt:
* platform/chromium/compositing/iframes/become-overlapped-iframe-expected.txt:
* platform/chromium/compositing/iframes/composited-parent-iframe-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/chromium/compositing/iframes/enter-compositing-iframe-expected.txt:
* platform/chromium/compositing/iframes/iframe-resize-expected.txt:
* platform/chromium/compositing/iframes/iframe-size-from-zero-expected.txt:
* platform/chromium/compositing/iframes/invisible-nested-iframe-hide-expected.txt:
* platform/chromium/compositing/iframes/overlapped-iframe-expected.txt:
* platform/chromium/compositing/iframes/overlapped-iframe-iframe-expected.txt:
* platform/chromium/compositing/iframes/overlapped-nested-iframes-expected.txt:
* platform/chromium/compositing/iframes/resizer-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* platform/chromium/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-animation-clipping-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-animation-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-child-layer-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-clipping-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-3d-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-layer-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transforms-expected.txt:
* platform/chromium/compositing/layer-creation/spanOverlapsCanvas-expected.txt:
* platform/chromium/compositing/layer-creation/stacking-context-overlap-expected.txt:
* platform/chromium/compositing/layer-creation/translatez-overlap-expected.txt:
* platform/chromium/compositing/overflow-trumps-transform-style-expected.txt:
* platform/chromium/compositing/overflow/clip-descendents-expected.txt:
* platform/chromium/compositing/rtl/rtl-absolute-expected.txt:
* platform/chromium/compositing/rtl/rtl-absolute-overflow-expected.txt:
* platform/chromium/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* platform/chromium/compositing/rtl/rtl-fixed-expected.txt:
* platform/chromium/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/chromium/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium/compositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium/compositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium/compositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium/compositing/rtl/rtl-relative-expected.txt:
* platform/chromium/css3/filters/filtered-compositing-descendant-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
* platform/mac/compositing/iframes/resizer-expected.txt:
* platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
* platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac/compositing/tiling/tiled-layer-resize-expected.txt:
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/qt-5.0-wk1/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* platform/qt-5.0-wk1/compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
* platform/qt-5.0-wk1/compositing/iframes/page-cache-layer-tree-expected.txt:
* platform/qt-5.0-wk1/compositing/overflow/textarea-scroll-touch-expected.txt:
* platform/qt-5.0-wk1/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/qt-5.0-wk2/compositing/columns/composited-in-paginated-expected.txt:
* platform/qt-5.0-wk2/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/become-composited-nested-iframes-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/become-overlapped-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/composited-parent-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/enter-compositing-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/iframe-resize-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/overlapped-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/overlapped-nested-iframes-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/resizer-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/scrolling-iframe-expected.txt: Removed.
* platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* platform/qt-5.0-wk2/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/qt-5.0-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
* platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/qt-5.0-wk2/compositing/tiled-layers-hidpi-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/qt/compositing/backing/no-backing-for-clip-expected.txt:
* platform/qt/compositing/backing/no-backing-for-clip-overlap-expected.txt:
* platform/qt/compositing/backing/no-backing-for-perspective-expected.txt:
* platform/qt/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/qt/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/qt/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* platform/win/compositing/iframes/overlapped-iframe-iframe-expected.txt:
* platform/win/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/win/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/win/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:

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

7 years agoMove common props files for VS2010 solution to WebKitLibraries folder and update...
roger_fong@apple.com [Thu, 21 Mar 2013 22:29:14 +0000 (22:29 +0000)]
Move common props files for VS2010 solution to WebKitLibraries folder and update all projects accordingly.

* WebKit.vcxproj/FeatureDefines.props: Removed.
* WebKit.vcxproj/FeatureDefinesCairo.props: Removed.
* WebKit.vcxproj/WebKit/cURL.props: Removed.
* WebKit.vcxproj/WinCairo.props: Removed.
* WebKit.vcxproj/common.props: Removed.
* WebKit.vcxproj/debug.props: Removed.
* WebKit.vcxproj/debug_wincairo.props: Removed.
* WebKit.vcxproj/debugsuffix.props: Removed.
* WebKit.vcxproj/production.props: Removed.
* WebKit.vcxproj/release.props: Removed.
* win/tools/vsprops/FeatureDefines.props: Copied from ../Source/WebKit/WebKit.vcxproj/FeatureDefines.props.
* win/tools/vsprops/FeatureDefinesCairo.props: Copied from ../Source/WebKit/WebKit.vcxproj/FeatureDefinesCairo.props.
* win/tools/vsprops/WinCairo.props: Copied from ../Source/WebKit/WebKit.vcxproj/WinCairo.props.
* win/tools/vsprops/cURL.props: Copied from ../Source/WebKit/WebKit.vcxproj/WebKit/cURL.props.
* win/tools/vsprops/common.props: Copied from ../Source/WebKit/WebKit.vcxproj/common.props.
* win/tools/vsprops/debug.props: Copied from ../Source/WebKit/WebKit.vcxproj/debug.props.
* win/tools/vsprops/debug_wincairo.props: Copied from ../Source/WebKit/WebKit.vcxproj/debug_wincairo.props.
* win/tools/vsprops/debugsuffix.props: Copied from ../Source/WebKit/WebKit.vcxproj/debugsuffix.props.
* win/tools/vsprops/production.props: Copied from ../Source/WebKit/WebKit.vcxproj/production.props.
* win/tools/vsprops/release.props: Copied from ../Source/WebKit/WebKit.vcxproj/release.props.

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

7 years ago[CSS Shaders] Implement a StyleCustomFilterProgram cache
achicu@adobe.com [Thu, 21 Mar 2013 22:17:44 +0000 (22:17 +0000)]
[CSS Shaders] Implement a StyleCustomFilterProgram cache
https://bugs.webkit.org/show_bug.cgi?id=112602

Reviewed by Dean Jackson.

Source/WebCore:

When the style is recalculated, the new computed RenderStyle is saved as the m_style of the
RenderObject, even if the style was not different.

In the case of Custom Filters, a new StyleCustomFilterProgram was created at all times, but the
actual equality check was done by comparing the pair of cached shaders from inside the StyleCustomFilterProgram.

Because of that the RenderLayer::styleChanged was not called when the new StyleCustomFilterProgram was created, so it
will end up still knowing only about the previous StyleCustomFilterProgram.

The RenderLayer sets itself as a client of the StyleCustomFilterProgram, so that it can repaint itself
when the program is loaded, but because RenderLayer::styleChanged is not called, it will not add itself as a client of the new
StyleCustomFilterProgram.

StyleCustomFilterProgram waits until the first client to load the programs, so in this case it will just remain unloaded.

There was no crash, but just an assert in debug mode. Also, as a visible side-effect some frames were rendered using blank shaders,
resulting in a pass-through filter.

The fix would be to actually make the RenderStyle::diff detect the change of the StyleCustomFilterProgram
using the pointer value and not the values. However, that will always invalidate the "filter" property because
of the StyleCustomFilterProgram that always gets created during the recalculation time.

I've added StyleCustomFilterProgramCache to cache all the instances of the StyleCustomFilterPrograms that a
StyleResolver allocates. This way, next time it will try to reuse previously allocated StyleCustomFilterPrograms.
The key of the cache is the CustomFilterProgramInfo, that combines the URLs to the shaders and a couple of other program settings.

StyleCustomFilterProgramCache is owned by the StyleResovler and StyleCustomFilterPrograms are responsible with
removing themselves from the cache when the last reference goes away.

This change makes the previous "platform level" program cache obsolete and I will remove that in a future patch.
https://bugs.webkit.org/show_bug.cgi?id=112844

Test: css3/filters/custom/custom-filter-reload.html

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::lookupCustomFilterProgram): Lookup any similar programs in the cache. It will create a new pending
StyleCustomFilterProgram if there is no pre-cached version of the program.
if no program is found. loadPendingShaders is responsible for adding the program in the cache if it is actually going to be used.
(WebCore::StyleResolver::loadPendingShaders): At this point the program is final, so it's safe to add it to the cache.
(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
* css/StyleResolver.h:
(StyleResolver):
* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::completeURL): Factored out the function to compute the complete URL of the resource.
(WebCore::WebKitCSSShaderValue::cachedShader):
* css/WebKitCSSShaderValue.h:
(WebCore::toWebKitCSSShaderValue):
(WebKitCSSShaderValue):
* platform/graphics/filters/CustomFilterOperation.cpp:
(WebCore::CustomFilterOperation::blend):
* platform/graphics/filters/CustomFilterOperation.h:
(WebCore::CustomFilterOperation::operator==): Removed. Programs should now compare by pointer. Kept it as
private to catch any potential use of it.
* rendering/style/StyleCustomFilterProgram.cpp: Copied from Source/WebCore/css/WebKitCSSShaderValue.h.
(WebCore::StyleCustomFilterProgram::~StyleCustomFilterProgram): Destructor removes the program from the cache.
* rendering/style/StyleCustomFilterProgram.h:
(WebCore::StyleCustomFilterProgram::setVertexShader): Added an assert to check that the shader is not in the
cache while the mutation happens. Otherwise the cache might have the wrong key.
(WebCore::StyleCustomFilterProgram::setFragmentShader): Ditto.
(WebCore::StyleCustomFilterProgram::isLoaded): Added more asserts to catch cases when the program is used with no clients.
(StyleCustomFilterProgram):
(WebCore::StyleCustomFilterProgram::hasPendingShaders):
(WebCore::StyleCustomFilterProgram::inCache):
(WebCore::StyleCustomFilterProgram::setCache): Function called when a program is added to / removed from the cache.
(WebCore::StyleCustomFilterProgram::vertexShaderURL): Added methods to store the KURL that we used as keys in the cache.
The same KURLs will be used to lookup and remove the filter at the end.
(WebCore::StyleCustomFilterProgram::setVertexShaderURL):
(WebCore::StyleCustomFilterProgram::fragmentShaderURL):
(WebCore::StyleCustomFilterProgram::setFragmentShaderURL):
(WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):
* rendering/style/StyleCustomFilterProgramCache.cpp: Added.
(WebCore::StyleCustomFilterProgramCache::programCacheKey):
(WebCore::StyleCustomFilterProgramCache::StyleCustomFilterProgramCache):
(WebCore::StyleCustomFilterProgramCache::~StyleCustomFilterProgramCache): Destructor removes itself from all the
referenced StyleCustomFilterPrograms. This is to avoid issues with different destruction orders.
(WebCore::StyleCustomFilterProgramCache::lookup):
(WebCore::StyleCustomFilterProgramCache::add):
(WebCore::StyleCustomFilterProgramCache::remove):
* rendering/style/StyleCustomFilterProgramCache.h:
(StyleCustomFilterProgramCache):
* platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h:
(WebCore::CoordinatedCustomFilterProgram::operator==: Removed. Programs should now compare by pointer.

LayoutTests:

Added a new test to check for the case when the style is recalculated but the
filter property is not changed. All the other cases for the new StyleCustomFilterProgramCache
class should be tested by existing tests.

* css3/filters/custom/custom-filter-reload-expected.txt: Added.
* css3/filters/custom/custom-filter-reload.html: Added.

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

7 years ago[BlackBerry] Last paragraph can't be selected by touch hold selection if there is...
commit-queue@webkit.org [Thu, 21 Mar 2013 22:11:40 +0000 (22:11 +0000)]
[BlackBerry] Last paragraph can't be selected by touch hold selection if there is no new line after it in subframe.
https://bugs.webkit.org/show_bug.cgi?id=112966

Patch by Iris Wu <shuwu@blackberry.com> on 2013-03-21
Reviewed by Rob Buis.

PR 312044
Reviewed Internally By Genevieve Mak.

If selection reaches the bottom of content, ignore scroll margin
so the text on the bottom can be selected.
Stop expanding selection only if the end of document is selected
or touch is released.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::expandSelection):
(BlackBerry::WebKit::SelectionHandler::ensureSelectedTextVisible):

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

7 years agoIndexedDB: Ensure all API methods have IDB_TRACE macros
jsbell@chromium.org [Thu, 21 Mar 2013 21:53:35 +0000 (21:53 +0000)]
IndexedDB: Ensure all API methods have IDB_TRACE macros
https://bugs.webkit.org/show_bug.cgi?id=112963

Reviewed by Tony Chang.

Anntotate methods and callbacks that weren't already annotated
with IDB_TRACE macros to assist in debugging, e.g. when using
the chromium port's chrome://tracing visualization.

No new tests - just harmless diagnostic sprinkles.

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore): Added IDB_TRACE macro call here.
(WebCore::IDBDatabase::deleteObjectStore): ...and here.
(WebCore::IDBDatabase::transaction): ...etc.
(WebCore::IDBDatabase::close):
(WebCore::IDBDatabase::onVersionChange):
* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::getDatabaseNames):
(WebCore::IDBFactory::open):
(WebCore::IDBFactory::deleteDatabase):
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::getDatabaseNames):
(WebCore::IDBFactoryBackendImpl::deleteDatabase):
(WebCore::IDBFactoryBackendImpl::open):
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onBlocked):

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

7 years ago[BlackBerry] addSearchProvider shouldn't match the full host, only the server
commit-queue@webkit.org [Thu, 21 Mar 2013 21:52:15 +0000 (21:52 +0000)]
[BlackBerry] addSearchProvider shouldn't match the full host, only the server
https://bugs.webkit.org/show_bug.cgi?id=112960

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-03-21
Reviewed by Rob Buis.
Internally Reviewed by Jeff Rogers.

Remove full host matching. only check if domains are from the same server.

Also, check user gesture before dispatching the addSearchProvider event to the browser.

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::addSearchProvider):
(WebCore::ChromeClientBlackBerry::isSearchProviderInstalled):
* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):
* WebCoreSupport/ExternalExtension.cpp:
(IsSearchProviderInstalledMethod):

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

7 years agoSkip triaged crashes on content shell
jochen@chromium.org [Thu, 21 Mar 2013 21:51:56 +0000 (21:51 +0000)]
Skip triaged crashes on content shell

Unreviewed gardening

* platform/chromium/ContentShellTestExpectations:

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

7 years agoEWS bubbles need more space
rniwa@webkit.org [Thu, 21 Mar 2013 21:49:22 +0000 (21:49 +0000)]
EWS bubbles need more space
https://bugs.webkit.org/show_bug.cgi?id=112964

Reviewed by Philip Rogers.

Increased the width from 500px to 600px so that all bubbles fit.

* template/en/custom/attachment/list.html.tmpl:

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

7 years agofast/frames/detach-frame-during-focus.html fails on some platforms
tkent@chromium.org [Thu, 21 Mar 2013 21:47:37 +0000 (21:47 +0000)]
fast/frames/detach-frame-during-focus.html fails on some platforms
https://bugs.webkit.org/show_bug.cgi?id=112904

* fast/frames/detach-frame-during-focus.html:
Do not run the test sequence twice.

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

7 years agohttp://trac.webkit.org/changeset/146375 causing CrOS crashes
commit-queue@webkit.org [Thu, 21 Mar 2013 21:37:38 +0000 (21:37 +0000)]
trac.webkit.org/changeset/146375 causing CrOS crashes
https://bugs.webkit.org/show_bug.cgi?id=112958

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-21
Reviewed by Adam Barth.

Source/WebCore:

Test: fast/flexbox/crash-anonymous-box.html

* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
Anonymous renderers don't have a node in their constructor, so
don't get document() in there.

LayoutTests:

* fast/flexbox/crash-anonymous-box-expected.txt: Added.
* fast/flexbox/crash-anonymous-box.html: Added.

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

7 years ago[chromium] Add possibleUserNames to WebPasswordFormData
commit-queue@webkit.org [Thu, 21 Mar 2013 21:30:19 +0000 (21:30 +0000)]
[chromium] Add possibleUserNames to WebPasswordFormData
https://bugs.webkit.org/show_bug.cgi?id=112375

Patch by Garrett Casto <gcasto@chromium.org> on 2013-03-21
Reviewed by Adam Barth.

* public/WebPasswordFormData.h:
(WebPasswordFormData):
* src/WebPasswordFormData.cpp:
(WebKit::WebPasswordFormData::WebPasswordFormData):
* src/WebPasswordFormUtils.cpp:
(WebKit::findPasswordFormFields):
* src/WebPasswordFormUtils.h:
(PasswordFormFields):

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

7 years agoCSP 1.1: Fire a SecurityPolicyViolationEvent when violations occur.
mkwst@chromium.org [Thu, 21 Mar 2013 21:25:36 +0000 (21:25 +0000)]
CSP 1.1: Fire a SecurityPolicyViolationEvent when violations occur.
https://bugs.webkit.org/show_bug.cgi?id=112783

Reviewed by Adam Barth.

Source/WebCore:

A new event type for Content Security Policy violations landed in
http://wkrev.com/146305; this patch takes that stub, and wires it up to
ContentSecurityPolicy::reportViolation such that violation events fire
when resources are blocked.

This should bring WebKit up to date with the current description of
CSP's event model in sections 3.3[1] and 3.4.1.3[2] of the editor's
draft.

[1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#processing-model
[2]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#firing-events-using-the-securitypolicyviolationevent-interface

Test: http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image.html

* page/ContentSecurityPolicy.cpp:
(WebCore::gatherSecurityPolicyViolationEventData):
    Populate a SecurityPolicyViolationEventInit object with the various
    bits of data that should be passed into the event constructor.

    This static method is strictly an implementation detail; it's not
    part of ContentSecurityPolicy's public API.
(WebCore::ContentSecurityPolicy::reportViolation):
    Regardless of whether the policy has set a 'report-uri' directive
    or not, gather together all the data we'll need to fire an event,
    create the event, and queue it up for dispatching on the Document.

LayoutTests:

* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image.html: Added.

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

7 years ago[chromium] Remove SK_SUPPORT_HINTING_SCALE_FACTOR flag and code
tdanderson@chromium.org [Thu, 21 Mar 2013 21:22:53 +0000 (21:22 +0000)]
[chromium] Remove SK_SUPPORT_HINTING_SCALE_FACTOR flag and code
https://bugs.webkit.org/show_bug.cgi?id=112928

Reviewed by Stephen White.

This flag was only for ChromeOS builds with HighDPI. It is no longer needed and can be removed.
See http://crbug.com/17550

Source/WebCore:

No new tests needed since this is just removing unused code.

* platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
(WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::PlatformContextSkia):
(WebCore::PlatformContextSkia::setupPaintCommon):
* platform/graphics/skia/PlatformContextSkia.h:

Source/WebKit/chromium:

* features.gypi:
* tests/OpaqueRectTrackingContentLayerDelegateTest.cpp:
* tests/PlatformContextSkiaTest.cpp:

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

7 years agoSupport connecting the Web Inspector without showing it.
timothy@apple.com [Thu, 21 Mar 2013 21:16:41 +0000 (21:16 +0000)]
Support connecting the Web Inspector without showing it.

This allows you to get the debugger attached in the background. When a breakpoint is hit
the Inspector will open. This change also reduces some WebProcess messaging by removing
the DidLoadInspectorPage message and stops sending the SetAttachedWindow message on close.

https://bugs.webkit.org/show_bug.cgi?id=112445

Reviewed by Sam Weinig.

* UIProcess/API/C/WKInspector.cpp:
(WKInspectorIsConnected): Added.
(WKInspectorConnect): Added.
(WKInspectorHide): Added.

* UIProcess/API/C/WKInspector.h:
Added new APIs.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy):
Initialize new state booleans.

(WebKit::WebInspectorProxy::invalidate):
Don't set state booleans that didClose already resets.

(WebKit::WebInspectorProxy::connect): Added.
(WebKit::WebInspectorProxy::show):
Open if we are already connected. Call connect().

(WebKit::WebInspectorProxy::hide): Added.

(WebKit::WebInspectorProxy::close):
Call didClose we can detach or close the window immediately instead of waiting for a
message from the WebProcess.

(WebKit::WebInspectorProxy::attach):
(WebKit::WebInspectorProxy::detach):
Check for !m_page to match other functions.

(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::didLoadInspectorPage):
Removed. Moved logic to open().

(WebKit::WebInspectorProxy::open): Added.

(WebKit::WebInspectorProxy::didClose):
Clear new state booleans. Don't perform work again if already closed. Use platformDetach()
instead of detach() to avoid sending the SetAttachedWindow message.

(WebKit::WebInspectorProxy::bringToFront):
Call open() if we are not visible yet, otherwise platformBringToFront.

* UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::isConnected): Added.

* UIProcess/WebInspectorProxy.messages.in: Removed DidLoadInspectorPage.

* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformHide): Added stub.

* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformHide): Added.

* UIProcess/qt/WebInspectorProxyQt.cpp:
(WebKit::WebInspectorProxy::platformHide): Added stub.

* WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
* WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
Removed frontendLoaded().

* WebProcess/WebPage/WebInspector.cpp:
* WebProcess/WebPage/WebInspector.h:
Removed didLoadInspectorPage().

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

7 years agoCleanup android media layout test code
commit-queue@webkit.org [Thu, 21 Mar 2013 21:02:57 +0000 (21:02 +0000)]
Cleanup android media layout test code
https://bugs.webkit.org/show_bug.cgi?id=112944

Patch by Min Qin <qinmin@chromium.org> on 2013-03-21
Reviewed by Adam Barth.

Chromium change: https://codereview.chromium.org/12892010/
The current android layout tests are using WebmediaPlayerInProcessAndroid class.
The code path has been largely diverged from that of the WebMediaPlayerImplAndroid.
It is not worth the effort to keep the code path, and the layout tests will not reflect the actual behavior on the browser.
Instead, we should switch to use content shell for layout tests.

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::resetTestController):

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

7 years agoDrop full URLs from cross-origin access errors caused by protocol mismatches.
mkwst@chromium.org [Thu, 21 Mar 2013 21:02:34 +0000 (21:02 +0000)]
Drop full URLs from cross-origin access errors caused by protocol mismatches.
https://bugs.webkit.org/show_bug.cgi?id=112894

Reviewed by Timothy Hatcher.

Source/WebCore:

Following up on http://wkbug.com/112813, this patch brings protocol
mismatch errors into line with the new origin-only hotness. The message
is also changed to display the URL's protocol rather than the origin's
protocol: it makes a big difference for 'data:' URLs, for instance.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::crossDomainAccessErrorMessage):

LayoutTests:

* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block-expected.txt:
* http/tests/security/cross-frame-access-protocol-expected.txt:
* http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
* http/tests/security/view-source-no-javascript-url-expected.txt:
* http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
* http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
* http/tests/security/xssAuditor/full-block-base-href-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
* http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
* http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
* http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
* platform/chromium/http/tests/security/inactive-document-with-empty-security-origin-expected.txt:
* platform/chromium/http/tests/security/window-named-proto-expected.txt:

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

7 years agoSVG text path referencing parent text infinite loops
schenney@chromium.org [Thu, 21 Mar 2013 20:57:35 +0000 (20:57 +0000)]
SVG text path referencing parent text infinite loops
https://bugs.webkit.org/show_bug.cgi?id=112078

Reviewed by Philip Rogers.

Source/WebCore:

We do not check the target type when adding a resource reference for
SVG Text Path's URI. This goes horribly wrong when the target is the
text path's parent text element. In this patch we check that the target
element of the text path is indeed a path element, as the spec
requires. No other element type is allowed.

Note that RenderSVGTextPath enforces this check in the renderer code
also, so if we get past this check via pending resources, it doesn't
matter. You can't get into this situation with a pending reference
because, by definition, the parent must be defined before the text
path child.

Test: svg/text/textpath-referencing-text-crash.svg

* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::buildPendingResource):

LayoutTests:

* svg/text/textpath-referencing-text-crash-expected.txt: Added.
* svg/text/textpath-referencing-text-crash.svg: Added.

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

7 years ago[chromium] add missing project dependencies to DRT to fix Mac Valgrind
dpranke@chromium.org [Thu, 21 Mar 2013 20:56:16 +0000 (20:56 +0000)]
[chromium] add missing project dependencies to DRT to fix Mac Valgrind
https://bugs.webkit.org/show_bug.cgi?id=112953

Reviewed by Tony Chang.

When I created the DumpRenderTree_resources target in r144863 I
forgot to declare the needed dependencies on the other resource
targets. Due to a quirk of ordering, this appears to have been fine
w/ ninja but not w/ Xcode (which is still being used on the chromium
mac valgrind bots). Declaring the dependencies fixes the build
failures.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

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

7 years ago Build fix.
ap@apple.com [Thu, 21 Mar 2013 20:53:02 +0000 (20:53 +0000)]
    Build fix.

        * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Include CurrentTime.h, as needed
        to call currentTime().

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

7 years ago[Chromium] Removed unused WEBKIT_USE_NEW_WEBFILESYSTEMTYPE flag
pilgrim@chromium.org [Thu, 21 Mar 2013 20:49:06 +0000 (20:49 +0000)]
[Chromium] Removed unused WEBKIT_USE_NEW_WEBFILESYSTEMTYPE flag
https://bugs.webkit.org/show_bug.cgi?id=112931

Reviewed by Adam Barth.

Migration complete; flag no longer needed.

* chromium/public/WebFileSystemType.h:

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

7 years agoIndexedDB: Remove onVersionChange(string) plumbing
jsbell@chromium.org [Thu, 21 Mar 2013 20:43:58 +0000 (20:43 +0000)]
IndexedDB: Remove onVersionChange(string) plumbing
https://bugs.webkit.org/show_bug.cgi?id=112712

Reviewed by Adam Barth.

Source/WebCore:

Delete unused onVersionChange(string) overload.

No new tests - just deleting dead code.

* Modules/indexeddb/IDBDatabase.cpp: Delete onVersionChange(string) overload.
* Modules/indexeddb/IDBDatabase.h: Ditto.
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Ditto.
* Modules/indexeddb/IDBDatabaseCallbacks.h: Ditto.
* Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: Ditto.
* Modules/indexeddb/IDBDatabaseCallbacksImpl.h: Ditto.

Source/WebKit/chromium:

* public/WebIDBDatabaseCallbacks.h: Remove onVersionChange(string) overload.
* src/IDBDatabaseCallbacksProxy.cpp: Ditto.
* src/IDBDatabaseCallbacksProxy.h: Ditto.
* src/WebIDBDatabaseCallbacksImpl.cpp: Ditto.
* src/WebIDBDatabaseCallbacksImpl.h: Ditto.
* tests/IDBAbortOnCorruptTest.cpp: Ditto.
* tests/IDBDatabaseBackendTest.cpp: Ditto.

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

7 years agoCorrect bisector angle calculation for markers
pdr@google.com [Thu, 21 Mar 2013 20:35:36 +0000 (20:35 +0000)]
Correct bisector angle calculation for markers
https://bugs.webkit.org/show_bug.cgi?id=112054

Reviewed by Stephen Chenney.

Source/WebCore:

The SVG marker spec states that mid markers with orient=auto should be aligned with their
x-axis along the bisector of the incoming (in) and outgoing (out) angles. Previously we
calculated this bisector angle as:
    bisector = (in + out) / 2;
Angles cannot be averaged this way! Consider in=90deg and out=-180deg: the bisector should
be 135deg but a naive average gives -45deg. This patch corrects for the discontinuity in
angle values with:
    bisector = (in + out + 360) / 2   // if |in - out| > 180
    bisector = (in + out) / 2         // otherwise
This patch includes an exhaustive test of angle values.

Test: svg/custom/marker-orient-auto.html

* rendering/svg/SVGMarkerData.h:
(WebCore::SVGMarkerData::currentAngle):

LayoutTests:

* platform/chromium-linux/svg/custom/marker-orient-auto-expected.png: Added.
* platform/chromium-linux/svg/custom/marker-orient-auto-expected.txt: Added.
* platform/chromium/TestExpectations:
* svg/custom/marker-orient-auto.html: Added.

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

7 years agoExpose the Type field of an RTCStatsReport
commit-queue@webkit.org [Thu, 21 Mar 2013 20:28:46 +0000 (20:28 +0000)]
Expose the Type field of an RTCStatsReport
https://bugs.webkit.org/show_bug.cgi?id=112951

Patch by Harald Alvestrand <hta@google.com> on 2013-03-21
Reviewed by Adam Barth.

Source/WebCore:

Covered by an extension of an existing test.

* Modules/mediastream/RTCStatsReport.h:
(WebCore::RTCStatsReport::type):
* Modules/mediastream/RTCStatsReport.idl:

LayoutTests:

* fast/mediastream/RTCPeerConnection-stats-expected.txt:
* fast/mediastream/RTCPeerConnection-stats.html:

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

7 years ago Move non-trivial virtual functions out of ResourceHandleClient.h
ap@apple.com [Thu, 21 Mar 2013 20:27:08 +0000 (20:27 +0000)]
    Move non-trivial virtual functions out of ResourceHandleClient.h
        https://bugs.webkit.org/show_bug.cgi?id=112950

        Reviewed by Brady Eidson.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/ResourceHandleClient.cpp: Added.
        (WebCore::ResourceHandleClient::ResourceHandleClient):
        (WebCore::ResourceHandleClient::~ResourceHandleClient):
        (WebCore::ResourceHandleClient::didReceiveBuffer):
        (WebCore::ResourceHandleClient::getBuffer):
        * platform/network/ResourceHandleClient.h:

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

7 years ago[WinCairo] Correct assert in Empty BitmapImage Test.
bfulgham@webkit.org [Thu, 21 Mar 2013 20:19:26 +0000 (20:19 +0000)]
[WinCairo] Correct assert in Empty BitmapImage Test.
https://bugs.webkit.org/show_bug.cgi?id=112934

Reviewed by Tim Horton.

* TestWebKitAPI/Tests/WebCore/win/BitmapImage.cpp:
(TestWebKitAPI::TEST): Use proper RefPtr and adoptRef
to avoid ref counting assertion when leaving test scope.

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

7 years agoWindows rebaseline after r146469.
rniwa@webkit.org [Thu, 21 Mar 2013 20:11:06 +0000 (20:11 +0000)]
Windows rebaseline after r146469.

* platform/win/css3/filters/effect-reference-expected.txt:
* platform/win/css3/filters/effect-reference-hw-expected.txt:

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

7 years agoFix lexer charPosition computation when "rewind"ing the lexer.
mark.lam@apple.com [Thu, 21 Mar 2013 20:06:26 +0000 (20:06 +0000)]
Fix lexer charPosition computation when "rewind"ing the lexer.
https://bugs.webkit.org/show_bug.cgi?id=112952.

Reviewed by Michael Saboff.

Changed the Lexer to no longer keep a m_charPosition. Instead, we compute
currentCharPosition() from m_code and m_codeStartPlusOffset, where
m_codeStartPlusOffset is the SourceProvider m_codeStart + the SourceCode
start offset. This ensures that the charPosition is always in sync with
m_code.

* parser/Lexer.cpp:
(JSC::::setCode):
(JSC::::internalShift):
(JSC::::shift):
(JSC::::lex):
* parser/Lexer.h:
(JSC::Lexer::currentCharPosition):
(JSC::::lexExpectIdentifier):

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

7 years ago[GTK] generate-feature-defines-files is incompatible with Python3
zandobersek@gmail.com [Thu, 21 Mar 2013 20:05:49 +0000 (20:05 +0000)]
[GTK] generate-feature-defines-files is incompatible with Python3
https://bugs.webkit.org/show_bug.cgi?id=112956

Reviewed by Martin Robinson.

Make the generate-feature-defines-files compatible with Python3 by calling the items()
method on the dictionary objects when iterating through said dictionaries.

* gtk/generate-feature-defines-files:
(write_feature_defines_header):
(write_flattened_feature_defines_file):

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

7 years ago[SVG] Remove explicit LightSource dispatchers
fmalita@chromium.org [Thu, 21 Mar 2013 20:02:40 +0000 (20:02 +0000)]
[SVG] Remove explicit LightSource dispatchers
https://bugs.webkit.org/show_bug.cgi?id=112827

Reviewed by Stephen Chenney.

Convert LightSource setters to dynamic dispatch. This allows us to remove LightSource.cpp
altogether.

No new tests: refactoring only.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/filters/DistantLightSource.h:
(DistantLightSource):
* platform/graphics/filters/LightSource.cpp: Removed.
* platform/graphics/filters/LightSource.h:
(WebCore::LightSource::setAzimuth):
(WebCore::LightSource::setElevation):
(WebCore::LightSource::setX):
(WebCore::LightSource::setY):
(WebCore::LightSource::setZ):
(WebCore::LightSource::setPointsAtX):
(WebCore::LightSource::setPointsAtY):
(WebCore::LightSource::setPointsAtZ):
(WebCore::LightSource::setSpecularExponent):
(WebCore::LightSource::setLimitingConeAngle):
* platform/graphics/filters/PointLightSource.h:
(PointLightSource):
* platform/graphics/filters/SpotLightSource.h:
(SpotLightSource):

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

7 years ago[BlackBerry] GCActivityCallback: replace JSLock with JSLockHolder
commit-queue@webkit.org [Thu, 21 Mar 2013 19:55:26 +0000 (19:55 +0000)]
[BlackBerry] GCActivityCallback: replace JSLock with JSLockHolder
https://bugs.webkit.org/show_bug.cgi?id=112448

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-21
Reviewed by Xan Lopez.

This changed in r121381.

* runtime/GCActivityCallbackBlackBerry.cpp:
(JSC::DefaultGCActivityCallback::doWork):

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

7 years ago[Texmap] Implement support for OpenGLES EXT_unpack_subimage extension
igor.o@sisa.samsung.com [Thu, 21 Mar 2013 19:51:59 +0000 (19:51 +0000)]
[Texmap] Implement support for OpenGLES EXT_unpack_subimage extension
https://bugs.webkit.org/show_bug.cgi?id=108716

If the extension GL_EXT_unpack_subimage is supported, it adds GL_UNPACK_ROW_LENGTH,
GL_UNPACK_SKIP_ROWS and GL_UNPACK_SKIP_PIXELS as valid enums to PixelStore.

Reviewed by Noam Rosenthal.

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

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

7 years agoWeb Inspector: Regression: drawer resizes slowly with animation.
commit-queue@webkit.org [Thu, 21 Mar 2013 19:42:34 +0000 (19:42 +0000)]
Web Inspector: Regression: drawer resizes slowly with animation.
https://bugs.webkit.org/show_bug.cgi?id=112920

Drawer status bar opacity wasn't set to zero on inialization, so no transition event
was fired on first time drawer appeared,thus animation styles wasn't removed properly.

Patch by Dmitry Zvorygin <zvorygin@chromium.org> on 2013-03-21
Reviewed by Vsevolod Vlasov.

* inspector/front-end/Drawer.js:
(WebInspector.Drawer):

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

7 years ago[BlackBerry] GraphicsLayer: fix code that was accidentally reverted
commit-queue@webkit.org [Thu, 21 Mar 2013 19:36:10 +0000 (19:36 +0000)]
[BlackBerry] GraphicsLayer: fix code that was accidentally reverted
https://bugs.webkit.org/show_bug.cgi?id=112143

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-21
Reviewed by Rob Buis.

Several changes were accidentally reverted in r144465 due to the
upstreaming of some new code:

- clearBackgroundColor() and m_contentsLayerHasBackgroundColor had
  been removed in r137798.

- showDebugBorders() had been renamed to isShowingDebugBorder() in
  r133517.

- A new GraphicsLayer::create() overload had been introduced in
  r130185.

This patch fixes them all.

* platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
(WebCore::GraphicsLayer::create):
(WebCore):
(WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
(WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
(WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
(WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
* platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
(GraphicsLayerBlackBerry):

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

7 years ago[GTK] Move libLevelDB.la setup into a separate GNUmakefile.am
zandobersek@gmail.com [Thu, 21 Mar 2013 19:25:41 +0000 (19:25 +0000)]
[GTK] Move libLevelDB.la setup into a separate GNUmakefile.am
https://bugs.webkit.org/show_bug.cgi?id=112947

Reviewed by Martin Robinson.

.:

* GNUmakefile.am: Include the new GNUmakefile.am, located under Source/ThirdParty/leveldb.

Source/ThirdParty:

* leveldb/GNUmakefile.am: Added, sets up the libLevelDB.la library.

Source/WebCore:

No new tests - no new functionality.

* GNUmakefile.am: Move the libLevelDD.la setup into the new GNUmakefile.am that's placed in
the third-party leveldb source directory.
* GNUmakefile.list.am: Move the LevelDB sources listing there as well.

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

7 years ago[BlackBerry] DrawingBuffer: add clearPlatformLayer() implementation
commit-queue@webkit.org [Thu, 21 Mar 2013 19:22:59 +0000 (19:22 +0000)]
[BlackBerry] DrawingBuffer: add clearPlatformLayer() implementation
https://bugs.webkit.org/show_bug.cgi?id=112696

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-21
Reviewed by Rob Buis.

DrawingBuffer::clearPlatformLayer() was added in r139142.

This is not needed in the BlackBerry port, so this patch only
contains a dummy implementation.

* platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
(WebCore):
(WebCore::DrawingBuffer::clearPlatformLayer):

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