WebKit-https.git
9 years agoSkipped a test that uses Chromium-only LayoutTestController functionality.
mitz@apple.com [Thu, 23 Feb 2012 07:36:44 +0000 (07:36 +0000)]
Skipped a test that uses Chromium-only LayoutTestController functionality.

Rubber-stamped by Joseph Pecoraro.

* platform/mac/Skipped: Added fast/dom/title-directionality-removeChild.html.

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

9 years agoEvery call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnim...
igor.o@sisa.samsung.com [Thu, 23 Feb 2012 07:36:38 +0000 (07:36 +0000)]
Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)
https://bugs.webkit.org/show_bug.cgi?id=38025

This patchs implements updateAnimationTimerForRenderer, it just checks the timeToNextService for
the current RenderObject reducing the amount of iterations.

Reviewed by Simon Fraser.

* page/animation/AnimationController.cpp:
(WebCore):
(WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
(WebCore::AnimationController::updateAnimations):
* page/animation/AnimationControllerPrivate.h:
(AnimationControllerPrivate):

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

9 years agoNOTIFICATIONS should be implemented as PageSupplement
commit-queue@webkit.org [Thu, 23 Feb 2012 07:29:30 +0000 (07:29 +0000)]
NOTIFICATIONS should be implemented as PageSupplement
https://bugs.webkit.org/show_bug.cgi?id=79052

Patch by Hajime Morrita <morrita@chromium.org> on 2012-02-22
Reviewed by Adam Barth.

Source/WebCore:

Turned NotificationController to a PageSupplement.

No new tests. No behavior change.

* notifications/NotificationController.cpp:
(WebCore::NotificationController::clientFrom):
(WebCore):
(WebCore::NotificationController::supplementName):
(WebCore::provideNotification):
* notifications/NotificationController.h:
(NotificationController):
(WebCore::NotificationController::from):
* notifications/NotificationPresenter.h:
(WebCore):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::webkitNotifications):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
(Page):

Source/WebKit/chromium:

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

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit/qt:

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):

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

9 years ago[Qt][WK2] navigationType is missing in new API
commit-queue@webkit.org [Thu, 23 Feb 2012 07:22:03 +0000 (07:22 +0000)]
[Qt][WK2] navigationType is missing in new API
https://bugs.webkit.org/show_bug.cgi?id=78867

Patch by Michael Tyutyunik <michael.tyutyunik@nokia.com> on 2012-02-22
Reviewed by Simon Hausmann.

In QtWebPagePolicyClient::decidePolicyForNavigationAction()
navigationType argument is dropped by mistake. Adding it back
and make it available through NavigationRequest.

* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qwebnavigationrequest.cpp:
(QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
(QWebNavigationRequestPrivate):
(QWebNavigationRequest::QWebNavigationRequest):
(QWebNavigationRequest::navigationType):
* UIProcess/API/qt/qwebnavigationrequest_p.h:
* UIProcess/qt/QtWebPagePolicyClient.cpp:
(QtWebPagePolicyClient::decidePolicyForNavigationAction):
(toQuickWebViewNavigationType):
* UIProcess/qt/QtWebPagePolicyClient.h:
(QtWebPagePolicyClient):

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

9 years ago[Chromium][V8] Support Uint8ClampedArray in postMessage
dslomov@google.com [Thu, 23 Feb 2012 07:04:54 +0000 (07:04 +0000)]
[Chromium][V8] Support Uint8ClampedArray in postMessage
https://bugs.webkit.org/show_bug.cgi?id=79291.

Reviewed by Kenneth Russell.

Source/WebCore:

Covered by existing tests.

* bindings/v8/SerializedScriptValue.cpp:

LayoutTests:

* platform/chromium/fast/canvas/webgl/array-message-passing-expected.txt: Removed.

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

9 years agoMove <input type=radio> tests to fast/forms/radio/
tkent@chromium.org [Thu, 23 Feb 2012 06:50:04 +0000 (06:50 +0000)]
Move <input type=radio> tests to fast/forms/radio/
https://bugs.webkit.org/show_bug.cgi?id=78678

Reviewed by Kentaro Hara.

* fast/forms/ValidityState-valueMissing-radio-expected.txt: Removed.
* fast/forms/ValidityState-valueMissing-radio.html: Removed.
* fast/forms/indeterminate-radio-expected.txt: Removed.
* fast/forms/indeterminate-radio.html: Removed.
* fast/forms/input-radio-checked-tab-expected.txt: Removed.
* fast/forms/input-radio-checked-tab.html: Removed.
* fast/forms/interactive-validation-required-radio-expected.txt: Removed.
* fast/forms/interactive-validation-required-radio.html: Removed.
* fast/forms/radio-attr-order-expected.txt: Removed.
* fast/forms/radio-attr-order.html: Removed.
* fast/forms/radio-button-no-change-event-expected.txt: Removed.
* fast/forms/radio-button-no-change-event.html: Removed.
* fast/forms/radio-check-click-and-drag-expected.txt: Removed.
* fast/forms/radio-check-click-and-drag.html: Removed.
* fast/forms/radio-default-value-expected.txt: Removed.
* fast/forms/radio-default-value.html: Removed.
* fast/forms/radio-group-keyboard-change-event-expected.txt: Removed.
* fast/forms/radio-group-keyboard-change-event.html: Removed.
* fast/forms/radio-nested-labels-expected.txt: Removed.
* fast/forms/radio-nested-labels.html: Removed.
* fast/forms/radio-no-theme-padding-expected.txt: Removed.
* fast/forms/radio-no-theme-padding.html: Removed.
* fast/forms/radio-remove-form-attr-expected.txt: Removed.
* fast/forms/radio-remove-form-attr.html: Removed.
* fast/forms/radio/ValidityState-valueMissing-radio-expected.txt: Copied from LayoutTests/fast/forms/ValidityState-valueMissing-radio-expected.txt.
* fast/forms/radio/ValidityState-valueMissing-radio.html: Copied from LayoutTests/fast/forms/ValidityState-valueMissing-radio.html.
* fast/forms/radio/indeterminate-radio-expected.txt: Copied from LayoutTests/fast/forms/indeterminate-radio-expected.txt.
* fast/forms/radio/indeterminate-radio.html: Copied from LayoutTests/fast/forms/indeterminate-radio.html.
* fast/forms/radio/input-radio-checked-tab-expected.txt: Copied from LayoutTests/fast/forms/input-radio-checked-tab-expected.txt.
* fast/forms/radio/input-radio-checked-tab.html: Copied from LayoutTests/fast/forms/input-radio-checked-tab.html.
* fast/forms/radio/interactive-validation-required-radio-expected.txt: Copied from LayoutTests/fast/forms/interactive-validation-required-radio-expected.txt.
* fast/forms/radio/interactive-validation-required-radio.html: Copied from LayoutTests/fast/forms/interactive-validation-required-radio.html.
* fast/forms/radio/radio-attr-order-expected.txt: Copied from LayoutTests/fast/forms/radio-attr-order-expected.txt.
* fast/forms/radio/radio-attr-order.html: Copied from LayoutTests/fast/forms/radio-attr-order.html.
* fast/forms/radio/radio-button-no-change-event-expected.txt: Copied from LayoutTests/fast/forms/radio-button-no-change-event-expected.txt.
* fast/forms/radio/radio-button-no-change-event.html: Copied from LayoutTests/fast/forms/radio-button-no-change-event.html.
* fast/forms/radio/radio-check-click-and-drag-expected.txt: Copied from LayoutTests/fast/forms/radio-check-click-and-drag-expected.txt.
* fast/forms/radio/radio-check-click-and-drag.html: Copied from LayoutTests/fast/forms/radio-check-click-and-drag.html.
* fast/forms/radio/radio-default-value-expected.txt: Copied from LayoutTests/fast/forms/radio-default-value-expected.txt.
* fast/forms/radio/radio-default-value.html: Copied from LayoutTests/fast/forms/radio-default-value.html.
* fast/forms/radio/radio-group-keyboard-change-event-expected.txt: Copied from LayoutTests/fast/forms/radio-group-keyboard-change-event-expected.txt.
* fast/forms/radio/radio-group-keyboard-change-event.html: Copied from LayoutTests/fast/forms/radio-group-keyboard-change-event.html.
* fast/forms/radio/radio-nested-labels-expected.txt: Copied from LayoutTests/fast/forms/radio-nested-labels-expected.txt.
* fast/forms/radio/radio-nested-labels.html: Copied from LayoutTests/fast/forms/radio-nested-labels.html.
* fast/forms/radio/radio-no-theme-padding-expected.txt: Copied from LayoutTests/fast/forms/radio-no-theme-padding-expected.txt.
* fast/forms/radio/radio-no-theme-padding.html: Copied from LayoutTests/fast/forms/radio-no-theme-padding.html.
* fast/forms/radio/radio-remove-form-attr-expected.txt: Copied from LayoutTests/fast/forms/radio-remove-form-attr-expected.txt.
* fast/forms/radio/radio-remove-form-attr.html: Copied from LayoutTests/fast/forms/radio-remove-form-attr.html.
* fast/forms/radio/radio_checked-expected.txt: Copied from LayoutTests/fast/forms/radio_checked-expected.txt.
* fast/forms/radio/radio_checked.html: Copied from LayoutTests/fast/forms/radio_checked.html.
* fast/forms/radio/radio_checked_dynamic-expected.txt: Copied from LayoutTests/fast/forms/radio_checked_dynamic-expected.txt.
* fast/forms/radio/radio_checked_dynamic.html: Copied from LayoutTests/fast/forms/radio_checked_dynamic.html.
* fast/forms/radio/radio_checked_name-expected.txt: Copied from LayoutTests/fast/forms/radio_checked_name-expected.txt.
* fast/forms/radio/radio_checked_name.html: Copied from LayoutTests/fast/forms/radio_checked_name.html.
* fast/forms/radio/remove-radio-button-assert-expected.txt: Copied from LayoutTests/fast/forms/remove-radio-button-assert-expected.txt.
* fast/forms/radio/remove-radio-button-assert.html: Copied from LayoutTests/fast/forms/remove-radio-button-assert.html.
* fast/forms/radio/state-restore-radio-group-expected.txt: Copied from LayoutTests/fast/forms/state-restore-radio-group-expected.txt.
* fast/forms/radio/state-restore-radio-group.html: Copied from LayoutTests/fast/forms/state-restore-radio-group.html.
* fast/forms/radio_checked-expected.txt: Removed.
* fast/forms/radio_checked.html: Removed.
* fast/forms/radio_checked_dynamic-expected.txt: Removed.
* fast/forms/radio_checked_dynamic.html: Removed.
* fast/forms/radio_checked_name-expected.txt: Removed.
* fast/forms/radio_checked_name.html: Removed.
* fast/forms/remove-radio-button-assert-expected.txt: Removed.
* fast/forms/remove-radio-button-assert.html: Removed.
* fast/forms/state-restore-radio-group-expected.txt: Removed.
* fast/forms/state-restore-radio-group.html: Removed.

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

9 years agoUpdated expected test results for the addition of -webkit-line-align (r108133) and the
mitz@apple.com [Thu, 23 Feb 2012 06:40:55 +0000 (06:40 +0000)]
Updated expected test results for the addition of -webkit-line-align (r108133) and the
renaming of -webkit-line-grid-snap (r107289).

Rubber-stamped by Andy Estes.

* platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:

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

9 years agoEnable Geolocation bindings for GObject
haraken@chromium.org [Thu, 23 Feb 2012 06:26:07 +0000 (06:26 +0000)]
Enable Geolocation bindings for GObject
https://bugs.webkit.org/show_bug.cgi?id=79293

Reviewed by Adam Barth.

This patch adds "WebCore::" to supplemental method calls.
This will solve the GTK build failure we have observed in the Geolocation API,
and thus this patch enables the Geolocation API.

* Modules/geolocation/NavigatorGeolocation.idl:
* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateProperty):
(GenerateFunction):

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

9 years agoREGRESSION (r107516): fast/css/font-face-default-font.html is failing
bashi@chromium.org [Thu, 23 Feb 2012 06:13:01 +0000 (06:13 +0000)]
REGRESSION (r107516): fast/css/font-face-default-font.html is failing
https://bugs.webkit.org/show_bug.cgi?id=79260

Add @font-face with "font-style: italic;" so that affecting the rule
for italic text.

Reviewed by Dan Bernstein.

* fast/css/font-face-default-font.html:

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

9 years ago[Refactoring] Align supplementName() values.
morrita@google.com [Thu, 23 Feb 2012 05:58:31 +0000 (05:58 +0000)]
[Refactoring] Align supplementName() values.
https://bugs.webkit.org/show_bug.cgi?id=79311

Reviewed by Adam Barth.

No new tests. No behavioral change.

* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::supplementName):
* mediastream/UserMediaController.cpp:
(WebCore::UserMediaController::supplementName):

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

9 years agoUnreviewed, rolling out r108602.
yutak@chromium.org [Thu, 23 Feb 2012 05:46:34 +0000 (05:46 +0000)]
Unreviewed, rolling out r108602.
http://trac.webkit.org/changeset/108602
https://bugs.webkit.org/show_bug.cgi?id=78878

Caused a couple of layout test failures on Chromium bots.

Source/WebCore:

* dom/Element.cpp:
(WebCore::Element::childShouldCreateRenderer):
* dom/Element.h:
(Element):
* dom/Node.h:
(WebCore::Node::childShouldCreateRenderer):
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::shouldCreateRenderer):
* dom/NodeRenderingContext.h:
(NodeRenderingContext):
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::childShouldCreateRenderer):
* html/HTMLDetailsElement.h:
(HTMLDetailsElement):
* html/HTMLMediaElement.cpp:
(WebCore):
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* html/HTMLMeterElement.cpp:
* html/HTMLMeterElement.h:
(HTMLMeterElement):
* html/HTMLProgressElement.cpp:
* html/HTMLProgressElement.h:
(HTMLProgressElement):
* html/HTMLSelectElement.cpp:
* html/HTMLSelectElement.h:
(HTMLSelectElement):
* html/HTMLSummaryElement.cpp:
* html/HTMLSummaryElement.h:
(HTMLSummaryElement):
* html/HTMLTextFormControlElement.cpp:
* html/HTMLTextFormControlElement.h:
(HTMLTextFormControlElement):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::canHaveChildren):
(WebCore):
* rendering/RenderButton.h:
(RenderButton):
* rendering/RenderListBox.h:
(WebCore::RenderListBox::canHaveChildren):
(RenderListBox):
* rendering/RenderMedia.h:
* rendering/RenderMenuList.h:
(WebCore::RenderMenuList::canHaveChildren):
* rendering/RenderMeter.h:
(WebCore::RenderMeter::canHaveChildren):
* rendering/RenderProgress.h:
(WebCore::RenderProgress::canHaveChildren):
* rendering/RenderTextControl.h:
(WebCore::RenderTextControl::canHaveChildren):
* rendering/svg/RenderSVGRoot.h:
(WebCore::RenderSVGRoot::canHaveChildren):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::childShouldCreateRenderer):
* svg/SVGAElement.h:
(SVGAElement):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
* svg/SVGAltGlyphElement.h:
(SVGAltGlyphElement):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::childShouldCreateRenderer):
* svg/SVGDocument.h:
(SVGDocument):
* svg/SVGElement.cpp:
(WebCore::SVGElement::childShouldCreateRenderer):
* svg/SVGElement.h:
(SVGElement):
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
* svg/SVGForeignObjectElement.h:
(SVGForeignObjectElement):
* svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::childShouldCreateRenderer):
* svg/SVGSwitchElement.h:
(SVGSwitchElement):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::childShouldCreateRenderer):
* svg/SVGTRefElement.h:
(SVGTRefElement):
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::childShouldCreateRenderer):
* svg/SVGTSpanElement.h:
(SVGTSpanElement):
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::childShouldCreateRenderer):
* svg/SVGTextElement.h:
(SVGTextElement):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::childShouldCreateRenderer):
* svg/SVGTextPathElement.h:

LayoutTests:

* fast/dom/shadow/shadow-on-image-expected.html: Removed.
* fast/dom/shadow/shadow-on-image.html: Removed.
* platform/chromium/test_expectations.txt:

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

9 years agoCrash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
inferno@chromium.org [Thu, 23 Feb 2012 05:36:11 +0000 (05:36 +0000)]
Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
https://bugs.webkit.org/show_bug.cgi?id=79043

Reviewed by Julien Chaffraix.

Source/WebCore:

Tests: fast/runin/runin-div-before-child.html
       fast/runin/runin-table-before-child.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): handle
the case of run-in elements and strengthen code to handle cases where
beforeChild is incorrectly set.
* rendering/RenderObject.h: remove anonymousContainer function since
the new logic in RenderBlock does not need it.

LayoutTests:

* fast/runin/runin-div-before-child-expected.png: Added.
* fast/runin/runin-div-before-child-expected.txt: Added.
* fast/runin/runin-div-before-child.html: Added.
* fast/runin/runin-table-before-child-expected.png: Added.
* fast/runin/runin-table-before-child-expected.txt: Added.
* fast/runin/runin-table-before-child.html: Added.

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

9 years agoMake ShadowRootList manage a node distribution.
hayato@chromium.org [Thu, 23 Feb 2012 05:14:17 +0000 (05:14 +0000)]
Make ShadowRootList manage a node distribution.
https://bugs.webkit.org/show_bug.cgi?id=79008

Reviewed by Dimitri Glazkov.

The result of node distributions is currently stored in
ShadowRoot. To support multiple ShadowRoots, such node distribution
information should be managed in one place per shadow host. Now
ShadowRootList takes this responsibility on behalf of owing
multiple ShadowRoots. Clients should ask ShadowRootList for such
information, not for each ShadowRoot.

No tests. No change in behavior.

* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::create):
(WebCore::ShadowRoot::attach):
* dom/ShadowRoot.h:
(ShadowRoot):
* dom/ShadowRootList.cpp:
(WebCore::ShadowRootList::insertionPointFor):
(WebCore):
(WebCore::ShadowRootList::isSelectorActive):
(WebCore::ShadowRootList::ensureSelector):
* dom/ShadowRootList.h:
(WebCore):
(ShadowRootList):
(WebCore::ShadowRootList::hasShadowRoot):
(WebCore::ShadowRootList::youngestShadowRoot):
(WebCore::ShadowRootList::oldestShadowRoot):
(WebCore::ShadowRootList::selector):
(WebCore::ShadowRootList::host):
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::attach):
(WebCore::HTMLContentElement::detach):
* html/shadow/HTMLContentSelector.cpp:
(WebCore::HTMLContentSelector::willSelectOver):
* html/shadow/HTMLContentSelector.h:
(HTMLContentSelector):

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

9 years agoAdd multi channels support in AudioBus and AudioBufferSourceNode
commit-queue@webkit.org [Thu, 23 Feb 2012 04:51:43 +0000 (04:51 +0000)]
Add multi channels support in AudioBus and AudioBufferSourceNode
https://bugs.webkit.org/show_bug.cgi?id=79017

Patch by Wei James <james.wei@intel.com> on 2012-02-22
Reviewed by Chris Rogers.

Source/WebCore:

Tests: webaudio/up-mixing-mono-51.html
       webaudio/up-mixing-mono-stereo.html
       webaudio/up-mixing-stereo-51.html

* platform/audio/AudioBus.cpp:
(WebCore::AudioBus::copyFrom):
(WebCore::AudioBus::sumFrom):
(WebCore::AudioBus::processWithGainFromMonoStereo):
(WebCore::AudioBus::processWithGainFrom):

LayoutTests:

* webaudio/resources/audio-testing.js:
(writeAudioBuffer):
* webaudio/resources/mix-testing.js: Added.
(createToneBuffer):
* webaudio/up-mixing-mono-51-expected.wav: Added.
* webaudio/up-mixing-mono-51.html: Added.
* webaudio/up-mixing-mono-stereo-expected.wav: Added.
* webaudio/up-mixing-mono-stereo.html: Added.
* webaudio/up-mixing-stereo-51-expected.wav: Added.
* webaudio/up-mixing-stereo-51.html: Added.

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

9 years ago[Supplemental] should support constants
haraken@chromium.org [Thu, 23 Feb 2012 04:24:02 +0000 (04:24 +0000)]
[Supplemental] should support constants
https://bugs.webkit.org/show_bug.cgi?id=79303

Reviewed by Adam Barth.

Given that we have

    interface [Supplemental=Y] X { constant int A = 123; }

then the code generator should generate

    X::A

to refer to the constant. However, the current code generator generates Y::A instead.
This patch fixes it.

Test: bindings/scripts/test/TestSupplemental.idl

* bindings/scripts/CodeGenerator.pm: Modified as described above.
(GenerateCompileTimeCheckForEnumsIfNeeded):

* bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
(WebCore):
* bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
(WebCore):

* page/DOMWindow.h: Moved DOMWindow::FileSystemType to DOMWindowFileSystem::FileSystemType.
(DOMWindow):
* fileapi/DOMWindowFileSystem.h: Ditto.
(DOMWindowFileSystem):
* fileapi/DOMWindowFileSystem.cpp: Ditto.
(WebCore):

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

9 years agoAdding a ShadowRoot to image-backed element causes a crash
morrita@google.com [Thu, 23 Feb 2012 04:01:43 +0000 (04:01 +0000)]
Adding a ShadowRoot to image-backed element causes a crash
https://bugs.webkit.org/show_bug.cgi?id=78878

Reviewed by Dimitri Glazkov.

Source/WebCore:

The crash happened because NodeRenderingContext tried to append a
child to a renderer regardless one isn't capable of holding any
children if it appears in the shadow attaching phase. RenderImage
is one of such renderer classes which aren't capable.

NodeRenderingContext decide whether the contextual node as a child
can create its renderer based on RenderObject::canHaveChildren()
and Node::childShouldCreateRenderer(). But the responsibility
between these two methods are getting confused. which results this
unfortuante crash path.

This change re-aligns the responsibility:

- Now canHaveChildren() purely declares the ability of the
  renderer. If the renderer is capable of having children, it
  return true regardless of HTML semantics.

- On the other hand, childShouldCreateRenderer() cares about the
  semantics. If the element doesn't allow children to be rendered,
  this returns false.

- Note that these decision on elements are contextual. Each element
  needs to know which role it is playing in the tree composition
  algorithm of Shadow DOM. That's why the method parameter is changed
  from Node* to NodeRenderingContext.

With this change, some decision points are moved from a renderer to an
element. Following renderers no longer stop reject having children:

- RenderButton, RenderListBox, RenderMenuList, RenderMeter,
  RenderProgress, RenderTextControl.

Corresponding element for such a render (HTMLProgressElement of
RenderProgress for exaple) now cares about that.

Tests: fast/dom/shadow/shadow-on-image-expected.html
fast/dom/shadow/shadow-on-image.html

* dom/Element.cpp:
(WebCore::Element::childShouldCreateRenderer):
* dom/Element.h:
(Element):
* dom/Node.h:
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::shouldCreateRenderer):
* dom/NodeRenderingContext.h:
(NodeRenderingContext):
(WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
(WebCore):
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::childShouldCreateRenderer):
* html/HTMLDetailsElement.h:
(HTMLDetailsElement):
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::childShouldCreateRenderer):
(WebCore):
* html/HTMLMeterElement.h:
(HTMLMeterElement):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::childShouldCreateRenderer):
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::childShouldCreateRenderer):
(WebCore):
* html/HTMLProgressElement.h:
(HTMLProgressElement):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::childShouldCreateRenderer):
(WebCore):
* html/HTMLSelectElement.h:
(HTMLSelectElement):
* html/HTMLSummaryElement.cpp:
* html/HTMLSummaryElement.h:
(HTMLSummaryElement):
* html/HTMLTextFormControlElement.cpp:
* html/HTMLTextFormControlElement.h:
(HTMLTextFormControlElement):
* rendering/RenderButton.cpp:
* rendering/RenderButton.h:
(RenderButton):
* rendering/RenderListBox.h:
(RenderListBox):
* rendering/RenderMedia.h:
(WebCore::RenderMedia::canHaveChildren):
* rendering/RenderMenuList.h:
* rendering/RenderMeter.h:
* rendering/RenderProgress.h:
* rendering/RenderTextControl.h:
* rendering/svg/RenderSVGRoot.h:
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::childShouldCreateRenderer):
* svg/SVGAElement.h:
(SVGAElement):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
* svg/SVGAltGlyphElement.h:
(SVGAltGlyphElement):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::childShouldCreateRenderer):
* svg/SVGDocument.h:
(SVGDocument):
* svg/SVGElement.cpp:
(WebCore::SVGElement::childShouldCreateRenderer):
* svg/SVGElement.h:
(SVGElement):
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
* svg/SVGForeignObjectElement.h:
(SVGForeignObjectElement):
* svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::childShouldCreateRenderer):
* svg/SVGSwitchElement.h:
(SVGSwitchElement):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::childShouldCreateRenderer):
* svg/SVGTRefElement.h:
(SVGTRefElement):
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::childShouldCreateRenderer):
* svg/SVGTSpanElement.h:
(SVGTSpanElement):
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::childShouldCreateRenderer):
* svg/SVGTextElement.h:
(SVGTextElement):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::childShouldCreateRenderer):
* svg/SVGTextPathElement.h:

LayoutTests:

* fast/dom/shadow/shadow-on-image-expected.html: Added.
* fast/dom/shadow/shadow-on-image.html: Added.

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

9 years ago[BlackBerry] NetworkJob can access deleted objects.
commit-queue@webkit.org [Thu, 23 Feb 2012 03:57:28 +0000 (03:57 +0000)]
[BlackBerry] NetworkJob can access deleted objects.
https://bugs.webkit.org/show_bug.cgi?id=79246

Patch by Yong Li <yoli@rim.com> on 2012-02-22
Reviewed by Antonio Gomes.

When a NetworkJob is created by unload handler, we still need
to send the request to the server, but we shouldn't save and
keep using the Frame pointer because the frame is being detached.
The NetworkJob will be cancelled by PingLoader as soon as it gets
first response from host.
Also see https://bugs.webkit.org/show_bug.cgi?id=30457.

No new tests because existing test case is good enough like
LayoutTests/http/tests/navigation/image-load-in-unload-handler.html.

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

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

9 years ago[WebSocket] Remove zlib.h from WebSocketDeflater.h
bashi@chromium.org [Thu, 23 Feb 2012 03:44:48 +0000 (03:44 +0000)]
[WebSocket] Remove zlib.h from WebSocketDeflater.h
https://bugs.webkit.org/show_bug.cgi?id=79298

Use forward declaration and OwnPtr for z_stream to move zlib.h from
.h file to .cpp file.

Reviewed by Kent Tamura.

No new tests. No behavior change.

* websockets/WebSocketDeflater.cpp:
(WebCore::WebSocketDeflater::WebSocketDeflater):
(WebCore::WebSocketDeflater::initialize):
(WebCore::WebSocketDeflater::~WebSocketDeflater):
(WebCore::setStreamParameter):
(WebCore::WebSocketDeflater::addBytes):
(WebCore::WebSocketDeflater::finish):
(WebCore::WebSocketDeflater::reset):
(WebCore::WebSocketInflater::WebSocketInflater):
(WebCore::WebSocketInflater::initialize):
(WebCore::WebSocketInflater::~WebSocketInflater):
(WebCore::WebSocketInflater::addBytes):
(WebCore::WebSocketInflater::finish):
* websockets/WebSocketDeflater.h:
(WebSocketDeflater): Use OwnPtr for m_stream.
(WebSocketInflater): Ditto.

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

9 years ago[Chromium] Unreviewed gardening. Two inspector tests are timing out on Mac Debug.
yutak@chromium.org [Thu, 23 Feb 2012 03:37:50 +0000 (03:37 +0000)]
[Chromium] Unreviewed gardening. Two inspector tests are timing out on Mac Debug.

* platform/chromium/test_expectations.txt:

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

9 years ago[chromium] Add unit test for surface occlusion
commit-queue@webkit.org [Thu, 23 Feb 2012 03:37:31 +0000 (03:37 +0000)]
[chromium] Add unit test for surface occlusion
https://bugs.webkit.org/show_bug.cgi?id=79302

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-22
Reviewed by James Robinson.

* tests/CCOcclusionTrackerTest.cpp:
(WebCore::TEST):
(WebCore):

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

9 years agoRemove GraphicsContext3D::paintsIntoCanvasBuffer and unify WebGL and canvas 2d logic
jamesr@google.com [Thu, 23 Feb 2012 03:07:09 +0000 (03:07 +0000)]
Remove GraphicsContext3D::paintsIntoCanvasBuffer and unify WebGL and canvas 2d logic
https://bugs.webkit.org/show_bug.cgi?id=79317

Reviewed by Kenneth Russell.

Source/WebCore:

HTMLCanvasElement::paint needs to know whether to attempt to paint the canvas buffer for its context. In the
case of an accelerated canvas or WebGL context, unless we are printing it is typically the composited layer's
responsibility to present the contents and the element itself is only responsible for backgrounds, borders and
the like.  This removes a rather indirect path that WebGL content used to take to accomplish this and unifies
the logic with CanvasRenderingContext2D's, which has the exact same needs.

Covered by existing canvas layout tests.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
(WebCore):
(WebCore::HTMLCanvasElement::paint):
* html/HTMLCanvasElement.h:
(HTMLCanvasElement):
* html/canvas/CanvasRenderingContext.h:
* html/canvas/CanvasRenderingContext2D.cpp:
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
* html/canvas/WebGLRenderingContext.h:
* platform/graphics/GraphicsContext3D.h:

Source/WebKit/chromium:

Remove paintsIntoCanvasBuffer() implementations.

* src/GraphicsContext3DChromium.cpp:
(WebCore):
* src/GraphicsContext3DPrivate.h:

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

9 years agoPopStateEvent.state should use the same object as history.state
commit-queue@webkit.org [Thu, 23 Feb 2012 03:05:55 +0000 (03:05 +0000)]
PopStateEvent.state should use the same object as history.state
https://bugs.webkit.org/show_bug.cgi?id=77493

Patch by Pablo Flouret <pablof@motorola.com> on 2012-02-22
Reviewed by Kentaro Hara.

Source/WebCore:

Tests: fast/loader/stateobjects/state-attribute-history-getter.html
       fast/loader/stateobjects/state-attribute-popstate-event.html

* bindings/js/JSPopStateEventCustom.cpp:
(WebCore):
(WebCore::cacheState):
(WebCore::JSPopStateEvent::state):
* bindings/v8/V8HiddenPropertyName.h:
(WebCore):
* bindings/v8/custom/V8HistoryCustom.cpp:
(WebCore::V8History::stateAccessorGetter):
(WebCore::V8History::pushStateCallback):
(WebCore::V8History::replaceStateCallback):
* bindings/v8/custom/V8PopStateEventCustom.cpp:
(WebCore):
(WebCore::cacheState):
(WebCore::V8PopStateEvent::stateAccessorGetter):
* dom/Document.cpp:
(WebCore::Document::enqueuePopstateEvent):
* dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::PopStateEvent):
(WebCore::PopStateEvent::create):
* dom/PopStateEvent.h:
(WebCore):
(PopStateEvent):
(WebCore::PopStateEvent::history):
* dom/PopStateEvent.idl:
* page/History.cpp:
(WebCore::History::stateChanged):
(WebCore):
(WebCore::History::isSameAsCurrentState):
* page/History.h:
(History):

LayoutTests:

* fast/loader/stateobjects/state-attribute-history-getter-expected.txt: Added.
* fast/loader/stateobjects/state-attribute-history-getter.html: Added.
* fast/loader/stateobjects/state-attribute-only-one-deserialization-expected.txt:
* fast/loader/stateobjects/state-attribute-only-one-deserialization.html:
* fast/loader/stateobjects/state-attribute-popstate-event-expected.txt: Added.
* fast/loader/stateobjects/state-attribute-popstate-event.html: Added.

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

9 years agoRemove obsolete FIXMEs from ContainerNode
adamk@chromium.org [Thu, 23 Feb 2012 03:01:11 +0000 (03:01 +0000)]
Remove obsolete FIXMEs from ContainerNode
https://bugs.webkit.org/show_bug.cgi?id=79295

Reviewed by Ryosuke Niwa.

Each of these three identical FIXMEs has since been fixed by adding
"RefPtr<Node> protect(this)" at the top of each method.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeChild):

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

9 years ago[JSC] Implement ArrayBuffer and typed array cloning in JSC
dslomov@google.com [Thu, 23 Feb 2012 02:51:20 +0000 (02:51 +0000)]
[JSC] Implement ArrayBuffer and typed array cloning in JSC
https://bugs.webkit.org/show_bug.cgi?id=79294

Reviewed by Oliver Hunt.

Source/WebCore:

Covered by existing tests.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::typedArrayElementSize):
(WebCore):
(WebCore::CloneSerializer::dumpArrayBufferView):
(CloneSerializer):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readArrayBufferViewSubtag):
(CloneDeserializer):
(WebCore::CloneDeserializer::readArrayBuffer):
(WebCore::CloneDeserializer::readArrayBufferView):
(WebCore::CloneDeserializer::getJSValue):
(WebCore::CloneDeserializer::readTerminal):

LayoutTests:

* fast/canvas/webgl/array-message-passing-expected.txt: Updated expectation after cloning implemented.
* fast/canvas/webgl/script-tests/array-message-passing.js: Added Uint8ClampedArray
* platform/chromium/fast/canvas/webgl/array-message-passing-expected.txt: Updated expectations. Fixing covered by https://bugs.webkit.org/show_bug.cgi?id=79291

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

9 years ago[chromium] Unreviewed speculative chromium-mac build fix.
enne@google.com [Thu, 23 Feb 2012 02:24:01 +0000 (02:24 +0000)]
[chromium] Unreviewed speculative chromium-mac build fix.
https://bugs.webkit.org/show_bug.cgi?id=75874

This broke in r108581.

* platform/graphics/chromium/cc/CCLayerAnimationController.h:
(WebCore):

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

9 years agoexponentialRampToValue doesn't use starting value
commit-queue@webkit.org [Thu, 23 Feb 2012 02:19:25 +0000 (02:19 +0000)]
exponentialRampToValue doesn't use starting value
https://bugs.webkit.org/show_bug.cgi?id=78035

Patch by Raymond Toy <rtoy@google.com> on 2012-02-22
Reviewed by Chris Rogers.

Source/WebCore:

Test: webaudio/audioparam-exponentialRampToValueAtTime.html

* webaudio/AudioParamTimeline.cpp:
(WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Set
starting value for exponential ramp.

LayoutTests:

* webaudio/audioparam-exponentialRampToValueAtTime-expected.txt: Added.
* webaudio/audioparam-exponentialRampToValueAtTime.html: Added.
* webaudio/resources/audioparam-testing.js: Added.
(createConstantBuffer):
(createExponentialRampArray):
(comparePartialSignals):
(verifyDiscontinuities):
(compareSignals):
(doAutomation):

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

9 years agoUnreviewed, rolling out r108590.
yutak@chromium.org [Thu, 23 Feb 2012 02:16:01 +0000 (02:16 +0000)]
Unreviewed, rolling out r108590.
http://trac.webkit.org/changeset/108590

I mistakenly disabled tests even though the fix was already
in.

* tests/CCOcclusionTrackerTest.cpp:
(WebCore::TEST):

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

9 years ago[Chromium] Unreviewed. Disable two tests from CCOcclusionTrackerTest
yutak@chromium.org [Thu, 23 Feb 2012 02:09:22 +0000 (02:09 +0000)]
[Chromium] Unreviewed. Disable two tests from CCOcclusionTrackerTest
which cause assertion failures.

* tests/CCOcclusionTrackerTest.cpp:
(WebCore):
(WebCore::TEST):

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

9 years ago[chromium] Unreviewed gardening. Rebaseline more svg tests.
enne@google.com [Thu, 23 Feb 2012 01:51:51 +0000 (01:51 +0000)]
[chromium] Unreviewed gardening. Rebaseline more svg tests.

This test was also broken after r108559. It times out on all platforms
but windows, so only rebaselining windows.

* platform/chromium-win/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.png:
* platform/chromium-win/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt:

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

9 years ago[chromium] Fix CCOcclusionTracker unit test assertion
commit-queue@webkit.org [Thu, 23 Feb 2012 01:42:08 +0000 (01:42 +0000)]
[chromium] Fix CCOcclusionTracker unit test assertion
https://bugs.webkit.org/show_bug.cgi?id=79275

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-22
Reviewed by James Robinson.

* tests/CCOcclusionTrackerTest.cpp:
(WebCore::TEST):

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

9 years agoMake parsing color presentation attributes do less pointless work.
kling@webkit.org [Thu, 23 Feb 2012 01:40:12 +0000 (01:40 +0000)]
Make parsing color presentation attributes do less pointless work.
<http://webkit.org/b/79304>

Reviewed by Antti Koivisto.

Let HTMLElement::addHTMLColorToStyle() construct the color CSSValue directly
rather than passing a string that has to go through CSSParser.

* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::setProperty):
* css/StylePropertySet.h:

    Added a setProperty(propertyID, CSSValue) overload that expands shorthand
    properties if necessary. Also added a little comment about the behavior
    differences between setProperty() overloads.

* html/HTMLElement.cpp:
(WebCore::parseColorStringWithCrazyLegacyRules):

    Changed this to return an RGBA32.

(WebCore::HTMLElement::addHTMLColorToStyle):

    Figure out the RGB value and construct a (pooled) CSSValue directly.

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

9 years ago[chromium] Unreviewed gardening. Rebaseline zoom-replaced-intrinsic-ratio
enne@google.com [Thu, 23 Feb 2012 01:35:46 +0000 (01:35 +0000)]
[chromium] Unreviewed gardening. Rebaseline zoom-replaced-intrinsic-ratio

This was broken after r108559 and the result looks reasonable given
the description of the change, so rebaselining.

* platform/chromium-linux/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
* platform/chromium-mac-leopard/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Copied from LayoutTests/platform/chromium-win/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt.
* platform/chromium-win/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:

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

9 years agofast/files/create-blob-url-crash.html is no longer flaky.
dpranke@chromium.org [Thu, 23 Feb 2012 01:34:05 +0000 (01:34 +0000)]
fast/files/create-blob-url-crash.html is no longer flaky.
https://bugs.webkit.org/show_bug.cgi?id=60125

Unreviewed, expectations change.

* platform/chromium/test_expectations.txt:

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

9 years ago[EFL] Fix to launch the EWebLauncher using the script, run-launcher.
commit-queue@webkit.org [Thu, 23 Feb 2012 01:32:59 +0000 (01:32 +0000)]
[EFL] Fix to launch the EWebLauncher using the script, run-launcher.
https://bugs.webkit.org/show_bug.cgi?id=79076

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-02-22
Reviewed by Andreas Kling.

* Scripts/webkitdirs.pm: Fix the path of libewebkit.so.
(builtDylibPathForName):

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

9 years agoImplement [[DefineOwnProperty]] for the arguments object
barraclough@apple.com [Thu, 23 Feb 2012 01:25:37 +0000 (01:25 +0000)]
Implement [[DefineOwnProperty]] for the arguments object
https://bugs.webkit.org/show_bug.cgi?id=79309

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* runtime/Arguments.cpp:
(JSC::Arguments::deletePropertyByIndex):
(JSC::Arguments::deleteProperty):
    - Deleting an argument should also delete the copy on the object, if any.
(JSC::Arguments::defineOwnProperty):
    - Defining a property may override the live mapping.
* runtime/Arguments.h:
(Arguments):

LayoutTests:

* fast/js/arguments-expected.txt:
* fast/js/script-tests/arguments.js:
    - Added test cases

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

9 years ago[chromium] Plumb from GraphicsLayer to the cc thread animation code
commit-queue@webkit.org [Thu, 23 Feb 2012 01:22:22 +0000 (01:22 +0000)]
[chromium] Plumb from GraphicsLayer to the cc thread animation code
https://bugs.webkit.org/show_bug.cgi?id=75874

Patch by Ian Vollick <vollick@chromium.org> on 2012-02-22
Reviewed by James Robinson.

Source/WebCore:

* WebCore.gypi:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setThreadedAnimationEnabled):
(WebCore::Settings::threadedAnimationEnabled):
(Settings):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(std):
(WebCore::GraphicsLayerChromium::addChild):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore):
(WebCore::GraphicsLayerChromium::pauseAnimation):
(WebCore::GraphicsLayerChromium::removeAnimation):
(WebCore::GraphicsLayerChromium::suspendAnimations):
(WebCore::GraphicsLayerChromium::resumeAnimations):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
(WebCore::GraphicsLayerChromium::mapAnimationNameToId):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(GraphicsLayerChromium):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::addAnimation):
(WebCore):
(WebCore::LayerChromium::pauseAnimation):
(WebCore::LayerChromium::removeAnimation):
(WebCore::LayerChromium::suspendAnimations):
(WebCore::LayerChromium::resumeAnimations):
(WebCore::LayerChromium::setLayerAnimationController):
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerChromium.h:
(WebCore):
(LayerChromium):
(WebCore::LayerChromium::layerAnimationController):
(WebCore::LayerChromium::numChildren):
* platform/graphics/chromium/cc/CCActiveAnimation.cpp:
(WebCore::CCActiveAnimation::create):
(WebCore):
(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::~CCActiveAnimation):
(WebCore::CCActiveAnimation::isWaiting):
(WebCore::CCActiveAnimation::isRunningOrHasRun):
(WebCore::CCActiveAnimation::cloneForImplThread):
(WebCore::CCActiveAnimation::synchronizeProperties):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(CCActiveAnimation):
(WebCore::CCActiveAnimation::AnimationSignature::AnimationSignature):
(AnimationSignature):
(WebCore::CCActiveAnimation::id):
(WebCore::CCActiveAnimation::group):
(WebCore::CCActiveAnimation::signature):
* platform/graphics/chromium/cc/CCAnimationCurve.h:
(CCAnimationCurve):
(CCTransformAnimationCurve):
* platform/graphics/chromium/cc/CCAnimationEvents.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCAnimationCurve.h.
(WebCore):
(WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
(CCAnimationStartedEvent):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp: Added.
(WebCore):
(WebCore::CCLayerAnimationController::CCLayerAnimationController):
(WebCore::CCLayerAnimationController::~CCLayerAnimationController):
(WebCore::CCLayerAnimationController::create):
(WebCore::CCLayerAnimationController::addAnimation):
(WebCore::CCLayerAnimationController::pauseAnimation):
(WebCore::CCLayerAnimationController::removeAnimation):
(WebCore::CCLayerAnimationController::suspendAnimations):
(WebCore::CCLayerAnimationController::resumeAnimations):
(WebCore::CCLayerAnimationController::synchronizeAnimations):
(WebCore::CCLayerAnimationController::removeCompletedAnimations):
(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
(WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
(WebCore::CCLayerAnimationController::pushAnimationProperties):
(WebCore::CCLayerAnimationController::getActiveAnimation):
(WebCore::CCLayerAnimationController::remove):
* platform/graphics/chromium/cc/CCLayerAnimationController.h: Added.
(WebCore):
(CCLayerAnimationController):
(WebCore::CCLayerAnimationController::activeAnimations):
* platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
(WebCore::CCLayerAnimationControllerImpl::~CCLayerAnimationControllerImpl):
(WebCore):
(WebCore::CCLayerAnimationControllerImpl::animate):
(WebCore::CCLayerAnimationControllerImpl::add):
(WebCore::CCLayerAnimationControllerImpl::getActiveAnimation):
(WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
(WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
(WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
(WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations):
(WebCore::CCLayerAnimationControllerImpl::tickAnimations):
* platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
(CCLayerAnimationControllerImplClient):
(CCLayerAnimationControllerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
(WebCore::CCLayerImpl::id):
(WebCore::CCLayerImpl::opacity):
(WebCore::CCLayerImpl::transform):
(WebCore::CCLayerImpl::bounds):
(WebCore::CCLayerImpl::layerAnimationController):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setAnimationEvents):
(WebCore):
(WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
(CCSettings):
(CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::animate):
(WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
(WebCore):
(WebCore::CCLayerTreeHostImpl::animatePageScale):
(WebCore::CCLayerTreeHostImpl::animateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImplClient):
(CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::needsAnimateLayers):
(WebCore::CCLayerTreeHostImpl::setNeedsAnimateLayers):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread):
(WebCore):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(CCSingleThreadProxy):
(WebCore):
(DebugScopedSetMainThread):
(WebCore::DebugScopedSetMainThread::DebugScopedSetMainThread):
(WebCore::DebugScopedSetMainThread::~DebugScopedSetMainThread):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
(WebCore):
(WebCore::CCThreadProxy::setAnimationEvents):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):

Source/WebKit/chromium:

* WebKit.gypi:
* public/WebSettings.h:
* public/platform/WebLayerTreeView.h:
(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::Settings::operator CCSettings):
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setThreadedAnimationEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* tests/CCActiveAnimationTest.cpp:
(WebCore::createActiveAnimation):
* tests/CCAnimationTestCommon.cpp: Added.
(WebKitTests):
(WebKitTests::FakeFloatAnimationCurve::FakeFloatAnimationCurve):
(WebKitTests::FakeFloatAnimationCurve::~FakeFloatAnimationCurve):
(WebKitTests::FakeFloatAnimationCurve::clone):
(WebKitTests::FakeTransformTransition::FakeTransformTransition):
(WebKitTests::FakeTransformTransition::~FakeTransformTransition):
(WebKitTests::FakeTransformTransition::getValue):
(WebKitTests::FakeTransformTransition::clone):
(WebKitTests::FakeFloatTransition::FakeFloatTransition):
(WebKitTests::FakeFloatTransition::~FakeFloatTransition):
(WebKitTests::FakeFloatTransition::getValue):
(WebKitTests::FakeLayerAnimationControllerImplClient::FakeLayerAnimationControllerImplClient):
(WebKitTests::FakeLayerAnimationControllerImplClient::~FakeLayerAnimationControllerImplClient):
(WebKitTests::FakeFloatTransition::clone):
(WebKitTests::addOpacityTransition):
* tests/CCAnimationTestCommon.h: Added.
(WebCore):
(WebKitTests):
(FakeFloatAnimationCurve):
(WebKitTests::FakeFloatAnimationCurve::duration):
(WebKitTests::FakeFloatAnimationCurve::getValue):
(FakeTransformTransition):
(WebKitTests::FakeTransformTransition::duration):
(FakeFloatTransition):
(WebKitTests::FakeFloatTransition::duration):
(FakeLayerAnimationControllerImplClient):
(WebKitTests::FakeLayerAnimationControllerImplClient::id):
(WebKitTests::FakeLayerAnimationControllerImplClient::opacity):
(WebKitTests::FakeLayerAnimationControllerImplClient::setOpacity):
(WebKitTests::FakeLayerAnimationControllerImplClient::transform):
(WebKitTests::FakeLayerAnimationControllerImplClient::setTransform):
(WebKitTests::FakeLayerAnimationControllerImplClient::bounds):
* tests/CCLayerAnimationControllerImplTest.cpp:
(WebKitTests::createActiveAnimation):
(WebKitTests::TEST):
* tests/CCLayerAnimationControllerTest.cpp: Added.
(WebKitTests):
(WebKitTests::createActiveAnimation):
(WebKitTests::TEST):
* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::CCLayerTreeHostImplTest::postAnimationEventsToMainThreadOnImplThread):
* tests/CCLayerTreeHostTest.cpp:
(WTF::TestHooks::animateLayers):
(MockLayerTreeHostImpl):
(WTF::MockLayerTreeHostImpl::animateLayers):
(WTF::MockLayerTreeHost::create):
(WTF::MockLayerTreeHost::createLayerTreeHostImpl):
(WTF):
(MockLayerAnimationController):
(WTF::MockLayerAnimationController::create):
(WTF::MockLayerAnimationController::addAnimation):
(WTF::MockLayerTreeHostClient::scheduleComposite):
(WTF::CCLayerTreeHostTest::postAddAnimationToMainThread):
(CCLayerTreeHostTest):
(WTF::CCLayerTreeHostTest::dispatchAddAnimation):
(WTF::CCLayerTreeHostTest::doBeginTest):
(CCLayerTreeHostTestAddAnimation):
(WTF::CCLayerTreeHostTestAddAnimation::CCLayerTreeHostTestAddAnimation):
(WTF::CCLayerTreeHostTestAddAnimation::beginTest):
(WTF::CCLayerTreeHostTestAddAnimation::animateLayers):
(WTF::CCLayerTreeHostTestAddAnimation::afterTest):
(WTF::TEST_F):
* tests/TreeSynchronizerTest.cpp:
(FakeLayerAnimationController):
(WebKitTests::FakeLayerAnimationController::create):
(WebKitTests::FakeLayerAnimationController::synchronizedAnimations):
(WebKitTests::FakeLayerAnimationController::FakeLayerAnimationController):
(WebKitTests::FakeLayerAnimationController::synchronizeAnimations):
(WebKitTests):
(WebKitTests::TEST):

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

9 years agoSubframes with scrollable areas must be added to the non-fast scrollable region
andersca@apple.com [Thu, 23 Feb 2012 01:13:08 +0000 (01:13 +0000)]
Subframes with scrollable areas must be added to the non-fast scrollable region
https://bugs.webkit.org/show_bug.cgi?id=79306
<rdar://problem/10915564>

Reviewed by Andreas Kling.

When computing the non-fast scrollable region, add subframes with scrollable regions to the region.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::computeNonFastScrollableRegion):

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

9 years ago[chromium] Unreviewed gardening. Update expectations after skia roll.
enne@google.com [Thu, 23 Feb 2012 01:04:16 +0000 (01:04 +0000)]
[chromium] Unreviewed gardening. Update expectations after skia roll.

It is most likely that the Skia roll from 3216 to 3226 slightly
changed image expectations for the following tests. None of these are
perceptually any different, so just rebaselining.

* platform/chromium-linux/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
* platform/chromium-linux/fast/borders/border-image-rotate-transform-expected.png:
* platform/chromium-linux/svg/custom/focus-ring-expected.png:
* platform/chromium-linux/svg/transforms/animated-path-inside-transformed-html-expected.png:
* platform/chromium-mac-leopard/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
* platform/chromium-mac-leopard/svg/custom/focus-ring-expected.png:
* platform/chromium-mac-leopard/svg/transforms/animated-path-inside-transformed-html-expected.png:
* platform/chromium-mac-snowleopard/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
* platform/chromium-mac-snowleopard/fast/borders/border-image-rotate-transform-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/focus-ring-expected.png:
* platform/chromium-mac-snowleopard/svg/transforms/animated-path-inside-transformed-html-expected.png:
* platform/chromium-win/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
* platform/chromium-win/fast/borders/border-image-rotate-transform-expected.png:
* platform/chromium-win/svg/custom/focus-ring-expected.png:
* platform/chromium-win/svg/transforms/animated-path-inside-transformed-html-expected.png:

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

9 years ago[Qt] Add eventSender.gestureTap
commit-queue@webkit.org [Thu, 23 Feb 2012 00:56:06 +0000 (00:56 +0000)]
[Qt] Add eventSender.gestureTap
https://bugs.webkit.org/show_bug.cgi?id=66173

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-02-22
Reviewed by Kenneth Rohde Christiansen.

Tools:

* DumpRenderTree/qt/EventSenderQt.cpp:
(EventSender::gestureTap):
* DumpRenderTree/qt/EventSenderQt.h:

LayoutTests:

Unskip gestureTap test.

* platform/qt/Skipped:

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

9 years agoSource/WebCore: CachedResourceLoader ignores the Range header
japhet@chromium.org [Thu, 23 Feb 2012 00:47:02 +0000 (00:47 +0000)]
Source/WebCore: CachedResourceLoader ignores the Range header
in determineRavlidationPolicy(), resulting in incorrect
cache hits.

Reviewed by Adam Barth.

Test: http/tests/xmlhttprequest/range-test.html
Test written by Aaron Colwell (acolwell@chromium.org).

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy):

LayoutTests: Test Range header compliance for CachedResources.
https://bugs.webkit.org/show_bug.cgi?id=76564

Reviewed by Adam Barth.

* http/tests/xmlhttprequest/range-test-expected.txt: Added.
* http/tests/xmlhttprequest/range-test.html: Added.

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

9 years ago[chromium] Unreviewed gardening. Generalize svg failures from r108494.
enne@google.com [Thu, 23 Feb 2012 00:44:12 +0000 (00:44 +0000)]
[chromium] Unreviewed gardening. Generalize svg failures from r108494.

* platform/chromium/test_expectations.txt:

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

9 years agoREGRESSION (r104060): Web font is not loaded if specified by link element dynamically...
antti@apple.com [Thu, 23 Feb 2012 00:42:47 +0000 (00:42 +0000)]
REGRESSION (r104060): Web font is not loaded if specified by link element dynamically inserted
https://bugs.webkit.org/show_bug.cgi?id=79186

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/css/font-face-insert-link.html

If a dynamically inserted stylesheet contains @font-face rules, we may fail to update the rendering.

Before r104060 the style selector was destroyed on every style change, and the font selector along with it.
This is no longer the case and we can't rely on comparing font selector pointers when comparing Fonts
for equality. This patch adds version number to the font selector and checks it in Font::operator==.
The version number is incremented when new font-face rules are added to the font selector.

FontFallbackList is an object shared between Fonts so the extra field shouldn't matter much in terms
of memory.

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSFontSelector.h:
(CSSFontSelector):
* platform/graphics/Font.cpp:
(WebCore::Font::operator==):
* platform/graphics/FontFallbackList.cpp:
(WebCore::FontFallbackList::FontFallbackList):
(WebCore::FontFallbackList::invalidate):
* platform/graphics/FontFallbackList.h:
(FontFallbackList):
(WebCore::FontFallbackList::fontSelectorVersion):
* platform/graphics/FontSelector.h:
(FontSelector):

LayoutTests:

* fast/css/font-face-insert-link-expected.txt: Added.
* fast/css/font-face-insert-link.html: Added.
* fast/css/resources/ahem.css: Added.
(@font-face):

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

9 years agoSource/WebCore: Prevent CachedRawResource from sending the same data
japhet@chromium.org [Thu, 23 Feb 2012 00:38:17 +0000 (00:38 +0000)]
Source/WebCore: Prevent CachedRawResource from sending the same data
chunk multiple times.
https://bugs.webkit.org/show_bug.cgi?id=78810

Reviewed by Adam Barth.

If a CachedRawResource receives data while a CachedRawResourceCallback
timer is active, the incremental data will be sent to the client, followed
but all data received so far, resulting in invalid data. Resolving this adds
complexity to CachedRawResource and requires making a few more CachedResource
functions virtual, so push the callback logic into CachedResource where it can
be implemented more cleanly.

Test: inspector/debugger/script-formatter-console.html
    should no longer be flaky.

* loader/cache/CachedRawResource.cpp: CachedRawResourceCallback renamed and moved to CachedResource.
(WebCore::CachedRawResource::didAddClient): More or less the same as sendCallbacks() was.
* loader/cache/CachedRawResource.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::addClient): Check the return value of addClientToSet() to determine whether
    or not to call didAddClient.
(WebCore::CachedResource::didAddClient): May be called during addClient(), or may be called on a timer.
    If called on a timer, move the client between sets.
(WebCore::CachedResource::addClientToSet): Determine whether didAddClient() can be called synchronously and
    return true if it can.
(WebCore::CachedResource::removeClient): Ensure we cancel pending callbacks if necessary.
(WebCore::CachedResource::CachedResourceCallback::CachedResourceCallback): Renamed and moved from CachedRawResource.
* loader/cache/CachedResource.h:
(WebCore::CachedResource::hasClients): Check m_clientsAwaitingCallback as well as m_clients.
(WebCore::CachedResource::CachedResourceCallback::schedule):
(WebCore::CachedResource::hasClient): Helper for calling contains() on both m_clientsAwaitingCallback and m_clients.

LayoutTests: inspector/debugger/script-formatter-console.html should
no longer be flaky.
https://bugs.webkit.org/show_bug.cgi?id=78810

Reviewed by Adam Barth.

* platform/chromium/test_expectations.txt:

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

9 years ago[CMake] Remove FindGDK.cmake and FindGDK-PixBuf.cmake
kubo@profusion.mobi [Thu, 23 Feb 2012 00:26:55 +0000 (00:26 +0000)]
[CMake] Remove FindGDK.cmake and FindGDK-PixBuf.cmake
https://bugs.webkit.org/show_bug.cgi?id=79292

Reviewed by Daniel Bates.

These files were committed when the EFL port's buildsystem code
was upstreamed, but are currently not being used anywhere, as the EFL
port has not depended on GDK for a long time.

* Source/cmake/FindGDK-PixBuf.cmake: Removed.
* Source/cmake/FindGDK.cmake: Removed.

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

9 years agoImplement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
andersca@apple.com [Thu, 23 Feb 2012 00:24:11 +0000 (00:24 +0000)]
Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
https://bugs.webkit.org/show_bug.cgi?id=79297
<rdar://problem/10748510>

Reviewed by Beth Dakin.

* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
Send a message to the web process.

* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::setDeviceScaleFactor):
Add empty stub.

* WebProcess/WebPage/DrawingArea.messages.in:
Add SetDeviceScaleFactor message.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
Call WebPage::setDeviceScaleFactor.

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

9 years ago<rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
beidson@apple.com [Thu, 23 Feb 2012 00:16:53 +0000 (00:16 +0000)]
<rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs

Reviewed by NOBODY (OOPS!).

Source/WebKit2:

Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.

In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward
notification but don't actually want to make a policy decision.

Making it an asynchronous notification instead of a synchronous policy call will remove the
possibility of a hang here.

If clients later decide it is important to have a policy here we should implement a form of
shouldGoToBackForwardListItem in the bundle loader client.

Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
* UIProcess/API/C/WKPage.h:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be
  sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message.
(WebKit::WebPageProxy::shouldGoToBackForwardListItem):
(WebKit::WebPageProxy::willGoToBackForwardListItem):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message

Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form
of the callback should be used:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::willGoToBackForwardItemCallbackEnabled):
(WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled):
* WebProcess/WebPage/WebPage.messages.in:

* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
  version 0 clients.
(WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
* UIProcess/WebLoaderClient.h:
(WebLoaderClient):

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message
  or the asynchronous "will" message depending on which the WebProcess was last told that the
  UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess
  hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay;
  It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions
  of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up.

Tools:

Update our tools to the new form of the PageLoadClient.

* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]):

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

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

9 years agoFix Object.freeze for non-final objects.
barraclough@apple.com [Wed, 22 Feb 2012 23:46:48 +0000 (23:46 +0000)]
Fix Object.freeze for non-final objects.
https://bugs.webkit.org/show_bug.cgi?id=79286

Reviewed by Oliver Hunt.

For vanilla objects we implement this with a single transition, for objects
with special properties we should just follow the spec defined algorithm.

Source/JavaScriptCore:

* runtime/JSArray.cpp:
(JSC::SparseArrayValueMap::put):
    - this does need to handle inextensible objects.
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
    - Implement spec defined algorithm for non-final objects.
* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::freezeTransition):
    - freeze should set m_hasReadOnlyOrGetterSetterPropertiesExcludingProto.
* runtime/Structure.h:
(JSC::Structure::hasReadOnlyOrGetterSetterPropertiesExcludingProto):
(JSC::Structure::setHasGetterSetterProperties):
(JSC::Structure::setContainsReadOnlyProperties):
(Structure):
    - renamed m_hasReadOnlyOrGetterSetterPropertiesExcludingProto.

LayoutTests:

* fast/js/preventExtensions-expected.txt:
* fast/js/script-tests/preventExtensions.js:
    - added new tests.

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

9 years agoUpdate change log entry for r108561 to reflect removal of "if (m_dispatchSoonList...
dbates@webkit.org [Wed, 22 Feb 2012 23:46:45 +0000 (23:46 +0000)]
Update change log entry for r108561 to reflect removal of "if (m_dispatchSoonList.isEmpty())".
https://bugs.webkit.org/show_bug.cgi?id=78840

Mention removal of unnecessary check for empty list m_dispatchSoonList in EventSender::cancelEvent().

Also, fix the date in the change log entry for changeset r108562 since it landed today (02/22/2012).

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

9 years ago[WK2] Clearing notifications does not clean up internal state
jonlee@apple.com [Wed, 22 Feb 2012 23:45:15 +0000 (23:45 +0000)]
[WK2] Clearing notifications does not clean up internal state
https://bugs.webkit.org/show_bug.cgi?id=78861
<rdar://problem/10881167>

Reviewed by Anders Carlsson.

* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification
entries from the other maps.
(WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should
also be removed from the context map.
(WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes
a provided notification from the context map.
(WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and
remove it. If the map is empty, get rid of the entry.
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):

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

9 years agoCode cleanup in WebNotificationManager (79285)
jonlee@apple.com [Wed, 22 Feb 2012 23:43:17 +0000 (23:43 +0000)]
Code cleanup in WebNotificationManager (79285)
https://bugs.webkit.org/show_bug.cgi?id=79285
<rdar://problem/10914522>

Reviewed by Anders Carlsson.

* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(),
similar to what is found in WebNotificationClient.mm in WebKit 1.

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

9 years agoRemove the remaining uses of CSSStyleDeclaration in Editor
rniwa@webkit.org [Wed, 22 Feb 2012 23:40:01 +0000 (23:40 +0000)]
Remove the remaining uses of CSSStyleDeclaration in Editor
https://bugs.webkit.org/show_bug.cgi?id=78939

Reviewed by Enrica Casucci.

Source/WebCore:

Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
to StylePropertySet.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* editing/Editor.cpp:
(WebCore::Editor::applyStyle):
(WebCore::Editor::shouldApplyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::Editor::applyStyleToSelection):
(WebCore::Editor::applyParagraphStyleToSelection):
(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::computeAndSetTypingStyle):
* editing/Editor.h:
(WebCore):
(Editor):
* editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame):
(WebCore::executeApplyParagraphStyle):
(WebCore::executeMakeTextWritingDirectionLeftToRight):
(WebCore::executeMakeTextWritingDirectionNatural):
(WebCore::executeMakeTextWritingDirectionRightToLeft):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::shouldApplyStyle):
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
* page/EditorClient.h:
(WebCore):
(EditorClient):

Source/WebKit/blackberry:

* WebCoreSupport/EditorClientBlackBerry.cpp:
(WebCore::EditorClientBlackBerry::shouldApplyStyle):
* WebCoreSupport/EditorClientBlackBerry.h:
(EditorClientBlackBerry):

Source/WebKit/chromium:

* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::shouldApplyStyle):
* src/EditorClientImpl.h:
(EditorClientImpl):

Source/WebKit/efl:

* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::shouldApplyStyle):
* WebCoreSupport/EditorClientEfl.h:
(EditorClientEfl):

Source/WebKit/gtk:

* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::shouldApplyStyle):
* WebCoreSupport/EditorClientGtk.h:
(EditorClient):

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h:
(WebEditorClient):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldApplyStyle):
* WebView/WebFrame.mm:
(-[WebFrame _setTypingStyle:withUndoAction:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
(-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
* WebView/WebView.mm:
(-[WebView applyStyle:]):

Source/WebKit/qt:

* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::shouldApplyStyle):
* WebCoreSupport/EditorClientQt.h:
(EditorClientQt):

Source/WebKit/win:

* WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::shouldApplyStyle):
* WebCoreSupport/WebEditorClient.h:
(WebEditorClient):

Source/WebKit/wince:

* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit::EditorClientWinCE::shouldApplyStyle):

Source/WebKit/wx:

* WebKitSupport/EditorClientWx.cpp:
(WebCore::EditorClientWx::shouldApplyStyle):
* WebKitSupport/EditorClientWx.h:
(EditorClientWx):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::shouldApplyStyle):
* WebProcess/WebCoreSupport/WebEditorClient.h:
(WebEditorClient):

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

9 years agoAbstract ImageEventSender into a general purpose EventSender
dbates@webkit.org [Wed, 22 Feb 2012 23:28:15 +0000 (23:28 +0000)]
Abstract ImageEventSender into a general purpose EventSender
https://bugs.webkit.org/show_bug.cgi?id=78840

Reviewed by Adam Barth.

Abstract the functionality in ImageEventSender so that it can be used again.
This functionality may be useful in fixing WebKit Bug #38995.

No functionality was changed; no new tests.

* GNUmakefile.list.am: Added EventSender.h.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/EventSender.h: Added.
(WebCore):
(EventSender):
(WebCore::EventSender::eventType):
(WebCore::EventSender::hasPendingEvents):
(WebCore::EventSender::timerFired):
(WebCore::::EventSender):
(WebCore::::dispatchEventSoon):
(WebCore::::cancelEvent):
(WebCore::::dispatchPendingEvents):
* loader/ImageLoader.cpp: Modified to use EventSender.
(WebCore):
(WebCore::ImageLoader::dispatchPendingEvent): Added; called by EventSender when the ImageLoader
should dispatch a pending BeforeLoad or Load event.
* loader/ImageLoader.h:
(WebCore):
(ImageLoader):

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

9 years agonew-run-webkit-tests shouldn't restore Safari state on Lion when showing results
dbates@webkit.org [Wed, 22 Feb 2012 23:23:44 +0000 (23:23 +0000)]
new-run-webkit-tests shouldn't restore Safari state on Lion when showing results
https://bugs.webkit.org/show_bug.cgi?id=79277

Reviewed by Adam Barth.

Pass command line argument no-saved-state to run-safari to disable Safari
state restoration for the session on OS 10.7.

* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort.show_results_html_file):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(test_show_results_html_file):

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

9 years agoPaddings and borders on root SVG element with viewbox causes child SVG elements to...
commit-queue@webkit.org [Wed, 22 Feb 2012 23:17:46 +0000 (23:17 +0000)]
Paddings and borders on root SVG element with viewbox causes child SVG elements to be rendered with the incorrect size
https://bugs.webkit.org/show_bug.cgi?id=78613

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-02-22
Reviewed by Nikolas Zimmermann.

Source/WebCore:

When computing its localToBorderBoxTransform, RenderSVGRoot was using its width and height
as the dimensions of the SVG viewport. However, width and height include CSS borders and
paddings, which are not part of the SVG viewport area. Now, RenderSVGRoot uses its
contentWidth and contentHeight, which correspond to the SVG viewport area.

Tests: svg/custom/svg-root-padding-border-margin-expected.html
       svg/custom/svg-root-padding-border-margin.html

* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):

LayoutTests:

* platform/chromium/test_expectations.txt:
* platform/mac/svg/custom/circle-move-invalidation-expected.png:
* platform/mac/svg/custom/circle-move-invalidation-expected.txt:

    This test contains a circle drawn inside a root SVG element with a 1px border. This bug
    was causing WebKit to render the circle 1px too large, reflected in the expectations.
    The expectations have been updated.

* svg/custom/svg-root-padding-border-margin-expected.html: Added.
* svg/custom/svg-root-padding-border-margin.html: Added.

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

9 years ago[EFL] Get rid of GeolocationServiceEfl
kubo@profusion.mobi [Wed, 22 Feb 2012 23:15:29 +0000 (23:15 +0000)]
[EFL] Get rid of GeolocationServiceEfl
https://bugs.webkit.org/show_bug.cgi?id=79270

Reviewed by Adam Barth.

These were just a bunch of dummy files with no real functionality, and
removing them helps the preparation of bug 78853, which will make
client-based geolocation the default.

No new tests, this functionality was not used.

* PlatformEfl.cmake:
* platform/efl/GeolocationServiceEfl.cpp: Removed.
* platform/efl/GeolocationServiceEfl.h: Removed.

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

9 years agoClean-up RenderTableSection::calcRowLogicalHeight
jchaffraix@webkit.org [Wed, 22 Feb 2012 23:10:53 +0000 (23:10 +0000)]
Clean-up RenderTableSection::calcRowLogicalHeight
https://bugs.webkit.org/show_bug.cgi?id=77705

Reviewed by Eric Seidel.

Refactoring / simplication of the code.

This change removes some variables that were unneeded and were
hiding what the code was really doing. Also some of the code was
split and moved down to RenderTableCell.

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::logicalHeightForRowSizing):
* rendering/RenderTableCell.h:
(RenderTableCell):
Added the previous helper function to calculate the cell's
adjusted logical height.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
Removed some variables, simplified the rowspan logic to be clearer
(and added a comment about how we handle rowspans).

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

9 years agoMove FILE_SYSTEM code out of DOMWindow and into the fileapi folder
abarth@webkit.org [Wed, 22 Feb 2012 23:07:26 +0000 (23:07 +0000)]
Move FILE_SYSTEM code out of DOMWindow and into the fileapi folder
https://bugs.webkit.org/show_bug.cgi?id=79259

Reviewed by Eric Seidel.

This patch is part of our ongoing effort to remove ifdefs from code
classes.  The FILE_SYSTEM code in DOMWindow doesn't really have any
necessary connection to DOMWindow.  DOMWindow is just the context
object that the API hangs off of.

This patch moves the FILE_SYSTEM code into the fileapi folder using
[Supplemental].

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* fileapi/DOMWindowFileSystem.cpp: Added.
(WebCore):
(WebCore::DOMWindowFileSystem::DOMWindowFileSystem):
(WebCore::DOMWindowFileSystem::~DOMWindowFileSystem):
(WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
(WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
* fileapi/DOMWindowFileSystem.h: Added.
(WebCore):
(DOMWindowFileSystem):
* fileapi/DOMWindowFileSystem.idl: Added.
* page/DOMWindow.cpp:
(WebCore):
* page/DOMWindow.h:
(WebCore):
(DOMWindow):
* page/DOMWindow.idl:

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

9 years agoRe-implement many more HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macros in CSSStyleApp...
macpherson@chromium.org [Wed, 22 Feb 2012 22:54:38 +0000 (22:54 +0000)]
Re-implement many more HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macros in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=79200

Reviewed by Andreas Kling.

No new tests / refactoring only.

* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* rendering/style/RenderStyle.h:

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

9 years ago[chromium] Cleanup unused WebDragData methods after r107846
dcheng@chromium.org [Wed, 22 Feb 2012 22:52:26 +0000 (22:52 +0000)]
[chromium] Cleanup unused WebDragData methods after r107846
https://bugs.webkit.org/show_bug.cgi?id=78837

Reviewed by Tony Chang.

The deleted methods have been replaced by items() and setItems().

* public/platform/WebDragData.h:
(WebDragData):
* src/WebDragData.cpp:
(WebKit::WebDragData::addItem): Add ensureMutable() call to verify preconditions for
                                mutating the item store.

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

9 years agoAllocations from CopiedBlocks should always be 8-byte aligned
mhahnenberg@apple.com [Wed, 22 Feb 2012 22:26:22 +0000 (22:26 +0000)]
Allocations from CopiedBlocks should always be 8-byte aligned
https://bugs.webkit.org/show_bug.cgi?id=79271

Reviewed by Geoffrey Garen.

* heap/CopiedAllocator.h:
(JSC::CopiedAllocator::allocate):
* heap/CopiedBlock.h: Changed to add padding so that the start of the payload is always
guaranteed to be 8 byte aligned on both 64- and 32-bit platforms.
(CopiedBlock):
* heap/CopiedSpace.cpp: Changed all assertions of isPointerAligned to is8ByteAligned.
(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::getFreshBlock):
* heap/CopiedSpaceInlineMethods.h:
(JSC::CopiedSpace::allocateFromBlock):
* runtime/JSArray.h:
(ArrayStorage): Added padding for ArrayStorage to make sure that it is always 8 byte
aligned on both 64- and 32-bit platforms.
* wtf/StdLibExtras.h:
(WTF::is8ByteAligned): Added new utility function that functions similarly to the
way isPointerAligned does, but it just always checks for 8 byte alignment.
(WTF):

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

9 years agoXSSAuditor bypass with <svg> tags and html-entities.
tsepez@chromium.org [Wed, 22 Feb 2012 22:21:14 +0000 (22:21 +0000)]
XSSAuditor bypass with <svg> tags and html-entities.
https://bugs.webkit.org/show_bug.cgi?id=78836

Reviewed by Adam Barth.

Source/WebCore:

Tests: http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html
       http/tests/security/xssAuditor/script-tag-inside-svg-tag.html
       http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html
       http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html

* html/parser/XSSAuditor.cpp:
(WebCore::isNonCanonicalCharacter):
(WebCore::isTerminatingCharacter):
(WebCore):
(WebCore::startsHTMLCommentAt):
(WebCore::startsSingleLineCommentAt):
(WebCore::fullyDecodeString):
(WebCore::XSSAuditor::XSSAuditor):
(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::filterToken):
(WebCore::XSSAuditor::filterStartToken):
(WebCore::XSSAuditor::filterEndToken):
(WebCore::XSSAuditor::filterCharacterToken):
(WebCore::XSSAuditor::filterScriptToken):
(WebCore::XSSAuditor::filterObjectToken):
(WebCore::XSSAuditor::filterParamToken):
(WebCore::XSSAuditor::filterEmbedToken):
(WebCore::XSSAuditor::filterAppletToken):
(WebCore::XSSAuditor::filterIframeToken):
(WebCore::XSSAuditor::filterMetaToken):
(WebCore::XSSAuditor::filterBaseToken):
(WebCore::XSSAuditor::filterFormToken):
(WebCore::XSSAuditor::decodedSnippetForAttribute):
(WebCore::XSSAuditor::snippetForJavaScript):
* html/parser/XSSAuditor.h:
(XSSAuditor):

LayoutTests:

* http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt: Added.
* http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: Added.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: Added.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: Added.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: Added.

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

9 years agoCrash when marking cached pages for full style recalc
andersca@apple.com [Wed, 22 Feb 2012 22:09:54 +0000 (22:09 +0000)]
Crash when marking cached pages for full style recalc
https://bugs.webkit.org/show_bug.cgi?id=79276
<rdar://problem/10884036>

Reviewed by Beth Dakin.

Guard against a null history item.

* history/BackForwardController.cpp:
(WebCore::BackForwardController::markPagesForFullStyleRecalc):

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

9 years agoCrash from empty anonymous block preceding :before content
commit-queue@webkit.org [Wed, 22 Feb 2012 21:56:33 +0000 (21:56 +0000)]
Crash from empty anonymous block preceding :before content
https://bugs.webkit.org/show_bug.cgi?id=78250

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-02-22
Reviewed by David Hyatt.

Source/WebCore:

RenderListMarkers getting removed from the tree in updateMarkerLocation()
can leave parent anonymous blocks behind with no children. This was
confusing updateBeforeAfterContent() because it does not expect
an empty block to precede :before content renderers.

Fix is to remove the anonymous block if it will lose all of its children.

* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::updateMarkerLocation):

LayoutTests:

Test exercises a crashing condition from extra :before content being
created after a RenderListMarker in an anonymous block has been moved.

Also rebasing some tests that had extraneous anonymous blocks in their
render tree dumps.

* fast/css-generated-content/before-content-with-list-marker-in-anon-block-crash-expected.txt: Added
* fast/css-generated-content/before-content-with-list-marker-in-anon-block-crash.html: Added
* platform/chromium-win/editing/execCommand/create-list-with-hr-expected.txt:
* platform/gtk/editing/execCommand/create-list-with-hr-expected.txt:
* platform/mac/editing/execCommand/create-list-with-hr-expected.txt:
* platform/qt/editing/execCommand/create-list-with-hr-expected.txt:

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

9 years agoSource/WebCore: Crash due to accessing removed parent lineboxes when clearing view...
inferno@chromium.org [Wed, 22 Feb 2012 21:33:33 +0000 (21:33 +0000)]
Source/WebCore: Crash due to accessing removed parent lineboxes when clearing view selection.
https://bugs.webkit.org/show_bug.cgi?id=79264

Reviewed by Eric Seidel.

When our block needed a full layout, we were deleting our own lineboxes
and letting descendant children (at any level in hierarchy and not just
immediate children) clear their own lineboxes as we keep laying them out.
This was problematic because those descendant children lineboxes were
pointing to removed parent lineboxes in the meantime. An example scenario
where this would go wrong is first-letter object removal, which can cause
clearing view selection, leading to accessing parent lineboxes. The patch
modifies clearing the entire linebox tree upfront. It shouldn't introduce
performance issues since it will eventually happen as we are laying out
those children.

Test: fast/css-generated-content/first-letter-textbox-parent-crash.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):

LayoutTests: Crash due to accessing removed parent lineboxes when clearing view selection.
https://bugs.webkit.org/show_bug.cgi?id=79264

Reviewed by Eric Seidel.

* fast/css-generated-content/first-letter-textbox-parent-crash-expected.txt: Added.
* fast/css-generated-content/first-letter-textbox-parent-crash.html: Added.

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

9 years agoCloning and linebox issues in multi-column layout.
inferno@chromium.org [Wed, 22 Feb 2012 21:07:18 +0000 (21:07 +0000)]
Cloning and linebox issues in multi-column layout.
https://bugs.webkit.org/show_bug.cgi?id=78273

Reviewed by Eric Seidel.

Source/WebCore:

Tests: fast/multicol/span/clone-flexbox.html
       fast/multicol/span/clone-summary.html
       fast/multicol/span/textbox-not-removed-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clone): Fix cloning algorithm to take
care of cloning descendant classes of RenderBlock.
(WebCore::RenderBlock::splitBlocks): When we move our inline children
to cloneBlock, we need to clear our entire line box tree. Any descendant
child in the hierarchy could be a part of our line box tree and will
never get cleared since the child has moved to new parent cloneBlock.

LayoutTests:

* fast/multicol/span/clone-flexbox-expected.png:
* fast/multicol/span/clone-flexbox-expected.txt: Added.
* fast/multicol/span/clone-flexbox.html: Added. Test passes if we
see two RenderFlexibox in the rendertree.
* fast/multicol/span/clone-summary-expected.png: Added.
* fast/multicol/span/clone-summary-expected.txt: Added.
* fast/multicol/span/clone-summary.html: Added. Test passes if we
see two RenderSummary in the rendertree.
* fast/multicol/span/textbox-not-removed-crash-expected.txt: Added.
* fast/multicol/span/textbox-not-removed-crash.html: Added. Test
passes it we do not crash on m_hasBadParent assert in InlineBox.

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

9 years agoCCLayerTreeHostImpl calls didDraw more frequently than willDraw
commit-queue@webkit.org [Wed, 22 Feb 2012 21:00:26 +0000 (21:00 +0000)]
CCLayerTreeHostImpl calls didDraw more frequently than willDraw
https://bugs.webkit.org/show_bug.cgi?id=79139

Patch by Tim Dresser <tdresser@chromium.org> on 2012-02-22
Reviewed by James Robinson.

Source/WebCore:

Ensure that didDraw is called if and only if willDraw was called previously.

CCLayerTreeHostImplTest.didDrawNotCalledOnHiddenLayer has been added to ensure that
hidden layers, for which willDraw is not called, will also not have didDraw called.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::didDraw):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::DidDrawCheckLayer::willDraw):
(DidDrawCheckLayer):
(WebKit::DidDrawCheckLayer::willDrawCalled):
(WebKit::DidDrawCheckLayer::DidDrawCheckLayer):
(WebKit::TEST_F):
(WebKit):

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

9 years agoScrollbarThemeComposite::thumbPosition uses the result of a divide by zero
leviw@chromium.org [Wed, 22 Feb 2012 20:57:43 +0000 (20:57 +0000)]
ScrollbarThemeComposite::thumbPosition uses the result of a divide by zero
https://bugs.webkit.org/show_bug.cgi?id=78910

Reviewed by Eric Seidel.

Adding a check to avoid doing a floating point divide by zero and assigning NaN to an integer.
This causes problems with our conversion to subpixel layout, which asserts when we overflow.

* platform/ScrollbarThemeComposite.cpp:
(WebCore::ScrollbarThemeComposite::thumbPosition):

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

9 years agoExplicitly include unistd.h in TestNetscapePlugIn for GCC 4.7
commit-queue@webkit.org [Wed, 22 Feb 2012 20:51:32 +0000 (20:51 +0000)]
Explicitly include unistd.h in TestNetscapePlugIn for GCC 4.7
https://bugs.webkit.org/show_bug.cgi?id=77759

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-02-22
Reviewed by Tony Chang.

Fixes build with gcc 4.7.

r100432 added the include only for ANDROID; this changes the ifdef to
also cover other unix platforms. On Fedora 17 the gcc 4.7 compiler no
longer implicitly includes unistd.h from standard headers and other
unix platforms are likely to get gcc 4.7 as well in the future.

* DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:

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

9 years ago[chromium] Unreviewed gardening. Rebaseline svg expectations after r108493.
enne@google.com [Wed, 22 Feb 2012 20:43:22 +0000 (20:43 +0000)]
[chromium] Unreviewed gardening. Rebaseline svg expectations after r108493.

Blindly updating expected to actual on Chromium. They only started
failing after the base expectations were updated and don't have any
perceptual differences.

* platform/chromium-mac-snowleopard/svg/foreignObject/clip-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/foreignObject/filter-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/foreignObject/mask-expected.png: Added.
* platform/chromium-win/svg/custom/visited-link-color-expected.png: Added.
* platform/chromium-win/svg/foreignObject/clip-expected.png: Added.
* platform/chromium-win/svg/foreignObject/filter-expected.png: Added.
* platform/chromium-win/svg/foreignObject/mask-expected.png: Added.
* platform/chromium/test_expectations.txt:

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

9 years agoHave the DynamicsCompressorNode support multi-channel data
commit-queue@webkit.org [Wed, 22 Feb 2012 20:41:29 +0000 (20:41 +0000)]
Have the DynamicsCompressorNode support multi-channel data
https://bugs.webkit.org/show_bug.cgi?id=77856

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-02-22
Reviewed by Chris Rogers.

* platform/audio/DynamicsCompressor.cpp:
(WebCore::DynamicsCompressor::DynamicsCompressor):
(WebCore::DynamicsCompressor::setEmphasisStageParameters):
(WebCore::DynamicsCompressor::process):
(WebCore::DynamicsCompressor::reset):
(WebCore::DynamicsCompressor::setNumberOfChannels):
(WebCore):
* platform/audio/DynamicsCompressor.h:
(DynamicsCompressor):
* platform/audio/DynamicsCompressorKernel.cpp:
(WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
(WebCore::DynamicsCompressorKernel::setNumberOfChannels):
(WebCore):
(WebCore::DynamicsCompressorKernel::setPreDelayTime):
(WebCore::DynamicsCompressorKernel::process):
(WebCore::DynamicsCompressorKernel::reset):
* platform/audio/DynamicsCompressorKernel.h:
(DynamicsCompressorKernel):
* webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
(WebCore::DynamicsCompressorNode::initialize):

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

9 years agoNot correctly recalculating layout for elements within nested SVG elements
commit-queue@webkit.org [Wed, 22 Feb 2012 20:31:11 +0000 (20:31 +0000)]
Not correctly recalculating layout for elements within nested SVG elements
https://bugs.webkit.org/show_bug.cgi?id=77535

Patch by Bear Travis <betravis@adobe.com> on 2012-02-22
Reviewed by Dirk Schulze.

Source/WebCore:

Relatively positioned text is not correctly updating its position when the
size of its nearest viewport changes. Updating to mark text for layout when
viewPort size changes.

Test: svg/repaint/inner-svg-change-viewPort-relative.svg

* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren):

LayoutTests:

Adding a repaint test for a relatively sized inner svg and inner svg content when
its width/height changes.

* platform/chromium/test_expectations.txt:
* svg/repaint/inner-svg-change-viewPort-relative-expected.png: Added.
* svg/repaint/inner-svg-change-viewPort-relative-expected.txt: Added.
* svg/repaint/inner-svg-change-viewPort-relative.svg: Added.

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

9 years ago[chromium] Fix remaining compositing/rubberbanding test failures
commit-queue@webkit.org [Wed, 22 Feb 2012 20:18:30 +0000 (20:18 +0000)]
[chromium] Fix remaining compositing/rubberbanding test failures
https://bugs.webkit.org/show_bug.cgi?id=78008

These were happening due to the fact that ScrollView wasn't updating
the overhang layer when the contentsSize was updated. This is necessary
because calculateOverhangAreasForPainting() takes the contentsSize into
account when determining whether the overhang areas are visible.

Patch by Alexei Svitkine <asvitkine@chromium.org> on 2012-02-22
Reviewed by James Robinson.

Source/WebCore:

Re-enabled the following tests with updated baselines:
* platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png:
* platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png:
* platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png:
* platform/chromium/test_expectations.txt:

* platform/ScrollView.cpp:
(WebCore::ScrollView::setContentsSize):
(WebCore::ScrollView::scrollContents):
(WebCore::ScrollView::updateOverhangAreas):
(WebCore):
* platform/ScrollView.h:
(ScrollView):

LayoutTests:

Re-enabled the following tests with updated baselines:
* platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png:
* platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png:
* platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png:
* platform/chromium/test_expectations.txt:

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

9 years ago[BlackBerry] InputHandler has signed vs unsigned comparison.
commit-queue@webkit.org [Wed, 22 Feb 2012 20:15:39 +0000 (20:15 +0000)]
[BlackBerry] InputHandler has signed vs unsigned comparison.
https://bugs.webkit.org/show_bug.cgi?id=79261

Fix warning by casting the unsigned int to an int.

Patch by Mike Fenton <mifenton@rim.com> on 2012-02-22
Reviewed by Rob Buis.

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

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

9 years agoWeb Inspector: [Regression] network worker tests crash on qt.
vsevik@chromium.org [Wed, 22 Feb 2012 20:04:59 +0000 (20:04 +0000)]
Web Inspector: [Regression] network worker tests crash on qt.
https://bugs.webkit.org/show_bug.cgi?id=79263

Reviewed by Pavel Feldman.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::createDecoder):
(WebCore::InspectorPageAgent::cachedResourceContent):

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

9 years agoUnreviewed, rolling out r108518.
enne@google.com [Wed, 22 Feb 2012 20:02:55 +0000 (20:02 +0000)]
Unreviewed, rolling out r108518.
http://trac.webkit.org/changeset/108518
https://bugs.webkit.org/show_bug.cgi?id=75864

Breaks surfaceOcclusionWithOverlappingSiblingSurfaces unit test.

* WebCore.gypi:
* platform/graphics/chromium/cc/CCLayerIterator.cpp:
(WebCore):
(WebCore::CCLayerIteratorActions::BackToFront::begin):
(WebCore::CCLayerIteratorActions::BackToFront::end):
(WebCore::CCLayerIteratorActions::BackToFront::next):
(WebCore::CCLayerIteratorActions::FrontToBack::begin):
(WebCore::CCLayerIteratorActions::FrontToBack::end):
(WebCore::CCLayerIteratorActions::FrontToBack::next):
(WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
* platform/graphics/chromium/cc/CCLayerIterator.h:
(WebCore):
(WebCore::CCLayerIterator::CCLayerIterator):
(WebCore::CCLayerIterator::operator++):
(WebCore::CCLayerIterator::operator==):
(WebCore::CCLayerIterator::operator->):
(WebCore::CCLayerIterator::operator*):
(WebCore::CCLayerIterator::representsTargetRenderSurface):
(WebCore::CCLayerIterator::representsContributingRenderSurface):
(WebCore::CCLayerIterator::targetRenderSurfaceLayer):
(CCLayerIterator):
(BackToFront):
(FrontToBack):
* platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
(WebCore):
(CCLayerIteratorPositionValue):
(WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
(CCLayerIteratorPosition):
(WebCore::CCLayerIteratorPosition::currentLayer):
(WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
(WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
(WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
(WebCore::CCLayerIteratorPosition::targetRenderSurface):
(WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
(WebCore::CCLayerIteratorPosition::operator==):

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

9 years agoREGRESSION (r62632): page-break-inside: avoid is ignored
mitz@apple.com [Wed, 22 Feb 2012 19:37:26 +0000 (19:37 +0000)]
REGRESSION (r62632): page-break-inside: avoid is ignored
https://bugs.webkit.org/show_bug.cgi?id=79262

Reviewed by Adele Peterson.

Source/WebCore:

This was disabled in r62632 because of <http://webkit.org/b/41532>. Changes to the
pagination code since then have invalidated that bug, so enabling the feature again does not
re-introduce the bug.

Updated expected results for printing/page-break-inside-avoid.html.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustForUnsplittableChild):

LayoutTests:

* printing/page-break-inside-avoid-expected.txt:

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

9 years agoUnreviewed, rolling out r108522.
philn@webkit.org [Wed, 22 Feb 2012 19:20:33 +0000 (19:20 +0000)]
Unreviewed, rolling out r108522.
http://trac.webkit.org/changeset/108522
https://bugs.webkit.org/show_bug.cgi?id=76181

Broke 4 fullscreen tests on GTK.

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::supportsFullScreenForElement):
(WebKit::ChromeClient::enterFullScreenForElement):
(WebKit::ChromeClient::exitFullScreenForElement):
* WebCoreSupport/ChromeClientGtk.h:
(ChromeClient):
* tests/testwebview.c:
* webkit/webkitwebview.cpp:
(webkit_web_view_class_init):
* webkit/webkitwebview.h:
(_WebKitWebViewClass):

Tools:

* GtkLauncher/main.c:
(createBrowser):
(createWindow):

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

9 years ago[chromium] Unreviewed gardening. Mark some XHR tests as asserting.
enne@google.com [Wed, 22 Feb 2012 19:14:55 +0000 (19:14 +0000)]
[chromium] Unreviewed gardening. Mark some XHR tests as asserting.
https://bugs.webkit.org/show_bug.cgi?id=79229

* platform/chromium/test_expectations.txt:

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

9 years ago[GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer
philn@webkit.org [Wed, 22 Feb 2012 19:12:36 +0000 (19:12 +0000)]
[GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer
https://bugs.webkit.org/show_bug.cgi?id=79236

Reviewed by Martin Robinson.

Store a pointer to the MediaPlayer object in the private structure
of the WebKitWebSrc element so we can call its public methods,
like ::referrer().

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(_WebKitWebSrcPrivate):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:

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

9 years ago[GTK] Clean build is broken when using make -j
mrobinson@webkit.org [Wed, 22 Feb 2012 18:56:40 +0000 (18:56 +0000)]
[GTK] Clean build is broken when using make -j
https://bugs.webkit.org/show_bug.cgi?id=76388

.:

* GNUmakefile.am: Add new global source list variables.

Source/WebCore:

No new tests. This is just a build fix.

Use order-only dependencies to ensure that built sources are built before
files that depend on them.

* GNUmakefile.am: Establish an order-only dependency on some built sources before starting
to build non-generated sources. Rename some temporary files and variables to be more consistent.
* bindings/gobject/GNUmakefile.am: Updated to reflect new variable names.

Source/WebKit2:

* GNUmakefile.am: Add some WebKit2 sources to global sources lists
so that we can refer to them in separate GNUmakefiles.

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

9 years ago[GTK] FullScreen signals
philn@webkit.org [Wed, 22 Feb 2012 18:56:25 +0000 (18:56 +0000)]
[GTK] FullScreen signals
https://bugs.webkit.org/show_bug.cgi?id=76181

Reviewed by Martin Robinson.

Source/WebKit/gtk:

Added entering-fullscreen and leaving-fullscreen signals, meant to
be used by the user agent to be notified when an element requests
full screen display and when the full screen display is to be
disabled.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::supportsFullScreenForElement):
(WebKit::onFullscreenGtkKeyPressEvent):
(WebKit::ChromeClient::cancelFullScreen):
(WebKit::ChromeClient::enterFullScreenForElement):
(WebKit::ChromeClient::exitFullScreenForElement):
* WebCoreSupport/ChromeClientGtk.h:
* tests/testwebview.c:
* webkit/webkitwebview.cpp:
(webkit_web_view_real_entering_fullscreen):
(webkit_web_view_real_leaving_fullscreen):
(webkit_web_view_class_init):
* webkit/webkitwebview.h:

Tools:

Use the two new entering/leaving fullscreen signals to hide/show
the tool bar, the status bar and ask the user's permission before
entering fullscreen.

* GtkLauncher/main.c:
(webViewFullscreenMessageWindowClose):
(webViewWindowStateEvent):
(hide_widget):
(show_widget):
(webViewEnteringFullScreen):
(webViewLeavingFullScreen):
(createBrowser):
(createWindow):

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

9 years ago[Chromium] New CCOcclusionTracker class with tests
commit-queue@webkit.org [Wed, 22 Feb 2012 18:45:57 +0000 (18:45 +0000)]
[Chromium] New CCOcclusionTracker class with tests
https://bugs.webkit.org/show_bug.cgi?id=78549

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-22
Reviewed by James Robinson.

Source/WebCore:

Adds a CCOcclusionTrackerBase template class that is able to track occlusion
of layers while traversing the layer tree from front-to-back, with typedefed
versions for the main and impl threads.

At each step of the front-to-back traversal, the class should be notified of
changes to the current render target, and when done working with a layer, the
layer is added the tracked occlusion.

The class provides tests for checking if a rect in content space
for a layer/surface is occluded by others in front of it.

Unit tests: CCOcclusionTrackerTest.cpp

* WebCore.gypi:
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
(WebCore):
(WebCore::::enterTargetRenderSurface):
(WebCore::::finishedTargetRenderSurface):
(WebCore::transformSurfaceOpaqueRegion):
(WebCore::::leaveToTargetRenderSurface):
(WebCore::contentToScreenSpaceTransform):
(WebCore::contentToTargetSurfaceTransform):
(WebCore::computeOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):
(WebCore::testContentRectOccluded):
(WebCore::::occluded):
(WebCore::::surfaceOccluded):
(WebCore::rectSubtractRegion):
(WebCore::computeUnoccludedContentRect):
(WebCore::::unoccludedContentRect):
(WebCore::::surfaceUnoccludedContentRect):
(WebCore::::currentOcclusionInScreenSpace):
(WebCore::::currentOcclusionInTargetSurface):
* platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
(WebCore):
(CCOcclusionTrackerBase):
(WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
(StackObject):

Source/WebKit/chromium:

* WebKit.gypi:
* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore):
* tests/CCOcclusionTrackerTest.cpp: Added.
(WebCore):
(WebCore::setLayerPropertiesForTesting):
(LayerChromiumWithForcedDrawsContent):
(WebCore::LayerChromiumWithForcedDrawsContent::LayerChromiumWithForcedDrawsContent):
(WebCore::LayerChromiumWithForcedDrawsContent::drawsContent):
(TestCCOcclusionTracker):
(WebCore::TestCCOcclusionTracker::occlusionInScreenSpace):
(WebCore::TestCCOcclusionTracker::occlusionInTargetSurface):
(WebCore::TestCCOcclusionTracker::setOcclusionInScreenSpace):
(WebCore::TestCCOcclusionTracker::setOcclusionInTargetSurface):
(WebCore::TEST):

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

9 years ago[Chromium] IndexedDB: Integrate with about:tracing
jsbell@chromium.org [Wed, 22 Feb 2012 18:42:12 +0000 (18:42 +0000)]
[Chromium] IndexedDB: Integrate with about:tracing
https://bugs.webkit.org/show_bug.cgi?id=78831

Annotate interesting IDB functions so they show up in the
tracing utility included in the Chromium port.

Reviewed by Tony Chang.

* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromSerializedValueAndKeyPath):
(WebCore::injectIDBKeyIntoSerializedValue):
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::direction):
(WebCore::IDBCursor::key):
(WebCore::IDBCursor::primaryKey):
(WebCore::IDBCursor::value):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::deleteFunction):
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::direction):
(WebCore::IDBCursorBackendImpl::key):
(WebCore::IDBCursorBackendImpl::primaryKey):
(WebCore::IDBCursorBackendImpl::value):
(WebCore::IDBCursorBackendImpl::update):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::continueFunctionInternal):
(WebCore::IDBCursorBackendImpl::deleteFunction):
(WebCore::IDBCursorBackendImpl::prefetchContinue):
(WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
(WebCore::IDBCursorBackendImpl::prefetchReset):
(WebCore::IDBCursorBackendImpl::close):
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::dispatchEvent):
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::openCursorInternal):
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::countInternal):
(WebCore::IDBIndexBackendImpl::count):
(WebCore::IDBIndexBackendImpl::getInternal):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::name):
(WebCore::IDBObjectStore::keyPath):
(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::transaction):
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::clear):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::count):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::getInternal):
(WebCore::fetchKeyFromKeyPath):
(WebCore::injectKeyIntoKeyPath):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::clear):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
(WebCore::IDBObjectStoreBackendImpl::count):
(WebCore::IDBObjectStoreBackendImpl::countInternal):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::onSuccessWithContinuation):
(WebCore::IDBRequest::dispatchEvent):
* storage/IDBTracing.h: Added.
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::dispatchEvent):
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::commit):
(WebCore::IDBTransactionBackendImpl::taskTimerFired):
(WebCore::IDBTransactionBackendImpl::taskEventTimerFired):

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

9 years ago[chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
commit-queue@webkit.org [Wed, 22 Feb 2012 18:35:46 +0000 (18:35 +0000)]
[chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
https://bugs.webkit.org/show_bug.cgi?id=75864

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-22
Reviewed by James Robinson.

* platform/graphics/chromium/cc/CCLayerIterator.cpp:
(WebCore::CCLayerIteratorActions::BackToFront::begin):
(WebCore::CCLayerIteratorActions::BackToFront::end):
(WebCore::CCLayerIteratorActions::BackToFront::next):
(WebCore::CCLayerIteratorActions::FrontToBack::begin):
(WebCore::CCLayerIteratorActions::FrontToBack::end):
(WebCore::CCLayerIteratorActions::FrontToBack::next):
(WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
* platform/graphics/chromium/cc/CCLayerIterator.h:
(WebCore::CCLayerIterator::CCLayerIterator):
(WebCore::CCLayerIterator::operator++):
(WebCore::CCLayerIterator::operator==):
(WebCore::CCLayerIterator::operator->):
(WebCore::CCLayerIterator::operator*):
(WebCore::CCLayerIterator::representsTargetRenderSurface):
(WebCore::CCLayerIterator::representsContributingRenderSurface):
(WebCore::CCLayerIterator::currentLayer):
(WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
(WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
(WebCore::CCLayerIterator::targetRenderSurfaceLayer):
(WebCore::CCLayerIterator::targetRenderSurface):
(WebCore::CCLayerIterator::targetRenderSurfaceChildren):
* platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.

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

9 years ago[chromium] Unreviewed gardening. Marking svg failures from r108494.
enne@google.com [Wed, 22 Feb 2012 18:35:15 +0000 (18:35 +0000)]
[chromium] Unreviewed gardening. Marking svg failures from r108494.
https://bugs.webkit.org/show_bug.cgi?id=41386

* platform/chromium/test_expectations.txt:

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

9 years agoUpdate Linux ChromiumOS builders in flakiness dashboard.
commit-queue@webkit.org [Wed, 22 Feb 2012 18:25:13 +0000 (18:25 +0000)]
Update Linux ChromiumOS builders in flakiness dashboard.
https://bugs.webkit.org/show_bug.cgi?id=79238

Patch by Rob Flack <flackr@chromium.org> on 2012-02-22
Reviewed by Ojan Vafai.

* TestResultServer/static-dashboards/builders.js:

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

9 years agowebkitpy: test_function_length_check_definition_huge_lines is slow
dpranke@chromium.org [Wed, 22 Feb 2012 18:19:30 +0000 (18:19 +0000)]
webkitpy: test_function_length_check_definition_huge_lines is slow
https://bugs.webkit.org/show_bug.cgi?id=79185

Reviewed by Adam Barth.

This test takes ~3 seconds to run, apparently because we're
running a test on a 10,000 line function :). Dropping the
function length to 640 still exercises the code path and
provides a 10x speedup.

* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
(CheckForFunctionLengthsTest.test_function_length_check_definition_huge_lines):

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

9 years agowebkitpy: speed up FileLockTest.test_lock_lifecycle
dpranke@chromium.org [Wed, 22 Feb 2012 18:16:54 +0000 (18:16 +0000)]
webkitpy: speed up FileLockTest.test_lock_lifecycle
https://bugs.webkit.org/show_bug.cgi?id=79189

Reviewed by Adam Barth.

The unit test had a second lock trying to acquire a
lock already held, and a hard-coded timeout of one second.
I have changed the timeouts to a tenth of a second (which
is probably still fine) and changed the hard-spin on
the lock to a slow-spin every hundredth of a second.

* Scripts/webkitpy/common/system/file_lock.py:
(FileLock.acquire_lock):
* Scripts/webkitpy/common/system/file_lock_integrationtest.py:
(FileLockTest.setUp):
(FileLockTest.test_stuck_lock):

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

9 years agobuild-webkit should use environment variable at number of CPU
rgabor@webkit.org [Wed, 22 Feb 2012 18:10:40 +0000 (18:10 +0000)]
build-webkit should use environment variable at number of CPU
detection on all platform
https://bugs.webkit.org/show_bug.cgi?id=79227

Reviewed by Martin Robinson.

* Scripts/webkitdirs.pm:
(determineNumberOfCPUs):

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

9 years ago[GTK][WK2] Add WebGL WebSetting.
commit-queue@webkit.org [Wed, 22 Feb 2012 17:44:16 +0000 (17:44 +0000)]
[GTK][WK2] Add WebGL WebSetting.
https://bugs.webkit.org/show_bug.cgi?id=79217

Patch by Antaryami Pandia <antaryami.pandia@motorola.com> on 2012-02-22
Reviewed by Martin Robinson.

Add a WebSetting to enable/disable Webgl.

* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_set_enable_webaudio):
(webkit_settings_get_enable_webgl):
(webkit_settings_set_enable_webgl):
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings):

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

9 years agoWeb Inspector: console doesn't show properly arrays from which tail values have been...
pfeldman@chromium.org [Wed, 22 Feb 2012 17:39:03 +0000 (17:39 +0000)]
Web Inspector: console doesn't show properly arrays from which tail values have been deleted
https://bugs.webkit.org/show_bug.cgi?id=79242

Reviewed by Yury Semikhatsky.

Source/WebCore:

* English.lproj/localizedStrings.js:
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined):
(WebInspector.ConsoleMessageImpl.prototype._printArray):

LayoutTests:

* inspector/console/console-format-expected.txt:
* inspector/console/console-format.html:
* platform/chromium/inspector/console/console-format-collections-expected.txt:
* platform/chromium/inspector/console/console-format-expected.txt:

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

9 years agoWeb Inspector: warning external font mime (font/font/woff).
pfeldman@chromium.org [Wed, 22 Feb 2012 17:09:53 +0000 (17:09 +0000)]
Web Inspector: warning external font mime (font/font/woff).
https://bugs.webkit.org/show_bug.cgi?id=79244

Reviewed by Yury Semikhatsky.

* inspector/front-end/Resource.js:

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

9 years agoWeb Inspector: use dots as markers on the counter graphs
yurys@chromium.org [Wed, 22 Feb 2012 17:05:09 +0000 (17:05 +0000)]
Web Inspector: use dots as markers on the counter graphs
https://bugs.webkit.org/show_bug.cgi?id=79243

Changed counter graphs marker and counter text styles.

Reviewed by Pavel Feldman.

* English.lproj/localizedStrings.js:
* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics):
(WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
(WebInspector.MemoryStatistics.prototype.addTimlineEvent):
(WebInspector.MemoryStatistics.prototype._draw):
(WebInspector.MemoryStatistics.prototype._onMouseOut):
(WebInspector.MemoryStatistics.prototype._onMouseOver):
(WebInspector.MemoryStatistics.prototype._onMouseMove):
(WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
(WebInspector.MemoryStatistics.prototype._recordIndexAt):
(WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
(WebInspector.MemoryStatistics.prototype._clearMarkers):
(WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
(WebInspector.MemoryStatistics.prototype.refresh):
(WebInspector.MemoryStatistics.prototype._drawPolyline):
(WebInspector.MemoryStatistics.prototype._clear):
* inspector/front-end/timelinePanel.css:
(.memory-counter-sidebar-info):
(.memory-counter-sidebar-info .title):
(.memory-counter-sidebar-info .counter-value):

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

9 years agoWeb Inspector: make 'glue asynchronous events' optional.
pfeldman@chromium.org [Wed, 22 Feb 2012 16:54:52 +0000 (16:54 +0000)]
Web Inspector: make 'glue asynchronous events' optional.
https://bugs.webkit.org/show_bug.cgi?id=79240

Reviewed by Yury Semikhatsky.

* English.lproj/localizedStrings.js:
* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
(WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
(WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
(WebInspector.TimelinePanel.prototype._repopulateRecords):
(WebInspector.TimelinePanel.prototype._findParentRecord):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineRecordGraphRow):
(WebInspector.TimelineRecordGraphRow.prototype.update):
(WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
* inspector/front-end/timelinePanel.css:
(.glue-async-status-bar-item .glyph):
(.timeline-start-at-zero-status-bar-item .glyph):

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

9 years agoWeb Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
vsevik@chromium.org [Wed, 22 Feb 2012 16:47:09 +0000 (16:47 +0000)]
Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
https://bugs.webkit.org/show_bug.cgi?id=79229

Reviewed by Pavel Feldman.

Source/WebCore:

Test: http/tests/inspector/console-xhr-logging-async.html

* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::setInitialScriptContent):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoading):

LayoutTests:

* http/tests/inspector/console-xhr-logging-async-expected.txt: Added.
* http/tests/inspector/console-xhr-logging-async.html: Added.

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

9 years ago[Qt] REGRESSION(r108108): It made 3 fast/repaint tests fail
mihnea@adobe.com [Wed, 22 Feb 2012 16:29:33 +0000 (16:29 +0000)]
[Qt] REGRESSION(r108108): It made 3 fast/repaint tests fail
https://bugs.webkit.org/show_bug.cgi?id=78960

Reviewed by Csaba Osztrogon√°c.

Source/WebKit/qt:

* Api/qwebsettings.cpp:
(QWebSettingsPrivate::apply):
(QWebSettings::QWebSettings):
* Api/qwebsettings.h:

Tools:

* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::overridePreference):

LayoutTests:

* fast/repaint/japanese-rl-selection-repaint-in-regions.html:
* fast/repaint/line-flow-with-floats-in-regions.html:
* fast/repaint/overflow-flipped-writing-mode-block-in-regions.html:
* fast/repaint/region-painting-invalidation.html:
* fast/repaint/region-painting-via-layout.html:
* platform/qt/Skipped:

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

9 years agoWeb Inspector: fix memory counters and start-at-zero modes of timeline panels to...
caseq@chromium.org [Wed, 22 Feb 2012 16:08:25 +0000 (16:08 +0000)]
Web Inspector: fix memory counters and start-at-zero modes of timeline panels to co-exist nicely
https://bugs.webkit.org/show_bug.cgi?id=79241

Reviewed by Yury Semikhatsky.

* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype.addTimlineEvent):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._showTimelines):
(WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
(WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):

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

9 years ago[Chromium] video-referer.html fails
eric.carlson@apple.com [Wed, 22 Feb 2012 15:42:03 +0000 (15:42 +0000)]
[Chromium] video-referer.html fails
https://bugs.webkit.org/show_bug.cgi?id=79239

Unreviewed, skipping a test that started to fail after r108387.

* platform/chromium/test_expectations.txt:

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

9 years agoWeb Inspector: [experimental] add a mode to display timeline events aligned by the...
caseq@chromium.org [Wed, 22 Feb 2012 15:16:45 +0000 (15:16 +0000)]
Web Inspector: [experimental] add a mode to display timeline events aligned by the start time
https://bugs.webkit.org/show_bug.cgi?id=79123

Reviewed by Pavel Feldman.

* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._showTimelines):
(WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
(WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
(WebInspector.TimelineOverviewPane.prototype.update):
(WebInspector.TimelineOverviewPane.prototype.reset):
(WebInspector.TimelineOverviewWindow):
(WebInspector.TimelineOverviewWindow.prototype.reset):
(WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
(WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
(WebInspector.TimelineStartAtZeroOverview):
(WebInspector.TimelineStartAtZeroOverview.prototype.reset):
(WebInspector.TimelineStartAtZeroOverview.prototype.update):
(WebInspector.TimelineStartAtZeroOverview.prototype._filterRecords):
(WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
(WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
(WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
(WebInspector.TimelinePanel.prototype.get _startAtZero):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelinePanel.prototype._onRecordsCleared):
(WebInspector.TimelinePanel.prototype._resetPanel):
(WebInspector.TimelinePanel.prototype._scheduleRefresh):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._filterRecords):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineStartAtZeroCalculator):
(WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
(WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineStartAtZeroCalculator.prototype.calculateWindow):
(WebInspector.TimelineStartAtZeroCalculator.prototype.reset):
(WebInspector.TimelineStartAtZeroCalculator.prototype.updateBoundaries):
(WebInspector.TimelineStartAtZeroCalculator.prototype.formatValue):
(WebInspector.TimelinePanel.FormattedRecord):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
(WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
(WebInspector.TimelinePanel.FormattedRecord.prototype.get aggregatedStats):
(WebInspector.TimelineModel.prototype.get records):
(WebInspector.TimelinePresentationModel):
(WebInspector.TimelinePresentationModel.prototype.reset):
(WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
(WebInspector.TimelineRecordFilter):
(WebInspector.TimelineRecordFilter.prototype.accept):
(WebInspector.TimelineStartAtZeroRecordFilter):
(WebInspector.TimelineStartAtZeroRecordFilter.prototype.accept):
* inspector/front-end/timelinePanel.css:
(.timeline-start-at-zero #timeline-overview-sidebar):
(.timeline-start-at-zero #timeline-overview-grid):
(.timeline-overview-window):
(.timeline-start-at-zero .timeline-overview-window):
(.timeline-start-at-zero .timeline-overview-dividers-background):
(.timeline-overview-window-rulers):
(.timeline-start-at-zero #timeline-overview-memory):
(.popover .timeline-loading):
(.popover .timeline-scripting):
(.popover .timeline-rendering):
(.timeline-start-at-zero-status-bar-item .glyph):
(.timeline-start-at-zero-status-bar-item.toggled-on .glyph):
(.timeline-overview-start-at-zero):
(.timeline-overview-start-at-zero-bars):
(.timeline-overview-start-at-zero-bars .padding):
(.timeline-overview-start-at-zero-bars .timeline-bar-vertical):
(.timeline-bar-vertical div:first-child):
(.timeline-bar-vertical .timeline-loading):
(.timeline-bar-vertical .timeline-scripting):
(.timeline-bar-vertical .timeline-rendering):

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

9 years ago[Qt] Disregard previous backing store as soon as possible https://bugs.webkit.org...
kenneth@webkit.org [Wed, 22 Feb 2012 15:15:10 +0000 (15:15 +0000)]
[Qt] Disregard previous backing store as soon as possible https://bugs.webkit.org/show_bug.cgi?id=79232

Reviewed by Simon Hausmann and No'am Rosenthal.

Source/WebCore:

Make it possible to drop non-visible tiles and to test
if the current visible rect is fully covered.

* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::visibleContentsRect):
(WebCore::TiledBackingStore::coverageRatio):
(WebCore::TiledBackingStore::visibleAreaIsCovered):
(WebCore):
(WebCore::TiledBackingStore::createTiles):
(WebCore::TiledBackingStore::removeAllNonVisibleTiles):
* platform/graphics/TiledBackingStore.h:
(TiledBackingStore):

Source/WebKit2:

Between creating the new backing store and painting the content,
we do not want to drop the previous one as that might result in
briefly seeing flickering as the old tiles may be dropped before
something replaces them.

But we do need to drop it at some point and we need to make sure
to not spike the memory usage before of this.

What we now do, is to store the previous backing store as before,
but drop all tiles which are not visible and then drop it as soon
as the visible rect (which might change due if followed by a quick
panning) has been fully covered by tiles.

* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::setContentsScale):
(WebCore::WebGraphicsLayer::updateContentBuffers):

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